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

ptrade 融资融券进阶:如何区分普通头寸与专项头寸并查询融券源?

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

问题描述

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

Title: ptrade 两融进阶:普通头寸与专项头寸的融券源查询与下单

Question: 在 ptrade 中如何使用 get_enslo_security_info 区分普通头寸与专项头寸并查询可用融券数量?

解决方案

ptrade 融资融券进阶:普通头寸与专项头寸的融券源查询与下单操作指南\n\n在两融(融资融券)量化交易策略中,精准查询可用的融券源数量是实现对冲、套利和融券卖出策略的关键。ptrade 平台提供了 get_enslo_security_info 接口,允许开发者按头寸性质区分普通头寸和专项头寸,进而获取实时融券可用量。\n\n---\n\n## 一、核心接口说明\n\n### 1. 融券信息查询接口 get_enslo_security_info\n- 用法get_enslo_security_info(cash_group=None)\n- 参数:\n - cash_group (int, 可选):两融头寸性质。\n - 1:普通头寸(默认值)\n - 2:专项头寸\n- 返回值:返回字典(dict),Key 为股票代码,Value 为包含融券详细信息的字典:\n - enable_amount:可用数量(股)\n - slo_ratio:融券保证金比例\n - slo_status:融券状态("0": 正常, "1": 暂停, "2": 作废)\n - cashgroup_prop:头寸性质("1": 普通, "2": 专项)\n\n### 2. 融券卖出下单接口 marginsec_open\n- 用法marginsec_open(security, amount, limit_price=None)\n- 参数:\n - security (str):股票代码,如 '600030.SS'\n - amount (int):融券卖出数量(正整数)\n - limit_price (float, 可选):限价价格,若不传则默认取最新价\n\n---\n\n## 二、策略实现代码示例\n\n以下示例展示如何在 ptrade 中分别查询普通头寸和专项头寸的融券可用量,并在满足条件时自动执行融券卖出下单:\n\npython\ndef initialize(context):\n # 设置操作标的(例如中信证券)\n g.security = '600030.SS'\n set_universe(g.security)\n\ndef handle_data(context, data):\n security = g.security\n \n # 1. 查询普通头寸的融券源信息\n normal_info = get_enslo_security_info(cash_group=1)\n # 2. 查询专项头寸的融券源信息\n special_info = get_enslo_security_info(cash_group=2)\n \n normal_enable = 0\n special_enable = 0\n \n if normal_info and security in normal_info:\n normal_enable = normal_info[security].get('enable_amount', 0)\n log.info("%s 普通头寸可用融券量: %s" % (security, normal_enable))\n \n if special_info and security in special_info:\n special_enable = special_info[security].get('enable_amount', 0)\n log.info("%s 专项头寸可用融券量: %s" % (security, special_enable))\n \n # 3. 交易逻辑:优先使用普通头寸融券源卖出 100 股\n if normal_enable >= 100:\n order_id = marginsec_open(security, 100)\n log.info("发起普通头寸融券卖出,订单号: %s" % order_id)\n elif special_enable >= 100:\n order_id = marginsec_open(security, 100)\n log.info("普通头寸不足,发起专项头寸融券卖出,订单号: %s" % order_id)\n else:\n log.info("可用融券源数量不足,无法下单")\n\n\n---\n\n## 三、注意事项与实践建议\n\n1. 运行模块限制get_enslo_security_infomarginsec_open 仅在 两融实盘/模拟交易模块 可用,回测模块暂不支持。\n2. 最小交易单位:融券卖出委托数量必须为 100 股的整倍数。\n3. 头寸优先规则:券商在柜台端通常有默认的融券扣减顺序,策略编写时建议提前与券商确认普通头寸和专项头寸的费率差异及分配优先级。"