TqSdk 主连能直接下单吗?研究代码与实际合约别混用
主连合约适合把同一品种不同月份的活跃行情连接起来做连续研究但它不是一个可以直接成交的具体月份合约。TqSdk 中常见的KQ.mSHFE.rb表示螺纹钢主连Quote 的underlying_symbol可以告诉程序当前映射到哪个实际合约。研究信号与交易执行必须分开主连生成方向具体合约承担订单和持仓。主连解决的是连续观察问题期货具体月份合约会到期市场活跃度也会转移。若长期研究只固定读取一个月份数据在到期后就中断主连提供连续入口便于观察品种走势和构建跨期历史逻辑。import os from tqsdk import TqApi, TqAuth api TqApi( authTqAuth(os.environ[TQ_USER], os.environ[TQ_PASSWORD]) ) main_quote api.get_quote(KQ.mSHFE.rb) try: while True: api.wait_update() if api.is_changing(main_quote, underlying_symbol): print(当前映射合约:, main_quote.underlying_symbol) finally: api.close()underlying_symbol变化意味着主力映射发生了切换。程序需要记录旧值、新值和切换时间只在启动时读取一次运行数周后可能继续使用已经过期的执行合约。主连价格序列是研究工具不应被理解为某个账户真实可成交的完整价格路径。换月点附近连续序列的价格关系与实际移仓成本不是同一个问题。主连选择反映的是特定映射规则并不等于所有策略都应持有该月份。策略可能因到期距离、流动性、交割限制或自身持仓周期选择别的合约。映射可以成为候选输入最终执行选择仍要经过业务规则。程序首次启动时也应等待underlying_symbol有效再建立执行层状态。若字段尚为空就缓存映射后续可能把空字符串当成合约代码。映射变化时先进入“待确认”状态比立即切换交易对象更稳妥。研究信号与执行合约怎样分层行情层可以订阅主连 K 线按连续数据计算指标。执行层只接受一个明确的实际合约代码、目标方向和时间戳再核对该合约行情、持仓与活动委托。main_klines api.get_kline_serial( KQ.mSHFE.rb, 60, data_length100 ) while True: api.wait_update() if api.is_changing(main_klines.iloc[-1], datetime): signal calculate_signal(main_klines.iloc[:-1]) actual_symbol main_quote.underlying_symbol if actual_symbol: route_signal(signal, actual_symbol)两个函数是结构占位不能直接用于交易。route_signal至少要验证实际合约是否可交易、行情是否有效、映射是否刚切换、账户是否已有旧月份持仓。它不能只把字符串替换后立即下单。信号还要绑定生成时的映射。若信号计算后排队很久才执行主连可能已经切换。执行前重新校验映射并决定旧信号是否仍有效避免把上一合约背景下的意图发送到新合约。换月不是修改一个字符串账户可能仍持有旧月份合约而新的主连已经指向下一月份。此时直接把目标任务改到新合约会在新合约开仓却没有自动处理旧仓最终同时持有两个合约。完整换月需要明确何时停止旧合约新增动作、怎样撤销旧活动委托、是否平旧仓、何时开新仓以及两边成交不同步时如何限制风险。这些规则属于执行设计主连映射本身不会替你完成。价差也不可忽略。旧月与新月价格可能不同把连续指标值直接当成新合约委托价格没有意义。执行价格应来自实际合约 Quote并遵守其价格最小变动、涨跌停和流动性状态。换月规则最好先在模拟环境中用明确日期和持仓场景测试。至少覆盖无持仓切换、有旧仓切换、旧委托未完成和程序重启四种情况。只测试“查询到了新代码”远远不够。还要决定换月期间信号如何处理。可以暂停新信号直到旧仓与委托处理完成也可以分别维护旧、新合约目标但两种方案都要写清优先级。若切换过程中仍按主连每次更新产生动作旧任务和新任务可能同时争夺仓位。一次换月应生成完整记录检测到变化的时间、旧映射、新映射、当时持仓、活动委托、执行计划和最终结果。没有这些信息事后看到两个合约同时有成交时很难判断是计划内移仓还是重复下单。主连、指数与具体合约要分别标记代码和日志应给合约角色命名例如research_symbol与execution_symbol不要都叫symbol。每条信号记录主连代码、实际映射和生成时间每条订单只记录真实执行合约。存储历史时也要保留来源。只保存价格而不保存它来自主连还是具体月份回看时无法解释换月跳变与成交差异。研究数据和交易回报应当能够通过时间与映射记录关联但不能混成同一列价格。主连适合趋势研究指数合约也常用于观察品种整体表现但它们的构造含义不同。无论使用哪一种非具体合约都不要因为能取得 Quote 就推断能够下单。哪些结果最容易被误读第一种是主连回测收益。它可能没有完整包含实际换月动作、价差和费用不能直接等同于账户可实现结果。第二种是映射变化前后的指标连续性。指标数学上连续不代表执行持仓也能无成本连续。第三种是当前主力永远流动性最好。映射规则给出当前结果但具体执行仍应检查实际盘口、交易状态和策略需求。第四种是切换日所有策略都应同一时刻换月。不同持仓周期与风险规则可能需要不同安排。第五种是没有持仓就没有换月风险。即使账户空仓挂在旧合约上的活动委托也可能成交。切换前必须检查订单而不只检查净仓。第六种是历史主连映射与当时实时选择完全一致。复盘时应确认数据源和映射规则不从今天看到的主力合约反推过去执行对象。交易日志中的实际合约才是账户事实。第七种是新合约更活跃就一定能无损迁移。旧仓平仓与新仓开仓发生在两个市场对象上成交时间与价格都可能不同。风险评估要把这段暂时敞口或双重持仓纳入而不是用连续图表抹平。主连使用清单主连只承担连续研究和信号输入不作为下单合约。通过underlying_symbol跟踪实际映射并记录每次变化。信号绑定生成时间和当时映射执行前再次校验实际合约。换月同时处理旧持仓、活动委托、价差与新合约流动性。日志区分研究代码与执行代码回测结论包含换月假设边界。主连让长期研究更方便但也容易把“连续图表”误认为“连续持仓”。只要把研究与执行拆开并把映射变化当成一个需要处理的业务事件就能保留主连的便利又不把它带进错误订单。

相关新闻

Linux文件查找实战:从grep基础到日志排查全流程

Linux文件查找实战:从grep基础到日志排查全流程

1. 从“大海捞针”到“精准定位”:为什么文件查找是Linux的生存技能如果你在Windows上找东西,大概率会打开资源管理器,在右上角的搜索框里输入几个字,然后等着系统给你结果。但在Linux的世界里,尤其是当你面对的是一个…

2026/10/17 13:47:02 阅读更多 →
C#结构体深度解析:从内存布局到高性能实战

C#结构体深度解析:从内存布局到高性能实战

1. 项目概述:为什么C#开发者需要重新审视结构体?在C#的世界里,类(Class)无疑是当之无愧的主角,它支撑起了面向对象编程的整个大厦。然而,作为配角的结构体(Struct)&#…

2026/10/24 4:11:16 阅读更多 →
Java大文件分片上传实战:从原理到Spring Boot实现

Java大文件分片上传实战:从原理到Spring Boot实现

1. 从单线程阻塞到分片传输:为什么大文件处理必须换思路在Java后端开发中,文件上传下载是再基础不过的功能。很多新手,甚至一些有经验的开发者,在处理小文件时,习惯性地使用InputStream和OutputStream进行简单的读写操…

2026/10/23 15:58:31 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/24 11:09:31 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/24 17:47:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/24 18:34:36 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/25 10:02:42 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/25 3:12:30 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/24 21:09:59 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 10:02:43 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/24 11:09:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 7:47:32 阅读更多 →