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

joinquant 平台中股指期货与商品期货的保证金计算及扣减规则详解

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

问题描述

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

Title: joinquant 期货保证金机制:中金所与商品期货保证金计算规则

Question: joinquant 中股指期货和商品期货的保证金是如何计算和扣减的?

解决方案

joinquant 平台中股指期货与商品期货的保证金计算及扣减规则详解

在 JoinQuant(聚宽)量化交易平台进行期货策略回测与模拟交易时,准确理解保证金的计算、扣减及单边优惠机制是资金管理与风险控制的关键。


一、期货保证金基础公式与账户设置

在聚宽平台中,标的持仓保证金的计算公式为:

$$\text{保证金} = \text{最新价} \times \text{持仓手数} \times \text{合约乘数} \times \text{保证金比例}$$

1. 账户初始化设置

进行期货交易前,必须在 initialize 中将子账户类型指定为 'futures'

def initialize(context):
    init_cash = context.portfolio.starting_cash
    # 设定子账户类型为期货
    set_subportfolios([SubPortfolioConfig(cash=init_cash, type='futures')])

2. 设置与调整保证金比例 API

使用 set_option('futures_margin_rate', value) 可自定义保证金比例:

# 设置所有期货统一保证金比例为 10%
set_option('futures_margin_rate', 0.1)

# 单独设置股指期货 IF 品种保证金比例为 15%
set_option('futures_margin_rate.IF', 0.15)

# 单独设置具体合约 AU1709 保证金比例为 8%
set_option('futures_margin_rate.AU1709', 0.08)

说明:如果不显式设置,股指期货默认保证金比例为 0.15;商品期货按品种各有默认值(如 RB 为 0.05,CU 为 0.05 等)。


二、中金所(股指期货) vs 商品期货 保证金扣减规则

聚宽回测引擎针对不同交易所的单边保证金机制(One-sided Margin)处理逻辑如下:

1. 商品期货单边保证金机制

除中金所外(上期所、大商所、郑商所等),商品期货实行合约单边保证金机制

  • 对于同一合约的双向持仓(同时持有多单和空单),系统仅按保证金较大的那一边进行收取和占用。
  • 示例:同时持有螺纹钢 RB2405 多单 5 手(计算需保证金 15,000 元)和空单 3 手(计算需保证金 9,000 元),账户实际占用的保证金为 15,000 元

2. 中金所(股指期货)跨品种单边保证金机制

中金所(CCFX)实行跨品种单边保证金机制

  • 对于所有中金所股指期货标的(如 IF、IH、IC、IM),系统汇总所有多头持仓保证金与空头持仓保证金,仅收取双向总持仓中较大的一边

三、动态复权与每日结算对保证金的影响

  1. 保证金实时更新:在交易运行过程中,context.subportfolios[i].margin 会随着持仓标的的最新价变化实时更新,计算公式中的价格取当前最新价。
  2. 每日结算机制:每日 16:00 盘后结算时,系统使用当天结算价对期货持仓进行结算和更新保证金占用。
  3. 保证金预警与强平
    • 可通过 context.subportfolios[i].is_dangerous(margin_rate) 查询仓位保证金是否低于安全线。
    • 当账户权益不足以支撑保证金需求时,会触发强制平仓。平仓顺序优先平掉相对于开仓均价亏损最多的持仓。
    • 持仓至合约最后交割日未手动平仓的,系统自动以当天结算价平仓,不收取手续费。