当前位置: 首页 > news >正文

期货策略交给同事跑:配置、日志、版本与模拟验收清单

前言

策略在自己电脑上跑得挺好,交给同事或客户时却频频出事:密码写死在代码里、合约月份还是去年的rb2410、对方不知道用TqSim还是TqKq、没有模拟验收就直接上了实盘。国内期货程序化交接,交付物不应只是一个.py文件,而应是一套能复现运行环境、能对照检查的配置、日志规范和验收清单。

天勤常见路径是:TqSim本机调试 →TqKq快期模拟(可与 APP 对持仓)→TqAccount实盘。下面说明每项交付物写什么、日志里英文字段含义、接手人模拟验收勾选什么,全部勾选后再申请实盘小仓位。

一、交付物分别解决什么问题

交付项内容避免什么事故
代码main.py、config.py、signals.py逻辑散落、改一处漏一处
requirements.txttqsdk==版本号对方 pip 装到不兼容新版
.env.example列出 TQ_USER、TQ_MODE、合约列表,密码用占位符密码进 git、实盘误连模拟
README如何切换 TqSim / TqKq / TqAccount不知道连哪种账户
VERSION 或 git tag策略发布版本号口头说“最新版”对不上
风控说明emergency、涨跌停、交易时段规则对方关掉过滤不知道后果

代码里禁止作者本机绝对路径,如D:\project\state.json;改用相对路径或环境变量。

二、配置规范:make_api 与 MODE

TqApi是天勤连接对象,整个进程通常只创建一次。建议集中在一个make_api()函数里:

  • TQ_MODE=simTqApi(TqSim(), auth=TqAuth(...))
  • TQ_MODE=kqTqApi(TqKq(), auth=...)
  • TQ_MODE=liveTqApi(TqAccount(期货公司名, 资金账号, 密码), auth=...)

TqAuth是天勤账户认证(快期账户),与期货公司资金账号不是同一个概念,两套都要配置时再在 README 里写清。

启动时打印:当前 MODE、订阅的 symbol 列表、tqsdk 版本号,方便截图排错。

合约、手数、K 线周期秒数、最大回撤 MAX_DD 等全放 config,不要散落在信号函数里。

三、日志字段:英文字段名含义

建议结构化日志(CSV 或 JSON 行)包含:

字段含义
ts日志时间戳
mode当前 TQ_MODE,sim/kq/live
symbol合约代码
event事件类型,如 signal、order、emergency
bar_datetimeK 线表 datetime,触发信号的那根 bar 的业务时间
target策略给出的目标净仓手数
posget_position(symbol).pos,柜台净持仓
order_status委托 status,如 ALIVE、FINISHED
last_msg委托状态说明,拒单原因常在此

日志按日轮转放在logs/目录,避免单文件无限增大占满磁盘。

四、模拟验收 checklist(接手人逐项勾选)

环境

  • Python 版本与 requirements.txt 一致
  • TqAuth能登录,快期账户有效
  • 先用TQ_MODE=simkq,勿第一步 live

连通

  • 运行后wait_updatequote.datetime在交易时段推进
  • K 线用is_changing(..., "datetime")触发,信号在iloc[-2]计算(与作者文档一致)

交易

  • 最小手数下一笔,get_position与快期 APP(TqKq 时)一致
  • get_trade与日志里该笔记录对照
  • 退出时执行api.close(),无残留连接(可再次启动不报错)

风控

  • 非交易时段不误开仓
  • 演练一次 emergency(或作者提供的测试开关)
  • 故意下一笔可能拒单的单,日志里有 last_msg

回归

  • 同区间TqBacktest与模拟方向大体一致(不要求逐笔相同)

全部勾选后,作者与接手人各留一份签字或邮件确认,再申请TqAccount小仓位。

五、版本与变更纪律

变更合约月份、均线参数、风控阈值时,递增 VERSION 并写 CHANGELOG 三行:改了什么、为什么、验收是否重跑。接手人禁止“顺手改一行”不记录,否则出问题时无法对应版本。

六、支持边界

交付文档写明:历史回测不保证未来盈利;出问题先按 checklist 查日志与 MODE;实盘责任人必须明确。

总结

策略交接的本质不是把代码丢过去,而是把一套可复现、可追踪、可验收的运行体系交出来:配置如何切 MODE、依赖如何锁版本、日志字段怎么对齐、验收用什么 checklist。天勤三环境(回测/模拟/实盘)切换时通常只需要在 make_api 的账户对象上做差异,但信号计算与 datetime 触发规则必须保持一致,所以交付文档要把这些‘不变的部分’写清楚。更重要的是日志与验收要能回答:这笔成交是否按预期发生、拒单来自哪里、emergency 触发是否如实执行。接手方按同一套流程跑通并留下证据,协作成本才会真正下降,而不是靠反复沟通在夜盘里追错。把交付收束成可验证的工程包,团队迭代速度也会随之提升。

FAQ

1)对方不会 Python?

可附 Docker 镜像或详细安装步骤,或约定由运维按文档部署。

2)只给编译后的 exe?

仍要 config 与日志规范,否则无法排错。

3)一个包里有三个策略?

每策略独立目录、独立 VERSION、独立 systemd 服务名。

4)DataDownloader 历史数据?

属专业版能力,单独说明权限,不默认对方一定有。

风险提示

以上内容用于交付流程参考,不构成投资建议。

http://www.rkmt.cn/news/1487563.html

相关文章:

  • 广东省成人高考有哪些正规靠谱的函授站?2026年报考必看! - 一直爱学习的小花猫
  • MPC8245/8241内存时钟DLL设计:从原理到PCB布线的实战指南
  • 智能卡接口芯片迁移实战:从TDA80xx到PN7412的硬件与软件适配指南
  • 2026年05月广佛团建行业发展趋势洞察|广州市启恩企业管理咨询有限公司
  • 2026哈尔滨二奢包包高价回收攻略,吃透行情多卖钱 - 奢侈品回收测评
  • 2026海关事务咨询服务哪家专业及选择参考 - 品牌排行榜
  • DSP聚合网关架构解析:基于MSC8101与MPC8260的媒体流高效处理
  • VMware Workstation Pro 17 虚拟机添加SCSI硬盘后,fdisk -l 不显示?试试这个手动扫描命令
  • 智能体为什么落地难?
  • 2026年国内工业水性漆品牌综合实力解析 - 品牌排行榜
  • 维也纳工业大学与KR Labs联手出击:让AI回答学术问题不再“瞎编“
  • Jasminum插件深度解析:如何通过中文文献管理提升学术研究效率
  • Docker部署HomeLists家庭库存管理工具
  • EmojiOne Color:让表情符号从黑白走向彩色的完整解决方案
  • 【保姆级教程】!两小时入门TurtleBot3 SLAM建图+自主导航+避障实战教程(附完整源码)
  • 从信息说明看CBCX外汇值得关注吗?
  • 基于i.MX RT1060与DMA实现高速RS-485通信的工程实践
  • 地下空间储水方案:地埋BDF水箱技术优势与厂家选型参考 - 品研笔录
  • (良心整理)实测好用的AI论文网站,毕业党收藏备用
  • 分享一个自用的工具可以做带壳截图,手机电脑样机
  • VCF 4.0 SDDC Manager资源要求详解!8vCPU+32GB内存标准配置教程
  • 吾爱破解安卓逆向入门教程学习
  • Wolfram Mathematica汉化版试用版下载入口
  • 继续记录无人机SITL的大循环
  • 如何用免费AI工具将模糊图片变成高清画质?
  • 亨得利官方正规门店地址权威公示(2026年6月最新) - 亨得利钟表维修中心
  • Superlog 开源自主可观测性工具全栈技术深度剖析
  • 想转AI工程师?先搞懂这7个概念再说
  • 2026淄博市黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • Codex又又又更新了!这次似乎不需要Xcode了?Codex更新、Codex遥控器、Codex手机版、iOS Builder、Xcode替代方案、AI编程工具、Codex客户端下载、Mac远程控制、