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

期货量化一进程多账户:天勤 TqMultiAccount 用法边界

前言

国内期货量化里,常见部署是:用 Python + 天勤 TqSdk 写一条趋势策略,订阅螺纹钢 5 分钟 K 线,均线信号出来后TargetPosTask调仓。有时同一套信号要分到两个期货公司账户执行(资金隔离、合规报备),或者一边TqSim模拟、一边TqAccount小额实盘对照。开两个 Python 进程各跑各的,行情订阅和信号计算重复,配置和日志也难对齐。

天勤提供TqMultiAccount:一个TqApi同时挂多个TqAccountTqSimTqKq等,单进程内写策略、共享行情。代价是多账户模式下,get_positionget_accountinsert_orderTargetPosTask都必须显式传account参数,漏传会报错或悄悄读错户。下面说明构造方式、适用边界和迁移注意点。

一、构造方式

multiaccount.py

fromtqsdkimportTqApi,TqAuth,TqAccount,TqSim,TqMultiAccount,TargetPosTask acc_real=TqAccount("H某期货","123456","pwd")acc_sim=TqSim()api=TqApi(TqMultiAccount([acc_real,acc_sim]),auth=TqAuth("快期账户","pwd"))

未指定账户列表时默认为[TqSim()]

二、必须带 account 的 API

文档强调多账户模式下:

  • get_position(symbol, account=...)
  • get_account(account=...)
  • insert_order(..., account=...)
  • TargetPosTask(api, symbol, ..., account=...)

示例:

task_a=TargetPosTask(api,"SHFE.rb2510",account=acc_sim)task_b=TargetPosTask(api,"SHFE.rb2510",account=acc_real)task_a.set_target_volume(2)task_b.set_target_volume(0)# 实盘暂不下

三、适用场景与边界

适合:

  • 同一信号多账户复制执行(注意合规与报备)。
  • 模拟与实盘并行验证。
  • 跨期货公司分散品种。

不适合:

  • 两账户完全独立策略、订阅差异大,却硬塞单进程——订阅并集仍大,CPU 高,故障域耦合。
  • 需要进程级隔离的风控(一账户崩拖累另一账户)。

实盘账户数量受快期账户权限限制,以官网说明为准。

四、日志与对账

每笔日志写account_id或期货公司名;get_order可能混合多账户委托,筛选时按 order 所属 account 字段(以 objs 为准)分类。日终分别导出acc_real.get_account()acc_sim.get_account()

五、与单账户代码迁移

从单TqAccount迁到TqMultiAccount,全局搜索get_positionTargetPosTaskinsert_order,补account=参数。单例TargetPosTask的 key 含 account id,同 symbol 不同户可各有一个 task。

六、风控按账户隔离

每个 account 独立维护emergencyrisk_ratio阈值。A 账户触发停机不应自动平 B 账户,除非策略明确如此设计。读get_account(account=acc_x)分别判断。

七、信号复制与手数缩放

同源信号可复制到两户,但手数可按权益比例缩放:

bal_a=acc_a.get_account().balance bal_b=acc_b.get_account().balance lots_b=int(raw_lots*bal_b/bal_a)

缩放后仍要检查available与保证金。

八、故障域

单进程多账户意味着一个未捕获异常可能两户都停。关键账户可考虑独立进程 + 独立TqApi,多账户只适合关联度高的部署。

总结

一进程多账户靠天勤TqMultiAccount把多个 tradeable 绑进同一个TqApi,适合同源信号多路执行或模拟实盘对照。关键是所有交易与查询 API 显式传accountTargetPosTask也要分账户创建。账户间策略差异大或要硬隔离时,仍应用多进程,而不是强行多账户。

FAQ

1)行情订阅共用吗?

是,同一 Api 订阅一次行情,多账户共享。

2)能否一个账户只读不下?

可以,只建 task 但不set_target_volume非零。

3)TqKq 和 TqAccount 混用?

文档示例支持,注意 auth 一致。

4)漏传 account 报什么错?

多账户模式下TargetPosTask构造会要求指定 account。


本文基于天勤 TqSdk 公开 API 整理,不构成投资建议。

http://www.jsqmd.com/news/989824/

相关文章:

  • 泰安与德宏州贵金属回收行业现状与可靠生产商分析 - 优质品牌商家
  • Tushare Pro接口调用避坑指南:批量获取上证50股票数据时,如何优雅处理积分限制与数据拼接?
  • 3分钟学会OBS背景移除插件:无需绿幕的专业级虚拟背景方案
  • 别再只懂QPSK了!手把手教你用MATLAB仿真OQPSK和IJF_OQPSK(附完整代码)
  • Python量化分析实战:如何高效使用Mootdx通达信数据接口
  • 2026年靠谱的家用液压电梯/济南拼装式电梯框架源头工厂推荐 - 品牌宣传支持者
  • 免费开源摄影测量软件MicMac:从二维照片到高精度三维建模的完整指南
  • 2026年漯河车主力荐交通事故索赔律师 5家精选推荐 - 本地品牌推荐
  • ncmdumpGUI完整指南:3步轻松解密网易云音乐NCM格式文件
  • 2026年银川劳动纠纷律师推荐 陈杰律师16年实战维权经验 - 本地品牌推荐
  • 如何轻松保存网页视频:VideoDownloadHelper完整使用指南
  • 3步轻松上手:用Bliss Shader为你的Minecraft世界注入电影级光影
  • 200毫秒极速隐藏:Boss-Key如何成为你的办公室隐私守护神
  • AI说服力的本质:认知路径设计与人类不可替代性
  • SaiAdmin:如何用现代化架构解决企业级后台管理系统的三大痛点?
  • TMS320F28377D项目实战:手把手教你用SCIA调试OLED屏幕,附完整代码与避坑点
  • 5分钟掌握游戏存档编辑神器:uesave让你轻松掌控游戏进度
  • 一键部署OpenClaw:5分钟搞定本地AI办公助手
  • 漯河离婚财产分割纠纷解决难?2026年这5位离婚律师推荐 - 本地品牌推荐
  • UFS是什么
  • Gerbv:革命性Gerber文件解析引擎,PCB设计验证效率提升300%的颠覆性开源解决方案
  • LLM推理优化:共享前缀缓存与CUDA图技术实战
  • 多模态声明验证技术:理论与MEVER模型实践
  • 终极解决方案:3步让老旧Windows系统重获新生
  • 2026本科论文血泪复盘:全程靠AI帮忙写稿,初稿却被导师痛批:拼凑感太重,根本不像一篇正经论文
  • 别再让MLP‘脸盲’了!手把手教你用PyTorch为NeRF实现位置编码(附完整代码)
  • 免费获取AMD Ryzen处理器硬件级控制权:SMU Debug Tool完整指南
  • 2026年广东劈裂机/液压岩石劈裂机/液压劈裂机/手动液压劈裂机厂家推荐榜:硬岩破解与矿用劈裂实力之选 - 品牌发掘
  • 5分钟终极指南:用HoRNDIS实现Mac与Android USB网络共享
  • 3步掌握Charticulator:零代码创建专业级交互式图表设计