Data

NA 值处理

ret_date 为 NA 的删除,已到最新数据处

momentum 从 2008-01 开始。简单起见,把所有数据调整为从2008-01开始。

剩余的NA值有至少三个来源:

return 的 NA 值直接删除

Use rank instead of numerical values

$$c_{i,t} = \frac{2}{N+1}CSrank(c^r_{i,t}) - 1$$

$c^r_{i,t}$ is the original value, $CSrank$ ranks the value with other firms in the same month t

Train, Validation, Test split

Evaluation metrics

Models

Linear regression

Huber regressor

Random Forest

Partial Least Squares

Principal Component Regression

PCA transform

PCA regression

sklearn 是 duck typing,因此无需继承,只需在定义类的时候包括对应的方法,fit()(return self),transform()fit_transform()即可。

但直接用继承,可以更方便。

Pipeline

Elastic Net

Gradient Boosted Regression Trees

Neural Nets

GridSeachCV Neural Nets

Transformation pipeline example