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

JoinQuant 平台如何为特定期货合约(如螺纹钢或黄金)单独设置保证金比例?

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

问题描述

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

Title: joinquant 期货风控:set_option 设置单品种合约保证金比例

Question: 在 joinquant 中如何为特定的期货合约(如螺纹钢或黄金)单独设置保证金比例?

解决方案

JoinQuant 期货风控:使用 set_option 设置单品种合约保证金比例

在 JoinQuant(聚宽)量化交易平台中,进行期货策略开发和风险控制时,合理设置保证金比例至关重要。聚宽提供了 set_option API,允许开发者灵活地为全局期货、特定期货品种以及特定期货合约设定不同的保证金比例。


1. 设置保证金比例的核心 API

在聚宽策略中,使用 set_option('futures_margin_rate', value) 及其扩展语法来调整保证金比例。

API 语法与格式

  • 全局所有期货set_option('futures_margin_rate', value)
  • 特定期货品种(如黄金 AU、股指 IF)set_option('futures_margin_rate.品种代码', value)
  • 特定具体合约(如 AU1709)set_option('futures_margin_rate.具体合约代码', value)

注意:valuefloat 类型,例如 0.1 代表 10% 的保证金比例。


2. 代码示例

可以在策略的 initialize(context) 函数中进行如下设置:

def initialize(context):
    # 设定账户为期货账户
    set_subportfolios([SubPortfolioConfig(cash=context.portfolio.starting_cash, type='futures')])
    
    # 1. 设定所有期货的默认保证金比例为 10%
    set_option('futures_margin_rate', 0.10)
    
    # 2. 单独设定股指期货(IF)品种的保证金比例为 15%
    set_option('futures_margin_rate.IF', 0.15)
    
    # 3. 单独设定黄金(AU)品种所有合约的保证金比例为 9%
    set_option('futures_margin_rate.AU', 0.09)
    
    # 4. 单独设定特定合约 AU1709 的保证金比例为 8%
    set_option('futures_margin_rate.AU1709', 0.08)

3. 保证金扣除与单边保证金机制规则

  1. 单边保证金机制:除中金所股指期货外,其他商品期货品种采用合约单边保证金机制,即对于同一个合约的双向持仓,系统仅收取持仓占用保证金较多的一边的保证金。
  2. 中金所跨品种单边保证金:对于中金所的所有股指期货标的,系统只收取双向持仓中保证金要求更大的那一边的保证金。
  3. 默认保证金率:如果不手动调用 set_option 设置,股指期货默认保证金比例为 0.15 (15%);商品期货各品种(如 RB、AU、CU 等)按平台内置的默认比例(如 RB 为 5%,AU 为 4%)执行。

4. 配合风控函数使用

在交易过程中,可以随时检查子账户的保证金是否低于预警线,以防强平风险:

# 检查子账户 0 的保证金是否低于 20%
is_warning = context.subportfolios[0].is_dangerous(0.2)
if is_warning:
    log.warn("当前保证金率低于 20%,注意平仓风控!")