You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
256 lines
6.7 KiB
256 lines
6.7 KiB
# 智能期货期权分析系统 - 功能实现总结
|
|
|
|
## 📋 已完成的功能
|
|
|
|
### 1. 后端服务 (NestJS + TypeScript)
|
|
|
|
#### ✅ 基础架构
|
|
- 模块化项目结构,易于扩展
|
|
- 全局异常处理、日志记录
|
|
- API限流保护
|
|
- Swagger API文档自动生成
|
|
- JWT认证与授权
|
|
|
|
#### ✅ 数据库设计 (Prisma)
|
|
- 用户系统
|
|
- 期货品种管理
|
|
- K线数据存储
|
|
- 实时Tick数据缓存
|
|
- 热点事件管理
|
|
- 自选股功能
|
|
- 价格预警系统
|
|
- 期权合约管理
|
|
|
|
#### ✅ 用户认证系统
|
|
- 用户注册/登录/登出
|
|
- JWT Token认证
|
|
- 密码加密存储
|
|
- 用户信息管理
|
|
|
|
#### ✅ 行情数据服务
|
|
- RESTful API获取品种列表、K线数据、实时行情
|
|
- WebSocket实时推送Tick数据
|
|
- 市场概览数据聚合
|
|
- Redis缓存加速
|
|
|
|
#### ✅ 技术指标计算引擎
|
|
- MACD (异同移动平均线)
|
|
- RSI (相对强弱指标)
|
|
- KDJ (随机指标)
|
|
- BOLL (布林带)
|
|
- SAR (抛物线转向)
|
|
- OBV (能量潮)
|
|
- DMI (趋向指标)
|
|
- CCI (商品通道指数)
|
|
- WR (威廉指标)
|
|
- 移动平均线 (MA5/MA10/MA20/MA60)
|
|
|
|
#### ✅ 期权分析模块
|
|
- Black-Scholes期权定价模型
|
|
- 希腊值计算 (Delta, Gamma, Theta, Vega, Rho)
|
|
- 隐含波动率计算
|
|
- 期权链数据生成
|
|
- 波动率曲面分析
|
|
- 期权策略盈亏计算
|
|
|
|
#### ✅ AI智能分析模块
|
|
- 集成OpenAI API进行智能分析
|
|
- 基于规则的技术面分析 (Fallback)
|
|
- 趋势判断和交易建议
|
|
- 支撑阻力位计算
|
|
- 风险评估
|
|
|
|
#### ✅ 业务功能
|
|
- 热点事件管理 (增删改查)
|
|
- 自选股功能 (增删改查、价格预警)
|
|
- 价格预警系统 (定时检查、触发通知)
|
|
|
|
### 2. 前端API服务
|
|
|
|
#### ✅ HTTP客户端封装
|
|
- Axios拦截器统一处理
|
|
- Token自动注入
|
|
- 统一错误处理
|
|
- API模块化组织
|
|
|
|
#### ✅ WebSocket客户端
|
|
- Socket.io连接管理
|
|
- 自动重连机制
|
|
- 订阅/取消订阅
|
|
- 事件监听封装
|
|
|
|
### 3. 部署配置
|
|
|
|
#### ✅ Docker支持
|
|
- 前端Dockerfile (Nginx)
|
|
- 后端Dockerfile (Node.js)
|
|
- Docker Compose编排
|
|
- 健康检查配置
|
|
|
|
#### ✅ 环境配置
|
|
- 环境变量模板
|
|
- 多环境支持 (dev/prod)
|
|
- 数据库迁移脚本
|
|
- 种子数据导入
|
|
|
|
## 📁 项目结构
|
|
|
|
```
|
|
AlphaFuturesProMax/
|
|
├── app/ # 前端应用
|
|
│ ├── src/
|
|
│ │ ├── components/ # UI组件
|
|
│ │ ├── services/ # API和WebSocket服务
|
|
│ │ │ ├── api.ts # HTTP API封装
|
|
│ │ │ └── websocket.ts # WebSocket服务
|
|
│ │ └── ...
|
|
│ ├── Dockerfile # 前端Docker配置
|
|
│ └── nginx.conf # Nginx配置
|
|
│
|
|
├── app/server/ # 后端服务
|
|
│ ├── src/
|
|
│ │ ├── auth/ # 认证模块
|
|
│ │ ├── market/ # 行情数据模块
|
|
│ │ ├── indicators/ # 技术指标模块
|
|
│ │ ├── options/ # 期权分析模块
|
|
│ │ ├── ai/ # AI分析模块
|
|
│ │ ├── events/ # 热点事件模块
|
|
│ │ ├── watchlist/ # 自选股模块
|
|
│ │ ├── alert/ # 价格预警模块
|
|
│ │ ├── user/ # 用户模块
|
|
│ │ ├── common/ # 公共模块
|
|
│ │ │ ├── prisma/ # Prisma服务
|
|
│ │ │ └── redis/ # Redis服务
|
|
│ │ └── config/ # 配置文件
|
|
│ ├── prisma/
|
|
│ │ ├── schema.prisma # 数据库模型
|
|
│ │ └── seed.ts # 种子数据
|
|
│ ├── Dockerfile # 后端Docker配置
|
|
│ └── package.json
|
|
│
|
|
├── docker-compose.yml # Docker编排配置
|
|
├── DEPLOY.md # 部署文档
|
|
└── docs/ # 项目文档
|
|
```
|
|
|
|
## 🚀 快速启动
|
|
|
|
### Docker方式 (推荐)
|
|
|
|
```bash
|
|
# 1. 启动所有服务
|
|
docker-compose up -d
|
|
|
|
# 2. 查看服务状态
|
|
docker-compose ps
|
|
|
|
# 3. 查看日志
|
|
docker-compose logs -f backend
|
|
|
|
# 4. 访问应用
|
|
# 前端: http://localhost
|
|
# API: http://localhost:3000/api/v1
|
|
# 文档: http://localhost:3000/docs
|
|
```
|
|
|
|
### 手动部署
|
|
|
|
见 `DEPLOY.md` 详细说明
|
|
|
|
## 📡 API接口
|
|
|
|
### 认证接口
|
|
- `POST /api/v1/auth/register` - 注册
|
|
- `POST /api/v1/auth/login` - 登录
|
|
- `POST /api/v1/auth/logout` - 登出
|
|
- `GET /api/v1/auth/profile` - 获取用户信息
|
|
|
|
### 行情接口
|
|
- `GET /api/v1/market/products` - 品种列表
|
|
- `GET /api/v1/market/products/:symbol` - 品种详情
|
|
- `GET /api/v1/market/products/:symbol/kline` - K线数据
|
|
- `GET /api/v1/market/products/:symbol/tick` - 实时行情
|
|
- `GET /api/v1/market/overview` - 市场概览
|
|
|
|
### 技术指标接口
|
|
- `GET /api/v1/indicators/:symbol` - 所有指标
|
|
- `GET /api/v1/indicators/:symbol/macd` - MACD
|
|
- `GET /api/v1/indicators/:symbol/rsi` - RSI
|
|
- `GET /api/v1/indicators/:symbol/bollinger` - 布林带
|
|
- `GET /api/v1/indicators/:symbol/kdj` - KDJ
|
|
|
|
### 期权接口
|
|
- `POST /api/v1/options/pricing` - 期权定价
|
|
- `GET /api/v1/options/chain/:underlying` - 期权链
|
|
- `GET /api/v1/options/volatility-surface/:underlying` - 波动率曲面
|
|
- `POST /api/v1/options/strategy/payoff` - 策略盈亏
|
|
|
|
### AI分析接口
|
|
- `GET /api/v1/ai/analyze/:symbol` - AI分析品种
|
|
|
|
### 事件接口
|
|
- `GET /api/v1/events` - 热点事件列表
|
|
- `GET /api/v1/events/:id` - 事件详情
|
|
|
|
### WebSocket
|
|
- `ws://localhost:3000/market` - 行情实时推送
|
|
|
|
## 🔧 扩展建议
|
|
|
|
### 数据源接入
|
|
目前使用模拟数据,可接入真实数据源:
|
|
- Wind金融终端API
|
|
- 同花顺iFinD API
|
|
- 交易所官方API
|
|
|
|
实现方式:
|
|
1. 在 `market-data-feed.service.ts` 中实现新的数据源适配器
|
|
2. 修改配置 `MARKET_DATA_PROVIDER`
|
|
|
|
### 新增技术指标
|
|
在 `indicators.service.ts` 中添加新的计算方法:
|
|
```typescript
|
|
calculateNewIndicator(klineData: KLineData[], params: any): Result[] {
|
|
// 实现计算逻辑
|
|
}
|
|
```
|
|
|
|
### 新增期权模型
|
|
在 `options.service.ts` 中添加新的定价模型:
|
|
```typescript
|
|
calculateBinomialModel(S: number, K: number, ...): OptionPricingResult {
|
|
// 实现二叉树模型
|
|
}
|
|
```
|
|
|
|
## 📊 性能优化
|
|
|
|
### 已实现
|
|
- Redis缓存加速
|
|
- WebSocket实时推送
|
|
- API响应压缩
|
|
- 数据库索引优化
|
|
|
|
### 建议优化
|
|
- 数据库读写分离
|
|
- API限流
|
|
- 静态资源CDN
|
|
- 应用监控 (Prometheus + Grafana)
|
|
|
|
## 🛡️ 安全建议
|
|
|
|
1. 生产环境必须修改JWT密钥
|
|
2. 启用HTTPS
|
|
3. 配置CORS白名单
|
|
4. 数据库使用强密码
|
|
5. 定期更新依赖包
|
|
|
|
## 📝 待实现功能
|
|
|
|
- [ ] 交易信号系统 (多指标共振)
|
|
- [ ] 量化策略回测引擎
|
|
- [ ] 移动端APP (React Native/Flutter)
|
|
- [ ] 管理后台
|
|
- [ ] 会员系统
|
|
- [ ] 模拟交易功能
|