您的位置 首页 配资论坛

配资网站 如何用深度强化学习自动炒股

原意

最近,由于新的王冠流行的影响,股市接连下跌。作为一个小白菜和一个小韭菜,它有一个大胆的讨价还价的想法,并拿走了剩余的少量私人资金。

第二天,它急剧下跌,我提高了头寸

第三天,它又跌了,我提高了头寸

第三天股票配资,它再次下跌,我再次提高头寸…

炒股如何自动交易

经过一些错误的操作后,结果令人震惊。第一次购买股票时,我被股票市场殴打了一段时间,并被妻子无情地嘲笑。从痛苦中学习之后,我决定改变主意:如何使用深度强化学习来自动模拟炒股?尝试验证您是否可以获得收入。

监督学习和强化学习之间的区别

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

炒股如何自动交易

监督学习

强化学习是机器学习的另一分支,它会采取适当的行动(Action)以在做出决策时最大化最终回报。与监督学习预测未来价值不同,强化学习根据输入的状态(例如当天的开盘价和收盘价)输出一系列动作(例如:买,持,卖)。最终实现自动交易。

炒股如何自动交易

加强学习OpenAI Gym 股票交易环境观察

策略网络观察股票的各种参数,例如开盘价,收盘价和交易量。该值的一部分将是非常大的值,例如交易金额或交易量,可能是数百万,数千万甚至更大。为了在训练过程中收敛网络,观察到的状态数据在输入时必须进行归一化,并转换为[-1,1]内。

炒股如何自动交易

动作

假设该交易包含三个操作:买,卖和持有炒股如何自动交易,将动作定义为长度为2的数组

炒股如何自动交易

炒股如何自动交易

请注意炒股如何自动交易,当动作类型为action [0] = 3时配资公司,既不表示买卖也不算是股票。目前,action [1]的值没有实际意义。在网络培训过程中,代理会慢慢学习此信息。

奖励

奖励功能的设计对于强化学习的目标非常重要。在股票交易环境中,最要注意的是当期利润,因此将当期利润用作奖励函数。也就是说,当前本金+ 股票值-初始本金=利润。

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

为了使网络更快地学习获利策略,当利润为负数时,给网络更大的罚款(-100)。

策略梯度

由于动作输出的值是连续的,因此使用基于策略梯度的优化算法。其中,PPO算法是众所周知的。 OpenAI和许多文献都将PPO作为强化学习研究的首选算法。 PPO优化算法Python实现是指稳定基准。

️‍♀️模拟实验环境安装

# 虚拟环境
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年的股票数据分为一个训练集,最后一个月的数据用作测试集,以验证强化学习策略的有效性。划分如下

验证结果

炒股如何自动交易

单个股票

炒股如何自动交易

多个股票

选择总计1002 股票进行训练

炒股如何自动交易

获利百分比

炒股如何自动交易

利润分配最终参考材料项目源代码

只是为了好玩!

关于作者: 股票配资

热门文章

发表评论

邮箱地址不会被公开。 必填项已用*标注