### 使用强化学习进行股票交易

▪  实现自己的OpenAI Gym环境来模拟股票市场。
▪  用第6章和第8章中的DQN方法来训练智能体进行股票交易以最大化利润

问题是:是否可以从RL角度看待这个问题?假设我们对市场有一些观察,并想做出一个决定:购买、出售或等待。如果在价格上涨之前买入,利润将为正;否则,将获得负奖励。我们要尝试的是获得尽可能多的利润。这样市场交易和RL之间的联系就非常明显了。

**观察将包括以下信息:**
▪  N个过去的bar,每个都有开盘价、最高价、最低价和收盘价。
▪  表明该股票是在一段时间前购买的标识(同一时间只可能有一份股票被购买)。
▪  根据当前价位(所买股票)计算的收益或损失。
智能体每一步(每个分钟bar)可以执行下面动作之一:
▪  什么也不做:跳过此bar,不执行任何动作。
▪  买入一支股票:如果智能体已经持有,则不会再购买;否则,支付佣金(通常是当前价格的一个小百分比)。
▪  平仓:如果之前没有购买股票,则不会发生任何事情;否则,支付交易佣金。

**环境的构造函数接受许多参数以调整环境的行为和观察表示**:
▪  prices:作为字典包含一个或多个机构的一支或多支股票价格,其中键是机构的名称,值是容器对象data.Prices,保存价格数据数组。
▪  bars_count:在观察中经历的bar,默认情况下,为10个bar。
▪  commission:在买卖股票时必须支付给经纪人的股票价格的百分比,默认情况下为0.1%。
▪  reset_on_close:如果将此参数设置为True(默认情况下为True),则每当智能体要求平仓(即出售股票)时,都会停止该片段。否则,片段将持续到时间序列结束为止,也就是一年的数据。
▪  conv_1d:传递给智能体的观察中的价格数据的不同表示形式,能够通过此布尔参数进行切换。如果将其设置为True,则观察具有2D形状,bar中不同的价格和其后bar的同类型价格会被组织在同一行中。例如,最高价(bar中的最高价格)放在第一行,第二行是最低价,第三行是收盘价。此表示形式适用于在时间序列上进行一维卷积,其中数据中的每一行与Atari 2D图像中的不同颜色平面(红色、绿色或蓝色)有相同的含义。如果将此选项设置为False,则只有一个数据数组,每个bar的组件都放置在一起。该组织形式对于全连接的网络架构很方便。

▪  random_ofs_on_reset:如果参数为True(默认情况),则在每次环境重置时,将从时间序列的随机偏移开始。否则,将从数据的开头开始。
▪  reward_on_close:此布尔参数在前面讨论的两种奖励方案之间切换。如果将其设置为True,则智能体将仅在平仓动作产生时获得奖励。否则,将在每个bar给一个小额奖励,与该bar期间的价格变动相对应。
▪  volumes:此参数决定是否在观察中增加交易量,默认情况下处于禁用状态。

**使用RL创建完整且可以获利的交易策略是一个大型项目,可能需要专攻数月。但是,有些事情我们可以尝试一下,以更好地理解该主题:**
▪  我们的数据表示绝对不完美。没有考虑重要的价格水平(支撑位和阻力位)、整数价格值和其他因素。将它们纳入观察可能是一个具有挑战性的问题。
▪  通常需要针对多个不同时间范围来分析市场价格。像一分钟的bar这样的小范围数据比较嘈杂(因为它们包含许多由单个交易引起的小幅价格浮动),这就像使用显微镜观察市场一样。在较大的范围(例如一小时或一天的bar)下,可以看到数据浮动的长期趋势,这对于价格预测而言可能极为重要。
▪  需要更多的训练数据。一支股票一年的数据只有13万个bar,可能不足以捕捉所有市场情况。理想情况下,应该在更大的数据集上训练更实用的智能体,例如采用过去10年中数百支股票的价格来训练。
▪  实验更多网络架构。卷积模型的收敛速度比前馈模型快得多,但是还有很多要优化的方面:层数、内核大小、残差网络架构及注意力机制等。

深度学习9-使用强化学习进行股票交易相关推荐

  1. 机器学习深度学习加强学习_加强强化学习背后的科学

    机器学习深度学习加强学习 机器学习 ,强化学习 (Machine Learning, Reinforcement Learning) You're getting bore stuck in lock ...

  2. 叶梓老师人工智能培训之强化学习与深度强化学习提纲(强化学习讲师培训)

    强化学习与深度强化学习提纲(强化学习讲师培训) 第一天 强化学习   第一课 强化学习综述 1.强化学习要解决的问题 2.强化学习方法的分类 3.强化学习方法的发展趋势 4.环境搭建实验(Gym,Te ...

  3. AI内训讲师叶梓-强化学习与深度强化学习提纲(强化学习讲师培训)

    叶梓老师更多教程资料可点击个人主业​​​​​​​查看 第一天 强化学习   第一课 强化学习综述 1.强化学习要解决的问题 2.强化学习方法的分类 3.强化学习方法的发展趋势 4.环境搭建实验(Gym ...

  4. 强化学习q学习求最值_Q学习简介:强化学习

    强化学习q学习求最值 by ADL 通过ADL Q学习简介:强化学习 (An introduction to Q-Learning: reinforcement learning) This arti ...

  5. 强化学习应用简述---强化学习方向优秀科学家李玉喜博士创作

    强化学习 (reinforcement learning) 经过了几十年的研发,在一直稳定发展,最近取得了很多傲人的成果,后面会有越来越好的进展.强化学习广泛应用于科学.工程.艺术等领域. 下面简单列 ...

  6. 【强化学习知识】强化学习简介

    文章目录 前言 1. Q learning 2. Sarsa 3. Deep Q Network(DQN) 4. 总结 前言 强化学习是机器学习中的一大类,它可以让机器学着如何在环境中拿到高分, 表现 ...

  7. 《强化学习周刊》第44期:RL-CoSeg、图强化学习、安全强化学习

    No.44 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,<强化学习周刊>已经开启"订阅功能",以后我们会向您自动推送最 ...

  8. 学习笔记:强化学习与最优控制(Chapter 2)

    Approximation in Value Space 学习笔记:强化学习与最优控制(Chapter 2) Approximation in Value Space 1. 综述 2. 基于Value ...

  9. 强化学习笔记-01强化学习介绍

    本文是博主对<Reinforcement Learning- An introduction>的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考. 1. 强化学习是什么?解决什么样的问题 ...

  10. 强化学习-什么是强化学习?白话文告诉你!

    目录 1.强化学习简介 2.强化学习的概念: 3.马尔可夫决策过程 4.Bellman方程 5.Q-Learning基本原理实例讲解 1.强化学习简介 世石与AlphaGo的这场人机世纪巅峰对决,不但 ...

最新文章

  1. 算法----------找到 K 个最接近的元素
  2. linux 时钟同步 chrony 简介
  3. 与癌症作战的 12 家 AI 公司,八仙过海各显神通
  4. 声明和定义结构体需要注意的问题
  5. FPGA实现OV5640摄像头及RGB图像数据采集
  6. Z表数据EXCEL导入
  7. LeetCode 128. 最长连续序列 golang
  8. oracle列转行wm_concat,Oracle列转行函数wm_concat版本不兼容解决方案
  9. 苹果Mac全新的文件启动方式:Hapigo
  10. python+selenium 处理alert弹出框
  11. SQL查询中的笛卡尔积现象解决方法
  12. IOS逆向分析—终极详细(一)
  13. MySQL重复数据排序_排序数据以在MySQL中重复记录
  14. 《专业创新实践Ⅱ》大作业 LeNet在眼疾识别数据集iChallenge-PM上的应用
  15. 基于Golang设计一套微服务架构[转]
  16. 索尼新动作,联手Nolan推出AR摩托车头盔
  17. java线程池newfi_Java 线程池中的线程复用是如何实现的?
  18. Unraid启动后需要设置和注意的事项
  19. Apache Curator客户端的使用
  20. 是不正确的python语句_关于Python的if else语句,调用else不正确的问题

热门文章

  1. 杨思卓:黑钻VS蓝石(1)
  2. 基于faceapi.js框架,在前端完成人脸识别
  3. python 爬虫小说 使用无头浏览器 + 自动化爬虫
  4. 最晚火起来的家电后市场,还面临着哪些痛点和难点
  5. MySQL5.7快速修改表中字段长度
  6. 自然堂携手赵今麦,推出全新安瓶面膜
  7. 如何一键运行Python脚本?
  8. tomcat+redis实现session共享
  9. Spring Session Redis实现Session共享
  10. 点击启动时显示在本地计算机无法启动PRINT SPOOLER服务错误3:系统找不到指定文件是什么原因