项目概述

Freqtrade是一个功能强大的开源加密货币交易机器人,为专业交易者和量化投资者提供完整的自动化交易解决方案

核心特性

强大的功能集合,满足专业交易者的各种需求

🏦

多交易所支持

支持10+主流交易所:Binance、Bybit、OKX、Gate.io、Kraken、HTX等, 包括现货和期货交易。基于CCXT库实现统一API接口,支持实时数据和历史数据下载。

现货交易所: Binance, Bitmart, BingX, Bybit, Gate.io, HTX, Kraken, OKX
期货交易所: Binance Futures, Gate.io Futures, OKX Futures, Bybit Futures
去中心化: Hyperliquid DEX
📊

高级回测系统

基于真实历史数据的精确回测,支持多种订单类型、滑点模拟、手续费计算, 提供详细的性能分析报告和可视化图表。

回测功能: 策略验证、参数优化、风险评估
分析工具: 收益曲线、回撤分析、夏普比率
数据支持: 1分钟到1月的多时间框架
🧠

FreqAI机器学习

革命性的AI驱动交易系统,支持自适应模型训练、特征工程、在线学习, 让交易策略能够自动适应市场变化。

ML模型: CatBoost, XGBoost, LightGBM, PyTorch
特征工程: 自动特征生成、降维、异常值检测
在线学习: 实时模型更新、自适应预测
🛡️

全面风险管理

多层次风险控制体系,包括动态止损、仓位管理、资金保护、 干跑模式等功能,确保交易安全。

止损策略: 固定止损、追踪止损、自定义止损
仓位控制: 最大开仓数、仓位调整、杠杆管理
资金管理: 凯利公式、固定比例、动态调整
📱

多端控制界面

支持Telegram机器人、Web UI、REST API多种控制方式, 提供实时监控、远程操作、移动端管理等功能。

Telegram Bot: 实时通知、远程控制、状态查询
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快速启动

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依赖

pip安装
# 安装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克隆
# 克隆仓库
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机器学习

AI驱动交易
# 启动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控制

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配置示例

config_freqai.json
{
  "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社区,获取帮助和分享经验