深色模式
数据模型与数据库
PostgreSQL 15+ / TimescaleDB。数据库
futures,共 45 张表。 数据来源: 天勤(TqSdk 实时)+ Tushare(辅助)+ 系统自算(信号/持仓/交易)。
一、数据库概览
- 实例: PostgreSQL + TimescaleDB(时序超表)
- 连接: 见
appsettings.json(PgHost/PgPort/PgDatabase/PgUser/PgPassword,DPAPI 加密) - 表数量: 45 张(public schema)
- 时序超表:
quotes_realtime/quotes_option_realtime/system_logs(按天分块)
二、表清单(按职责分组)
A. 行情与基础数据(由 init_timescaledb.py / 采集脚本创建维护)
| 表 | 说明 | 规模 |
|---|---|---|
quotes_realtime | 期货实时行情(超表,按 tick) | 5180万行 |
quotes_option_realtime | 期权实时行情(超表,含 Greeks/IV) | 7200万行 |
quotes_daily | 期货日线 | 2.5万行 |
quotes_option_daily | 期权日线 | 22万行 |
futures | 期货合约表 | 1023 |
options | 期权合约表 | 2.7万 |
trading_calendar | 交易日历 | 365 |
exchanges / session_types | 交易所 / 交易时段类型 | 15 / 2 |
product_trading_hours | 品种交易时段 | 321 |
fut_mappings | 主力合约映射(天勤主连) | 352 |
B. 排名/仓单/持仓数据(Tushare/天勤采集)
| 表 | 说明 | 规模 |
|---|---|---|
exchange_rankings | 交易所持仓排名 | 139万行 |
fut_holding_records | 期货持仓记录 | 143万行 |
fut_wsr | 仓单日报 | 18万行 |
C. 交易/风控/信号(.NET 服务幂等自建)
| 表 | 说明 |
|---|---|
broker_account | 仿真账户资金 |
broker_orders | 经纪商订单 |
trading_positions | 期货持仓 |
saved_strategies | 期权策略(含 legs_json) |
auto_trade_log | 自动执行生命周期日志 |
signal_history | 信号历史(闭环验证) |
risk_rules / risk_alerts | 风控规则 / 告警 |
settlement_history | 结算历史 |
D. 系统/配置
| 表 | 说明 |
|---|---|
product_params | 品种参数(乘数/保证金/手续费) |
contract_params | 合约级参数覆盖 |
product_chinese_names | 品种中文名 |
system_logs | 系统日志(超表) |
macro_* | 宏观事件/权重 |
custom_sectors / sector_product_mapping | 板块 |
calendar_memos | 日历备注 |
E. RAG 知识库(本地单机模式:rag_*;远程共享模式:srv_rag_*,服务器 PG)
| 表 | 说明 |
|---|---|
rag_categories / srv_rag_categories | 知识库分类(黑色系/农产品/能源化工/有色/宏观) |
rag_documents / srv_rag_documents | 文档元数据(标题/文件名/格式/SHA256/status pending-embedded-failed/chunk_count) |
文档文件本体存磁盘(客户端
rag_data/documents/或服务器~/futures-rag/rag_data/documents/,命名{id}_{文件名});嵌入向量存服务器 Qdrant(集合rag_documents)。详见 09-RAG知识库。
三、核心数据流
┌─ 采集层 ──────────────────────────────────────────────┐
│ tq_futures_pg.py → quotes_realtime │
│ unified_options_main.py → quotes_option_realtime │
│ daily_update_*.py → quotes_daily / quotes_option_daily │
│ tq_mapping_pg.py → fut_mappings │
│ Tushare 服务 → fut_wsr / fut_holding / exchange_rankings │
└───────────────────────────────────────────────────────┘
│ 写入
▼
┌─ 分析层 ──────────────────────────────────────────────┐
│ GreekExposureService 读取 quotes_* → GEX/DEX/TEX │
│ 期限结构/仓单/持仓/宏观 → 期货研判评分 │
│ 交易机会扫描 → TradingOpportunity │
└───────────────────────────────────────────────────────┘
│ 产出信号
▼
┌─ 交易层 ──────────────────────────────────────────────┐
│ signal_history(信号落库) │
│ AutoTradeExecutionService(自动执行)→ auto_trade_log │
│ SimulatedBrokerService → broker_orders / positions │
│ AutoStopService → 自动止盈止损 → 平仓结算 │
└───────────────────────────────────────────────────────┘四、表结构要点
- 主键设计: 行情表用
(id, datetime)组合主键(TimescaleDB 要求);业务表用自然主键(symbol/trade_date 等) - legs_json:
saved_strategies用 JSONB 存多腿策略(camelCase) - auto_trade_log: 含
asset_type列区分期货(futures)/期权(options)执行 - signal_history: 含计划快照(PlanEntryPrice/StopLoss/TakeProfit)与执行回填(ActualEntryPrice)
五、数据维护
| 操作 | 入口 |
|---|---|
| 备份/导出/清理 | 「数据备份与维护」页面(系统菜单) |
| 初始数据包 | 制作 .backup → 客户导入 |
| 旧数据清理 | 按时间列清理(如 quotes_realtime 保留 N 天) |
| 大表控制 | quotes_option_realtime 7200万行,建议定期清理 |
详见 05-运维手册 数据维护章节。