1. Learn
  2. /
  3. 课程
  4. /
  5. Python 金融机器学习

Connected

道练习

基于成交量的特征工程

我们将使用非线性模型来获得更准确的预测。在线性模型中,特征必须与目标呈线性相关。其他机器学习模型可以以非线性的方式组合特征。例如,如果当价格的移动平均线上升而成交量的移动平均线下降时,价格会上涨,该如何刻画这种关系?要么将这些特征相乘,要么使用可以处理非线性的机器学习算法(例如随机森林)。

为纳入更多可能与其他特征交互的信息,我们可以加入与目标弱相关的特征。首先,我们会加入成交量数据,它在 lng_df 中的列名为 Adj_Volume。

在开始之前,请记住,对于 TA-Lib 函数(例如 SMA()),您需要提供 Numpy 数组,而不是 pandas 对象。您可以使用 pandas Series 或 DataFrame 的 .values 属性将其转换为 Numpy 数组。

说明

100 XP
  • 计算成交量的 1 天百分比变化(使用 pandas 的 pct_change()),并将其赋给 lng_df 中的 Adj_Volume_1d_change 列。
  • 计算上述 1 天百分比变化的 5 天移动平均,并将其赋给 lng_df 中的 Adj_Volume_1d_change_SMA 列。
  • 使用 new_features 列表绘制我们创建的这两个新特征的直方图。