news 2026/6/5 6:42:08

期货量化网格策略怎么写:天勤 TargetPosTask 档位映射

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
期货量化网格策略怎么写:天勤 TargetPosTask 档位映射

前言

区间震荡行情用网格,思路是跌一格加仓、涨一格减仓,或反向做均值回归网格。用天勤时若每个格子都直接insert_order,容易手续费爆炸、部分成交乱仓。我更喜欢用TargetPosTask表达「目标净仓」,格子信号只改目标手数,由任务层去拆单。

天勤TqSdkTargetPosTask适合这类频繁调仓,但必须把「价格档位 → 目标 volume」映射写清楚,并做手续费敏感检查。下面给映射思路和主循环结构,不是完整盈利策略。

一、网格在程序里是什么

抽象成:

  • 中心价或均线锚定
  • 上下各 N 格,每格宽度step(元或 tick)
  • 当前价落在哪一格,对应目标净仓target_volume(整数手)

例如做多网格:价每下移一格,目标仓 +1;每上移一格,目标仓 -1(或减至 0)。做空网格方向相反。团队要先纸面画表,再写代码。

档位(相对中心)目标净仓(示例)
+20
+11
02
-13
-24

表内容仅示意,实际档位与风控上限自定。

二、用 TargetPosTask 承接目标仓

fromtqsdkimportTqApi,TqAuth,TqSim,TargetPosTask api=TqApi(TqSim(),auth=TqAuth("账户","密码"))symbol="SHFE.rb2510"quote=api.get_quote(symbol)kl=api.get_kline_serial(symbol,60,data_length=50)task=TargetPosTask(api,symbol)center=Nonestep=20# 元,示意max_pos=4defprice_to_target(price,center,step,max_pos):ifcenterisNone:return0k=int(round((center-price)/step))# 定义方向与团队表一致k=max(-max_pos,min(max_pos,k))returnk# 或查表whileTrue:api.wait_update()ifapi.is_changing(kl.iloc[-1],"datetime"):center=kl.close.iloc[-2]ifcenterisNoneelsecenter tgt=price_to_target(quote.last_price,center,step,max_pos)task.set_target_volume(tgt)

center是否每根 K 线重置、是否用均线锚定,决定网格性格,需回测验证。

三、手续费与调仓频率

网格最怕「价格来回扫、每秒调一次目标仓」。应:

  • 只在 K 线收盘或档位跨格时set_target_volume
  • 设最小调仓间隔或 hysteresis(跨半格才动)
  • 回测里把手续费调高做敏感性测试

若调仓后毛利小于手续费,网格在该品种上可能不成立。

四、风控上限

max_pos必须硬编码或配置化;available资金不足时,TargetPosTask可能部分成交,要读position核对。突破区间后要有「停止网格、只平仓」规则,避免单边趋势满仓逆势。

五、模拟与实盘

网格在TqSim里先跑至少一周,统计日均成交笔数。笔数过高则加大step或减少档位数。切实盘前检查平今手续费(上期所等)。

总结

网格在程序里应是「价格档位 → 目标净仓」映射表,由TargetPosTask负责把目标仓拆成报单,而不是每个格子手写insert_order。中心价或均线锚定、step宽度、max_pos上限要先在纸面画表再编码;做多网格与做空网格方向要在表里写死,避免盘中临时改定义。

调仓频率要克制:宜在 K 线收盘或档位跨格时set_target_volume,必要时加 hysteresis,避免价格在边界来回扫导致手续费吞噬毛利。回测与模拟里用上调手续费、统计日均成交笔数做敏感性测试;突破区间要有停止网格、只平仓或限制逆势加仓的规则。上期所等平今手续费在实盘前单独核对。

建议档位表存 CSV,参数变更只改表;对比粗网格与细网格的笔数、净利与回撤;在TqSimTqKq跑满一周再考虑加大资金或手数。

FAQ

1)双合约网格?

近远月各一个 task,spread 档位单独定义。

2)中心价每天重置吗?

策略选择,要写进说明。

3)TargetPosScheduler?

需要渐变调仓时用,与瞬间跳变不同。

4)网格适合趋势品种?

趋势市要有限制逆势加仓规则。

风险提示

本文用于策略结构讨论,不构成投资建议。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 6:42:08

别再折腾虚拟网络了!用Rinetd在5分钟内搞定KVM虚拟机端口转发(附Windows netsh对比)

5分钟极简方案:Rinetd与Netsh在虚拟化环境中的端口转发实战深夜调试代码时突然需要将本地虚拟机的Web服务临时开放给同事查看?测试环境中快速搭建的数据库服务需要让外部应用连接?传统虚拟网络配置的复杂性往往让这些简单需求变得异常繁琐。本…

作者头像 李华
网站建设 2026/6/5 6:40:16

实景数字镜像技术,实现物理世界视频孪生复刻

实景数字镜像技术,实现物理世界视频孪生复刻副标题:依托国家级课题攻关成果,以实景原生映射构筑全同步、高保真、可演化的数实孪生底座一、技术综述深耕多行业项目落地调试,纵观当下数字孪生落地现状,大量项目依靠人工…

作者头像 李华
网站建设 2026/6/5 6:34:54

电磁阀驱动模块实战:从MOSFET原理到Arduino控制全解析

1. 项目概述:为什么你需要一个电磁阀驱动模块?如果你玩过Arduino或者树莓派,想用它们来控制水阀、气阀,做个自动浇花系统或者酷炫的弹射装置,那你大概率绕不开一个东西——电磁阀。这玩意儿就是个电控开关,…

作者头像 李华
网站建设 2026/6/5 6:34:04

ZYNQ7000 AXI GPIO中断避坑指南:从PL到PS,完整配置流程与常见错误排查

ZYNQ7000 AXI GPIO中断实战:从硬件连接到软件调试的全流程解析在嵌入式系统开发中,中断处理往往是实现高效实时响应的核心机制。对于使用Xilinx ZYNQ7000系列芯片的开发者而言,AXI GPIO提供了一种灵活的方式将PL侧信号引入PS处理,…

作者头像 李华
网站建设 2026/6/5 6:33:06

基于ESP32与L298N的双轮遥控小车:PWM电机控制与Blynk物联网实践

1. 项目概述:从废品到智能遥控小车的重生之旅几年前,我利用一个坏掉的玩具车底盘,成功制作了一个两轮自平衡机器人。项目升级后,这个底盘就一直闲置在仓库角落。作为一个热衷于动手的工程师,看着这些零件总觉得有些可惜…

作者头像 李华