基于OpenAI Gym的股票市场交易环境

机器学习在股票市场中的应用一直是个吸引人的研究方向,前不久瑞士金融数据顾问的《如何用 Python 和机器学习炒股赚钱?》引起了很多人的关注。目前,在 GitHub 上已经出现了基于 OpenAI Gym 的股票市场交易环境,该项目使用 Keras,支持 Theano 与 TensorFlow,可以帮助开发者导入各类股票市场的交易数据,构建自己的长线交易模型。希望它能为你的研究提供帮助。

概述

本项目使用 OpenAI Gym 为股票交易市场的模拟提供了一个通用环境。训练数据为每天的收盘价,收集自 Google Finance,当然,你也可以导入其他自己希望使用的数据。另外,它还包含 Andrej Karpathy 曾经提到过的简单 Deep Q-learning 和策略梯度算法。

Andrej Karpathy 的博文《Deep Reinforcement Learning: Pong from Pixels》:http://karpathy.github.io/2016/05/31/rl/

该环境的开发者表示,这个项目不仅是为了帮助人们在股票交易市场中找寻最好的强化学习解决方案,更是通用和开放环境的一部分。

环境需求

  • Python2.7 或更高版本
  • Numpy
  • HDF5
  • Keras 和其基础(Theano 和 TensorFlow 皆可)
  • OpenAI Gym

使用

注意:用于训练的示例数据来自韩国股票市场,如果你想训练本国股票市场的交易数据,请自行下载并导入。

在满足以上开发环境后,你就可以在此之上训练自己的算法、Deep Q-leanring 和策略梯度算法了。

训练 Deep Q-leanring:

$ python market_dqn.py <list filename> [model filename]

训练策略梯度算法:

$ python market_pg.py <list filename> [model filename]

例如,你可以这样做:

$ python market_pg.py ./kospi_10.csv pg.h5

目前,该项目中的神经网络架构略显简单,如果你试图学习每个股票的数据,模型会欠拟合。它只适合 10-100 支股票数年内的数据。作者欢迎其他贡献者提供更好的模型。

下图是 KOSPI 市值前十的股票近四年内的数据,使用了策略梯度算法。


下一步计划

  • 测试环境、检查过拟合
  • 阐述 PG 的训练接口

参考文献

[1] Playing Atari with Deep Reinforcement Learning:https://arxiv.org/abs/1312.5602

[2] Deep Reinforcement Learning: Pong from Pixels:http://karpathy.github.io/2016/05/31/rl/

[3] KEras Reinforcement Learning gYM agents, KeRLym:https://github.com/osh/kerlym

[4] Keras plays catch, a single file Reinforcement Learning example:http://edersantana.github.io/articles/keras_rl/

入门
暂无评论
暂无评论~
返回顶部