🚀 AI 一键生成 joinquant 策略代码

JoinQuant 模拟交易如何设置融资利率和融券保证金比率?

joinquant | 发布时间: 2025/12/30
以下内容由 EasyQuant 生成。

问题描述

模拟交易中能修改融资利率吗?怎么设置?

解决方案

JoinQuant模拟交易设置融资利率方法

在聚宽(JoinQuant)的模拟交易中,可以修改融资利率。您可以通过 set_option 函数来设定具体的融资利率数值。

设置方法

使用 set_option('margincash_interest_rate', value) 函数进行设置。

  • 参数说明
    • 第一个参数固定为 'margincash_interest_rate'
    • value:融资利率的值,格式为浮点数。例如 0.08 代表年化 8%。
  • 默认值:如果不设置,系统默认融资利率为 8%
  • 代码位置:通常建议在 initialize(context) 函数中进行设置。

代码示例

假设您希望将融资利率设置为年化 6%,代码如下:

# -*- coding: utf-8 -*-
def initialize(context):
    # 设定融资利率: 年化 6%
    set_option('margincash_interest_rate', 0.06)
    
    # 其他初始化代码...
    # 设定账户为融资融券账户(必须步骤,否则无法进行融资融券交易)
    set_subportfolios([SubPortfolioConfig(cash=context.portfolio.starting_cash, type='stock_margin')])

相关融资融券设置

除了融资利率,您可能还需要设置融券利率或保证金比率,相关API如下:

  1. 设置融券利率 (默认 10%):
    set_option('marginsec_interest_rate', 0.10)
    
  2. 设置融资保证金比率 (默认 100%):
    set_option('margincash_margin_rate', 1.0)
    
  3. 设置融券保证金比率 (默认 100%):
    set_option('marginsec_margin_rate', 1.0)
    

Q&A

Q: 融资利率设置后是立即生效吗?
A: 是的,在策略运行到 set_option 代码行时即刻生效。如果在模拟交易运行中途修改代码,建议在 after_code_changed(context) 中也添加该设置,或者重启模拟交易以确保配置更新。

Q: 融资利息是如何计算和扣除的?
A: 融资利息通常按日累计,并在交易或结算时根据负债金额和设定的年化利率进行计算。系统会自动处理利息的扣除,体现在账户的总资产和负债中。

Q: 如果我不设置 type='stock_margin',设置融资利率有效吗?
A: 无效。必须通过 set_subportfolios 将账户类型设置为 'stock_margin' (融资融券账户),才能进行融资融券交易,此时融资利率的设置才有实际意义。默认账户类型通常为 'stock' (普通股票账户)。