# 智能期货期权分析系统 - 开发文档

## 环境要求

- Node.js 20+
- npm 10+
- 现代浏览器（Chrome/Firefox/Safari/Edge）

## 本地开发

### 1. 安装依赖

```bash
cd /mnt/okcomputer/output/app
npm install
```

### 2. 启动开发服务器

```bash
npm run dev
```

### 3. 构建生产版本

```bash
npm run build
```

## 核心组件详解

### KLineChart 组件

**文件**: `src/components/KLineChart.tsx`

**功能**: 绘制K线图、成交量、MACD指标

**Props**:
```typescript
interface KLineChartProps {
  klineData: KLineData[];      // K线数据
  macdData: MACDData[];        // MACD数据
  resistance: number[];        // 压力位
  support: number[];           // 支撑位
  height?: number;             // 图表高度
}
```

**实现要点**:
- 使用 ECharts 绘制三图联动（K线+成交量+MACD）
- 支持鼠标悬停十字光标
- 压力位/支撑位水平线标注
- 移动平均线计算与绘制

### MarketOverview 组件

**文件**: `src/components/MarketOverview.tsx`

**功能**: 展示市场核心指标卡片

**特性**:
- 数字滚动动画
- 迷你趋势图
- 涨跌颜色区分

### HotEvents 组件

**文件**: `src/components/HotEvents.tsx`

**功能**: 热点事件列表与智能分析

**特性**:
- 事件列表与详情面板联动
- 影响等级星级显示
- 利多/利空/中性标签

### ProductCard 组件

**文件**: `src/components/ProductCard.tsx`

**功能**: 品种卡片展示

**特性**:
- 多周期趋势标签
- 成功率进度条
- 关键点位显示
- 交易建议标签

### ProductDetail 组件

**文件**: `src/components/ProductDetail.tsx`

**功能**: 品种详细分析页面

**特性**:
- 周期切换（5/15/30/60分钟）
- K线图展示
- 技术指标汇总
- 交易建议
- 多周期一致性分析

## 数据类型定义

### FuturesProduct（期货品种）

```typescript
interface FuturesProduct {
  id: string;
  name: string;           // 品种名称
  code: string;           // 品种代码
  category: string;       // 分类
  price: number;          // 当前价格
  change: number;         // 涨跌额
  changePercent: number;  // 涨跌幅
  trendScore: number;     // 趋势评分
  successRate: number;    // 成功率
  cycles: {               // 各周期趋势
    m5: TrendDirection;
    m15: TrendDirection;
    m30: TrendDirection;
    m60: TrendDirection;
  };
  keyLevels: {            // 关键点位
    resistance: number[];
    support: number[];
  };
  recommendation: 'long' | 'short' | 'wait';
  recommendationReason: string;
}
```

### KLineData（K线数据）

```typescript
interface KLineData {
  time: string;   // 时间
  open: number;   // 开盘价
  high: number;   // 最高价
  low: number;    // 最低价
  close: number;  // 收盘价
  volume: number; // 成交量
}
```

### MACDData（MACD数据）

```typescript
interface MACDData {
  time: string;
  dif: number;
  dea: number;
  macd: number;   // 柱状图值
}
```

## 模拟数据生成

### K线数据生成

```typescript
function generateKLineData(basePrice: number, count: number = 100): KLineData[]
```

**算法**:
1. 基于基础价格生成随机波动
2. 波动幅度为基础价格的0.8%
3. 生成高开低收四价

### MACD数据生成

```typescript
function generateMACDData(klineData: KLineData[]): MACDData[]
```

**算法**:
1. 计算EMA12和EMA26
2. DIF = EMA12 - EMA26
3. DEA = EMA(DIF, 9)
4. MACD = (DIF - DEA) × 2

## 样式规范

### 颜色系统

```css
/* 主色调 */
--bg-primary: #09090b;      /* 背景色 */
--color-primary: #7dd75a;    /* 主色（绿） */
--color-secondary: #0d5d1b;  /* 次色（深绿） */
--color-accent: #e6e6e6;     /* 强调色 */

/* 功能色 */
--color-up: #7dd75a;         /* 上涨/利多 */
--color-down: #ef4444;       /* 下跌/利空 */
--color-neutral: #a1a1aa;    /* 中性 */
--color-warning: #f59e0b;    /* 警告 */
```

### 字体规范

- 主字体: Inter, sans-serif
- 数字字体: JetBrains Mono, monospace
- 正文: 16px
- 标题: 20-40px
- 小字: 14px

## 性能优化

### 已实现

1. **组件懒加载**: 图表组件按需加载
2. **动画优化**: CSS动画优先，减少JS计算
3. **数据缓存**: 模拟数据本地缓存

### 建议优化

1. 虚拟滚动（长列表）
2. 图表数据分页加载
3. Web Worker 处理大量计算
