系列文章
量价特征因子的量化分析
量价因子之前言
说明
关于本系列文章的背景、引用报告、因子表达式中的变量、函数、回测等说明,请参考:量价因子之前言
一、alpha001因子逻辑表达式
(-1 * CORR(RANK(DELTA(LOG(VOLUME), 1)), RANK(((CLOSE - OPEN) / OPEN)), 6))
理解:
1.RANK(DELTA(LOG(VOLUME), 1)),对成交量取对数后,进行1个交易日的差分,再排序。相当于对成交量的变化的量化,放量或缩量。
2.RANK(((CLOSE - OPEN) / OPEN)),相对于当日开盘价的当日涨幅,排序。
3.求上述1和2的过去6个交易日的相关系数,取负号。
4.考虑了量、幅的量化因子之一。
二、因子Python实现
Python代码如下(示例):
import numpy as np
import pandas as pd
def alpha191_001(data, corr_period=6):
"""
(-1 * CORR( RANK(DELTA(LOG(VOLUME), 1)), RANK(((CLOSE - OPEN) / OPEN)), 6))
输入:data为pandas.DataFrame类型
输出:alpha为float类型
"""
data1 = np.log(data["volume"]).diff(periods=1).rank(axis=0, pct=True)
data2 = ((data["close"] - data["open"]) / data["open"]).rank(axis=0, pct=True)
alpha = - data1.rolling(corr_period).corr(data2)
return alpha
三、因子回测
因子和收益之间的相关系数
简单以某只股票的量价回测alpha001因子和收益gain之间的相关系数。
data['gain'].corr(alpha191_001(data))
0.054083796370834374
四、总结
量幅背离是一个显著的因子,即:短周期内成交量逐步提升,振幅不断下降;或成交量逐步下
降,振幅不断提升。alpha001因子可以理解为一个量幅因子。