每经编辑:吴永久
3月6日,A股大盘震荡,盘中最低回踩3308点后迅速回升,重心依旧是向上的。在每日经济新闻APP举办的掘金大赛第五期正式赛中,多位选手提前抓住了中航电测、还有6G概念的机会。
周一,军工板块上扬,中航电测盘中冲刺20CM涨停,收盘大涨13.87%。“每经网友12062 ”、“这个秋天不落叶”、“每经网友27792”、“ 独狼AK”等多位选手前几天就买入了该股,在该股上盈利10%多。
截至收盘,冠亚军收益均突破了20%,第一名选手“伟-happy”收益率20.54%,第二名选手“每经网友36568”收益率20.21%。
从第二名选手的操作来看,他的操作有一些特色。他从开赛以来全买的数字经济板块,从3月2日以来,他就在反复的操作6G概念股本川智能,第一次是,在3月2日早上9:39以37.63元买入,3月3日以42.88元全部卖出,该股盈利13.9%。第二次是今天早上以44元多多笔买入本川智能,今天又盈利9.97%,对于熟悉的股票,反复操作也是一种不错的策略。
对于大盘,有优秀选手认为,“回顾历史行情可以发现,1998年和2008年时,我国经济受到一些影响,随后的1999年和2009年行情表现较好。三年疫情结束,今年的股市行情可能机会较多。目前的主流板块就是数字经济,有机构预计到2032年,数字经济将超过100万亿元,十年间增长将超过50万亿元。今年的主基调是经济复苏,要珍惜今年的大好行情。看科创板是否有希望复制2013~2015年创业板那样的机会。”
从掘金大赛主页3月6日的系统优选20只个股来看,多只个股稳步上涨,中微公司、锦江酒店、中兴通讯等涨幅居前。
这20只个股均来自每日经济新闻APP私人订制的六大掘金工具,这些掘金工具由每日经济新闻20年投研经验团队从品牌、数据、策略、牛人、研报、财务六大维度构建量化模型,对A股实施全方位异动监测,这些模型分别覆盖了波段投资和中长线投资,也覆盖了基本面、技术面、资金面、机构面等多个影响个股波动的因素,从而辅助投资者进行决策。上述20只优选股在每周日到每周四晚上更新。
掘金大赛采用模拟炒股形式,模拟资金100万元。比赛结束收益为正就能获现金奖励,对负收益选手设置鼓励奖!第1名现金奖励1888元/人(税前),第2至第4名现金奖励688元/人(税前),第5至第10名现金奖励288元/人(税前);其他收益为正的选手平分1000元现金奖池(税前)。只要报名就送100N币,比赛结束对负收益选手奖励100N币,待N币累积到一定数量,可在每经APP商城兑换礼品。
粉丝朋友们,A股拉开春季第二波攻势,很多个股正处于上升通道,此时报名参赛胜率较大,交易体验好!本次比赛报名时间截至3月8日,3月10日比赛结束时收益率为正即可获奖!下载安装每日经济新闻APP报名参赛,和高手一起切磋学习!
报名方式:
首先下载每日经济新闻APP,然后打开每日经济新闻APP,点击“私人订制”,点击左上角的“掘金大赛”,点击“免费参赛”,然后输入参赛昵称,选择知晓渠道,就能报名了。需要注意的是,只有在报名时才能取参赛昵称。
每日经济新闻
初衷项目地址:
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)
引用地址:https://www.cha65.net/202405/45643.html
tags: