概述

量化交易平台很重要的一个环节就是回测系统,可以通过对历史行情的回放,验证量化交易策略的性能表现。量化交易强化学习环境,则是向Agent提供一个交互的环境,Agent(即量化策略)根据市场环境(强化学习环境)的状态,选择最合适的操作,强化学习环境会根据操作结果,反馈给Agent,供Agent改进其策略网络。通常这两者是单独的系统,我们用强化学习环境来训练Agent即量化交易策略,然后再回测系统中验证策略的性能表现。但是这样做一个明显的缺点就是历史行情和交易过程的模拟需要做两份,所以将二者融合起来,具有很现实的意义。
我们先来看强化学习部分,强化学习环境如下所示:

如上图所示,环境向Agent(即策略)反馈其上一步操作的奖励信号,一般取资产净值增加为正激励,资产净值减少为负激励,Agent根据当前市场行情数据,决定买入、持有、卖出等操作,环境通过执行这些操作,在下一时刻,向Agent返回其本步操作的好坏,同时将更新的市场行情发送给Agent。通常在强化学习环境中,不会考虑期权交易的权利金、保证金、手续费和税费等因素。
回测系统则是充分考虑期权操作的权利金、保证金、手续费和税费后,尽量真实的模拟实际交易环境,然后将历史行情数据进行回放,通过运行训练好的策略,来检查策略的实际性能。
我们要做的事情就是将强化学习环境和回测系统合而为一,提供一个完整的应用系统。

系统整体框架

系统的主体是SopEnv,其是gym.Env的子类,提供强化学习环境的功能。SopEnv中有一个主循环,每一步从MarketDataSource类中拉取TickData数据,包括期权的数据和标的行情数据,Agent.choose_action方法根据这些TickData行情数据,选择买入认购期权、卖出认购期权、买入认沽期权、卖出认沽期权、买入标的、卖出标的、不进行任何操作,SopEnv.take_action会执行Agent选定的操作,生成订单对象,然后会调用Broker来执行,由Broker类根据市场规则,计算权利金、保证金、手续费和税费,然后提交给风险控制模块RiskController进行审核,审核通过后,由Broker来执行,更新用户对应仓位Position类中的状态。
这就是系统的整体架构,我们将在后续博文分模块来介绍具体实现过程。

基于强化学习的期权量化交易回测系统1相关推荐

  1. 基于强化学习的期权量化交易回测系统5

    我们现在已经可以在主循环中获取行情数据,并且传给了Agent类.接下来Agent类会调用策略类,由于决定采取的行动.在策略类做决策时,需要参考用户仓位Position信息,还有就是权利金.保证金.手续 ...

  2. 基于强化学习的期权量化交易回测系统4

    获取50ETF指数行情数据 50ETF期权的标的物是50ETF指数,我们可以使用akshare来获取该指数的日行情数据,如下所示: class Sh50etfIndexDataSource(objec ...

  3. python外汇交易回测系统_StarQuant - 综合量化交易回测系统/平台

    Welcome to StarQuant StarQuant(中文名:易数交易系统)是一个轻量的.面向个人( 普通)用户的综合量化交易回测系统,目前主要用于期货期权程序化交易(CTP接口,在实盘测试中 ...

  4. Pyalgotrade量化交易回测框架

    现在就开始干活了.先要测试一下pyalgotrade回测数据对不对.我找了个参照标准:在聚宽上开通了个账号,按入门教程写了个策略:2016-2018年每个交易日买入100股平安银行(000001),回 ...

  5. 开源分布式量化交易系统——回测系统(一)

    回测系统 基础概念 在开始编写策略系统之前,需要了解一些基础概念,搞明白什么是回测系统?怎么进行回测?如何进行回测分析?并且在回测中需要注意的一些要素,真正的做到有效的策略回测. 根据回测的精度可分为 ...

  6. python量化回测框架_股票量化交易回测框架pyalgotrade源码阅读(一)

    PyAlgoTrade是什么呢? 一个股票量化交易的策略回测框架. 而作者的说明如下. To make it easy to backtest stock trading strategies. 简单 ...

  7. 量化交易-回测调参-神龙摆尾

    系列文章目录 第一章 神龙摆尾 文章目录 目录 系列文章目录 文章目录 前言 一.所涉结构模型简介 二.策略实现 1.策略源代码 2.初步参数调优-选股参数 3.进一步参数调优-卖出参数 总结 前言 ...

  8. 6款优秀的量化交易回测框架!VNPY位居第一

    一个策略从想法,到测试,在到实盘,然后改进,进入另一个循环,需要很多的时间和精力.这时候选择一款高效.灵活的测试系统就是当务之急了.即使最后你可能需要写自己的系统,但是这些框架的软工架构还是很值得借鉴 ...

  9. 【思考14】量化交易回测中,关于涨跌停的处理方式

    这篇文章免费,可以在知乎看到 有好多人在量化交易的回测过程中,对股票.期货之类的涨跌停比较在意,害怕涨跌停了之后交易不了,本文就尝试梳理下我对涨跌停的看法以及我在回测中的应对方式. 在开始本文对涨跌停 ...

最新文章

  1. Unbuntu18.04通过apt源方式安装mysql5.7.22
  2. 网站关键词如何布局更有利于关键词排名提升?
  3. acwing算法题--不同的数
  4. Oracle 12c In-Memory Option应用解析
  5. mysql insert执行过程_MySQL · 源码分析 · 一条insert语句的执行过程
  6. cacti安装FAQ
  7. IdentityServer4直播
  8. vivo NEX 3新爆料:或预装Funtouch OS 9.1
  9. UT源码105032014052
  10. python 闯关之路二(模块的应用)
  11. Atitit mongodb 使用总结 1.1. 下载有点不太好下载不像mysql导出都是。。70M 1 1.2. gui工具Robomongo(MongoDB/GUI管理工具) v1.0.3 官方
  12. 代码精进之代码规范(二)
  13. ISO9001:2000标准的主要特点和要求(转载)
  14. SQL Server之dbo
  15. python爬取qq音乐歌词风变编程_爬取QQ音乐歌词
  16. 联想y7000电脑未正确启动_联想y7000wifi突然不能用了是怎么回事
  17. 如何利用python制作一个小游戏
  18. Nature破解癌王生长关键:真菌由肠道入侵胰腺,定植增加3000倍,富集Malassezia菌...
  19. 腾讯关于区块链的发展历程
  20. 用Python写一个植物大战僵尸

热门文章

  1. 传智播客的百度网盘,海量资源
  2. 你居然用计算机玩csgo,新潮流,用CSGO来测试电脑性能!最后一个你一定没听过...
  3. linux错误代码255,linux – ssh脚本返回255错误
  4. 推荐开发工具系列之--Clover(文件浏览器)
  5. azure支持哪些服务器,什么是 Azure 路由服务器(预览版)?
  6. Spring moble 自定义Device接口
  7. 断路器28昼夜及温升特性试验装置与天津电传所喜结善缘
  8. 『Python基础练习题』day01
  9. 最全最新的java经典学习课件
  10. java-net-php-python-jspm学生服务系统计算机毕业设计程序