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

3.3.2 创建交易条件

接下来我们做一点简单的特征工程,以便进行后面的工作。这里用每日开盘价减去收盘价,并保存为一个新的特征;用最高价减去最低价,保存成另外一个特征。同时,如果股票次日收盘价高于当日收盘价,则标记为1,代表次日股票价格上涨;反之,如果次日收盘价低于当日收盘价,则标记为-1,代表股票次日价格下跌或者不变。这个过程可以称为创建股票的交易条件(trading condition)。输入代码如下:

运行代码,就完成了这个函数的定义。由于我们通过股票价格变化的情况对数据进行了分类,即1代表价格上涨,–1代表价格下跌或不变,这个交易条件可以用来训练分类模型。让模型预测某只股票在下一个交易日价格上涨与否。

如果要创建用于回归模型的交易条件,则可以对代码稍做调整,将次日收盘价减去当日收盘价的差作为预测的目标。这样就可以训练回归模型,使其预测次日股价上涨(或下跌)的幅度。输入代码如下:

运行代码即可完成回归交易条件函数的定义。与分类交易条件一样,我们同样是把股票当日的开盘价和收盘价的差,与最高价和最低价的差作为样本的特征。不同的是,预测目标变成了次日收盘价与当日收盘价的差。