国内外黄金白银期货对冲套利系统 · 市场资讯与风险判断
第五模块:大模型接入(DeepSeek/通义千问):入库 & 通知/提醒下发方案
模块 AI 风险判断引擎 目标 入库 + 下发 边界 不预测涨跌 / 不下单

假设已拿到前四步数据:接入第三方大模型进行处理与输出

前提:三步数据(国内 SHFE / 国外 COMEX / 宏观-机构-观点)已稳定获取并结构化。 现在引入第三方大模型(如 DeepSeek / 通义千问)进行分析输出,实现:① 写入数据库② 下发到客户端(通知/提醒/消息中心)

总原则:大模型是分析引擎,不是数据源也不是消息源。它只负责“判断 + 解释”, 不直接写库、不直接发通知、不决定发不发;真正的控制权在你自己的后端(规则引擎)。

整体架构(分层职责,避免系统失控)

分析 ≠ 控制
1数据层(你已完成)
  • 国内:SHFE(成交/持仓/夜盘/主力切换)
  • 国外:COMEX(主力 Volume / Open Interest)
  • 宏观/机构/观点:事件库 + 中期趋势 + 共识背景
2AI 分析层(第三方大模型)
  • 输入:你后端生成的结构化数据包(摘要)
  • 输出:风险等级(low/medium/high)+ 解释文本 + 置信度
  • 严格约束:不预测涨跌、不出点位、不提交易建议
3决策与控制层(你自己的后端)
  • 写入数据库(结构化结果 + 文案版本)
  • 规则引擎判断是否触发消息(不能交给模型)
  • 生成消息任务,进入消息队列
4消息下发层(消息服务)
  • 消费队列任务
  • 向 App / 小程序 / Web 消息中心推送
  • 统一消息格式,客户端只认你自家的 schema

大模型在系统中的正确角色

只做判断+解释
  • 输入给模型的不是原始行情 先摘要再喂

    后端先把三步数据汇总成“风险判断输入包”,避免把 CSV/原始字段全丢给模型,降低成本与不确定性。

  • 模型输出必须结构化(JSON) 可入库/可下发

    统一输出:风险等级、解释文本、置信度、(可选)触发因子列表。便于存档、追溯、回放、切模型。

  • 明确禁区:不让模型决定发不发 控制权在后端

    通知逻辑是产品策略与合规策略的一部分,必须在你后端规则里实现,避免模型“情绪化提醒”或越界。

目标:把风险“翻译成用户能理解的状态” 边界:永远不生成交易指令
核心控制点:
“是否通知/提醒”必须由后端规则引擎决定;
模型只输出建议性结构结果(风险等级/解释/置信度)。

让AI洞察驱动您的每一次精准决策:
"不追求精准预测未来,更在于理解预测的边界。"

模型输入包(摘要)与输出结果(JSON)示例

可直接落地
输入给模型:RiskInput(示例)
{
  "date": "2025-01-08",
  "domestic": {
    "night_volume_ratio": 0.42,
    "oi_change_3d": "increase",
    "main_contract_shift": false
  },
  "foreign": {
    "comex_volume_change": "increase",
    "comex_oi_trend_4w": "increase"
  },
  "macro": {
    "event_today": "CPI",
    "risk_bias": "volatility_up"
  }
}
模型输出:RiskAssessment(示例)
{
  "risk_level": "medium",
  "risk_reason": "内外盘活跃度同步上升,COMEX持仓连续增加,叠加宏观事件影响,短期波动不确定性增强。",
  "confidence": 0.73,
  "drivers": ["night_volume_ratio_up", "comex_oi_up", "macro_event"]
}
提示词约束要点:要求模型只做风险解释;禁止输出价格预测、点位、开平仓建议;强制 JSON 输出,便于入库与消息生成。

写入数据库:建议“结构化结果 + 文案分表”

可追溯/可回放

不要只存一段模型全文。建议分层存:结果字段(可计算) + 文案(可迭代) + 版本信息(可切模型/AB测试)。

表名 核心字段(示例) 目的
risk_assessment_daily date, risk_level, confidence,
domestic_signal, foreign_signal, macro_signal,
model_name, model_version, prompt_version, created_at
结构化存档:可检索、可统计、可回放、可切模型
risk_assessment_text assessment_id, explanation_text,
version, language, created_at
文案独立:可迭代、可多版本、多语言
risk_drivers(可选) assessment_id, driver_key, driver_value 驱动因子:方便解释、展示、追踪
必须入库的三个版本字段:model_name / model_version / prompt_version —— 这决定你后面能不能平滑切换 DeepSeek、通义或自研专家模型。

下发到客户端:通知 vs 提醒 vs 消息中心(强弱分层)

别乱发
类型 强度与频率 触发条件(建议) 示例
通知(强提醒) 强、极少 risk_level 发生变化(如 中 → 高) “对冲环境风险由「中」上调至「高」”
提醒(弱提醒) 中、可控 宏观事件 + 置信度高 或 异常放量/结构变化 “事件叠加活跃度上升,波动不确定性增强”
消息中心(沉淀) 弱、每日 每日定时生成(不打扰用户) “1月8日市场风险解读(可展开查看)”
关键红线:“是否发”必须由你后端规则引擎决定,禁止让模型直接触发通知(否则会出现越界、频率失控、体验崩坏)。

规则引擎 + 消息队列:让下发可靠、可控、可扩展

生产级
规则引擎(示例逻辑)
IF risk_level_changed THEN
  send_notification
ELSE IF confidence > 0.70 AND macro_event_today THEN
  send_reminder
ELSE
  only_store_message
建议:规则要“少而精”,先保证通知频率稳定、可解释。后续再迭代更多触发因子。
消息下发架构(建议)
风险结果生成
  ↓
消息任务入队(Kafka / RabbitMQ / Redis Stream)
  ↓
消息服务消费
  ↓
推送到:
- App Push
- 小程序订阅消息
- Web 消息中心
要点:客户端不直接依赖模型输出;只接收你定义的统一消息 schema,避免未来切模型造成客户端改动。
统一消息格式(客户端只认这个)
{
  "type": "risk_notification",
  "level": "medium",
  "title": "市场风险提示",
  "content": "内外盘联动增强,短期波动不确定性上升。",
  "date": "2025-01-08"
}

一句话总结(DY量化交易-对冲套利AI化)

合规/可运营
这不是“让 AI 帮你预测行情”,而是“用 AI 把风险翻译给人看”。
模型只负责判断与解释;入库、通知频率与合规边界由你的后端控制,系统才能长期稳定运行。
模型可切换:DeepSeek / 通义 / 未来专家模型 通知可控:规则引擎决定是否下发 可追溯:入库保留 model/prompt 版本
返回