Freqtrade 是一个基于 Python 的开源加密货币量化交易机器人框架,采用 GPL-3.0 许可证,核心提供“数据下载 → 策略开发 → 回测 → 参数优化 → 模拟/实盘交易”完整闭环。
项目概况
Freqtrade 诞生于 2017 年,由欧洲社区长期维护。截至 2026 年 7 月,GitHub Stars 已超过 5.2 万,代码提交超过 3.2 万次,是加密量化社区最活跃的开源框架之一。
核心能力
| 模块 | 说明 |
|---|---|
| 策略开发 | 用 Python 类编写策略,支持 pandas / TA-Lib 计算指标 |
| 回测引擎 | 高性能本地回测,内置 lookahead-analysis 检测未来数据泄漏 |
| 参数优化 | Hyperopt 模块,基于 Optuna/scikit-optimize 做贝叶斯超参数搜索 |
| FreqAI | 集成 LightGBM、XGBoost、CatBoost、PyTorch 及强化学习,支持滚动重训练 |
| 交易所支持 | 通过 CCXT 接入 Binance、OKX、Bybit、Kraken 等 12+ 家现货及 6 家合约交易所 |
| 风控管理 | 止损、追踪止损、止盈、最大持仓、动态仓位、白名单/黑名单 |
| 运行模式 | Backtesting(回测)、Dry-run(模拟盘)、Live(实盘) |
| 监控管理 | 内置 WebUI、Telegram 机器人、REST API、Prometheus + Grafana |
| 数据存储 | SQLite 持久化交易记录,feather/parquet 格式存储历史行情 |
五层架构
- 数据层:通过 CCXT 统一获取 OHLCV 和逐笔成交数据
- 策略层:用户编写 Python 策略类,定义入场/出场信号
- 执行层:管理订单生命周期、撮合、风控
- 优化层:回测引擎 + Hyperopt 参数搜索
- 控制层:WebUI、Telegram、REST API 与外部交互
同一份策略代码可在回测、模拟、实盘三种模式下复用。
快速上手
推荐 Docker 部署:
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
docker compose run --rm freqtrade create-userdir --userdir user_data编写策略示例(Python 类):
class MyStrategy(IStrategy):
def populate_indicators(self, dataframe, metadata):
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
def populate_entry_trend(self, dataframe, metadata):
dataframe.loc[dataframe['rsi'] < 30, 'enter_long'] = 1
return dataframe
def populate_exit_trend(self, dataframe, metadata):
dataframe.loc[dataframe['rsi'] > 70, 'exit_long'] = 1
return dataframe运行回测:
freqtrade backtesting --strategy MyStrategy --timerange 20240101-20260101启动模拟盘:
freqtrade trade --strategy MyStrategy --config user_data/config.json与同类项目对比
| 项目 | 主战场 | 策略方式 |
|---|---|---|
| Freqtrade | 加密货币 CEX | 自己写 Python 策略,回测/Hyperopt 极强 |
| Hummingbot | 加密做市/套利 | 配置内置模板,连接器生态全 |
| VeighNa | A股/期货/期权 | CTA/价差/算法交易,国内生态丰富 |
| NautilusTrader | 多资产 | Rust 高性能引擎,事件驱动 |
局限与风险
- 仅支持加密货币,不支持 A 股、期货等传统市场
- 不是黑箱赚钱工具,回测漂亮不等于实盘盈利,过拟合风险很高
- Hyperopt 容易过拟合,必须留样本外数据验证
- 需要 Python 基础,完全零基础上手有门槛
- 实盘前必须跑 Dry-run,官方文档首页就强调"不要拿输不起的钱冒险"
适合谁
- 有 Python 基础、想在加密市场做量化交易的人
- 需要完整"研究 → 回测 → 优化 → 实盘"工作流的开发者
- 想尝试机器学习策略(FreqAI)但不想从零搭建基础设施的人
- 需要自托管、完全掌控代码和数据的交易者