问题:
我有一个关于对冲基金的数据集。它包含对冲基金的月度回报和一些财务指标。我计算了从2010年到2019年12月每个月的指标。 (每月2889个数据)我想对这些指标进行二元分类并预测下个月对冲基金的分类。我想从T时间开始预测T + 1。我想使用随机森林和其他分类器(决策树,KNN,SVM,逻辑回归)。我知道此数据集是时间序列问题,如何将其转换为机器学习问题。
对于在建模,特征工程和编辑此数据集时应遵循的方法或方法,我欢迎您的建议和咨询。
其他问题:
1)在使用此数据进行训练和测试时如何拆分数据? 0,80-0,20?您可以推荐其他验证方法吗?
2)一些基金会在以后添加到数据中,因此并非所有基金都有相同长度的数据,例如,2015年成立的“ AEB”基金在2015年之前没有数据。问题,还是最好删除它们并将其从数据集中删除?我总共有27种不同的基金数据。3)此外,我已将对冲基金的代码/名称更改为数字ID,是否可以进行虚拟编码,这样对性能会更好吗?
样本数据集:
Date | Fund Name / Ticker | sharpe | sortino | beta | alpha | target |
------------|--------------------|--------|---------|-------|-------|--------|--
31.03.2010 | ABC | -0,08 | 0,025 | 0,6 | 0,13 | 1 |
31.03.2010 | DEF | 0,41 | 1,2 | 1,09 | 0,045 | 0 |
31.03.2010 | SDF | 0,03 | 0,13 | 0,99 | -0,07 | 1 |
31.03.2010 | CBD | 0,71 | -0,05 | 1,21 | 0,2 | 1 |
30.04.2010 | ABC | 0,05 | -0,07 | 0,41 | 0,04 | 0 |
30.04.2010 | DEF | 0,96 | 0,2 | 1,09 | 1,5 | 0 |
30.04.2010 | SDF | -0,06 | 0,23 | 0,13 | 0,23 | 0 |
30.04.2010 | CBD | 0,75 | -0,01 | 0,97 | -0,06 | 1 |
: | : | : | : | : | : | : |
: | : | : | : | : | : | : |
30.12.2019 | ABC | 0,05 | -0,07 | 0,41 | 0,04 | 1 |
30.12.2019 | DEF | 0,96 | 0,2 | 1,09 | 1,5 | 0 |
30.12.2019 | SDF | -0,06 | 0,23 | 0,13 | 0,23 | 0 |
30.12.2019 | CBD | 0,75 | -0,01 | 0,97 | -0,06 | 1 |
30.12.2019 | FGF | 1,45 | 0,98 | -0,03 | 0,55 | 1 |
30.12.2019 | AEB | 0,25 | 1,22 | 0,17 | -0,44 | 0 |
我的想法和第一次尝试:我为一个例子建模。我使用了这样的方法,我将(-1)移回了目标变量。因此,每行都显示了下个月该基金所在的类别,因此我这样做了,我想预测该月开始的下个月。从T预测为T + 1。但是此模型给出的结果非常差。(%43)
此模型数据集的视图:
Date | Fund Name / Ticker | sharpe | sortino | beta | alpha | target |
------------|--------------------|--------|---------|-------|-------|--------|--
31.03.2010 | ABC | -0,08 | 0,025 | 0,6 | 0,13 | 1 |
31.03.2010 | DEF | 0,41 | 1,2 | 1,09 | 0,045 | 0 |
31.03.2010 | SDF | 0,03 | 0,13 | 0,99 | -0,07 | 1 |
31.03.2010 | CBD | 0,71 | -0,05 | 1,21 | 0,2 | 1 |
30.04.2010 | ABC | 0,05 | -0,07 | 0,41 | 0,04 | 0 |
30.04.2010 | DEF | 0,96 | 0,2 | 1,09 | 1,5 | 0 |
30.04.2010 | SDF | -0,06 | 0,23 | 0,13 | 0,23 | 0 |
30.04.2010 | CBD | 0,75 | -0,01 | 0,97 | -0,06 | 1 |
: | : | : | : | : | : | : |
: | : | : | : | : | : | : |
30.12.2019 | ABC | 0,05 | -0,07 | 0,41 | 0,04 | 0 |
30.12.2019 | DEF | 0,96 | 0,2 | 1,09 | 1,5 | 0 |
30.12.2019 | SDF | -0,06 | 0,23 | 0,13 | 0,23 | 1 |
30.12.2019 | CBD | 0,75 | -0,01 | 0,97 | -0,06 | 1 |
30.12.2019 | FGF | 1,45 | 0,98 | -0,03 | 0,55 | 0 |
30.12.2019 | AEB | 0,25 | 1,22 | 0,17 | -0,44 | ? |
您可以找到许多方法。时间序列具有挑战性,可以在开始时取得较差的结果。我建议您执行以下操作:
lags
作为数据集中的其他列。您要预测t+1
并且有t
,因此请尝试同时计算t-1
,t-2
,t-3
等t-x
数量,请尝试绘制ACF
和PACF
图,并查看阴影区域中出现的第一个滞后random walk
,如果是,那么最近有很多论文试图解决随机游走预测问题