Skip to content

perp 回测接逐根真实历史 funding rate(替代常数) #115

Description

@mirror29

背景

perp 回测的资金费(funding)目前用常数费率:BacktestRequest.funding_rate 一个数,每结算时点(默认 8h)按 qty_signed × mark × rate 计提进 cash。而 live runner 按结算点拉真实 funding(DataClient.get_perp_funding → data /perp/funding)。

现状

  • 回测常数 funding:services/paper/src/inalpha_paper/engine/backtest.py(self._funding_rate)
  • live 真实 funding:services/paper/src/inalpha_paper/live_runner.py(_accrue_perp_funding 拉真 rate)
  • data 已有 connector:services/data/src/inalpha_data/connectors/binance.py fetch_perp_funding_rate(当前只拉当前rate,无历史序列)

问题

回测 funding ≠ 实盘 funding → "回测==实盘 同账务"在 funding 这一项有保真度差距。费率持续偏离 0 时,回测会系统性高估 / 低估做空(或多头)收益。短周期 / 低费率影响小;长持仓做空 + 高费率时显著。

期望

  • data 加历史 funding 序列拉取(Binance fundingRate history 端点)+ 落库
  • 回测按 bar 时间查对应区间的真实 rate 计提(替代常数),与 PIT 口径一致
  • 保留常数 funding 作快速迭代的可选项(默认走真实历史)

影响范围

仅 perp 回测的收益估计精度;不影响 spot、不影响 live(live 本就拉真实)。

相关 PR:#113(perp v1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions