前言国内期货量化策略上线通常走三步先用天勤TqBacktest在历史 K 线上回测双均线等信号净值曲线往往很好看再用TqSim或TqKq接实时行情做模拟盘最后才挂TqAccount实盘。很多人卡在第二步回测净值翻倍模拟盘跑一个月却几乎横盘怀疑策略坏了其实常见原因是模拟成本设得太美——手续费按默认值、对价成交太理想而实盘螺纹钢每手手续费、平今优惠、滑点都会吃掉边缘利润。天勤本地模拟TqSim提供set_commission/get_commission按合约设每手手续费源码里没有名为 slippage 的全局参数滑点要靠TargetPosTask的ACTIVE/PASSIVE或实盘日志反推。下面说明怎么把模拟成本校准到接近实盘。一、TqSim 手续费 API见tradeable/sim/tqsim.pyfromtqsdkimportTqApi,TqSim,TqAuth simTqSim()apiTqApi(sim,authTqAuth(账户,密码))sim.set_commission(SHFE.rb2510,5.0)# 每手 5 元数值按期货公司标准填print(sim.get_commission(SHFE.rb2510))未设置时用内置规则_get_commission推算可能与你的期货公司标准有差。多品种策略应对每个交易 symbol 设一遍或启动时读配置表循环set_commission。账户层get_account().commission可累计验证当日手续费是否与预期同量级。二、天勤没有内置滑点参数意味着什么不能指望调一个slippage2就完事。可选做法TargetPosTask用PASSIVE模拟排队成交比ACTIVE保守。手写insert_order限价故意偏离last_price若干 tick。实盘记录信号价与get_trade成交价差统计均值写入模拟假设。TqBacktest与TqSim成交机制不同分别校准。三、校准流程建议在TqKq或小额实盘跑两周日志记signal_price、trade_price、commission。算每品种平均每手滑点元与手续费。回测与TqSim统一set_commission滑点用保守限价或后处理扣减。再跑同样区间模拟净值曲线应与实盘同向、幅度接近。四、与 TqBacktest 的关系回测模块有独立成交假设上线前应在TqSim/TqKq再验证一层。三环境配置文件回测/模拟/实盘里分开commission表避免复制粘贴忘记改。五、平今优惠与股指股指、国债平今手续费高应用真实平今率填 commission并结合offset_priority控制平今频率否则模拟利润虚高。六、按成交日志反推滑点实盘两周样本# 日志字段 signal_price, trade_price, volume, symbolslip(trade_price-signal_price)*direction_sign按品种求平均每手滑点元在TqSim里用更保守的pricePASSIVE或限价偏移模拟。天勤无 slippage 参数时这是务实做法。七、三环境 commission 配置环境配置位置TqBacktest回测 sim 实例TqSim/TqKqset_commission 表实盘不模拟只记账同一张 YAML 维护发版时 diff 佣金表是否变更。八、验收标准模拟盘两周后实盘与模拟的「每笔手续费之和」误差在 5% 以内净值曲线方向一致最大回撤差距可解释滑点未成交。达不到则继续调 commission 与 price 模式而不是加指标。总结回测太理想往往是因为成本假设太美。天勤TqSim用set_commission精确到合约但滑点需通过对价方式、限价偏移或实盘统计自行补齐SDK 未提供统一 slippage 开关。按实盘日志反推手续费与滑点再跑一轮模拟盘权益曲线比反复调均线参数更能判断策略有没有实盘价值。FAQ1get_commission 返回 nan该 symbol 尚未 set 且行情未加载先 wait_update 再 set。2按金额比例收费怎么设set_commission参数为每手固定值比例费需折算或成交后手工校验。3TqKq 手续费谁定跟随快期模拟规则与TqSim设置独立。4回测能自动读 set_commission 吗在回测构造里传入同一TqSim实例或等价配置。本文基于天勤 TqSdk 公开 API 整理不构成投资建议。