① 聚宽量化平台好用吗
聚宽对于新手的友好度不错,有丰富的学习资源和社区交流,平台的回测速度还可以,当然米筐回测速度可能好一些,数据方面虽然比不上具有数据优势的万得、同花顺、优矿,但也都可以吧,实盘是各个平台的痛点,这点个人认为聚宽需要加强尤其尽快像掘金量化做到本地化终端运行无需上传策略,策略的安全性是用户的致命痛点。
整体而言聚宽对于新手入门是不错的平台,数据、回测、仿真、实盘均做不算很好但也不算很差吧。
② 如何将股票池装进通达信软件
所谓的股票池,就是自己选择的一些股票,放到自己建立的板块里,不存在如何装进去的问题。
工具-用户板块设置,可以建立新的板块.
工具-系统设置-标签,可以把自定义板块添加到日常显示模块中
选择你想添加的股票,按右键-加入到板块股,可以将股票添加到相应的板块.
这些板块和板块里的股票就是你的股票池.板块可以调整,删除,可以先试验一下.
通达信软件是多功能的证券信息平台,与其他行情软件相比,有简洁的界面和行情更新速度较快等优点。通达信允许用户自由划分屏幕,并规定每一块对应哪个内容。至于快捷键,也是通达信的特色之一。通达信还有一个有用的功能,就是“在线人气”,可以了解哪些是当前关注,哪些是持续关注,又有哪些是当前冷门,可以更直接了解各个股票的关注度。
深圳市财富趋势科技有限责任公司是一家资深的证券业高科技企业,致力于证券分析系统和计算机通讯系统的研究开发,自1995年成立以来,经过蓬勃发展,已经成为该行业的典范。其开发的行情源被同行业多企业采用,是目前市场上非常主流的拥有自主开发证券类软件能力的企业。深圳市财富趋势科技有限责任公司在证券行业的著名品牌是“通达信”。
③ 聚宽的量化产品收益怎么样
聚宽应该是国内量化用户最多的量化平台 现在股票程序化跟一创合作,叫一创聚宽,前景和收益都可观。
④ 如何用python实现Markowitz投资组合优化
多股票策略回测时常常遇到问题。
仓位如何分配?
你以为基金经理都是一拍脑袋就等分仓位了吗?
或者玩点玄乎的斐波拉契数列?
OMG,谁说的黄金比例,让我看到你的脑袋(不削才怪)!!
其实,这个问题,好多好多年前马科维茨(Markowitz)我喜爱的小马哥就给出答案——投资组合理论。
根据这个理论,我们可以对多资产的组合配置进行三方面的优化。
1.找到有效前沿。在既定的收益率下使组合的方差最小。
2.找到sharpe最优的组合(收益-风险均衡点)
3.找到风险最小的组合
跟着我,一步两步,轻松实现。
该理论基于用均值和方差来表述组合的优劣的前提。将选取几只股票,用蒙特卡洛模拟初步探究组合的有效前沿。
通过最大Sharpe和最小方差两种优化来找到最优的资产组合配置权重参数。
最后,刻画出可能的分布,两种最优以及组合的有效前沿。
注:
文中的数据API来自量化平台聚宽,在此表示感谢。
原文见【组合管理】——投资组合理论(有效前沿)(包含正态检验部分)
0.导入需要的包
import pandas as pd
import numpy as np
import statsmodels.api as sm #统计运算
import scipy.stats as scs #科学计算
import matplotlib.pyplot as plt #绘图
1.选取几只感兴趣的股票
000413 东旭光电,000063 中兴通讯,002007 华兰生物,000001 平安银行,000002 万科A
并比较一下数据(2015-01-01至2015-12-31)
In[1]:
stock_set = ['000413.XSHE','000063.XSHE','002007.XSHE','000001.XSHE','000002.XSHE']
noa = len(stock_set)
df = get_price(stock_set, start_date = '2015-01-01', end_date ='2015-12-31', 'daily', ['close'])
data = df['close']
#规范化后时序数据
(data/data.ix[0]*100).plot(figsize = (8,5))
Out[1]:
2.计算不同证券的均值、协方差
每年252个交易日,用每日收益得到年化收益。计算投资资产的协方差是构建资产组合过程的核心部分。运用pandas内置方法生产协方差矩阵。
In [2]:
returns = np.log(data / data.shift(1))
returns.mean()*252
Out[2]:
000413.XSHE 0.184516
000063.XSHE 0.176790
002007.XSHE 0.309077
000001.XSHE -0.102059
000002.XSHE 0.547441
In [3]:
returns.cov()*252
Out[3]:
3.给不同资产随机分配初始权重
由于A股不允许建立空头头寸,所有的权重系数均在0-1之间
In [4]:
weights = np.random.random(noa)
weights /= np.sum(weights)
weights
Out[4]:
array([ 0.37505798, 0.21652754, 0.31590981, 0.06087709, 0.03162758])
4.计算预期组合年化收益、组合方差和组合标准差
In [5]:
np.sum(returns.mean()*weights)*252
Out[5]:
0.21622558669017816
In [6]:
np.dot(weights.T, np.dot(returns.cov()*252,weights))
Out[6]:
0.23595133640121463
In [7]:
np.sqrt(np.dot(weights.T, np.dot(returns.cov()* 252,weights)))
Out[7]:
0.4857482232609962
5.用蒙特卡洛模拟产生大量随机组合
进行到此,我们最想知道的是给定的一个股票池(证券组合)如何找到风险和收益平衡的位置。
下面通过一次蒙特卡洛模拟,产生大量随机的权重向量,并记录随机组合的预期收益和方差。
In [8]:
port_returns = []
port_variance = []
for p in range(4000):
weights = np.random.random(noa)
weights /=np.sum(weights)
port_returns.append(np.sum(returns.mean()*252*weights))
port_variance.append(np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252, weights))))
port_returns = np.array(port_returns)
port_variance = np.array(port_variance)
#无风险利率设定为4%
risk_free = 0.04
plt.figure(figsize = (8,4))
plt.scatter(port_variance, port_returns, c=(port_returns-risk_free)/port_variance, marker = 'o')
plt.grid(True)
plt.xlabel('excepted volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[8]:
6.投资组合优化1——sharpe最大
建立statistics函数来记录重要的投资组合统计数据(收益,方差和夏普比)
通过对约束最优问题的求解,得到最优解。其中约束是权重总和为1。
In [9]:
def statistics(weights):
weights = np.array(weights)
port_returns = np.sum(returns.mean()*weights)*252
port_variance = np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252,weights)))
return np.array([port_returns, port_variance, port_returns/port_variance])
#最优化投资组合的推导是一个约束最优化问题
import scipy.optimize as sco
#最小化夏普指数的负值
def min_sharpe(weights):
return -statistics(weights)[2]
#约束是所有参数(权重)的总和为1。这可以用minimize函数的约定表达如下
cons = ({'type':'eq', 'fun':lambda x: np.sum(x)-1})
#我们还将参数值(权重)限制在0和1之间。这些值以多个元组组成的一个元组形式提供给最小化函数
bnds = tuple((0,1) for x in range(noa))
#优化函数调用中忽略的唯一输入是起始参数列表(对权重的初始猜测)。我们简单的使用平均分布。
opts = sco.minimize(min_sharpe, noa*[1./noa,], method = 'SLSQP', bounds = bnds, constraints = cons)
opts
Out[9]:
status: 0
success: True
njev: 4
nfev: 28
fun: -1.1623048291871221
x: array([ -3.60840218e-16, 2.24626781e-16, 1.63619563e-01, -2.27085639e-16, 8.36380437e-01])
message: 'Optimization terminated successfully.'
jac: array([ 1.81575805e-01, 5.40387481e-01, 8.18073750e-05, 1.03137662e+00, -1.60038471e-05, 0.00000000e+00])
nit: 4
得到的最优组合权重向量为:
In [10]:
opts['x'].round(3)
Out[10]:
array([-0. , 0. , 0.164, -0. , 0.836])
sharpe最大的组合3个统计数据分别为:
In [11]:
#预期收益率、预期波动率、最优夏普指数
statistics(opts['x']).round(3)
Out[11]:
array([ 0.508, 0.437, 1.162])
7.投资组合优化2——方差最小
接下来,我们通过方差最小来选出最优投资组合。
In [12]:
#但是我们定义一个函数对 方差进行最小化
def min_variance(weights):
return statistics(weights)[1]
optv = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
optv
Out[12]:
status: 0
success: True
njev: 7
nfev: 50
fun: 0.38542969450547221
x: array([ 1.14787640e-01, 3.28089742e-17, 2.09584008e-01, 3.53487044e-01, 3.22141307e-01])
message: 'Optimization terminated successfully.'
jac: array([ 0.3851725 , 0.43591119, 0.3861807 , 0.3849672 , 0.38553924, 0. ])
nit: 7
方差最小的最优组合权重向量及组合的统计数据分别为:
In [13]:
optv['x'].round(3)
Out[13]:
array([ 0.115, 0. , 0.21 , 0.353, 0.322])
In [14]:
#得到的预期收益率、波动率和夏普指数
statistics(optv['x']).round(3)
Out[14]:
array([ 0.226, 0.385, 0.587])
8.组合的有效前沿
有效前沿有既定的目标收益率下方差最小的投资组合构成。
在最优化时采用两个约束,1.给定目标收益率,2.投资组合权重和为1。
In [15]:
def min_variance(weights):
return statistics(weights)[1]
#在不同目标收益率水平(target_returns)循环时,最小化的一个约束条件会变化。
target_returns = np.linspace(0.0,0.5,50)
target_variance = []
for tar in target_returns:
cons = ({'type':'eq','fun':lambda x:statistics(x)[0]-tar},{'type':'eq','fun':lambda x:np.sum(x)-1})
res = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
target_variance.append(res['fun'])
target_variance = np.array(target_variance)
下面是最优化结果的展示。
叉号:构成的曲线是有效前沿(目标收益率下最优的投资组合)
红星:sharpe最大的投资组合
黄星:方差最小的投资组合
In [16]:
plt.figure(figsize = (8,4))
#圆圈:蒙特卡洛随机产生的组合分布
plt.scatter(port_variance, port_returns, c = port_returns/port_variance,marker = 'o')
#叉号:有效前沿
plt.scatter(target_variance,target_returns, c = target_returns/target_variance, marker = 'x')
#红星:标记最高sharpe组合
plt.plot(statistics(opts['x'])[1], statistics(opts['x'])[0], 'r*', markersize = 15.0)
#黄星:标记最小方差组合
plt.plot(statistics(optv['x'])[1], statistics(optv['x'])[0], 'y*', markersize = 15.0)
plt.grid(True)
plt.xlabel('expected volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[16]:
⑤ python如何将聚宽平台数据倒到本地文件进行
下载JQData压缩包,解压压缩包,打开终端并切换到jqdatasdk-master文件中setup.py所在的目录下,执行 python setup.py install,也能完成安装。
⑥ 股票池是什么意思 如何建立股票池
股票池是基金投资对象备选库的业内通俗称谓。
通过一个好的股票池,投资者可以从中挑选自己看中的股票进行分析,结合自己的情况和盘面变化,再从中选出适合自己买入的股票。
通常是某些股票投资者或者推荐机构,机构投资者,以股票K线技术,或者公司基本面、结合行业产业背景、经济基本面和产业政策、宏观政策,财务报表等某方面或者综合指标所甄选的,用来随着市场变化情况所选出的备选投资股票名单的称呼。
⑦ 如何建立自己的股票池
我们就提到了认清趋势的重要性。我们所说的趋势是什么?难道是大盘的指数吗?非也。指数是个非常粗糙的市场描述,它涵括的品种、乃至反映的交易人群过于庞杂,以至于它只能作为粗略了解大势的一个指南。因为:一方面对指数变化有较大影响的所谓权重股往往更适合大资金大机构来投资,而不适合散户投资者;另一方面在信息爆炸的今天,业余投资者不可能对各个行业各个领域的动向都把握得非常清楚与及时,因此与其眉毛胡子一把抓,还不如集中精力专注于1、2个领域。事实证明,这种做法虽然可能错过其他领域出现的交易机会,但是可以大大减少所花费的时间精力。
在确认了自己所感兴趣的行业后,下一步在这1、2个行业里就要挑选股票构建一个私人的股票池。入选股票池的股票包括以下这些目标:
1、高风险股票。也就是高beta系数的股票,一般是小盘股、投机股。这样的股票比大盘运动得更快更活跃,交易此类股票能有效提高回报率。
2、某些大盘蓝筹股
。大盘股是大资金大机构的最爱。相对于小盘股而言,这类股票的股性不是特别活跃,但是在行情低迷、市场总体流动性欠缺的情况下,这类个股的流动性优势就凸现出来了。因此在特定市场环境下这类股票可能成为我们唯一可以交易的品种。我们将它们和高风险股票结合起来放在股票池里,一旦行情启动,大盘蓝筹就让位给小盘投机股。
3、有着稳定交易区间的个股。这类股票可能好几个月都在一个箱体内上下震荡,不能提供一次性暴利机会,但它稳定的运行轨迹却给我们提供了丰富的交易机会,“薄利多销”是对它的最佳描述。
4、喜欢异动的个股。它们的价值得不到众多投资者的认可,其交易量一般比较低迷。但是,它却往往会有突如其来的价格异动。正因为关注的投资者少,因此在少部分资金的推动下,它的价格就能出现令人亢奋的大起大落。而这种现象很可能一再重演。我们把这类股票放到私人股票池里进行密切观察,掌握其习性,以期获得暴利机会。
5、年内价格波动范围大的个股。对于一年内最高价和最低价之间差别很大的个股,我们也要密切留意。根据交易心理,当一只价格波动巨大的股票创下新低的时候,那些曾经买卖过它的投资者会相信它的价格很有可能会反弹到原来的高度,从而入场抄底。这样一批人群的陆续入场就会逐渐推高它的价格,从而带来获利机会。
6、运行符合技术指标的个股。不论我们习惯使用的技术分析指标是移动平均线、RSI还是MACD,它们都不可能适用于所有的股票。
⑧ 聚宽、米筐、掘金量化、优矿哪家平台的实盘通道更好
聚宽就可以实盘啊,还挺方便的,可以自己写策略跑。
⑨ 如何做自己的通达信股票池
工具-用户板块设置,可以建立新的板块.
工具-系统设置-标签,可以把自定义板块添加到日常显示模块中
选择你想添加的股票,按右键-加入到板块股,可以将股票添加到相应的板块.
这些板块和板块里的股票就是你的股票池.板块可以调整,删除,可以先试验一下.
通达信软件是多功能的证券信息平台,与其他行情软件相比,有简洁的界面和行情更新速度较快等优点。通达信允许用户自由划分屏幕,并规定每一块对应哪个内容。至于快捷键,也是通达信的特色之一。通达信还有一个有用的功能,就是“在线人气”,可以了解哪些是当前关注,哪些是持续关注,又有哪些是当前冷门,可以更直接了解各个股票的关注度。
深圳市财富趋势科技有限责任公司是一家资深的证券业高科技企业,致力于证券分析系统和计算机通讯系统的研究开发,自1995年成立以来,经过蓬勃发展,已经成为该行业的典范。其开发的行情源被同行业多企业采用,是目前市场上非常主流的拥有自主开发证券类软件能力的企业。深圳市财富趋势科技有限责任公司在证券行业的著名品牌是“通达信”。
⑩ portfolio在聚宽里什么意思
Port Trunks 带宽聚合 (cisco有专用的以太通道Ethernet Channel) 聚合带宽就是通过并行链路汇聚或捆绑来提高链路带宽,提供一种机制,将多个端口捆绑成一个逻辑链路! 它有以下优点:1 带宽的可伸缩性 2 容错 3 负载均衡 4 对网络应用透明