🚀 AI 一键生成 joinquant 策略代码

JoinQuant 回测设置:通过 set_option 调整融资融券利息率

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

问题描述

回测中如何修改融资融券的利息率?

解决方案

在聚宽(JoinQuant)的回测环境中,修改融资融券的利息率需要使用 set_option 函数。这些设置通常在 initialize 函数中进行配置。

以下是具体的修改方法和代码示例:

修改融资融券利息率的方法

您可以通过以下两个选项来分别设置融资利率和融券利率:

  1. 融资利率 (Financing Interest Rate): 使用 margincash_interest_rate 参数。
  2. 融券利率 (Securities Lending Interest Rate): 使用 marginsec_interest_rate 参数。

代码示例

请将以下代码添加至您的策略代码中的 initialize(context) 函数内:

def initialize(context):
    # 设定融资利率
    # value 为 float 类型,例如 0.08 代表年化利率 8%
    # 系统默认值为 0.08 (8%)
    set_option('margincash_interest_rate', 0.06) 
    
    # 设定融券利率
    # value 为 float 类型,例如 0.10 代表年化利率 10%
    # 系统默认值为 0.10 (10%)
    set_option('marginsec_interest_rate', 0.08)
    
    # 注意:要进行融资融券交易,还需要在 initialize 中初始化融资融券账户
    # 获取初始资金
    init_cash = context.portfolio.starting_cash
    # 设定账户类型为 'stock_margin'
    set_subportfolios([SubPortfolioConfig(cash=init_cash, type='stock_margin')])

参数说明

  • set_option('margincash_interest_rate', value):

    • 含义: 设置向券商借钱买股(融资)的年化利率。
    • 参数: value 是一个浮点数。例如 0.08 表示 8%。
    • 默认值: 8%。
  • set_option('marginsec_interest_rate', value):

    • 含义: 设置向券商借股卖出(融券)的年化利率。
    • 参数: value 是一个浮点数。例如 0.10 表示 10%。
    • 默认值: 10%。

Q&A

Q: 融资融券的利息是如何扣除的?
A: 在聚宽的回测系统中,利息通常会在每日结算时计算并累计到负债中,或者在还款/还券时进行结算。具体的扣费逻辑遵循交易所和券商的一般规则,利息计算基于实际占用的资金或证券市值。

Q: 如果我不设置这两个参数,默认利率是多少?
A: 如果不调用 set_option 进行设置,系统默认的融资利率为 8% (0.08),默认的融券利率为 10% (0.10)。

Q: 修改利率后,之前的负债会按新利率计算吗?
A: set_option 设置的利率通常从设置生效之时起应用于后续的计息周期。在 initialize 中设置意味着整个回测期间都将使用该利率。

Q: 除了利率,还需要设置什么才能进行融资融券回测?
A: 除了设置利率,最重要的是必须在 initialize 中通过 set_subportfolios 将账户类型设置为 'stock_margin'(融资融券账户)。默认的账户类型是 'stock'(普通股票账户),不支持融资融券操作。