3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT(迅投量化交易系统)的 Python API 中,通过 passorder 交易接口可以方便地针对融资融券(信用)账户发起各类两融交易指令。
在使用 passorder 进行两融交易时,关键在于正确设置 opType 参数:
| opType 代码 | 操作类型说明 | 详细描述 |
|---|---|---|
| 29 | 买券还券 | 使用信用账户资金在二级市场买入证券并归还融券负债 |
| 30 | 直接还券 | 使用持仓中的现券直接归还融券负债 |
| 31 | 卖券还款 | 卖出信用账户内的证券,所得资金用于偿还融资负债 |
| 32 | 直接还款 | 使用信用账户内的可用资金直接偿还融资负债 |
| 33 | 信用账号股票买入 | 担保品买入/普通买入 |
| 34 | 信用账号股票卖出 | 担保品卖出/普通卖出 |
以下源码展示了如何在策略的 handlebar 触发逻辑中,通过 passorder 调用 opType=29 完成买券还券委托:
#encoding:gbk
def init(ContextInfo):
# 设定信用账号
ContextInfo.accid = '6000000248'
ContextInfo.set_account(ContextInfo.accid)
ContextInfo.stock = '600000.SH'
def handlebar(ContextInfo):
# 仅在最新 Bar 触发示例
if not ContextInfo.is_last_bar():
return
# 示例:买券还券 (opType=29)
# 参数顺序: opType, orderType, accountid, orderCode, prType, modelprice, volume, ContextInfo
# orderType=1101: 单股、单账号、普通、股/手方式下单
# prType=5: 最新价
passorder(29, 1101, ContextInfo.accid, ContextInfo.stock, 5, -1, 100, ContextInfo, '两融还券策略', 1, 'order_repay_01')
print(f"已针对 {ContextInfo.stock} 发起买券还券委托,数量: 100 股")
init 方法中必须通过 ContextInfo.set_account(accountid) 绑定两融信用账号,否则无法正确接收主推或发起委托。quickTrade 参数设置为 1 或 2。