股票学习网

股票入门基础知识,股票基本知识 - - 767股票学习网!

虚拟炒股软件学习还有虚拟炒股软件推荐

2024-03-11 09:28分类:ARBR 阅读:

项目地址:
https://github.com/wangshub/RL-Stock

初衷

最近一段时间,受到新冠疫情的影响,股市接连下跌,作为一棵小白菜兼小韭菜,竟然产生了抄底的大胆想法,拿出仅存的一点私房钱梭哈了一把。

第二天,暴跌,俺加仓

第三天,又跌,俺加仓

第三天,又跌,俺又加仓...

一番错误操作后,结果惨不忍睹,第一次买股票就被股市一段暴打,受到了媳妇无情的嘲讽。痛定思痛,俺决定换一个思路:如何用深度强化学习来自动模拟炒股? 实验验证一下能否获得收益。

监督学习与强化学习的区别

监督学习(如 LSTM)可以根据各种历史数据来预测未来的股票的价格,判断股票是涨还是跌,帮助人做决策。

而强化学习是机器学习的另一个分支,在决策的时候采取合适的行动 (Action) 使最后的奖励最大化。与监督学习预测未来的数值不同,强化学习根据输入的状态(如当日开盘价、收盘价等),输出系列动作(例如:买进、持有、卖出),使得最后的收益最大化,实现自动交易。

OpenAI Gym 股票交易环境

观测 Observation

策略网络观测的就是一只股票的各项参数,比如开盘价、收盘价、成交数量等。部分数值会是一个很大的数值,比如成交金额或者成交量,有可能百万、千万乃至更大,为了训练时网络收敛,观测的状态数据输入时,必须要进行归一化,变换到 [-1, 1] 的区间内。

动作 Action

假设交易共有买入、卖出和保持 3 种操作,定义动作(action)为长度为 2 的数组

action[0] 为操作类型;

action[1] 表示买入或卖出百分比;

注意,当动作类型 action[0] = 3 时,表示不买也不抛售股票,此时 action[1] 的值无实际意义,网络在训练过程中,Agent 会慢慢学习到这一信息。

奖励 Reward

奖励函数的设计,对强化学习的目标至关重要。在股票交易的环境下,最应该关心的就是当前的盈利情况,故用当前的利润作为奖励函数。即当前本金 + 股票价值 - 初始本金 = 利润。

# profits reward = self.net_worth - INITIAL_ACCOUNT_BALANCE reward = 1 if reward > 0 else reward = -100

为了使网络更快学习到盈利的策略,当利润为负值时,给予网络一个较大的惩罚 (-100)。

策略梯度

因为动作输出的数值是连续,因此使用基于策略梯度的优化算法,其中比较知名的是 PPO 算法,OpenAI 和许多文献已把 PPO 作为强化学习研究中首选的算法。PPO 优化算法 Python 实现参考 stable-baselines。

环境安装

# 虚拟环境

virtualenv -p python3.6 venv source ./venv/bin/activate # 安装库依赖 pip install -r requirements.txt

股票数据获取

股票证券数据集来自于 baostock,一个免费、开源的证券数据平台,提供 Python API。

>> pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

数据获取代码参考 get_stock_data.py

>> python get_stock_data.py

将过去 20 多年的股票数据划分为训练集,和末尾 1 个月数据作为测试集,来验证强化学习策略的有效性。划分如下

验证结果

单只股票

    模拟实验
  • 初始本金 10000

    股票代码:sh.600036(招商银行)

    训练集: stockdata/train/sh.600036.招商银行.csv

    测试集: stockdata/test/sh.600036.招商银行.csv

    模拟操作 20 天,最终盈利约 400

    多只股票

    • 选取 1002 只股票,进行训练,共计

      盈利: 44.5%

      不亏不赚: 46.5%

      亏损:9.0%

      股票 Gym 环境主要参考 Stock-Trading-Environment,对观测状态、奖励函数和训练集做了修改。

      俺完全是股票没入门的新手,难免存在错误,欢迎指正!

      数据和方法皆来源于网络,无法保证有效性,Just For Fun!

      books 参考资料

        最后
      • Y. Deng, F. Bao, Y. Kong, Z. Ren and Q. Dai, "Deep Direct Reinforcement Learning for Financial Signal Representation and Trading," in IEEE Transactions on Neural Networks and Learning Systems, vol. 28, no. 3, pp. 653-664, March 2017.

        Yuqin Dai, Chris Wang, Iris Wang, Yilun Xu, "Reinforcement Learning for FX trading"(http://stanford.edu/class/msande448/2019/Final_reports/gr2.pdf)

        Chien Yi Huang. Financial trading as a game: A deep reinforcement learning approach. arXiv preprint arXiv:1807.02787, 2018.

        Create custom gym environments from scratch — A stock market example(https://towardsdatascience.com/creating-a-custom-openai-gym-environment-for-stock-trading-be532be3910e)

        notadamking/Stock-Trading-Environment(https://github.com/notadamking/Stock-Trading-Environment)

        Welcome to Stable Baselines docs! - RL Baselines Made Easy(https://stable-baselines.readthedocs.io/en/master)

         

        每经编辑:吴永久

        粉丝朋友们,周三,主板指数低位徘徊,最亮眼的还是科创50指数,上涨0.91%。

        板块概念方面,脑机接口概念出现降温。马斯克访华,人形机器人板块表现出色,其中机器视觉概念奥比中光、力鼎光电等涨停。在英伟达一度突破万亿美元市值后,人工智能分化加大,人气龙头鸿博股份盘中炸板后又封住涨停。一些资金流向科创板。

        每日经济新闻APP举办的掘金大赛第11期比赛从周一开赛以来,虽然开赛才3天,且有仓位限制,即单只股票买入金额不超过总资产的50%,从总榜来看,第一名选手“每经网友37119”盈利达30.69%,他上午及时了结了脑机接口概念股,9:45卖出了立方数科,在9:57卖出了冠昊生物。第二名选手“货运站”只持有爱朋医疗,收盘盈利45.57%,盘中最高盈利50%。

        今天前十名出现一位黑马选手“上古神兽”,他今天的单日收益就达17.2%,冲至第三名,今日名次上升263名。

        对于今天的行情,有参赛选手认为,“今天人形机器人概念又起飞,这个值得研究的,密切注意马斯克访华的表态。”

        对于大盘,有参赛选手认为,“这几天港股恒指跌得多,目前上证指数能够稳住不跌,或者小涨小跌就不错了,不期望它能涨多高。现在主要看科创50了,如果没有科创板权限的,可以关注科创50etf。”

        在操作心得方面,有选手认为,“目前大盘方向不明,这个时期选股就要注重安全边际,不要贸然追涨,可以采用逆向投资,下跌时才买入,边涨边出货。不追求赚多少钱,有点利润就要注意锁定。要看长做短,就是选择那些中长线没有问题的股票,再短线交易。”

        粉丝朋友们,为了方便投资者交流学习,提高投资水平,主办方设有专门的比赛微信交流群,方法是:在每经APP私人订制掘金大赛页面上,点击“客服”按钮,就会弹出客服手机号,点击微信主页右上角+号/添加朋友/企业微信联系人/输入手机号/添加企业微信火山君。

        掘金大赛采用模拟炒股形式,模拟资金100万元。赛程10个交易日,参赛人人都能获奖。比赛结束收益为正就能获现金奖励,对负收益选手设置鼓励奖!第1名现金奖励1888元/人(税前),第2至第4名现金奖励688元/人(税前),第5至第10名现金奖励288元/人(税前);其他收益为正的选手平分1000元现金奖池(税前)。只要报名就送100N币,比赛结束对负收益选手奖励100N币,待N币累积到一定数量,可在每经APP商城兑换礼品。

        各位老铁,第11期正式赛的比赛时间5月29日到6月9日,报名时间是5月27日到6月7日24时。赛程短,参赛人人都能获奖!比赛结束,正收益选手获现金奖励,对负收益选手设置鼓励奖!赶快下载安装每日经济新闻APP报名参赛,和高手一起角逐大奖!

        报名方式:

        首先下载每日经济新闻APP,然后打开每日经济新闻APP,点击“私人订制”,点击左上角的“掘金大赛”,点击“免费参赛”,然后输入参赛昵称,选择知晓渠道,就能报名了。需要注意的是,只有在报名时才能取参赛昵称。

        (本文内容仅供参考,不作为投资依据,据此入市,风险自担)

        每日经济新闻

https://www.saximi.com

上一篇:看股票k线图是不复权还是前复权好与看股票技巧

下一篇:新浪股票首页或股票601998

相关推荐

返回顶部