期货策略从 K 线研究脚本迁到快期模拟盘要改什么
前言国内很多交易者先做K 线研究用 CSV 或数据库算均线、统计盈亏还没有实时行情驱动和报单。下一步较稳妥的是上快期模拟盘天勤里用TqKq()让持仓在 APP 里可见团队能核对而不是直接真资金。本文列出从“研究脚本”迁到“天勤 TqKq 模拟”的必改项与可保留项并解释datetime从哪来、为何要wait_update。面向刚做完回测曲线、准备接模拟的期货 Python 用户。一、两种脚本本质区别研究脚本模拟盘程序数据静态 CSV行数固定get_kline_serial随市场变驱动for 行 / 整表一次whilewait_update时间行索引K 线表datetime列行情服务下单无TargetPosTask / insert_order账户无TqKq TqAuth二、必改清单逐项说明1数据源pd.read_csv→api.get_kline_serial(SHFE.rb2510, 300, data_length200)示例为 5 分钟线300 秒。2循环整表算一遍 →while True: api.wait_update()否则没有新 tick、没有新 K 线合并进表。3触发研究里常用最后一行 → 实盘要用is_changing(kl.iloc[-1], datetime)表示新一根 K 线开始用iloc[-2]做收盘信号。4账户api TqApi(TqKq(), authTqAuth(...))与进程内TqSim不同可在快期侧看到模拟持仓。5执行增加TargetPosTask的set_target_volume并继续wait_update。6结束finally: api.close()尤其从 Notebook 迁移时。三、建议保留均线周期、tafunc 公式、合约列表改月份时只改 config、风控阈值——这些与是否实时无关。四、迁移代码对照概念研究signal df[close].iloc[-1] ma.iloc[-1]模拟在datetime触发块内signal kl.close.iloc[-2] ma.iloc[-2]一行之差决定是否与未来实盘一致。五、验证步骤跑 30 分钟打印kl.iloc[-1].datetime是否推进。下一笔最小手数快期 APP 看持仓。用get_trade对策略日志。六、仍对不上时检查研究是否含未收盘 bar、手续费假设、是否 Notebook 多 Api 未 close。总结期货 K 线研究脚本迁到快期模拟盘要换数据源与wait_update循环用 K 线表datetime变化控制算信号频率用[-2]做决策加TqKq与TargetPosTask并close释放连接。指标公式可保留触发规则必须与实盘一致。这是国内期货量化里标准的一小步比直接实盘风险小得多。FAQ1能否先 TqSim可以团队对账再用 TqKq。2CSV 还能用吗回测可用 TqBacktest日常模拟建议在线 serial。3多品种表每品种一条 serial。4上实盘改什么通常只改TqAccount构造。风险提示本文讨论迁移步骤不构成投资建议。