本次实战代码仍是在之前基础上进行了一些修改。之前只在一支股票上进行训练,这次我将模型放在多支股票上训练,并在多支股票上进行了测试。对于多支股票的训练策略,没有参考过别人的训练方案(做这个的比较少)。我按自己的理解去训练,每一轮训练,都将每支股票从头到尾走一次。核心代码如下:

结果:
股票1:
不加均线的回测结果:

加均线的回测结果:

股票2:
不加均线的回测结果:

加均线的回测结果:

股票3:
不加均线的回测结果:

加均线的回测结果:

从上图可以发现,加了均线系统限制股票买卖效果不一定好,但是可以从一定程度上规避风险。在下跌趋势比较明显的股票中,均线系统能够很好的保护账户,减少损失。(如股票3)我这个均线策略设计的比较粗糙,如果细化一点,效果应该会好一些。

我本想依靠强化学习实现自动加减仓的功能,但发现这个似乎不太好做。

我最开始尝试了DDPG模型(ActorCritic中的一种),想利用Critic进行评价当前动作能够得到的收益(或是当前动作有多优秀),但是我发现critic很难训练,可能跟我使用的姿势不太对。我是将当前状态和当前动作当做特征输入critic网络中进行评价,这样输入可能很难让神经网络从中学到,应该输入当前状态,评价不同状态的得分。(现在才想到可以这么做,也有可能是神经网络需要精心设计过才好)

然后我又尝试了强制每次交易不满仓,只买入1/5仓位或只买入1/3仓位,每次卖出也同样。但我发现多数情况下这种分批次加减仓操作的效果都不如每次满仓操作效果好。我尝试了两种训练方式:1、在训练中满仓操作单,回测时分批买入;2、在训练中分批买入或卖出,回测同样。这两种训练方式效果都表现不好。

于是我就放弃了加减仓的设计。其实加减仓也可以结合大盘和个股的走势情况进行一个判断,可以通过建模得到当前风险状况来评估仓位设置。(这个后期再考虑了)

最后我再说下我对强化学习用在股票交易上的看法,我个人觉得强化学习用在股票交易上就是大材小用。强化学习适合当前动作对于之后影响没法立刻体现的任务,而在股票交易上,你今天买入或卖出第二天就知道当前操作是否正确。当然可以看一个长期的收益,但如果看一个长期的收益,似乎就不需要强化学习了,可以利用传统的机器学习算法或因子模型等。可能确实可以用强化学习,但我个人还是觉得有些大材小用,有监督学习就可以较好的解决股票交易这个问题。

代码github:
https://github.com/wbbhcb/stock_market

对量化、数据挖掘、深度学习感兴趣的可以关注公众号,本人不定期分享有关这些方面的研究。

个人知乎:
https://www.zhihu.com/people/e-zhe-shi-wo/activities

利用强化学习进行股票操作实战(四)相关推荐

  1. 利用强化学习进行股票操作实战(三)

    与上一篇文章相同之处 对于交易策略,与上一篇文章相同,当发出买入指令时,一次性全部买入:当发出卖出指令时,一次性全部卖出.还没有添加加减仓操作. 模型仍然用的是DQN模型. 新增内容 在之前的基础上加 ...

  2. 强化学习能挑战众多世界冠军,人类亦能利用强化学习成为冠军

    如今,强化学习不仅成了学术界的宠儿,相关研究论文在各大顶会中的比例飞速上升:也在不断挑战冠军,突破记录,成为了AI开发的热门领域,比如击败围棋世界冠军的Alpha Go,就引起了大家对AI的广泛关注. ...

  3. 强化学习经典算法笔记(十四):双延迟深度确定性策略梯度算法TD3的PyTorch实现

    强化学习经典算法笔记(十四):双延迟深度确定性策略梯度算法TD3的PyTorch实现 TD3算法简介 TD3是Twin Delayed Deep Deterministic policy gradie ...

  4. RL之SARSA:利用强化学习之SARSA实现走迷宫—训练智能体走到迷宫(复杂陷阱迷宫)的宝藏位置

    RL之SARSA:利用强化学习之SARSA实现走迷宫-训练智能体走到迷宫(复杂陷阱迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 后期更新-- 测试 ...

  5. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(复杂迷宫)的宝藏位置

    RL之Q Learning:利用强化学习之Q Learning实现走迷宫-训练智能体走到迷宫(复杂迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 f ...

  6. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(简单迷宫)的宝藏位置

    RL之Q Learning:利用强化学习之Q Learning实现走迷宫-训练智能体走到迷宫(简单迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 f ...

  7. ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例

    ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例 目录 基于MovieLens电影评分数据集利用强化学习算 ...

  8. 强化学习案例_强化学习实践案例!携程如何利用强化学习提高酒店推荐排序质量...

    作者简介: 宣云儿,携程酒店排序算法工程师,主要负责酒店排序相关的算法逻辑方案设计实施.目前主要的兴趣在于排序学习.强化学习等领域的理论与应用. 前言 目前携程酒店绝大部分排序业务中所涉及的问题,基本 ...

  9. CVPR 2020 | 利用强化学习进行交互式3D医学图像分割

    点击上方"视学算法",选择"星标" 快速获得最新干货 本文转载自:机器之心 如何提高交互式图像分割算法的效率?上海交大和华师大的研究者提出了一种基于多智能体深度 ...

最新文章

  1. Iterator:访问数据集合的统一接口
  2. 社工库网址与制作方法
  3. LEANSOFT领航员 – 基于Docker的DevOps实战培训
  4. 11.22Daily Scrum(2)
  5. java并发编程(二)多个线程多个锁
  6. 关于properties.load()出现的空指针异常
  7. .NET回归 HTML----超文本标记语言(暂时无图)
  8. 福利 | 干大事,成大事,2018 幸福如是!
  9. [Usaco2008 Mar]River Crossing渡河问题
  10. Yii源码解读 - 事件
  11. ds哈希查找--链地址法_Hash冲突之开放地址法
  12. Win7 U盘安装Ubuntu16.04 双系统详细教程
  13. 【深度学习】Colaboratory使用:Google云盘挂载及GPU使用
  14. java菜鸟驿站_RxJava菜鸟驿站(一)
  15. 新员工入职表_员工离职率过高,只要三步骤,就能轻松有效控制
  16. tftpd32刷路由器方法_不走弯路:小米路由器3G 刷Padavan固件简单教程
  17. 用python打开\显示\保存图像
  18. 华为上机英文数字翻译
  19. 猿创征文|『编程与创作』10款颜值颇高的宝藏工具
  20. 蜘蛛爬行html语言的顺序,SEO优化 蜘蛛的爬行规则以及让蜘蛛爬行的快速办法

热门文章

  1. MySQL - 全文索引
  2. 预装Win7家庭普通版系统的机器免费升级为旗舰版
  3. Cocos 引擎创始人王哲:选择和努力一样重要
  4. 快来看JS的的几个常用算法(持续更新中)
  5. while循环和for循环
  6. shou shen ji hua
  7. 暗黑地牢modfiles.txt文件生成工具
  8. 定位导致Windows蓝屏的代码的方法
  9. Jigdo下载 Debian
  10. 3.25黄金白银%今天独家操作建议附原油解套操作思路