网格交易策略(附策略源码与收益图)

网格交易策略是一种在市场震荡行情中通过设定价格网格来加仓减仓的主动交易方法。策略涉及网格数量、间隔及仓位权重设置,以捕捉价格波动。在掘金量化平台上,策略基于历史数据计算网格区间,并按设定权重进行建仓和平仓。回测结果显示,该策略具有高胜率、优秀的风险收益比和回撤控制,表现优于沪深300指数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网格交易策略简介

什么是网格交易策略?

网格交易是利用市场震荡行情获利的一种主动交易策略,其本质是利用投资标的在一段震荡行情中价格在网格区间内的反复运动以进行加仓减仓的操作以达到投资收益最大化的目的。通俗点讲就是根据建立不同数量.不同大小的网格,在突破网格的时候建仓,回归网格的时候减仓,力求能够捕捉到价格的震荡变化趋势,达到盈利的目的。

网格的设置与建仓

网格交易策略至关重要的一点就是网格的数量.间隔还有每个网格仓位数量的设置,但这会因不同的行情和相应判断而有所不同,建仓的数量不应过多,以防到多次触发网格建仓导致资金不足的情况。

网格交易策略实现(基于掘金量化平台)

策略思想

  • 本策略首先计算了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为空仓。

策略回测分析

分析

0_1522392043791_result.png

 

  • 胜率(具有盈利的平仓次数与总平仓次数之比)达到了87%。

  • 卡玛比率(年化收益率与历史最大回撤之比)是使用最大回撤率来衡量风险。采用最大回撤率来衡量风险,关注的是最极端的情况。卡玛比率越高表示策略承受每单位最大损失获得的报酬越高。在这里卡玛比率超过了9.1。

  • 夏普比率(年化收益率与波动率之比)超过1.29,也即承受1单位的风险,会有超过1.29个单位的收益回报

  • 策略收益曲线较为稳定,在无止损条件的情况下,最大回撤控制在承受范围,并成功跑赢沪深300指数

【资源说明】 基于Python实现的简单网格策略交易源码+使用说明.zip 策略说明 开仓:在盘口挂出买N和卖N,当你的买单或卖单完成后,再重新开启相应的仓位,保持你始终有买N和卖N的订单。 **KuCoin**拥有**level3交易数据、强大的撮合引擎、针对api用户提供的手续费折扣**,同时提供**sandbox环境**作为数据测试支撑,帮助你规避风险。 我们仅提供一个简单且不完备的交易策略,使用时**请注意规避风险**,我们希望你能够**在sandbox环境配合其他参数或是策略进行测试调整,我们也不想你成为一个慈善家!!! 如何使用 * 安装Python * Windows系统请前往[Python](https://www.python.org/downloads/windows/)官网自行安装,64位请选择1,32位请选择2。 <img src="./img/python_download.png" style="zoom:50%" /> * 在开始安装时请注意将以下选项勾选: <img src="./img/python_win.png" style="zoom:40%" /> * MAC OS X安装 * 打开命令终端,输入以下命令安装Homebrew(安装过程中需要输入**电脑密码**): ```shell /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` * 在命令终端输入以下命令,安装Python3: ```shell brew install python ``` * 在命令终端输入以下命令,确认是否安装成功: ```shell python3 --version ``` Mac/Linux **在项目目录下**打开命令终端: ```shell cd simple-grid ``` * 用以下命令让你的合约策略运行起来: ```shell ./simple_grid_future.py ``` * 用以下命令让你的现货策略运行起来: ```shell ./simple_grid_kucoin.py ``` * Windows **在项目目录下**打开命令终端: ```shell cd simple-grid ``` * 用以下命令让你的合约策略运行起来: ```shell py simple_grid_future.py ``` * 用以下命令让你的现货策略运行起来: ```shell py simple_grid_kucoin.py ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值