深入浅出Python量化交易实战
上QQ阅读APP看书,第一时间看更新

5.1.3 “瓦氏因子”的计算

现在我们有了两个新的特征,能够体现股价的涨跌和主力资金的流入/流出情况,下面就可以用这两个新的特征来计算“瓦氏因子”了。咱们先说说思路。如果我们把两个特征相乘,则当股价上涨,且主力资金净流入时,因子值就是up_or_down乘以money_in_out,也就是1×1,结果是1;而其他情况,“瓦氏因子”的数值都为0。例如,股价下跌但主力资金净流入,“瓦氏因子”为0×1,结果为0。同时,为了后面便于模型训练,我们还要做一个标签(即次日股票上涨还是下跌),存储在next_day字段中。代码如下:

运行代码,可以得到如表5.3所示的结果。

表5.3 添加了“瓦氏因子”和标签的数据

【结果分析】从表5.3中可以看到,“瓦氏因子”的字段factor_wa添加成功。例如,2018年4月10日,股价下跌,主力资金净流出,“瓦氏因子”的值是0;2018年4月11日,股价上涨,主力资金还是净流出,这一天“瓦氏因子”的值还是0。再看next_day字段:2018年4月11日,股价上涨,因此2018年4月10日这一天的next_day字段中的数值是1;2018年4月12日,股价下跌,因此2018年4月11日这一天的next_day字段中的数值是0。

如果读者朋友也得到了类似的结果,说明你也成功地计算出了第一个因子值,可以进行下一步的工作了。