您现在的位置是:首页 > 正文

如何使用强化学习进行量化投资?

2024-02-29 16:42:15阅读 1

如何使用强化学习进行量化投资?

直观使用强化学习进行量化投资

  强化学习迄今为止主要用于游戏的人工智能。然而,强化学习的应用范围是无限的。在本文中,我们将了解如何将强化学习应用于股票投资。
  让我们看看如何将强化学习应用于量化投资,不需要很难的公式或术语。了解将强化学习应用到股票投资,积累经验,在做好的情况下给予积极补偿,在做错的情况下给予消极补偿,从而消除创建每日学习数据的麻烦,同时创建有效的股票投资学习策略。

使用强化学习进行量化投资

  强化学习可以应用于股票投资,以决定在任何环境中是买入、卖出还是持有。当强化学习应用于股票投资时,组件如下图。
在这里插入图片描述

  由上图可知,在股票投资强化学习中,代理(Agent)充当投资者,作为执行行为(Action)的实体。行为(Action)可以是买入、卖出、持有。行为由神经网络决定,神经网络从投资收益产生的奖励和训练数据中学习。

  股票投资强化学习中的环境可以通过多种方式设置,在本文中将一只股票的实时行情图表数据作为环境。神经网络的训练是通过奖励代理执行的行为作而产生的利润或损失来进行训练的。

量化投资强化学习流程图

  使用强化学习进行股票投资,执行流程图如下所示:
在这里插入图片描述

行为决定(买入、卖出、持有)

  在一个epoch中,必须采取随机行动来获得经验,在流程图中叫做探索。总的来说,在强化学习开始的时候,探索概率较大,学习后期探索概率小。

  探索率称为 epsilon。假设100次迭代,在第1个epoch设置epsilon为50%,在第100个epoch逐渐减小epsilon到0%,随着epoch的增加,随机行为减少。你获得的经验越多,你做的随机性就越少。

  当行为不是随机的时,由神经网络决定采取行为。神经网络选择具有高输出的动作。

执行行为

  无论是随机确定的行动还是神经网络确定的行动,代理都会执行动作。

  在行动是购买的情况下,代理检查是否有现金购买股票,如果有,则进行购买,否则等待。当您购买时,您会根据您购买的数量减少现金,并通过您购买的股票数量增加您拥有的股票数量。

  在行动是卖出的情况下,代理检查它是否有任何股票,如果有,则执行卖出,否则等待。如果出售,则从持有的股票数量中减去出售的股票数量,并将出售的数量添加到持有的现金中。

  在行动是持有的情况下,代理就会计算收益

批量生成训练数据和更新神经网络

  这样就确定了投资股票时是否可以提供延迟补偿。例如,我们将盈亏设为 5% 或更多作为延迟补偿的标准。换言之,如果在进行投资时发生了 5% 或更多的利润或 5% 或更多的损失,则将此时的情况和行为创建为学习数据。一次性应用这些训练数据来更新神经网络。这种学习方法称为批量学习。

  训练后,更新神经网络的权重,以反映后续投资的更新神经网络结果。低滞后补偿标准更有可能使用小批量训练数据进行频繁训练,而高滞后补偿标准更可能使用大批量训练数据进行不频繁训练

网站文章

  • vmware虚拟机与真机文件共享

    在网上找xp的资源,下载好之后使用vmware安装,安装时遇到了问题,没有进入系统安装,而是dhcp在请求一个ip。在网上继续找xp的资源,继续安装,这一次进入系统安装界面了。系统安装好之后,ping...

    2024-02-29 16:41:44
  • IDEA创建SpringBoot+maven项目

    IDEA创建SpringBoot+maven项目

    9.引入相关依赖,配置application配置文件,将application.properties改为application.yml,也可以不改,不过如果application.properties...

    2024-02-29 16:41:38
  • javafx 默认皮肤组件modena.css

    javafx 默认皮肤组件modena.css/* * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reser...

    2024-02-29 16:41:30
  • Crypto++编译使用

    Crypto++编译使用

    Crypto++库是一个用c++ 编写的密码类库,是一个自由软件。有关它的信息可以访问以下两个网站: Crypto++® Library Wiki-Crypto++® Library 简述 下载 使用 AES加解密 效果 源码 更多参考 下载 进入Crypto++主页,下载对应的版本(我下载的是最新的:Crypto++ 5.6.3) 解压缩之后,我们会看到里面...

    2024-02-29 16:41:01
  • Linux进程

    【1】进程的概念1. 什么是进程 进程是程序的一次执行过程。 进程是一个独立的,可以调度的任务。 进程在被调度的时候,系统会分配和释放各种资源。(内存资源, cpu资源,进程调度块.....)...

    2024-02-29 16:40:54
  • 在二线城市,我是这样学习 MySQL的!

    在二线城市,我是这样学习 MySQL的!

    今日分享开始啦,请大家多多指教~跟面试官聊,发现一个普遍想象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不上来,比...

    2024-02-29 16:40:47
  • Flutter——最详细的Text(文本)使用教程

    Flutter——最详细的Text(文本)使用教程

    Text(文本)简介 用于显示文字的组件。核心样式style属性控制 属性 作用 style TextStyle字体样式 textAlign 文本对齐方式 textDirection 文字的方向 ov...

    2024-02-29 16:40:39
  • Flink-有界流与无界流

    Flink-有界流与无界流

    什么是有界流和无界流? 有界流 有定义流的开始,也有定义流的结束。 有界流可以在摄取所有数据后再进行计算。 有界流所有数据可以被排序,所以并不需要有序摄取。 有界流处理通常被称为批处理。 有界流,Fl...

    2024-02-29 16:40:04
  • PE-43(枚举)

    题目:https://projecteuler.net/problem=43分析:数据量不大,一共也就10! = 3628800种排列,枚举即可,这里有几个可以优化的地方:(1)0不能出现在数字的首位,所以枚举时从1为开头即可(2)对容易剪枝的条件先判断,例如d2d3d4能被2整除,则d4必须是偶数,这样一半的情况下后面的if都不用算了;对于d4d5d6能被5整除,则d6必须是5或者0

    2024-02-29 16:39:57
  • 永恒之蓝Windows10版初探

    永恒之蓝Windows10版初探

    永恒之蓝(ms17-010)通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子...

    2024-02-29 16:39:30