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.
6.7 KiB
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方式 (推荐)
# 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- MACDGET /api/v1/indicators/:symbol/rsi- RSIGET /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
实现方式:
- 在
market-data-feed.service.ts中实现新的数据源适配器 - 修改配置
MARKET_DATA_PROVIDER
新增技术指标
在 indicators.service.ts 中添加新的计算方法:
calculateNewIndicator(klineData: KLineData[], params: any): Result[] {
// 实现计算逻辑
}
新增期权模型
在 options.service.ts 中添加新的定价模型:
calculateBinomialModel(S: number, K: number, ...): OptionPricingResult {
// 实现二叉树模型
}
📊 性能优化
已实现
- Redis缓存加速
- WebSocket实时推送
- API响应压缩
- 数据库索引优化
建议优化
- 数据库读写分离
- API限流
- 静态资源CDN
- 应用监控 (Prometheus + Grafana)
🛡️ 安全建议
- 生产环境必须修改JWT密钥
- 启用HTTPS
- 配置CORS白名单
- 数据库使用强密码
- 定期更新依赖包
📝 待实现功能
- 交易信号系统 (多指标共振)
- 量化策略回测引擎
- 移动端APP (React Native/Flutter)
- 管理后台
- 会员系统
- 模拟交易功能