实盘评测环境留痕指引
当期货公司要求您先在评测环境完成穿透式监管留痕测试时,可以通过 TqSdk 显式切换到评测采集库完成登录、下单、撤单等测试流程,而不需要再手工替换 DLL 文件。
本文适用于以下场景:
期货公司客户经理明确要求您先做外接评测
您已经拿到该期货公司的评测账号、服务器信息或测试指引
您使用的是 Windows 64 位环境
备注
TqSdk 安装包会同时携带生产采集库与评测采集库。只有在期货公司明确要求使用评测环境时,才需要按本文切换;默认情况下无需做任何额外设置。
使用前准备
开始前,请先确认以下事项:
当前运行环境为 Windows 64 位。
已安装支持该功能的依赖包,运行
pip install -U tqsdk_ctpse确保tqsdk_ctpse版本 >= 1.1.0。已从期货公司获取评测环境所需信息,例如评测账号、密码、柜台地址或测试要求。
已准备好需要执行的测试脚本,或者能够运行最小登录程序。
如何切换到评测采集库
TqSdk 通过环境变量 CTPSE_RUN_MODE 控制当前使用的采集库:
PRODUCTION: 生产采集库TEST: 评测采集库
默认值为 PRODUCTION。如果您需要在评测环境完成留痕,请在运行策略前把它设置为 TEST。
方式一:在命令行中设置
如果您是通过命令行运行 Python 脚本,建议优先使用这种方式。
Windows cmd:
set CTPSE_RUN_MODE=TEST
python your_strategy.py
Windows PowerShell:
$env:CTPSE_RUN_MODE="TEST"
python .\your_strategy.py
设置完成后,当前终端里启动的程序就会使用评测采集库。
方式二:在 Python 代码中设置
如果您希望把测试脚本单独保存,也可以在代码开头设置环境变量。请注意,建议在导入 tqsdk 之前完成设置。
import os
os.environ["CTPSE_RUN_MODE"] = "TEST"
from tqsdk import TqApi, TqAuth, TqAccount
api = TqApi(
account=TqAccount("期货公司", "评测账号", "评测密码"),
auth=TqAuth("天勤账号", "天勤密码"),
)
print("登录成功,当前已使用评测采集库")
api.close()
如果您已有现成的交易或测试脚本,通常只需要增加这一个环境变量设置,其余登录、下单、撤单代码不需要修改。
推荐测试流程
如果期货公司已经给出明确测试要求,请优先按对方要求执行。常见流程通常如下:
切换
CTPSE_RUN_MODE=TEST。使用评测账号登录。
按期货公司要求完成留痕相关操作,例如登录、查询资金、下单、撤单、平仓等。
保存测试结果或截图,并提交给期货公司客户经理确认。
测试完成后恢复默认配置。
如果期货公司只要求您“完成评测”,但没有明确说明具体步骤,建议至少完成以下几个动作:
成功登录一次
查询一次账户或持仓
完成一次下单
完成一次撤单,或完成一次开仓和平仓
测试完成后如何恢复默认模式
测试结束后,清除环境变量即可恢复默认生产行为。
Windows cmd:
set CTPSE_RUN_MODE=
Windows PowerShell:
Remove-Item Env:CTPSE_RUN_MODE
也可以直接关闭当前终端,并在新的终端窗口中重新运行程序。只要没有设置 CTPSE_RUN_MODE=TEST,TqSdk 就会继续使用生产采集库。
常见问题
为什么还需要期货公司提供评测环境信息?
TqSdk 解决的是“如何切换评测采集库”的问题,但评测账号、服务器地址、测试要求仍然需要由期货公司提供。
为什么不再需要手工替换 DLL?
生产采集库和评测采集库会随安装包一起分发。您只需要切换环境变量,不需要再手工查找、复制或覆盖 DLL 文件。
正式交易前需要做什么?
完成评测后,请清除 CTPSE_RUN_MODE,再使用正式环境账号运行程序。这样程序会恢复为默认的生产采集库模式。