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

ptrade 期货回测中如何使用 get_margin_rate 获取品种保证金比例?

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

问题描述

ptrade 期货回测教程:如何获取品种的保证金比例?
在ptrade期货回测中,如何使用get_margin_rate函数获取特定品种的保证金比例?

解决方案

在 ptrade 期货回测中,获取品种的保证金比例对于资金管理和风险控制至关重要。您可以使用 get_margin_rate(transaction_code) 函数来获取用户设置或交易所默认的保证金比例。

1. 接口说明

  • 接口名称get_margin_rate(transaction_code)
  • 使用场景:仅在回测模块可用。
  • 参数
    • transaction_code (str):期货合约的交易代码(不带具体月份和后缀)。例如,沪铜 2112 (CU2112.XSGE) 的交易代码为 "CU",苹果期货的交易代码为 "AP"
  • 返回值
    • 返回一个 float 浮点型数据,表示该品种的保证金比例(如 0.08 表示 8%)。

2. 核心示例代码

以下是一个完整的策略示例,展示了如何设置特定品种的保证金比例,并在 before_trading_start 盘前阶段获取并打印该比例:

def initialize(context):
    # 设置我们要操作的期货合约(例如沪铜2112)
    g.security = "CU2112.XSGE"
    set_universe(g.security)
    
    # 主动设置沪铜品种(CU)的保证金比例为 8%
    set_margin_rate("CU", 0.08)

def before_trading_start(context, data):
    # 获取沪铜品种(CU)的保证金比例
    cu_margin_rate = get_margin_rate("CU")
    log.info("沪铜品种的当前保证金比例为: %s" % cu_margin_rate)
    
    # 获取未主动设置的苹果品种(AP)的保证金比例(将返回交易所默认比例)
    ap_margin_rate = get_margin_rate("AP")
    log.info("苹果品种的默认保证金比例为: %s" % ap_margin_rate)

def handle_data(context, data):
    pass

3. 注意事项

  1. 交易代码格式:传入 get_margin_rate 的参数是交易代码(如 "CU""IF"),而不是具体的合约代码(如 "CU2112.XSGE")。
  2. 回测限制:该函数目前仅在回测环境有效,用于模拟真实的杠杆交易环境。在编写策略时,建议配合 set_margin_rate 共同使用,以确保回测结果的准确性。