3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在聚宽(JoinQuant)的回测环境中,修改融资融券的利息率需要使用 set_option 函数。这些设置通常在 initialize 函数中进行配置。
以下是具体的修改方法和代码示例:
您可以通过以下两个选项来分别设置融资利率和融券利率:
margincash_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%。set_option('marginsec_interest_rate', value):
value 是一个浮点数。例如 0.10 表示 10%。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'(普通股票账户),不支持融资融券操作。