构建金融机器学习的数据集

数据挖掘 神经网络 数据集 金融
2022-02-12 22:14:24

我正在尝试构建一个数据集以将 MLP 应用于预测财务回报。主要想法是,我想使用基本数据来预测未来的股票回报(提前 1 个月,但范围可能会有所不同,只是为了给出一个想法)。

我的数据集由 N 家公司的 n 个特征组成。主要问题是这些特征不是在同一时间点记录的,因此其中一些是每月时间序列,而另一些是每日时间序列。我试图了解解决此问题的一般方法,因为这是我的第一个 ML 应用程序。

如果我的特征是在这个意义上不同的时间序列数据,我该怎么办?我有很多出版物,但没有人深入了解数据集的组成方式(在训练/测试拆分之前)。有人可以推荐一些有用的资源吗?

编辑

假设我有不同数量的公司超过 10 年的月度数据,主要是因为其中一些不再存在,但这对于生存偏差问题很重要。

对于这N家公司中的每家,我都有n 个代表这些公司基本面的特征。我将能够回归每月回报,所以我试图解决一个监督学习问题。

我无法理解的是使用简单的多层感知器而不是更复杂的结构(如 RNN 甚至 LSTM)来解决问题的可行性。由于与我正在构建的项目相关的某些特定原因,我不想切换到这些更复杂的架构之一。

可能我错过了网络训练背后的推理。我应该如何向架构提供输入数据以执行反向传播和 GD?我唯一确定的是,我应该改变一个时间段的月度回报序列,以将问题重铸为监督问题。

1个回答

您将不得不考虑三个不同的因素:

1 - 运行预测时您将获得哪些数据?您是否必须对这些数据进行预处理?你会有时间去做吗?您应该将重点放在这一点上,并从运行时预测的样子向后工作

2 - 当涉及到时间序列时,您必须根据 (1) 回溯窗口,或者您考虑之前多少个周期和 (2) 时间变化,或者您预测多少个未来周期来考虑它?这可能会导致您建模的组合数量惊人。您应该最终得到具有 X 个时间段的 n 个特征的数据集,并且您的目标变量(您的标记数据)是您创建预测的 X 的结果 Y 个时间段。

3 - 时间序列的主要罪过是您永远不应该对在特定运行时日期不可用的数据进行建模。这是一个常见的初学者错误,您混淆了您的时间段并最终获取了发布时实际上不可用的数据;换句话说,当您进行预测时,您将无法使用它(或至少不正确)。这在实体可以返回并在未来日期“重新陈述”数字的财务数据中很常见。您必须确保您正在对数据进行建模,因为它位于您正在建模的目标日期。

考虑到这些想法,您应该以有意义的方式准备数据。