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

智能期货期权分析系统 - 功能实现总结

📋 已完成的功能

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 - 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 中添加新的计算方法:

calculateNewIndicator(klineData: KLineData[], params: any): Result[] {
  // 实现计算逻辑
}

新增期权模型

options.service.ts 中添加新的定价模型:

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)
  • 管理后台
  • 会员系统
  • 模拟交易功能