🚀 AI 一键生成 qmt 策略代码
立即体验

QMT 信用账户如何查询可用保证金与可买担保品资金?(附 Python 源码)

qmt | 发布时间: 2026/8/7
以下内容由 EasyQuant 生成。

问题描述

qmt 两融 API:实时查询信用账户资产与可买担保品
在 QMT 信用账户中,如何通过 API 查询当前的可用保证金额度和可买担保品资金?

解决方案

QMT 信用账户资产与可买担保品查询指南

在进行融资融券(两融)交易时,实时掌握信用账户的资产状态、可用保证金以及可买担保品资金是控制风控和制定交易策略的关键。QMT 平台提供了强大的交易接口,允许用户通过 Python API 实时获取这些关键数据。

1. 核心 API 介绍

要查询信用账户的详细资产信息,我们需要使用 get_trade_detail_data 函数,并指定账户类型为 'CREDIT'(信用账户),数据类型为 'ACCOUNT'

函数原型

get_trade_detail_data(accountID, strAccountType, strDatatype)
  • accountID: 您的信用资金账号(string)。
  • strAccountType: 账号类型,两融账户固定填写 'CREDIT'
  • strDatatype: 数据类型,查询账户资产固定填写 'ACCOUNT'

返回对象:CCreditAccountDetail

strAccountType'CREDIT'strDatatype'ACCOUNT' 时,返回的列表内包含的是 CCreditAccountDetail(信用账号对象)。该对象包含以下核心两融属性:

  • m_dAvailable: 可用金额
  • m_dEnableBailBalance: 可用保证金
  • m_dAssureEnbuyBalance: 可买担保品资金
  • m_dFinEnbuyBalance: 可买标的券资金
  • m_dTotalDebit: 总负债
  • m_dPerAssurescaleValue: 个人维持担保比例(维保比例)

2. Python 示例代码

以下是一个完整的 QMT 策略示例,展示了如何在 handlebar 中实时获取并打印信用账户的可用保证金、可买担保品资金以及维持担保比例:

#coding:gbk

def init(ContextInfo):
    # 设定您的信用账号
    ContextInfo.accid = '您的信用资金账号'
    ContextInfo.set_account(ContextInfo.accid)

def handlebar(ContextInfo):
    # 仅在最后一根 K 线(或盘中实时 tick)执行查询,避免历史回测时频繁输出
    if not ContextInfo.is_last_bar():
        return
        
    # 获取信用账户明细
    credit_acct_list = get_trade_detail_data(ContextInfo.accid, 'CREDIT', 'ACCOUNT')
    
    if not credit_acct_list:
        print("未能获取到信用账户数据,请检查账号是否登录成功!")
        return
        
    for acct in credit_acct_list:
        print("=== 信用账户资产实时数据 ===")
        print(f"资金账号: {acct.m_strAccountID}")
        print(f"可用金额: {acct.m_dAvailable:.2f} 元")
        print(f"可用保证金: {acct.m_dEnableBailBalance:.2f} 元")
        print(f"可买担保品资金: {acct.m_dAssureEnbuyBalance:.2f} 元")
        print(f"可买标的券资金: {acct.m_dFinEnbuyBalance:.2f} 元")
        print(f"总负债: {acct.m_dTotalDebit:.2f} 元")
        print(f"维持担保比例: {acct.m_dPerAssurescaleValue * 100:.2f}%")
        print("============================")

3. 注意事项

  1. 账号绑定:必须在 init 函数中调用 ContextInfo.set_account() 绑定对应的信用账号,否则可能无法正常接收交易主推或查询数据。
  2. 实盘与模拟:此查询函数在实盘/模拟运行模式下生效,回测模式下无法获取真实的柜台两融授信与负债数据。
  3. 风控提示:在编写自动化交易策略时,建议在下单前读取 m_dPerAssurescaleValue(维持担保比例),若低于安全阈值(如 150%),应暂停买入开仓,以防触发强制平仓风控。