网格交易策略(附策略源码与收益图)
网格交易策略简介
什么是网格交易策略?
网格交易是利用市场震荡行情获利的一种主动交易策略,其本质是利用投资标的在一段震荡行情中价格在网格区间内的反复运动以进行加仓减仓的操作以达到投资收益最大化的目的。通俗点讲就是根据建立不同数量.不同大小的网格,在突破网格的时候建仓,回归网格的时候减仓,力求能够捕捉到价格的震荡变化趋势,达到盈利的目的。
网格的设置与建仓
网格交易策略至关重要的一点就是网格的数量.间隔还有每个网格仓位数量的设置,但这会因不同的行情和相应判断而有所不同,建仓的数量不应过多,以防到多次触发网格建仓导致资金不足的情况。
网格交易策略实现(基于掘金量化平台)
策略思想
- 本策略首先计算了SHFE.rb1801过去300个1min收盘价的均值和标准差
- 并用均值加减2和3个标准差得到网格的区间分界线,分别配以0.3和0.5的仓位权重
- 随后根据上突破区间开多仓,下突破区间开空仓,反向突破反向操作和回归平仓来进行相应仓位的调整
网格设置
context.band = np.mean(timeseries) + np.array([-40, -3, -2, 2, 3, 40]) * np.std(timeseries)context.weight = [0.5, 0.3, 0.0, 0.3, 0.5]grid = pd.cut([bar.close], context.band, labels=[0, 1, 2, 3, 4])[0]获取网格区间分界线和设置相应的仓位权重并得到相应的区间
获取多仓仓位
position_long = context.account().position(symbol=context.symbol, side=PositionSide_Long)获取上一交易日可调用get_previous_trading_date函数,返回值为字符串格式:
- symbol需要设置标的代码。
- side需要设置枚举常量,PositionSide_Long为多仓,PositionSide_Short为空仓。
下单到目标比例
order_target_percent(symbol=context.symbol, percent=context.weight[grid], order_type=OrderType_Market,position_side=PositionSide_Long)固定时间调仓可使用schedule函数进行定时任务配置:
- symbol需要设置标的代码。
- percent为比例,此处设置为相应网格对应的权重
- order_type需要设置枚举常量,OrderType_Market为市价单,OrderType_Limit为限价单
- side需要设置枚举常量,PositionSide_Long为多仓,PositionSide_Short为空仓。
策略回测分析
分析
胜率(具有盈利的平仓次数与总平仓次数之比)达到了87%。
卡玛比率(年化收益率与历史最大回撤之比)是使用最大回撤率来衡量风险。采用最大回撤率来衡量风险,关注的是最极端的情况。卡玛比率越高表示策略承受每单位最大损失获得的报酬越高。在这里卡玛比率超过了9.1。
夏普比率(年化收益率与波动率之比)超过1.29,也即承受1单位的风险,会有超过1.29个单位的收益回报
策略收益曲线较为稳定,在无止损条件的情况下,最大回撤控制在承受范围,并成功跑赢沪深300指数
网格交易策略(附策略源码与收益图)相关推荐
- 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图...
第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-爬虫和反爬的对抗过程以及策略-scrapy架构源码分析图 1.基本概念 2.反爬虫的目的 3.爬虫和反爬的对抗过程以及策略 scra ...
- 分享量化交易接口之网格交易的选股策略
分享量化交易接口之网格交易的选股策略: 1.低估值:PE<50 2.小市值:分行业按市值排列选市值小的30只 3.高波动:分行业在市值最小的30只中选出过去一年波动率最大的5只股票 4.更新持仓 ...
- CTP综合交易平台接口-程序化交易编程模板(VC源码)
期货程序化VC++ vs2008代码,自己只要编写交易策略部分即可,简单方便 动态行情.任意分钟K线.Tick数据自维护,自动收盘, 从文件brokers.xml找期货公司代码 直连期货公司交易服务器 ...
- 穿透版CTP综合交易平台接口V2.0-程序化交易编程模板(VC源码)
期货程序化VC++ .做最好用的程序化交易软件. 最快的交易速度.最简单的交易策略编写.高级语言竟然如此简单! void MA_CROSS_Trade(CThostFtdcDepthMarketDat ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- 基于ITD实现的轴承故障信号分解并附Matlab源码
基于ITD实现的轴承故障信号分解并附Matlab源码 轴承是旋转机械中重要的支撑部件,其状态的健康程度对设备运行的性能和寿命有着至关重要的影响.因此,轴承状态监测和故障诊断成为了研究热点.本文基于IT ...
- 自动发邮件的程序 c语言,5分钟!教你用C语言发送邮件:附送源码+教学!
5分钟!教你用C语言发送邮件:附送源码+教学!-1.jpg (10.71 KB, 下载次数: 0) 2018-9-3 02:21 上传 关注<一碳科技>,获取更多知识! 前言 相信年夜家都 ...
- ASP.NET 3.5 新特性开发向导实践(附项目源码下载)
ASP.NET 3.5 新特性开发向导实践(附项目源码下载) 本篇文章将演示ASP.NET 3.5 部分新功能.新特性,包括LINQ.ListView控件.LinqDataSource.DataPag ...
- github可视化_Cesium数据可视化-仓储调度系统可视化部分(附github源码)
Cesium数据可视化-仓储调度系统可视化部分 目的 仓储调度系统需要一个可视化展示物资运输实况的界面,需要配合GPS设备发送的位置信息,实时绘制物资运输情况和仓储仓库.因此,使用Cesium可视化该 ...
最新文章
- Android视图重绘,使用invalidate还是requestLayout
- PHP和ajax详解
- select2 api参数的文档
- 生产级部署 Python 脚本,崩溃可自启!
- 什么是元宇宙?为何要关注它?
- adas技术实现途径_未来实现100%清洁电力的途径,带来巨大的健康和工作
- 图解Hadoop hdfs写数据流程
- 有序数组求和问题(Two Sum II - Input array is sorted)
- 微软MCITP系列课程(八)文件服务器及磁盘配额
- 双网卡绑定--实现负载冗余
- 整理vim格式回车变成空两格
- Echarts在同一网页按顺序展示多图
- MyBatis-SELECT基本查询
- php给超链接添加图标,怎么给一个PHP密码访问页面加超链接
- Win11设置人离开后电脑自动锁屏教程
- 计算机组成原理中总线包括,计算机组成原理复习题
- 1359: 最大公约数
- 从零到英雄:资产商店发行人的故事
- hinet邮箱密码可以破解?
- 拉普拉斯算子的疑惑--拉普拉斯算子作用于矢量和定义Hessian矩阵时遇到的问题