量化交易1:
算法交易流程:
大前提:基于某种平台:
1.提出假设
2.建立模型
3.回测验证
4.执行交易
交易策略来源:
1.市场微观结构研究 (for HFT mostly)
2.基金结构套利
3.机器学习:
四个流派:connectionism联接主义(例如神经网络)
symbolism符号主义(决策树)
Frequentists(频率主义)
bayesian(贝叶斯模型)
4.深度学习:
CNN for spatical data(卷积神经网络,空间)
LSTM for temporal data(递归神经网络,时间)所有隐马模型都可以使用LSTM来替换
HMM 隐马尔可夫模型
Machine Learning & Trading:
limit order book modeling 高频
price-based classification models 价格分类模型
text-based classification models 基于文本(自然语言处理一些新闻来预测)
Reinforcement Learning 强化学习
量化交易2:
CAPM Model(资本资产定价模型)
portfolio 资产组合
各个资产组合的比例的绝对值相加等于1
例如资产分配到三个地方,比例为a%b%c%
abs(a%)+abs(b%)+abs(c%)=100%
个股i的CAPM model:
r_i(t) = beta_i * r[m](t) + alpha_i(t)
单一股票[i]:在t时刻某一支股票的回报等于这个市场r[m](t) (可以理解成大盘)乘以系数beta加上一个残差(线性模型)
CAPM(市场有效假说) 认为:残差的期望值E(alphai)=0
被动式管理和主动式管理基金:
被动式管理:复制大盘指数,持有。
主动式管理:选择个股,频繁交易
两者关键分歧:alpha是否是随机噪声,alpha期望是否为0。
r_i(t) = beta_i * r[m](t) + alpha_i(t)
选择好的beta值:
当牛市时:选择大beta,这样收益高
熊市:小beta甚至负的beta,这样亏损小。
如果市场有效假说成立,我们无法预测股市,也选不出合适的beta
价格套利理论(APT)
r_i(t) = beta_i * r[m](t) + alpha_i(t)
Beta 不是常数,而是一个变量。例如把beta拆分成此股票属于的各个板块的beta
Beta = w * r
技术分析&基本面分析:
历史数据:
价格,交易量
计算指标(features)
启发式选择(经验,机器学习)
什么时候用技术分析:
多个指标的非线性组合(机器学习)
短时间(短周期的预测)
异类检测
基本指标:
momentum动量线(类似梯度):mom[t]=price[t]/(price[t-n])-1
SMA(类似均线):Simple moving average.(smooth,lagged)……可以看作一种滤波器。
BB(bollinger bands)BOLL指标:决策边界是两个标准差
取值范围:SMA [-0.5,+0.5] Mom[-0.5,+0.5] BB[-1,+1]
根据取值范围不同需要对各个指标归一化
Norm=(value - mean)/values.std()
PS:
最近邻算法不适合在高维空间中使用。原因是维度高的时候(具体看样本数量),最近邻需要找寻几乎空间中所有的点。
机器学习的作用:bias-variance trade-off 权衡偏差和方差
偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。
方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。
图来自http://scott.fortmann-roe.com/docs/BiasVariance.html