Skip to content

数据模型与数据库

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-运维手册 数据维护章节。

瓯衍期货分析系统 · 温州博益网络科技有限公司