写在前面
本系列文章基于国泰君安量化专题研究报告 ——《基于短周期价量特征的多因子选股体系》给出的 191 个短周期交易型阿尔法因子,业内人称alpha191。Alpha191应该算是业内比较早的(2017年6月发布)、专门针对股票alpha策略设计的一批因子,在学术和实操都有很高的价值。
它提供了一套科学量化的因子发现/描述的方法,从简简单单的Open/High/Low/Close/Volume等数据提炼出有效因子,是一件需要创造性和艺术性的工作,让人感受到了——量化之美。
在 A 股市场,通过对短周期交易型阿尔法(技术派)的研究,与传统多因子模型所获取的股票价值阿尔法(价值派)收益相比,交易型阿尔法收益有它自身的优势,比如空间更大、收益稳定性更强。从实用主义角度来说,不管是短周期交易型阿尔法,还是传统多因子阿尔法,只要能抓到老鼠的就是好猫。
本系列文章将基于alpha191,结合自身多年量化经验,对191个因子重新进行分析、代码实现、总结,感受量化之美。
量价变量说明
所有量价分析都是基于如下量价变量
变量 | 定义 |
---|---|
OPEN | 开盘价 |
HIGH | 最高价 |
LOW | 最低价 |
CLOSE | 收盘价 |
VWAP | 均价 |
VOLUME | 成交量 |
AMOUNT | 成交额 |
函数说明
函数 | 定义 |
---|---|
CORR(A, B, n) | 序列 A、B 过去 n 天相关系数 |
RANK(A) | 向量 A 升序排序 |
DELTA(A, n) | Ai - A i-n |
LOG(A) | 自然对数函数 |
TSRANK(A, n) | 序列 A 的末位值在过去 n 天的顺序排位 |
TSMAX(A, n) | 序列 A 过去 n 天的最大值 |
TSMIN(A, n) | 序列 A 过去 n 天的最小值 |
定义回测收益:
如alpha191报告提到到的,T+2交易日换仓回测的结果最优,T+2这里也体现了短周期。
我们设计T+2 交易日换仓,实际策略中可以自行定义换仓频率,这里仅以此作为回测分析。
假设以T+1日的开盘价买入,T+2日的收盘价卖出,来计算因子收益,即:
GAIN = (CLOSET+2 - OPENT+1) / OPENT+1
代码如下(示例):
data = pd.read_csv('stock_data.csv')
data['gain'] = data.shift(-2)['close'] / data.shift(-1)['open'] - 1
data:
最后
本系列文章只做个人学习笔记,记录想法,不作为任何投资建议。