Skip to content

THUZeng/ai-trading-analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 智能交易分析平台

基于多智能体架构的金融交易分析与策略回测平台,提供策略开发、回测验证和风险分析功能。

🌟 核心特性

  • 多策略支持: SMA、RSI、MACD、布林带等经典策略
  • 完整回测: 支持滑点、手续费、仓位管理的真实回测
  • 风险分析: VaR、波动率、夏普比率等风险指标
  • 多智能体: 市场分析、风险评估、执行管理协作决策
  • RESTful API: 完整的API接口支持

🏗️ 系统架构

┌─────────────────────────────────────────────────────────┐
│                    API Gateway                          │
├─────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐ │
│  │  数据管理    │  │  策略引擎   │  │   回测引擎      │ │
│  │   Manager   │  │   Engine    │  │   Backtest     │ │
│  └─────────────┘  └─────────────┘  └─────────────────┘ │
├─────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐ │
│  │  风险分析    │  │  多智能体   │  │   技术指标      │ │
│  │   Risk      │  │   Agents    │  │   Indicators   │ │
│  └─────────────┘  └─────────────┘  └─────────────────┘ │
└─────────────────────────────────────────────────────────┘

📦 项目结构

ai-trading-analytics/
├── src/
│   ├── api/                 # FastAPI应用
│   │   ├── main.py         # 应用入口
│   │   └── trading_routes.py # API路由
│   ├── data/               # 数据模块
│   │   └── market_data.py  # 市场数据管理
│   ├── strategy/           # 策略模块
│   │   └── strategy_engine.py # 策略引擎
│   ├── backtest/           # 回测模块
│   │   └── backtest_engine.py # 回测引擎
│   ├── risk/               # 风险模块
│   │   └── risk_analyzer.py # 风险分析
│   └── agents/             # 智能体模块
│       └── multi_agent.py  # 多智能体系统
├── tests/                  # 单元测试
├── requirements.txt        # 依赖
└── README.md

🚀 快速开始

安装依赖

pip install -r requirements.txt

启动服务

uvicorn src.api.main:app --reload --port 8001

API使用示例

获取市场数据

import requests

response = requests.post("http://localhost:8001/api/v1/market-data", json={
    "symbol": "AAPL",
    "timeframe": "1d",
    "periods": 100
})

data = response.json()
print(f"数据点数: {data['total']}")

生成交易信号

response = requests.post("http://localhost:8001/api/v1/signals", json={
    "symbol": "AAPL",
    "strategy": "sma",
    "timeframe": "1d",
    "periods": 100,
    "params": {"fast_period": 10, "slow_period": 30}
})

signals = response.json()
print(f"信号数量: {signals['total_signals']}")
for s in signals['signals'][:5]:
    print(f"  {s['timestamp']}: {s['signal_type']} @ {s['price']}")

运行回测

response = requests.post("http://localhost:8001/api/v1/backtest", json={
    "symbol": "AAPL",
    "strategy": "sma",
    "timeframe": "1d",
    "periods": 200,
    "initial_capital": 100000,
    "commission_rate": 0.001,
    "position_size": 0.1
})

result = response.json()
print(f"最终权益: ${result['final_equity']:,.2f}")
print(f"总收益率: {result['metrics']['total_return_pct']:.2f}%")
print(f"夏普比率: {result['metrics']['sharpe_ratio']:.2f}")
print(f"最大回撤: {result['metrics']['max_drawdown_pct']:.2f}%")

📊 API端点

端点 方法 描述
/api/v1/market-data POST 获取市场数据
/api/v1/indicators POST 计算技术指标
/api/v1/signals POST 生成交易信号
/api/v1/backtest POST 运行策略回测
/api/v1/strategies GET 获取可用策略
/api/v1/assets GET 获取可用资产
/api/v1/ticker/{symbol} GET 获取实时行情

🔧 支持的策略

双均线策略 (SMA)

{"fast_period": 10, "slow_period": 30}

RSI策略

{"period": 14, "oversold": 30, "overbought": 70}

MACD策略

{"fast": 12, "slow": 26, "signal": 9}

布林带策略

{"period": 20, "std_dev": 2.0}

📈 绩效指标

  • 总收益率 / 年化收益率
  • 波动率 / 最大回撤
  • 夏普比率 / 索提诺比率
  • 胜率 / 盈亏比
  • 平均持仓时间

🛡️ 风险分析

  • VaR (95%, 99%)
  • CVaR (Expected Shortfall)
  • Beta系数
  • 相关性分析
  • 压力测试

🤖 多智能体系统

  • 市场分析Agent: 趋势分析、支撑阻力
  • 风险评估Agent: 交易风险、组合风险
  • 执行管理Agent: 订单执行、滑点控制
  • 协调器Agent: 决策协调、共识机制

📝 License

MIT License

🤝 贡献

欢迎提交Issue和Pull Request!

About

AI智能交易分析平台 - 多智能体架构的策略回测与风险分析系统

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages