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.

8.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

智能期货期权分析系统 - API接口文档

接口规范

基础信息

  • 协议: HTTPS
  • 数据格式: JSON
  • 字符编码: UTF-8
  • 请求方式: RESTful

响应格式

{
  "code": 200,
  "message": "success",
  "data": {}
}

错误码

错误码 说明
200 成功
400 请求参数错误
401 未授权
403 禁止访问
404 资源不存在
500 服务器内部错误

行情数据接口

1. 获取品种列表

接口: GET /api/v1/products

请求参数:

参数 类型 必填 说明
category string 分类筛选
page number 页码默认1
size number 每页数量默认20

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": "1",
        "name": "原油",
        "code": "SC",
        "category": "energy",
        "price": 528.6,
        "change": 12.1,
        "changePercent": 2.35,
        "trendScore": 85,
        "successRate": 72
      }
    ],
    "total": 100,
    "page": 1,
    "size": 20
  }
}

2. 获取K线数据

接口: GET /api/v1/products/{symbol}/kline

请求参数:

参数 类型 必填 说明
period string 周期: 1m/5m/15m/30m/1h/1d/1w
count number 返回条数默认100
startTime string 开始时间 ISO8601
endTime string 结束时间 ISO8601

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "symbol": "SC",
    "period": "15m",
    "data": [
      {
        "time": "2025-03-03T10:00:00Z",
        "open": 525.0,
        "high": 528.5,
        "low": 524.0,
        "close": 527.5,
        "volume": 12580
      }
    ]
  }
}

3. 获取实时行情

接口: GET /api/v1/products/{symbol}/tick

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "symbol": "SC",
    "price": 528.6,
    "change": 12.1,
    "changePercent": 2.35,
    "open": 518.0,
    "high": 535.0,
    "low": 515.5,
    "volume": 285600,
    "openInterest": 125800,
    "bidPrice": 528.5,
    "askPrice": 528.7,
    "bidVolume": 125,
    "askVolume": 89,
    "timestamp": 1709452800000
  }
}

4. WebSocket实时订阅

接口: wss://api.example.com/ws/v1/market

订阅消息:

{
  "action": "subscribe",
  "symbols": ["SC", "AU", "CU"],
  "channels": ["tick", "kline"]
}

推送消息:

{
  "type": "tick",
  "symbol": "SC",
  "data": {
    "price": 528.6,
    "volume": 100,
    "timestamp": 1709452800000
  }
}

技术指标接口

5. 获取技术指标

接口: GET /api/v1/products/{symbol}/indicators

请求参数:

参数 类型 必填 说明
period string 周期
indicators string 指标列表,逗号分隔

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "symbol": "SC",
    "period": "15m",
    "indicators": {
      "macd": {
        "dif": 0.5234,
        "dea": 0.4123,
        "macd": 0.2222,
        "signal": "golden_cross"
      },
      "rsi": {
        "value": 65.5,
        "status": "normal"
      },
      "bollinger": {
        "upper": 535.0,
        "middle": 525.0,
        "lower": 515.0,
        "position": "upper"
      }
    }
  }
}

热点事件接口

6. 获取热点事件列表

接口: GET /api/v1/events

请求参数:

参数 类型 必填 说明
impact string 影响类型: bullish/bearish/neutral
startDate string 开始日期
endDate string 结束日期

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": "1",
        "title": "地缘政治风险升级",
        "time": "2025-03-02",
        "summary": "美以袭伊朗,海上油阀被关",
        "affectedProducts": ["原油", "黄金", "白银"],
        "impact": "bullish",
        "impactLevel": 5,
        "analysis": "地缘政治风险急剧升温...",
        "risks": ["冲突升级可能", "供应中断风险"]
      }
    ]
  }
}

7. 获取事件详情

接口: GET /api/v1/events/{id}

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "id": "1",
    "title": "地缘政治风险升级",
    "content": "详细内容...",
    "analysis": "智能分析...",
    "relatedProducts": [
      {
        "symbol": "SC",
        "name": "原油",
        "impact": "bullish",
        "confidence": 0.85
      }
    ]
  }
}

分析接口

8. 获取交易建议

接口: GET /api/v1/products/{symbol}/advice

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "symbol": "SC",
    "action": "long",
    "entryPrice": 525.0,
    "stopLoss": 518.0,
    "targetPrice": 535.0,
    "riskLevel": "medium",
    "position": "medium",
    "holdingTime": "short",
    "reason": "地缘政治风险推动,多周期共振向上",
    "confidence": 0.72
  }
}

9. 获取多周期分析

接口: GET /api/v1/products/{symbol}/multi-timeframe

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "symbol": "SC",
    "consistency": 0.75,
    "cycles": [
      {
        "period": "m5",
        "trend": "up",
        "trendStrength": 85,
        "signal": "buy"
      },
      {
        "period": "m15",
        "trend": "up",
        "trendStrength": 78,
        "signal": "buy"
      },
      {
        "period": "m30",
        "trend": "up",
        "trendStrength": 72,
        "signal": "buy"
      },
      {
        "period": "m60",
        "trend": "sideways",
        "trendStrength": 45,
        "signal": "neutral"
      }
    ]
  }
}

期权接口

10. 获取期权链

接口: GET /api/v1/options/{underlying}/chain

请求参数:

参数 类型 必填 说明
expiry string 到期日

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "underlying": "SC",
    "expiry": "2025-04-15",
    "strikes": [500, 510, 520, 530, 540],
    "calls": [
      {
        "strike": 520,
        "price": 15.5,
        "iv": 0.25,
        "delta": 0.65,
        "gamma": 0.02,
        "theta": -0.15,
        "vega": 0.35
      }
    ],
    "puts": [
      {
        "strike": 520,
        "price": 8.5,
        "iv": 0.26,
        "delta": -0.35,
        "gamma": 0.02,
        "theta": -0.12,
        "vega": 0.33
      }
    ]
  }
}

11. 期权定价计算

接口: POST /api/v1/options/pricing

请求参数:

{
  "underlying": "SC",
  "strike": 520,
  "expiry": "2025-04-15",
  "type": "call",
  "price": 528.6,
  "volatility": 0.25,
  "riskFreeRate": 0.025
}

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "price": 15.52,
    "delta": 0.6523,
    "gamma": 0.0215,
    "theta": -0.1523,
    "vega": 0.3521,
    "rho": 0.1234,
    "impliedVol": 0.25
  }
}

用户接口

12. 用户注册

接口: POST /api/v1/auth/register

请求参数:

{
  "username": "user123",
  "email": "user@example.com",
  "password": "password123",
  "phone": "13800138000"
}

13. 用户登录

接口: POST /api/v1/auth/login

请求参数:

{
  "username": "user123",
  "password": "password123"
}

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "refreshToken": "eyJhbGciOiJIUzI1NiIs...",
    "expiresIn": 3600,
    "user": {
      "id": "1",
      "username": "user123",
      "email": "user@example.com"
    }
  }
}

14. 获取自选股

接口: GET /api/v1/user/watchlist

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "symbol": "SC",
        "name": "原油",
        "addTime": "2025-03-01T10:00:00Z",
        "alertPrice": 550.0
      }
    ]
  }
}

15. 添加自选股

接口: POST /api/v1/user/watchlist

请求参数:

{
  "symbol": "SC",
  "alertPrice": 550.0
}

待实现接口清单

接口 说明 优先级
POST /api/v1/user/watchlist/{symbol} 删除自选股
GET /api/v1/user/alerts 获取价格预警
POST /api/v1/user/alerts 设置价格预警
GET /api/v1/user/trades 获取交易记录
POST /api/v1/user/trades 记录模拟交易
GET /api/v1/signals 获取交易信号
GET /api/v1/market/heatmap 市场热力图
GET /api/v1/market/breadth 市场宽度
POST /api/v1/backtest 策略回测
GET /api/v1/news 财经新闻