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

ptrade 平台如何查询股票的最大可融券卖出数量?(附两融 API 示例)

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

问题描述

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

Title: ptrade 两融 API 教程:查询标的最大可融券卖出数量

Question: ptrade 如何查询某只股票的最大可融券卖出数量?

解决方案

ptrade 查询股票最大可融券卖出数量指南

在 ptrade 量化交易平台中,若需要查询两融(融资融券)账户中某只股票当前支持的最大可融券卖出数量,可以使用专属的两融查询接口 get_marginsec_open_amount


1. 接口 API 说明

  • 函数签名get_marginsec_open_amount(security, price=None)
  • 使用场景:仅支持 PTrade 客户端可用,且仅在两融交易模块可用。
  • 参数说明
    • security (str):股票代码,例如 '600030.SS'
    • price (float, 可选):限定价格。若传入价格,则按指定价格计算最大可卖数量;若不传,则按当前市场价格计算。
  • 返回值
    • 正常返回 dict 类型对象,key 为股票代码,value 为最大可融券卖出数量(int)。
    • 查询异常或无权限时返回空字典 {}None

2. Python 代码示例

以下是在 handle_data 盘中事件中查询融券卖出最大数量并打印的完整示例:

def initialize(context):
    # 设置目标标的(例如中信证券)
    g.security = '600030.SS'
    set_universe(g.security)

def handle_data(context, data):
    security = g.security
    
    # 查询中信证券当前最大可融券卖出数量
    marginsec_open_dict = get_marginsec_open_amount(security)
    
    if marginsec_open_dict:
        max_amount = marginsec_open_dict.get(security, 0)
        log.info(f"{security} 当前最大可融券卖出数量为: {max_amount}")
        
        # 逻辑判断:若可融券数量大于0,可执行融券卖出
        if max_amount > 0:
            # marginsec_open(security, 100) # 示例:融券卖出100股
            pass
    else:
        log.warning("获取融券最大可卖数量失败或当前标的不支持融券")

3. 注意事项

  1. 两融交易环境限制:该接口只能在两融实盘或模拟盘交易模块中调用,普通股票账户或回测模块下调用会报错或返回空数据。
  2. 标的资格确认:调用前可结合 get_marginsec_stocks() 接口先确认目标股票是否在交易所公布的融券标的列表中。
  3. 限价下下单:实际进行融券卖出下单(调用 marginsec_open)时,若不传限价和委托类型,系统默认以最新价格进行委托。