来自WorldQuant的101个Alpha
时间:2016年12月08日 17:56:39 浏览:次
[摘要] 2015年底World Quant发表了论文《101 Formulaic Alpha》,论文中给出了101个现实中的alph a。
正文
2016年12月08日 17:56:39
2015年底World Quant发表了论文《101 Formulaic Alpha》,论文中给出了101个现实中的alpha。
——We emphasize that the 101 alphas we present here are not “toy” alphas but real-life trading alphas used in production. In fact, 80 of these alphas are in production as of this writing.
其中强调80%都仍在使用(当然,这个信着先吧....)
论文中还科普了一下alpha的简单分类,也就回答了一下收益能解释关联程度等一些问题,其中这些alpha是可以做空使用的,但是在大A股方面做空需要比较复杂,这里只实现做多的一面,然后阶级止损。
在Appendix A中分为两部分:
A.1是101个alpha的计算公式和使用的函数的定义和解释,其中一部分的函数解释:
rank(x) 是一个排名的函数
abs(x) ,log(x),sign(x) 都是按照命名定义的函数分别是绝对值,对数还有信号函数
delay(x,d) 在d days以前的x 的值
delta(x,d) 今天的x值减去d天以前x的值
correlation(x,y,d) 在过去长度为d 天,x和y的相关性
covariance(x,y,d) 在过去长度为d天,x和y的协方差
ts_min(x,d),ts_max(x,d) 时间序列函数,d天内的最小值和最大值
ts_argmax(x,d),ts_argmin(x,d)是计算ts_min(x,d),ts_max(x,d)发生在哪一天
A.2.部分是描述了我们需要输入的一些数据,大部分跟名字相关。
returns 每日收盘之后的收益
open,close,high,low,volume 对应是开盘价,收盘价,最高价和最低价还有成交量。
vwap 成交量加权平均价
cap 市值
adv(d) d天的平均成交额
还有部分的工业指数(这是美国市场方面的)
我们使用了其中的单因子alpha 2来对399968创业成长成份股进行了回测(我们自己添加了阶级止损的方法),然后收益率是很可观的。
alpha2:(-1*correlation(rank(delta(log(volume),2)),rank(((close-open)/open)),6))
相关系数的x是成交量的rank(delta(log(volume),2)) 也就是当天成交量的对数和2天前的成交量对数的差值的排名~
相关系数的y就是rank(((close-open)/open)),收盘价减去开盘价的差去除以开盘价的一个排名~
(我知道这很拗口而且也神难懂,所以我们就有了文末的亮点~)
代码方面:
Alpha:
每天初始化:
买卖:
最后收益图:
亮点:
我们Ricequant已经把其中的60个Alpha写成了一个demo,我们已经把alpha都写进去了,每一个alpha都可以独立使用,但是我们鼓励大家去使用这些Alpha去做一个组合。
比如说:
alpha 1和alpha 40去做一个组合,经过各自的回测,我希望看看在alpha 1与alpha 40的权重比设置为30%和70%的情况,会是怎么样的呢?
对alpha值进行计算获得一个新的alpha也是可以的。
使用方法:
在before trading 中设置alpha_use=alpha.alpha002()的时候更改后面数字的部分就可以使用不同的alpha,但是注意不同的alpha返回的数值可能是NaN或者是负数,要另作处理呢。
有基础的同学如果使用多因子的话,就要自己手动去增加多个alpha_use然后去计算结果根据自己的方法去回测啦~
我们能做的就是不断提供学习的机会。
作者不持有文中所涉及的股票或其他投资组合,未来5个交易日内也不打算买入或做空。
本文仅代表撰稿人个人观点,不代表摩尔投研平台。
发表评论