项目概述
Freqtrade是一个功能强大的开源加密货币交易机器人,为专业交易者和量化投资者提供完整的自动化交易解决方案
核心特性
强大的功能集合,满足专业交易者的各种需求
多交易所支持
支持10+主流交易所:Binance、Bybit、OKX、Gate.io、Kraken、HTX等, 包括现货和期货交易。基于CCXT库实现统一API接口,支持实时数据和历史数据下载。
期货交易所: Binance Futures, Gate.io Futures, OKX Futures, Bybit Futures
去中心化: Hyperliquid DEX
高级回测系统
基于真实历史数据的精确回测,支持多种订单类型、滑点模拟、手续费计算, 提供详细的性能分析报告和可视化图表。
分析工具: 收益曲线、回撤分析、夏普比率
数据支持: 1分钟到1月的多时间框架
FreqAI机器学习
革命性的AI驱动交易系统,支持自适应模型训练、特征工程、在线学习, 让交易策略能够自动适应市场变化。
特征工程: 自动特征生成、降维、异常值检测
在线学习: 实时模型更新、自适应预测
全面风险管理
多层次风险控制体系,包括动态止损、仓位管理、资金保护、 干跑模式等功能,确保交易安全。
仓位控制: 最大开仓数、仓位调整、杠杆管理
资金管理: 凯利公式、固定比例、动态调整
多端控制界面
支持Telegram机器人、Web UI、REST API多种控制方式, 提供实时监控、远程操作、移动端管理等功能。
Web UI: 图形界面、数据可视化、策略管理
REST API: 程序化接口、第三方集成
专业分析工具
内置强大的分析工具套件,包括性能分析、风险评估、 策略优化、数据可视化等专业功能。
可视化: 收益曲线、K线图表、指标叠加
优化工具: 超参数优化、遗传算法、网格搜索
技术架构
基于Python构建的现代化交易机器人架构
Python 3.10+
基于现代Python版本,支持异步处理、类型注解和高性能计算
SQLAlchemy ORM
使用SQLAlchemy 2.0+进行数据持久化,支持SQLite和PostgreSQL
CCXT交易所库
统一的交易所API接口,支持100+交易所的标准化访问
Pandas + NumPy
高性能数据分析和数值计算,处理大规模历史数据
TA-Lib技术指标
150+技术分析指标,包括移动平均、RSI、MACD等经典指标
FreqAI机器学习
集成Scikit-learn、XGBoost、CatBoost等ML框架
Docker容器化
完整的容器化解决方案,支持多架构部署
异步架构
基于asyncio的高并发处理,支持WebSocket实时数据
核心模块架构
策略引擎 (Strategy Engine)
- IStrategy接口 - 标准化策略开发框架
- 技术指标计算 - 自动化指标生成和缓存
- 信号生成 - 入场/出场信号逻辑
- 风险管理 - 止损、止盈、仓位控制
交易执行引擎 (Trading Engine)
- 订单管理 - 限价单、市价单、止损单
- 仓位跟踪 - 实时仓位监控和调整
- 风险控制 - 资金管理和风险限制
- 交易所适配 - 多交易所统一接口
数据处理系统 (Data Pipeline)
- 实时数据流 - WebSocket数据接收
- 历史数据管理 - 自动下载和存储
- 数据清洗 - 异常值处理和标准化
- 多时间框架 - 支持1分钟到1月的时间框架
FreqAI机器学习
- 特征工程 - 自动化特征生成和选择
- 模型训练 - 支持分类和回归任务
- 在线学习 - 实时模型更新和适应
- 预测推理 - 高性能模型推理引擎
FreqAI - 革命性机器学习交易
将人工智能与量化交易完美结合,实现自适应智能交易策略
什么是FreqAI?
FreqAI是Freqtrade的机器学习模块,它能够自动学习市场模式,生成预测信号,并持续优化交易策略。通过先进的机器学习算法,FreqAI可以处理大量市场数据,识别复杂的非线性关系,为交易决策提供智能支持。
自动特征工程
自动生成10,000+技术特征,包括价格动量、波动率、相关性等多维度指标,无需手动设计特征。
多种ML模型
支持CatBoost、XGBoost、LightGBM、PyTorch等主流机器学习框架,可根据数据特性选择最优模型。
在线学习
模型可在实盘交易中持续学习和更新,自动适应市场变化,保持预测准确性。
智能预测
预测价格方向、波动率、最优入场时机等多种目标,为策略决策提供量化依据。
安装指南
选择适合您的安装方式
1. 使用Docker快速启动
# 下载并运行Freqtrade
docker run -d \
--name freqtrade \
-v ~/.freqtrade:/freqtrade/user_data \
freqtradeorg/freqtrade:stable trade \
--config user_data/config.json \
--strategy SampleStrategy
2. 创建配置文件
# 创建新配置
docker run --rm -v ~/.freqtrade:/freqtrade/user_data \
freqtradeorg/freqtrade:stable new-config \
--config user_data/config.json
1. 安装Python依赖
# 安装Freqtrade
pip install freqtrade[complete]
# 或者安装基础版本
pip install freqtrade
2. 创建用户目录
# 创建用户数据目录
freqtrade create-userdir --userdir user_data
# 生成配置文件
freqtrade new-config --config user_data/config.json
1. 克隆源码
# 克隆仓库
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
# 安装依赖
pip install -e .
使用示例
快速上手Freqtrade的基本操作
🔄 启动交易机器人
# 启动实盘交易
freqtrade trade --config config.json --strategy MyStrategy
# 启动干跑模式(推荐新手)
freqtrade trade --config config.json --strategy MyStrategy --dry-run
# 启动Web UI界面
freqtrade trade --config config.json --strategy MyStrategy --enable-webserver
📊 策略回测与优化
# 运行策略回测
freqtrade backtesting --config config.json \
--strategy MyStrategy \
--timerange 20230101-20231231
# 超参数优化
freqtrade hyperopt --config config.json \
--strategy MyStrategy \
--hyperopt-loss SharpeHyperOptLoss \
--spaces buy sell roi stoploss \
--epochs 1000
🤖 FreqAI机器学习
# 启动FreqAI交易
freqtrade trade --config config_freqai.json \
--strategy FreqaiExampleStrategy \
--freqaimodel CatboostClassifier
# FreqAI回测
freqtrade backtesting --config config_freqai.json \
--strategy FreqaiExampleStrategy \
--freqaimodel CatboostClassifier \
--timerange 20230101-20231231
📱 Telegram控制
# 基础控制命令
/start - 启动交易机器人
/stop - 停止交易机器人
/status - 查看当前交易状态
/profit - 查看盈亏情况
/balance - 查看账户余额
/performance - 查看策略表现
/forceexit - 强制平仓
/reload_config - 重新加载配置
📈 数据下载与分析
# 下载历史数据
freqtrade download-data --exchange binance \
--pairs BTC/USDT ETH/USDT \
--timeframes 1m 5m 1h 1d \
--days 365
# 下载交易数据
freqtrade download-data --exchange binance \
--pairs BTC/USDT ETH/USDT \
--dl-trades --days 30
⚙️ FreqAI配置示例
{
"freqai": {
"enabled": true,
"purge_old_models": 2,
"train_period_days": 15,
"identifier": "unique-id",
"feature_parameters": {
"include_timeframes": ["3m", "15m", "1h"],
"include_corr_pairlist": ["BTC/USDT", "ETH/USDT"],
"label_period_candles": 20,
"include_shifted_candles": 2,
"DI_threshold": 0.9,
"weight_factor": 0.9,
"principal_component_analysis": false,
"use_SVM_to_remove_outliers": true
},
"model_training_parameters": {
"n_estimators": 800
}
}
}
高级特性
专业级功能,满足高级用户的复杂需求
高性能架构
- 异步处理:基于asyncio的高并发架构
- WebSocket支持:实时数据流处理
- 多线程优化:策略分析与交易执行并行
- 内存优化:大数据集的高效处理
策略开发框架
- IStrategy接口:标准化策略开发
- 技术指标库:150+内置技术指标
- 自定义指标:支持用户自定义计算
- 多时间框架:跨周期数据分析
风险控制系统
- 动态止损:追踪止损、时间止损
- 仓位管理:凯利公式、固定比例
- 保护机制:冷却期、最大回撤限制
- 资金保护:紧急停止、强制平仓
数据分析工具
- 回测引擎:精确的历史模拟
- 性能分析:夏普比率、索提诺比率
- 风险指标:VaR、最大回撤、波动率
- 可视化:交互式图表和报告
超参数优化
- Hyperopt集成:贝叶斯优化算法
- 多目标优化:NSGA-II、NSGA-III算法
- 并行计算:多进程参数搜索
- 结果分析:参数重要性分析
多交易所支持
- 统一接口:基于CCXT的标准化API
- 实时同步:多交易所数据聚合
- 套利支持:跨交易所价差交易
- 故障转移:自动切换备用交易所
社区支持
加入活跃的Freqtrade社区,获取帮助和分享经验