Files
PolyHermes/docs/zh/nba-game-data-sources-comparison.md
T
WrBug e9e1111df9 feat: 实现 NBA 量化交易系统
- 后端实现:
  - 实现 NBA 比赛数据服务,从 Polymarket API 获取数据
  - 实现数据库存储和增量拉取逻辑(优先从 DB 获取,数据不足时增量拉取)
  - 使用 sports_market_types 参数直接筛选 moneyline 类型
  - 实现分页拉取逻辑(基于 gameStartTime 和 createdAt)
  - 移除 nba_markets 相关的外键约束(V12 迁移)
  - 修复数据拉取逻辑:超过 3 天的数据不拉取

- 前端实现:
  - 实现策略创建/编辑/列表页面
  - 实现交易信号展示页面和统计页面
  - 修复重复请求问题(使用 useCallback 包装 fetchGames)
  - 支持选择单场比赛进行配置
  - 使用西8区时间格式化显示

- 数据库:
  - 创建 NBA 量化交易相关表(V11 迁移)
  - 移除外键约束(V12 迁移)

- 文档:
  - 添加产品需求文档、技术方案、算法文档等
2025-12-13 08:05:08 +08:00

101 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NBA 比赛数据来源对比
## 一、数据来源对比
### 1.1 NBA Stats API
**优势**
- ✅ 官方数据源,数据准确可靠
- ✅ 包含完整的比赛数据(实时比分、状态、统计等)
- ✅ 实时更新,数据最新
- ✅ 免费使用
- ✅ 支持历史数据查询
**劣势**
- ❌ 不包含 Polymarket 市场信息
- ❌ 需要额外的匹配逻辑来关联 Polymarket 市场
**适用场景**
- 获取比赛基本信息(球队、日期、时间)
- 获取实时比分和比赛状态
- 获取比赛统计数据
### 1.2 Polymarket API
**优势**
- ✅ 直接获取交易市场信息
- ✅ 包含市场 ID、价格、流动性等交易相关数据
- ✅ 市场名称可能包含比赛信息
**劣势**
- ❌ 不包含实时比分和比赛状态
- ❌ 无法直接搜索或筛选 NBA 市场(需要知道 condition_ids
- ❌ 市场名称格式不统一,解析困难
- ❌ 数据不完整(缺少比赛详细信息)
**适用场景**
- 获取可交易的市场列表
- 获取市场价格和流动性信息
- 匹配比赛和交易市场
## 二、推荐方案
### 2.1 混合方案(推荐)
**策略**:结合两种数据源,发挥各自优势
**实现方式**
1. **主要数据源:NBA Stats API**
- 获取完整的比赛数据(球队、日期、时间、比分、状态等)
- 实时更新比赛状态
2. **补充数据源:Polymarket API**
- 获取市场信息(市场 ID、价格、流动性等)
- 通过球队名称和日期匹配比赛和市场
3. **数据匹配**
- 使用球队名称和比赛日期匹配
- 建立比赛和市场的关联关系
### 2.2 数据流程
```
1. 从 NBA Stats API 获取比赛列表
2. 从 Polymarket API 获取市场列表(如果知道 condition_ids
3. 解析市场名称,提取球队和日期信息
4. 匹配比赛和市场(通过球队名称和日期)
5. 合并数据,返回完整的比赛和市场信息
```
## 三、当前实现
当前系统使用 **NBA Stats API** 作为主要数据源,原因:
- 数据完整可靠
- 实时更新
- 免费使用
- 无需预先知道 condition_ids
如果需要 Polymarket 市场信息,可以:
1. 在获取比赛数据后,通过球队名称和日期匹配 Polymarket 市场
2. 或者单独维护一个 Polymarket 市场列表,定期同步
## 四、建议
**对于获取比赛数据**
- ✅ 使用 NBA Stats API(当前实现)
- ✅ 实时、准确、完整
**对于获取市场信息**
- ✅ 使用 Polymarket API(需要知道 condition_ids
- ✅ 或者从市场名称解析(如果格式统一)
**最佳实践**
- 主要使用 NBA Stats API 获取比赛数据
- 使用 Polymarket API 获取市场信息并匹配
- 建立比赛和市场的关联关系