🏗️ 架构设计
💡
OpenAITrade 采用模块化架构,策略、数据、回测、券商解耦,方便扩展和维护。
📁 项目结构
OpenAITrade/
├── openaitrade/
│ ├── strategies/ # 20+ 内置策略
│ │ ├── trend/ # 趋势跟踪
│ │ ├── mean_reversion/ # 均值回归
│ │ ├── momentum/ # 动量轮动
│ │ ├── factor/ # 因子策略
│ │ └── arbitrage/ # 套利策略
│ ├── data/ # 数据适配器
│ │ ├── yfinance_adapter.py
│ │ ├── akshare_adapter.py
│ │ └── ccxt_adapter.py
│ ├── backtest/ # 回测引擎
│ ├── broker/ # 券商适配器
│ │ ├── ibkr_broker.py
│ │ ├── alpaca_broker.py
│ │ └── ccxt_broker.py
│ └── reports/ # 报告生成
└── flask_app/ # Web 界面
🔄 数据流
数据源
→
DataAdapter
→
Strategy
→
Signals
↓
Broker
←
RiskEngine
←
BacktestEngine
🧩 核心接口
| 组件 | 说明 | 关键方法 |
|---|---|---|
| DataAdapter | 数据适配器,统一数据接口 | fetch_ohlcv() |
| Strategy | 策略基类,生成交易信号 | generate_signals() |
| BacktestEngine | 回测引擎,模拟交易 | run() |
| BrokerAdapter | 券商适配器,对接实盘 | submit_order() |
📈 支持的数据源
📊 Yahoo Finance
美股、ETF、指数
📈 AKShare
A股、港股、期货、基金
📉 Baostock
A股历史数据+基本面
₿ CCXT
加密货币交易所