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

ptrade 信用两融账户如何获取可用融券额度与负债总额?(附 Python 源码)

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

问题描述

请根据以下 SEO 主题生成完整页面内容:

Title: ptrade 两融策略精算:利用 get_margin_assert 实时监控信用资产负债

Question: ptrade信用两融账户怎么获取当前可用的融券额度和负债总额?

解决方案

在 ptrade 量化交易平台中,针对融资融券(两融)业务,实时监控信用账户的资产与负债状况是防范爆仓风险、精细化资金管理的核心。要获取当前账户的可用融券额度负债总额,可以使用 ptrade 提供的专用信用资产查询接口 get_margin_assert()

一、接口介绍:get_margin_assert

get_margin_assert() 接口专门用于查询信用账户的资产信息。该函数无需传入参数,调用成功后会返回一个包含所有信用资产及负债明细的字典(dict)。

其中,您最关心的两个字段为:

  • total_debit:负债总额(单位:元,float 类型)
  • slo_enable_quota:融券可用额度(单位:元,float 类型)

此外,该接口还返回以下重要字段:

  • assure_asset:担保资产
  • enable_bail_balance:可用保证金
  • fin_enable_quota:融资可用额度
  • fin_compact_balance:融资合约金额

二、Python 核心代码示例

以下是一个完整的 ptrade 策略示例,展示了如何在盘中交易时间(handle_data)实时获取并打印当前的负债总额与可用融券额度:

def initialize(context):
    # 初始化策略,设置标的股票池
    g.security = '600570.SS'  # 恒生电子
    set_universe(g.security)

def handle_data(context, data):
    # 获取信用账户资产信息
    margin_assert = get_margin_assert()
    
    if margin_assert:
        # 提取负债总额
        total_debit = margin_assert.get('total_debit', 0.0)
        # 提取可用融券额度
        slo_enable_quota = margin_assert.get('slo_enable_quota', 0.0)
        # 提取可用保证金(可选)
        enable_bail_balance = margin_assert.get('enable_bail_balance', 0.0)
        
        # 打印日志信息
        log.info("====== 信用账户资产监控 ======")
        log.info("当前账户负债总额: %.2f 元" % total_debit)
        log.info("当前可用融券额度: %.2f 元" % slo_enable_quota)
        log.info("当前可用保证金: %.2f 元" % enable_bail_balance)
        log.info("============================")
        
        # 策略逻辑:例如当可用融券额度充足且满足技术指标时,执行融券卖出
        # if slo_enable_quota > 100000:
        #     marginsec_open('600030.SS', 100) # 融券卖出中信证券
    else:
        log.error("获取信用资产信息失败,请检查是否为两融实盘/模拟盘环境。")

三、注意事项

  1. 运行环境限制get_margin_assert 接口仅支持 PTrade 客户端,且必须在两融交易模块(信用账户环境)下调用。在普通股票账户或回测环境中调用此接口将无法获取正确数据。
  2. 数据更新频率:该接口返回的是柜台实时的信用资产数据,建议在需要进行下单决策前调用,以确保获取到最新的额度信息,避免因额度不足导致委托失败。