模拟炒股怎么卖出(如何用深度强化学习模拟炒股?)
时间:2024-01-23 17:00:29 | 分类: 基金问答 | 作者:admin| 点击: 59次
如何用深度强化学习模拟炒股?
把一些不成熟的想法写下来,就有可能在理性的道路上走得越来越远。
乐聚Geek专栏不定期发布专业的技术贴,为热爱机器人技术的发烧友们提供干货哦!
今天Geek专栏为大家带来
乐聚研发部王松博士的
“如何用深度强化学习模拟炒股?”
初衷
最近一段时间,受到新冠疫情的影响,股市接连下跌,作为一棵小白菜兼小韭菜,竟然产生了抄底的大胆想法,拿出仅存的一点私房钱梭哈了一把。
第二天,暴跌,俺加仓
第三天,又跌,俺加仓
第三天,又跌,俺又加仓…
一番错误操作后,结果惨不忍睹,第一次买股票就被股市一段暴打,受到了媳妇无情的嘲讽。痛定思痛,俺决定换一个思路:如何用深度强化学习来自动模拟炒股? 实验验证一下能否获得收益。
监督学习与强化学习的区别
监督学习(如LSTM)可以根据各种历史数据来预测未来的股票的价格,判断股票是涨还是跌,帮助人做决策。
而强化学习是机器学习的另一个分支,在决策的时候采取合适的行动(Action)使最后的奖励最大化。与监督学习预测未来的数值不同,强化学习根据输入的状态(如当日开盘价、收盘价等),输出系列动作(例如:买进、持有、卖出),使得最后的收益最大化,实现自动交易。
OpenAIGym股票交易环境
观测Observation
策略网络观测的就是一只股票的各项参数,比如开盘价、收盘价、成交数量等。部分数值会是一个很大的数值,比如成交金额或者成交量,有可能百万、千万乃至更大,为了训练时网络收敛,观测的状态数据输入时,必须要进行归一化,变换到 [-1,1] 的区间内。
参数名称
参数描述
说明
date
交易所行情日期
格式:YYYY-MM-DD
code
证券代码
格式:sh.600000。sh:上海,sz:深圳
open
今开盘价格
精度:小数点后4位;单位:人民币元
high
最高价
精度:小数点后4位;单位:人民币元
low
最低价
精度:小数点后4位;单位:人民币元
close
今收盘价
精度:小数点后4位;单位:人民币元
preclose
昨日收盘价
精度:小数点后4位;单位:人民币元
volume
成交数量
单位:股
amount
成交金额
精度:小数点后4位;单位:人民币元
adjustflag
复权状态
不复权、前复权、后复权
turn
换手率
精度:小数点后6位;单位:%
tradestatus
交易状态
1:正常交易0:停牌
pctChg
涨跌幅(百分比)
精度:小数点后6位
peTTM
滚动市盈率
精度:小数点后6位
psTTM
滚动市销率
精度:小数点后6位
pcfNcfTTM
滚动市现率
精度:小数点后6位
pbMRQ
市净率
精度:小数点后6位
动作Action
假设交易共有买入、卖出和保持 3种操作,定义动作( action)为长度为2的数组
action[0] 为操作类型;
action[1] 表示买入或卖出百分比;
动作类型
说明
1
买入 action[1]
2
卖出 action[1]
3
保持
注意,当动作类型 action[0]=3 时,表示不买也不抛售股票,此时 action[1] 的值无实际意义,网络在训练过程中,Agent会慢慢学习到这一信息。
奖励Reward
奖励函数的设计,对强化学习的目标至关重要。在股票交易的环境下,最应该关心的就是当前的盈利情况,故用当前的利润作为奖励函数。即当前本金+股票价值-初始本金=利润。
为了使网络更快学习到盈利的策略,当利润为负值时,给予网络一个较大的惩罚( -100)。
策略梯度
因为动作输出的数值是连续,因此使用基于策略梯度的优化算法,其中比较知名的是PPO算法,OpenAI和许多文献已把PPO作为强化学习研究中首选的算法。PPO优化算法Python实现参考stable-baselines。
模拟实验
环境安装
股票数据获取
股票证券数据集来自于baostock,一个免费、开源的证券数据平台,提供PythonAPI。
数据获取代码参考get_stock_data.py
将过去20多年的股票数据划分为训练集,和末尾1个月数据作为测试集,来验证强化学习策略的有效性。划分如下
2019.12.01 ~ 2019.12.31
2019.12.01 ~ 2019.12.31
训练集
测试集
验证结果
单只股票
初始本金 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,对观测状态、奖励函数和训练集做了修改。
俺完全是股票没入门的新手,难免存在错误,欢迎指正!
数据和方法皆来源于网络,无法保证有效性。
JustForFun!
参考资料
Y.Deng,F.Bao,Y.Kong,Z.RenandQ.Dai,"DeepDirectReinforcementLearningforFinancialSignalRepresentationandTrading,"inIEEETransactionsonNeuralNetworksandLearningSystems,vol.28,no.3,pp.653-664,March2017.
YuqinDai,ChrisWang,IrisWang,YilunXu,"ReinforcementLearningforFXtrading"
ChienYiHuang.Financialtradingasagame:Adeepreinforcementlearningapproach.arXivpreprintarXiv:1807.02787,2018.
Createcustomgymenvironmentsfromscratch—Astockmarketexample
notadamking/Stock-Trading-Environment
WelcometoStableBaselinesdocs!-RLBaselinesMadeEasy
源码
Github源码地址:https://github.com/wangshub/RL-Stock
真实股市波诡云谲,文章仅供交流、学习和娱乐^^
使用同花来自顺软件模拟炒股,知道买入和卖试究推给至落动初阶宪出价格,怎么计算收益,总收益与总收益率?
之前用的叩富炒股,个人评估系统都会帮你自动计算收益的。通常情况,股票收益率=(股息+卖出价格-买进价格)/买进价格×100%,不过同花顺不知道是不是该算法。
怎么玩模拟炒股_三思经验网
对于还没有资本的金融财经方面的大学生,或者是没懂行,不敢轻易入市的人,可以先用同花顺的这个模拟炒股体验下炒股。这个是跟实时的数据连通的,所以可以先在上面玩一下,入门。
注册账号登录同花顺模拟炒股网站,首先要注册账号。注册的时候,你可以用手机注册,也可以用邮箱注册。
登录模拟炒股注册完成后,登录,进入个人页面。1).起始资产登录进去后,可以看到一些数据,比如总资产,盈利率等一些数据。刚注册的当然都是空白的,注意有个“起始资产”(200000.00),就是模拟平台给你的起始资产,可以让你模拟操作的时候用。
2).持仓情况个人页面上,可以看到你的持仓情况。可以看到你买的股票的时间、购买时成本价(盈亏成本)、现价、盈亏率、浮动盈亏(就是你买这支股票总的盈亏的钱),比如我这支同花顺的就赚了3601.84。
查看某支股票在持仓情况中点击某只股票名称,就可以查看该股票一些具体信息,比如日K线、成交明线等。你也可以将该支股票“加入自选”,那就可以在“我的自选股”时,实时关注该支股票。
进入交易平台在个人主页中,点击“进入交易区”。1).买入股票进入交易区后,填写“证券代码”,就会出来对应的股票名称,当前价格,自己的可用资金及最大可买量,右边还有当前的行情。填写买入数量后,点击“买入下单”。
这是以委托的形式的,所以可以在“查询”->“当日委托”中查询到刚刚购买的。然后回到自己的个人主页,刷新下,就可以看到已经更新了。
2).卖出股票在卖出选项中,下面可以看到持仓情况。同样的,在上面填写“证券代码”,就会股票的名称、当前价格、最大可卖量等信息。(我这网页慢,还没刷出来。)填写好卖出数量后,点击“卖出下单”。同样也是委托的形式,可以查询,完成后回个人主页可以查的持仓情况。
3).撤单在非交易时间提交的委托,可以在撤单中撤销。
这是模拟股票,所以都能买入、卖出,跟现实的股票交易中还是有区别的。
东方财富软件,模拟炒股交易的买卖股票及撤单操作(图解)-拾荒网_专注股票涨停板打板技术技巧进阶的炒股知识学习网
1.买入/卖出
委托确认中显示委托基本信息,点击确认后委托正式生效;
挂单成功后,右侧列表自动跳转至“委托”,在挂单未完全成交时,双击委托的股票,可快速撤销挂单;
“委托撤单”界面显示所有未成交委托的详细信息,选中某一委托后点击“撤单”按钮或双击委托行,可对单一委托撤单,同时提供批量删除的按钮。拾荒网专注短线涨停板打板技术技巧进阶。
标签:模拟炒股模拟交易
东方财富软件,模拟炒股交易的功能界面说明(图解)
大智慧炒股软件教学视频:如何用大智慧模拟炒股
免责声明:本站所有内容均来源于互联网,仅作分享学习。若发现本站无意侵犯了你的版权,请联系删除!温馨提示:本站登载的广告链接,和本站无任何关系。请甄别!
支付宝的模拟股票什么时间段可以卖掉?
支付宝的模拟炒股跟正常炒股的时间段是一样的,每天早晨,九点半开盘,中午到11点半结束,下午一点钟开始,到三点钟结束,这个时间可以自由买或卖股票。
模拟炒股成神,实盘炒股成鬼
支付宝就有
人人巴菲特的爹的爹的爹
过程和结*都有了,再去纠缠,连自己都觉得贪婪。——海子
感谢老哥发的烟吧,扣下去烟钱,多的捐武汉了=。=
看了两天新闻了=。=,需要对近期市场解读一下的,点个在看
晚上老时间老地点,不见不散。
模拟炒股怎么不能卖出呀,求解?
模拟炒股如果你已经有股票点击卖出的时候不能卖出应该是是,你的卖出时间不正确啊,首先你必须是在交易时间,也就是周五至周一一至周五的上午9:30到下午。15点之内的交易时间,第2个就是你必须是当日卖出的股票,等到第2日才能够卖出去。
开心网模拟炒股怎么卖出股票?
你的名字上面一厘米处有卖出2个字,点它,然后输入股票代码,价格和数量,再点卖出就行了。
如何利用bias来卖出股票
一、bias指标的原理乖离率bias指标是依据葛兰碧移动均线八大法则而派生出来的项技术分析指标,它是通过一定的数学公式,来计算和总结出当价格偏离移动平均线的程度,指出买卖时机。乖离率bias是表示计算期的股价指数或个股的收盘价与移动平均线之间的差距的技术指标。它是对移动平均线理论的重要补充。它的功能在于测算股价在变动过程中与移动平均线的偏离程度,从而得出股价在剧烈变动时,因偏离移动趋势过远而可能造成得回挡和反弹。乖离率指标bias认为如果股价离移动平均线太远,不管是股价在移动平均线之上,还是在移动平均线之下,都不会保持太长的时间,而且随时会有反转现象发生,使股价再次趋向移动平均线。二、乖离率指标的计算方法由于选用的计算周期不同,乖离率指标包括n日乖离率指标、n周乖离率、n月乖离率和年乖离率以及n分钟乖离率等很多种类型。经常被用于股市研判的是日乖离率和周乖离率。虽然它们计算时取值有所不同,但基本的计算方法一样。以日乖离率为例,其计算公式为n日bias=(当日收盘价—n日移动平均价)÷n日移动平均价×100n的采用数值有很多种,常见的有两大种。一种是以5日、10日、30日和60日等以5的倍数为数值的;一种是6日、12日、18日、24日和72日等以6的倍数为数值的。不过尽管它们数值不同,但分析方法和研判功能是相差不大.