3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)量化交易平台进行期货策略回测与模拟交易时,准确理解保证金的计算、扣减及单边优惠机制是资金管理与风险控制的关键。
在聚宽平台中,标的持仓保证金的计算公式为:
$$\text{保证金} = \text{最新价} \times \text{持仓手数} \times \text{合约乘数} \times \text{保证金比例}$$
进行期货交易前,必须在 initialize 中将子账户类型指定为 'futures':
def initialize(context):
init_cash = context.portfolio.starting_cash
# 设定子账户类型为期货
set_subportfolios([SubPortfolioConfig(cash=init_cash, type='futures')])
使用 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 等)。
聚宽回测引擎针对不同交易所的单边保证金机制(One-sided Margin)处理逻辑如下:
除中金所外(上期所、大商所、郑商所等),商品期货实行合约单边保证金机制:
中金所(CCFX)实行跨品种单边保证金机制:
context.subportfolios[i].margin 会随着持仓标的的最新价变化实时更新,计算公式中的价格取当前最新价。context.subportfolios[i].is_dangerous(margin_rate) 查询仓位保证金是否低于安全线。