Alpha #001
(点击标题查看)
Alpha #002
(-1 * correlation(rank(delta(log(volume), 2)), rank(((close - open) / open)), 6))
因子函数说明:
1、
含义:x 和 y两个变量过去 d 天的相关系数。取值范围为:[-1,1]。
2、rank(x)
含义:股票的排名。输入值向量x为股票向量,若输入值含NAN,则NAN不参与排名,输出为股票对应排名的boolean值(排名所占总位数的百分比)。
例如,输入值:x=[3,7,5,9,12,2];
3、delta(x,d)
含义:当天x 值减去过去第d 天的值。
例如:向量 x 有5个元素x=[5,3,8,6,2],若d=4。x 元素对应索引为:
r=[-4,-3,-2,-1,0],0表示当天,-4表示过去第4天。则 y=delta(x,d)=2-5=-3
4、log(x)
含义:对向量x 取对数,进行差异缩小处理。
公用变量说明:
volume:成交量
open:开盘价
close :收盘价
公式解析:
根据 Alpha #002 公式,我们根据公式的运算顺序解析:
1、x0=log(volume)
结构:对成交量volume 取对数操作。
解析:我们知道。取对数操作达到差异缩小的作用,使数据平稳。计量经济学经常对数据进行取对数操作。此次对成交量取对数操作的作用也是为了使数据变换成比较平稳的数据,再进行接下来的逻辑计算。
2、x1=delta(x0,2)
结构:利用当天的值x0减去过去第 2天的值x0。x0为 1的返回值。
解析:由 1我们知道x0为取完对数操作的成交量,利用当天的x0去减过去第2天的值进行作差操作,反映当天的成交量相对于过去第2 天成交量的增加或减少的量。
3、 y1=(close-open) / open
结构:收盘价减开盘价的差,再除以开盘价。
解析:此式子是求当天股价的变化率的式子。反映了当天价格的变化程度。当变化率大于0 时,价格上升,变化率越大价格上升程度越大;反之,价格下降。
4、x2=rank(x1)
结构:对每个股票的x1 值进行排序,返回其股票对应排名的boolean值(排名所占总位数的百分比)。
解析:我们知道,x1 为某只股票当天成交量相对于过去第2 天成交量的增量。若增量为正,说明成交量在增加;反之,成交量在减少。对每只股票的x1 进行排序,可以得到每只股票当天成交量的变化程度。即boolean 值越大,某只股票的成交量增量越大。
5、 y2=rank( y1)
结构:对每个股票的y2 值进行排序,返回其股票对应排名的boolean值(排名所占总位数的百分比)。
解析:y1 表示某只股票当天的变化率。对每只股票的变化率进行排序,可以得到每只股票当天价格的变化程度。即boolean 值越大,某只股票的价格上升程度越高。
6、c=-1*correlation(x2, y2,6)
结构:计算x2 和y2 变量前6 天的相关系数。我们知道x2 和y2 表示股票的排序boolean 值。其计算逻辑是计算每只股票的前6 天的排序boolean 值的相关系数。
解析:由4和5我们知道,x2反映每只股票当天成交量的增量程度;y2反映每只股票当天价格的增量程度。
另一方面,根据相关系数的性质我们知道:
相关系数的值介于–1 与+1 之间,即–1≤r≤+1。其性质如下:
➢ 当r>0 时,表示两变量正相关,r<0 时,两变量为负相关。
➢ 当|r|=1 时,表示两变量为完全线性相关,即为函数关系。
➢ 当r=0 时,表示两变量间无线性相关关系。
➢ 当0<|r|<1 时,表示两变量存在一定程度的线性相关。且|r|越接近1,两变
量间线性关系越密切;|r|越接近于0,表示两变量的线性相关越弱。一般可按三级划分:|r|<0.4 为低度线性相关;0.4≤|r|<0.7 为显著性相关;0.7≤|r|<1 为高度线性相关。
由此,当计算的相关系数越接近1,正相关程度越大。反之,相关系数越接近-1,负相关程度越高。而对相关系数乘以-1 进行取反操作,得到的alpha 值。表明alpha 越接近1,负相关程度越高,即股票当天成交量的增量程度与当天价格的增量程度负相关性越高。
因此,此公式是反映价量背离的规律的一个公式,买入alpha 值大的股票,卖出alpha 值大的股票,原理是买入加量背离程度高的股票。
转换为伪MATLAB 公式:
Step1:
Step2:
Step3:
策略说明:
思路:此策略属于量价背离策略。利用相关系数的数学方法来研究量价之间的关系。首先,在量方面:先对成交量取对数来达到稳定数据的作用,而后利用当天的成交量和过去第2 天的值进行差分运算,得到量方面的增量程度;另一方面,在价方面:直接求当天的价格变化率来达到价方面的增量程度。接下来,对量价方面分别对每只股票进行排序操作,最后求他们过去6 天以来的相关系数的。alpha 为量价之间的相关系数取反后的值,从而达到量价背离的目的。
策略:每次取alpha 前10 的股票进行买入交易,不属于前10 的股票,如果之前有买入,则进行卖出交易。
回测报告:
策略代码:
alpha002.m
执行代码:
TestAlpha001.m