Storm-开源多因子系统


Storm项目主要实现了以下功能:

金融数据处理与预训练

  • 能够对金融数据(可能与道琼斯30指数DJ30相关,根据配置文件推测)进行处理,为后续分析和模型训练做准备。
  • 通过执行预训练步骤(pretrain_day_dj30_dynamic_dual_vqvae.py相关配置),利用特定的模型结构(可能是动态双VQ-VAE,从配置文件名推测)进行预测和投资组合管理相关的预训练操作,学习金融数据中的潜在模式和规律,以便为后续的交易决策提供基础支持。

状态提取用于强化学习

  • 可以从预训练模型或数据中提取状态信息(通过--state参数指定),这些状态信息将用于强化学习部分,为智能体(agent)在交易环境中的决策提供必要的输入特征。该步骤不进行训练和测试操作(--no_train--no_test参数),且不记录相关日志(--no_writer--no_wandb参数),专注于状态提取。

强化学习交易

  • 实现了基于强化学习的交易策略,智能体(agent)在交易环境中根据从状态提取步骤获取的状态信息进行决策,以实现最优的交易行为,如买卖股票等操作。具体交易操作通过tools/trading.py脚本结合相应的配置文件(如AAPL_day_dj30_dynamic_dual_vqvae.py)来执行,在配置文件中可能定义了交易的规则、奖励机制、环境设置等参数,使得智能体能够在模拟的金融市场环境中进行学习和决策,以追求最大的收益或达到其他预设的交易目标。

github