Alpha005

(rank((open - (sum(vwap, 10) / 10))) * (-1 * abs(rank((close - vwap)))))

因子函数说明: 1、rank(x) 含义:x元素的排名,取值范围为[0,1]。 例如: 输入五只股票的收盘价[2,7,8,5,9],返回的是各股票收盘价排名的分位值[0.2, 0.6, 0.8, 0.4, 1]

2、abs (x) 含义:x元素求绝对值

3、sum(x, d) 含义:计算过去d天x的累加值

公用变量说明: open:开盘价 close:收盘价 vwap:平均成交价

公式解析: rank((open - (sum(vwap, 10) / 10))):首先对过去10个交易日的平均成交价(vwap)累加后再计算平均值,用开盘价(open)减去过去10日的平均价,得到的数值的正负代表当日开盘价是否突破10日均线,最后进行排序。

(-1 * abs(rank((close - vwap)))):计算收盘价相对于当日平均成交价的强弱程度进行排序,这里进行绝对值操作(abs)貌似没有意义,因为rank的返回值本身就是(0,1]之间的排序百分比,最后加上负号进行反向操作。

(rank((open - (sum(vwap, 10) / 10))) * (-1 * abs(rank((close - vwap))))):最后将以上两部分结果相乘,即开盘价越高同时收盘价越低或者开盘价越低同时收盘价越高的股票对应因子值越大,逻辑上就是做多‘高开低收’和‘低开高收’的股票,做空‘高开高收’和‘低开低收’的股票。

IC值在调仓周期为5D和10D时IC均值能够接近0.03。