拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何在 Freqtrade 策略中获取并使用历史资金费率(funding_rate)数据?

如何在 Freqtrade 策略中获取并使用历史资金费率funding_rate数据【免费下载链接】freqtradeFree, open source crypto trading bot项目地址: https://gitcode.com/GitHub_Trending/fr/freqtrade如果你写的是 Freqtrade 期货futures策略想让策略能读取历史资金费率——比如把当前费率写入指标列、根据费率符号或大小过滤入场信号——就需要两件事本地已下载funding_rate类型的数据以及在策略代码中用正确的方式把它合并进主 dataframe。本文覆盖这条完整路径下载数据 → 在populate_indicators中获取 → 按日期合并使用并说明 2025.12 / 2026.8 两个版本对时间框架和存储格式的改动。前提条件交易对象是期货合约pair 格式为base/quote:settle如BTC/USDT:USDT使用freqtrade download-data下载过数据或准备按本文下载。第一步下载 funding_rate 历史数据在 futures 模式下freqtrade download-data会自动下载策略必需的蜡烛类型futures、funding_rate和mark不需要额外指定。如果想只下载资金费率数据例如修复或补数据需要显式传入--candle-typesfreqtrade download-data --exchange binance --pairs BTC/USDT:USDT \ --trading-mode futures --candle-types funding_rate \ --days 30要点说明资金费率始终按交易所自身的费率时间框架下载不走--timeframes参数从 2025.12 版本起所有受支持的期货交易所统一为 1h通常此前是 8h。下载后的资金费率数据只有date和funding_rate两列2026.8 起生效的存储格式每个 funding 事件一行通常每 1h、4h 或 8h 一行而不是每根蜡烛一行。旧版本下载的数据读取时会透明识别并在下次存储时自动改写为新格式无需手动迁移。下载完成后用list-data确认数据是否到位freqtrade list-data --exchange binance --show第二步在策略中获取历史资金费率推荐通过DataProvider.get_pair_dataframe()获取并传入candle_typefunding_rate不传candle_type时会解析为交易模式的默认蜡烛类型futures 模式下是futures蜡烛而非资金费率from freqtrade.strategy import merge_informative_pair def populate_indicators(self, dataframe: DataFrame, metadata: dict) - DataFrame: funding_rates self.dp.get_pair_dataframe( pairmetadata[pair], timeframe1h, candle_typefunding_rate ) # Adds the column as funding_rate_1h, forward-filled between funding events. dataframe merge_informative_pair( dataframe, funding_rates, self.timeframe, 1h, ffillTrue ) return dataframe合并后主 dataframe 中新增funding_rate_1h列可以直接用于指标计算或信号条件。文档明确警告资金费率 dataframe不按日期合并就会得到错误结果——直接做列赋值会按行位置对齐而资金费率一行对应一个 funding 事件不是对应一根蜡烛结果会是错位或大量NaN。因此务必用merge_informative_pair这类按日期对齐的合并方式。关于ffill参数ffillTrue默认两次 funding 事件之间的蜡烛沿用上一个费率值ffillFalse保留无 funding 事件的时间戳为空。如果你要对资金费率做跨更长周期的聚合比如求和、求均值文档指出必须使用ffillFalse否则前向填充的值会被重复计入。替代方式informative 装饰器同样的合并可以用informative装饰器一行完成合并逻辑由框架处理from freqtrade.strategy import informative informative(1h, candle_typefunding_rate) def populate_indicators_funding_1h(self, dataframe: DataFrame, metadata: dict) - DataFrame: return dataframe装饰器中candle_type支持funding_rate取值文档同时说明 funding_rate 蜡烛只含funding_rate列其它 OHLCV 列不存在不要试图访问它们。版本相关的两个必查点2025.12时间框架改为 1h2025.12 起 mark 与 funding_rate 的时间框架对所有受支持的期货交易所改为 1h。如果你的旧策略里写的是informative(8h, candle_typefunding_rate) # 或 dp.get_pair_dataframe(metadata[pair], 8h, candle_typefunding_rate)需要把时间框架改成 1h。freqtrade 会对错误的时间框架自动调整并返回数据但会发出警告文档提示策略仍可能因此出错。已下载的旧数据需要按 1h 重下。文档给出的示例注意其中包含删除命令执行前确认路径# Cleanup no longer needed data会删除该交易所 futures 数据目录下的 mark 与 funding_rate 文件 rm user_data/data/exchange/futures/*-mark* rm user_data/data/exchange/futures/*-funding_rate* # download new data (only required once to fix the mark and funding fee data) freqtrade download-data -t 1h --trading-mode futures --candle-types funding_rate mark \ --timerange full timerange youve got other data for其中exchange替换为你的交易所名如binance--timerange替换为你已有其它数据覆盖的完整区间user_data非默认位置时还需附加--userdir或-c等参数。重下后用freqtrade list-data --exchange yourexchange --show验证 funding_rate 数据已变为 1h 时间框架。Hyperliquid 是例外它不再需要 1h mark 数据改用普通蜡烛且不支持download-data无需任何操作。2026.8open列弃用旧代码习惯从open列读取费率历史上费率被当作普通蜡烛存放。2026.8 起存储格式改为datefunding_ratehigh、low、close、volume列不再存在open仅作为弃用别名保留并将在未来版本移除——请把策略中读取open的地方切换到funding_rate列。注意区分dp.funding_rate(pair)是实时数据不是历史数据DataProvider上还有一个同名方法self.dp.funding_rate(pair)它返回当前资金费率结构含fundingRate、fundingTimestamp、fundingDatetime等字段且只在live/dry_run模式下可用if self.dp.runmode.value in (live, dry_run): funding_rate self.dp.funding_rate(metadata[pair]) dataframe[current_funding_rate] funding_rate[fundingRate]文档明确警告当前费率不属于历史数据在回测/hyperopt 中使用它只会拿到最新值结果不正确而且实际返回的字段因交易所而异跨交易所使用需自行校验。因此回测场景一律使用上文的历史数据路径candle_typefunding_rate实时方法只适合在 live/dry-run 中读取最新费率快照。如何确认一切正常freqtrade list-data --show中能看到对应 pair 的funding_rate数据及其时间范围策略中合并后主 dataframe 存在funding_rate_1h列列名格式为{column}_{timeframe}回测能正常跑完且信号逻辑读到的费率与交易所历史费率一致文档不提供固定的数值判定以回测结果无NaN异常、无 timeframe 警告为判断依据。延伸阅读历史数据的下载细节见 docs/data-download.mdmerge_informative_pair与 DataProvider 的完整说明见 docs/strategy-customization.md版本改动与数据修复流程见 docs/deprecated.md。【免费下载链接】freqtradeFree, open source crypto trading bot项目地址: https://gitcode.com/GitHub_Trending/fr/freqtrade创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门