💰 市场数据价格
MAF OA 系统中日终 (EOD) 定价数据和查询指南。
快速概览
系统提供具有三种查询模式的日终定价:
- 🏦 内部价格 — 来自您数据库的价格
- 📊 外部价格 — 来自 MAF (Markit Attribution Finance) 的价格
- 🔗 组合查询 — 先尝试内部,然后回退到外部
📈 日终价格数据
关键字段
| 字段 | 类型 | 示例 | 目的 |
|---|---|---|---|
mdp_id | 整数 | 1 | 链接到市场数据产品 |
mdi_id | 整数 | 5 | 链接到市场数据工具 |
price_date | 日期 | 2025-01-09 | 日终日期 (YYYY-MM-DD) |
close | 小数 | 26.00 | 收盘价 |
open | 小数 | 25.50 | 开盘价 |
high | 小数 | 26.75 | 日高价 |
low | 小数 | 25.25 | 日低价 |
volume | 整数 | 1500000 | 交易量 |
source | 枚举 | MAF | 源系统 |
source_market_data_product_id | 字符串 | 10123 | 外部产品 ID |
示例价格
📊 内部日终价格
{
"mdp_id": 1,
"mdi_id": 5,
"price_date": "2025-01-09",
"open": 25.50,
"high": 26.75,
"low": 25.25,
"close": 26.00,
"volume": 1500000
}
🏦 MAF 外部价格
{
"mdp_id": 1,
"price_date": "2025-01-09",
"open": 25.48,
"high": 26.72,
"low": 25.20,
"close": 25.95,
"source": "MAF",
"source_market_data_product_id": "10123"
}
🎛️ 查询模式
为每个查询选择一种模式:
| 模式 | 行为 | 使用场景 |
|---|---|---|
internal | 仅限内部价格;未找到则失败 | 监管/审计要求 |
external | 仅限 MAF 价格 | 市场比较、公共基准 |
combine | 先尝试内部,回退到 MAF | 推荐 — 两者兼有 |
查询示例
查询 LNG 12月-2025 (2025年1月)
{
"rows": [
{
"mdp_id": 1,
"contract_term": "2512",
"source": "MAF"
}
],
"query_mode": "combine",
"start_date": "2025-01-01",
"end_date": "2025-01-31"
}
获取产品的所有工具
{
"mdp_id": 1,
"start_date": "2025-01-01",
"end_date": "2025-01-31"
}
🔌 API 端点
| 方法 | 端点 | 目的 |
|---|---|---|
| POST | /marketdata/eod/select_range | 查询日期范围内的日终价格 |
| POST | /marketdata/eod/select_all | 获取产品的所有工具 |
| POST | /marketdata/eod/insert | 插入新的日终价格 |
| POST | /marketdata/eod/update | 更新现有价格 |
| POST | /marketdata/eod/delete | 删除价格 |
注意:
select_all仅使用 内部价格;无 MAF 回退。
📋 最佳实践
查询时
- ✅ 指定查询模式 — 根据您的需求选择
internal、external或combine - ✅ 积极缓存 — 日终价格不可变;缓存 24+ 小时
- ✅ 处理间隙 — 并非所有工具都有所有日期的价格
- ✅ 使用合约期限 — 对于期货/期权,指定
contract_term以避免歧义 - ✅ 遵守租户范围 — 您的
tenant_id自动过滤所有查询
插入/更新时
- ✅ 验证工具 — 插入前确保
mdp_id和mdi_id存在 - ✅ 使用一致的日期 — 将所有日期格式化为 YYYY-MM-DD
- ✅ 记录更改 — 所有插入/更新都会自动审计记录
- ✅ 与 MAF 对账 — 定期比较内部与外部价格
🔄 数据更正与回填
| 操作 | 端点 | 使用场景 |
|---|---|---|
| 回填 | POST /insert | 添加历史价格 |
| 更正 | POST /update | 修复错误的价格 |
| 删除 | POST /delete | 删除过时记录 |
所有更改都 审计记录 了
created_by、updated_by和时间戳。
📊 源对比
| 方面 | 内部 | MAF (外部) |
|---|---|---|
| 延迟 | 实时 | 收盘后 15-30 分钟 |
| 覆盖范围 | 仅您的数据 | 全市场 |
| 准确性 | 信息源 | 供应商依赖 |
| 用于 | 合规、审计 | 基准、对账 |
| 回退 | 手动对账 | 使用内部作为主要 |
⏰ 时间处理
- 格式: YYYY-MM-DD (仅日期,无时间)
- 时区: 产品当地时区的市场收盘时间
- 范围: 仅日终价格;不支持盘中数据
📚 相关文档
- 市场数据 — 产品和工具定义
- 代码: 参见
app/model/market_models/中的 Pydantic 模型 - ORM: 参见
app/infra/orm/market_orms/中的数据库架构 - 服务: 参见
app/service/market_services/中的业务逻辑
❓ 支持
- 日终查询 → 数据团队
- MAF 集成 → 外部数据团队
- API 问题 → 后端团队
- 权限 → 租户管理员