当前位置: 首页 > 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.jsqmd.com/news/975841/

相关文章:

  • 硬件巡检自动化:图吧工具箱命令行接口与脚本集成实践
  • 2026年最新依索维尔玻璃棉合规厂家排行及选型指南 - 奔跑123
  • LPC55S69移植U8g2驱动OLED:硬件连接与底层驱动实现详解
  • Claude Code 地区限制无法使用?超简单解除完整教程,新手也能一键上手
  • MPC8245/8241内存时钟DLL设计:从原理到PCB布线的实战指南
  • 用户画像全栈实战|全网独家落地复盘 标签建模数仓分层批流计算助力人群圈选、精准营销、用户分层、流失预警高效落地
  • 广东省成人高考有哪些正规靠谱的函授站?2026年报考必看! - 一直爱学习的小花猫
  • 校园志愿者管理系统Java毕设源码包:SpringBoot后端+Vue前端+MySQL脚本+部署指南
  • 智能卡接口芯片迁移实战:从TDA80xx到PN7412的硬件与软件适配指南
  • VS2019一键运行的OpenGL 3D交互示例:左键自由旋转+右键XY平移
  • 腾讯元宝 pdf 办公导出痛点全梳理,借助 AI 导出鸭实测多款导出工具,挑选性价比最优的文档转换办法
  • 本周 GitHub 热门项目推荐:Headroom 和 CC Switch
  • esp32开发与应用(模块采购与实验)
  • 破解线缆管理痛点:广羽5E方法论如何重塑桥架效能? - 资讯纵览
  • 从无人机照片到三维地图:OpenDroneMap(ODM)完全使用指南
  • B站缓存视频快速转换完整指南:3步实现m4s到MP4无损格式修复
  • 2026成都装修公司推荐榜单:土巴兔6月榜单印证,这5家“自有工人+闭口合同”装企上榜 - GrowthUME
  • 用MATLAB按指定协方差生成一维高斯随机过程样本(EOLE法)
  • 技术深度解析:Solaar如何实现Linux罗技设备管理的自动化控制
  • 国内塑料板材主流生产企业实测排行盘点 - 奔跑123
  • Pandas 高级技巧与最佳实践
  • 办理经营性贷款需要哪些资质材料
  • 2026哈尔滨二奢包包高价回收攻略,吃透行情多卖钱 - 奢侈品回收测评
  • 2026年05月广佛团建行业发展趋势洞察|广州市启恩企业管理咨询有限公司
  • 2026海关事务咨询服务哪家专业及选择参考 - 品牌排行榜
  • DSP聚合网关架构解析:基于MSC8101与MPC8260的媒体流高效处理
  • 上海专业AI SEO服务机构推荐: 技术能力、案例真实性与交付透明度综合评测 - 品牌排行榜
  • 智能体为什么落地难?
  • VMware Workstation Pro 17 虚拟机添加SCSI硬盘后,fdisk -l 不显示?试试这个手动扫描命令
  • 执笔赴盛夏,逐梦向长空|沈阳昊天环宇无人机致全体高考学子