虚拟炒股软件学习(模拟炒股软件有哪些)
初衷项目地址:
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)
模拟炒股大奖赛哪家强?16年叩富简投全民炼股争霸赛它最强!
自2007年开赛以来,连续16年不中断,已累积举办200多期模拟炒股大奖赛。每月都有现金大奖,16年已累积派发现金奖励超100万。
2023年,叩富全民炼股模拟炒股有奖大赛同时再设立各种官方特色有奖大赛,多场有奖大赛同步举行,同时参赛,多场获奖,奖金更高。
今天给大家介绍一个在众多官方特色有奖大赛中的其中一个叩富简投“国元专场”争霸赛,是目前官方奖金最高的比赛之一。
每个炒股牛人的背后,都经历着无数次的投资训练!为了帮助每一位热爱炒股、喜欢炒股的朋友训练自己的技能和建立适合自己的投资体系,叩富简投联合国元证券举办了叩富简投“国元专场”争霸赛,实现无成本的训练方式。
大赛的形式是模拟炒股,无需额外花费一分钱,适合初学者在学习炒股技巧和培养盘感,同时也适合牛人通过大赛测试自己的投资策略。
牛市或许正在悄悄来临,望股民朋友通过大赛的训练后,在牛市到来时成为真正大牛!
本次大赛的比赛时间为期一年(2022.12.01-2023.11.30),随时都可以报名参赛,每个自然月都会有高额奖金以及官方证书颁发。
月度奖金高达6000元!前三名的奖金分别是2000元、1200元、800元。
同时月度模拟大赛收益为正可抽奖一次,奖品为不同额度的奖金。
在大赛结束之后,也会有为期三周的年度总决赛举办,设立年度大奖,万元大奖等你来挑战!
参赛流程也是非常简单的,到“叩富简投”模拟炒股-大赛区报名参赛啦!
悄悄告诉大家一个小秘密,大赛中有很多隐藏的炒股牛人,月收益达到50%以上的大有人在,所以跟着牛人学习也不失为一种快速成长的学习方式。
参加高奖金的模拟炒股大赛能大家带来什么好处呢?
1、增加了模拟炒股的趣味性,像自己一个人在模拟盘练习炒股的过程是非常枯燥的,但是以有奖大赛的形式去练习的话就是变得非常的有意思,有众多志同道合的股民一起比拼技艺,共同竞争,也有各种战法免费教学。
2、可以结识到更多的炒股牛人,就像奥运会一样,体育比赛有冠军和亚军之分,模拟炒股大赛也有成绩的排名,取得冠军可以获取更多的关注,同样也可以结识到其他的炒股牛人,大家一起学习,一起交流,可以让我们在炒股的道路上相互切磋共同进步,同样在一场大赛中交易,更能够检测自己和别人在炒股技术上是否存在差距,也是为了之后的实盘交易打下基础。
3、参加炒股大赛可以获得丰厚的奖金,现在很多炒股大赛的举办方为了选拔人才都会给出丰厚的奖励,就像叩富简投“国元专场”争霸赛也是每周每月都有现金奖励,这对于刚刚学习炒股的新手来说,如果能够获奖,不仅是对自己实力的肯定,更是一笔额外的收入。
模拟炒股大赛虽然只是一个游戏,但它确实能帮助我们特别是一些初学者更包括一些暂时没有股本的人找到一份自己的天地,实际动手在股市中游荡一番,在这里,我们赢的是机会,赚的是经验。
-
-