3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 期货回测中,获取品种的保证金比例对于资金管理和风险控制至关重要。您可以使用 get_margin_rate(transaction_code) 函数来获取用户设置或交易所默认的保证金比例。
get_margin_rate(transaction_code)transaction_code (str):期货合约的交易代码(不带具体月份和后缀)。例如,沪铜 2112 (CU2112.XSGE) 的交易代码为 "CU",苹果期货的交易代码为 "AP"。float 浮点型数据,表示该品种的保证金比例(如 0.08 表示 8%)。以下是一个完整的策略示例,展示了如何设置特定品种的保证金比例,并在 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
get_margin_rate 的参数是交易代码(如 "CU"、"IF"),而不是具体的合约代码(如 "CU2112.XSGE")。set_margin_rate 共同使用,以确保回测结果的准确性。