|
| 1 | +# 数据源与因子完善路线 |
| 2 | + |
| 3 | +## 当前结论 |
| 4 | + |
| 5 | +`QuantAdvisorResearch` 当前应该继续做推荐结论仓库,而不是把所有量化因子仓库接进来。原因是现有组织里已经有两条性质不同的链路: |
| 6 | + |
| 7 | +- 可回测、可执行链路:价格、技术、动量、波动、快照和策略仓库,最后可进入券商平台。 |
| 8 | +- 新闻、政策、公开事件、AI shadow 链路:证据不稳定、样本少、回测难,应该只进入非个性化模型推荐和复盘。 |
| 9 | + |
| 10 | +因此本仓库短期只消费 `PoliticalEventTrackingResearch` 和 `AiLongHorizonSignalPipelines` 的研究产物;`UsEquitySnapshotPipelines`、`UsEquityStrategies`、`CryptoSnapshotPipelines`、`CryptoStrategies` 保持独立,只作为方法参考和未来人工复核资料来源。 |
| 11 | + |
| 12 | +## 现有数据源盘点 |
| 13 | + |
| 14 | +### PoliticalEventTrackingResearch |
| 15 | + |
| 16 | +当前负责事件事实层,已有输入与适配器: |
| 17 | + |
| 18 | +- 官方/半结构化记录:`official_records.csv`,支持政府、发行人、主社媒、财经媒体 lead。 |
| 19 | +- RSS/Atom:`fetch_rss_sources.py`,可拉取 SEC 等公开 feed。 |
| 20 | +- X recent search:`fetch_x_recent_search.py`,需要 `X_BEARER_TOKEN`。 |
| 21 | +- Truth Social:`import_truthsocial_export.py`,当前走导出或合规采集后的 JSON。 |
| 22 | +- 原始文本抽取:`extract_source_mentions.py`,通过 alias map 抽取 ticker 相关事件。 |
| 23 | +- 事件研究:`run_event_study.py`,用本地日收盘价做小窗口事件回测。 |
| 24 | + |
| 25 | +当前事件类型: |
| 26 | + |
| 27 | +- `disclosure_buy` |
| 28 | +- `public_mention` |
| 29 | +- `policy_capital` |
| 30 | +- `market_reaction` |
| 31 | + |
| 32 | +当前来源置信度: |
| 33 | + |
| 34 | +- `high`:政府、官方披露、发行人等主来源。 |
| 35 | +- `medium`:可复核主社媒或一手社媒导出。 |
| 36 | +- `low`:财经媒体 lead,必须先核验主来源。 |
| 37 | + |
| 38 | +### AiLongHorizonSignalPipelines |
| 39 | + |
| 40 | +当前负责 AI 长周期 shadow context: |
| 41 | + |
| 42 | +- 输入为本地价格 CSV 或 Yahoo chart 下载。 |
| 43 | +- 生成价格上下文:趋势、63 日回撤、21 日实现波动、波动分层。 |
| 44 | +- 保存 `latest_signal.json` 和 `signal_history/YYYY-MM-DD.json`。 |
| 45 | +- replay 只用已保存的历史 artifact,不重新生成过去的 AI 判断。 |
| 46 | +- 当前示例 overlay 只允许降低风险暴露,不允许提高仓位。 |
| 47 | + |
| 48 | +这个仓库适合给本仓库提供长周期背景,例如市场 regime、风险 flags、候选方向偏好,但不应该直接生成下单或仓位。 |
| 49 | + |
| 50 | +### QuantAdvisorResearch |
| 51 | + |
| 52 | +当前负责最终非个性化模型推荐: |
| 53 | + |
| 54 | +- 输入:事件 CSV、watchlist CSV、AI shadow JSON。 |
| 55 | +- 输出:`model_recommendations` JSON、Markdown、HTML、RSS。 |
| 56 | +- 推荐字段:推荐等级、推荐层级、适合周期、周期说明、来源可信度、理由、风险、复核清单。 |
| 57 | +- 合约禁止:目标仓位、目标股数、订单、券商、账户信息。 |
| 58 | + |
| 59 | +当前评分仍是 MVP 级确定性规则,主要围绕事件类型、来源置信度、AI shadow 偏好和风险 flags。 |
| 60 | + |
| 61 | +### UsEquitySnapshotPipelines / UsEquityStrategies |
| 62 | + |
| 63 | +这条链路适合自动交易或可回测策略,不建议直接接入投顾推荐 MVP。 |
| 64 | + |
| 65 | +已有 US equity 因子和规则包括: |
| 66 | + |
| 67 | +- Russell 1000 多因子:`mom_6_1`、`mom_12_1`、`sma200_gap`、`vol_63`、`maxdd_126`、ADV、sector 标准化、宽度防守。 |
| 68 | +- Global ETF rotation:13612W 动量、SMA250 趋势、canary basket、相对波动和置信门。 |
| 69 | +- TQQQ/SOXL 等趋势收入策略:RSI、Bollinger band、ATR / Chandelier、动态 RSI 分位、波动/回撤保护。 |
| 70 | +- Mega-cap leader rotation:动态 universe、leader rotation、频率和集中度研究。 |
| 71 | + |
| 72 | +这些因子可以作为未来人工解释或交叉验证材料,但不应让本仓库直接输出可执行 target allocation。 |
| 73 | + |
| 74 | +### CryptoSnapshotPipelines / CryptoStrategies |
| 75 | + |
| 76 | +这条链路当前是 crypto leader rotation: |
| 77 | + |
| 78 | +- 数据源:Binance Spot `exchangeInfo`、symbol metadata、daily klines、本地缓存。 |
| 79 | +- 因子:趋势质量、持久性、流动性、流动性稳定度、相对 BTC 强度、风险调整动量、ATR 风控。 |
| 80 | +- 当前外部数据 track 仍是实验,不是默认生产路径。 |
| 81 | + |
| 82 | +Crypto 可作为跨资产风险情绪参考,但暂时不应混入 US equity 推荐结果,除非未来明确做跨资产投顾版。 |
| 83 | + |
| 84 | +## 需要补强的数据源 |
| 85 | + |
| 86 | +优先级从高到低: |
| 87 | + |
| 88 | +1. 主来源政策与披露 |
| 89 | + - SEC press releases、EDGAR / issuer release、White House、Federal Register、Congress、OGE、DoD contracts、DOE / CHIPS、Treasury sanctions、USAspending 或 SAM.gov。 |
| 90 | + - 目标:提高 `high` confidence 事件比例。 |
| 91 | + |
| 92 | +2. 主社媒 |
| 93 | + - Truth Social、X verified accounts、政府/公司官方账号。 |
| 94 | + - 目标:把社媒从“话题噪声”变成可审计事件来源。 |
| 95 | + |
| 96 | +3. 财经媒体 lead |
| 97 | + - 只做 `low` confidence lead。 |
| 98 | + - 目标:发现线索,但必须通过官方、发行人或主社媒二次确认后才能升级。 |
| 99 | + |
| 100 | +4. 实时市场确认 |
| 101 | + - 日内或日频价格、成交量、相对行业/指数表现、跳空、异常成交量。 |
| 102 | + - 目标:判断事件是否已经被市场确认或过度透支。 |
| 103 | + |
| 104 | +5. 基本面与估值 |
| 105 | + - 市值、流通市值、行业、营收增长、利润率、负债、forward PE / EV sales、盈利日期。 |
| 106 | + - 目标:区分政策催化的短中线交易和真正可持有的价值/成长标的。 |
| 107 | + |
| 108 | +6. 宏观与风险环境 |
| 109 | + - VIX、利率、美元、信用利差、油价、期限结构、板块 beta。 |
| 110 | + - 目标:避免在不合适 regime 里把事件催化误判成推荐。 |
| 111 | + |
| 112 | +## 推荐因子分层 |
| 113 | + |
| 114 | +### 事件证据因子 |
| 115 | + |
| 116 | +- 来源权威度:官方 > 主社媒 > 媒体 lead。 |
| 117 | +- 来源新鲜度:越接近 `as_of` 越高。 |
| 118 | +- 多来源确认:同一事件被官方、公司、主社媒交叉确认时加分。 |
| 119 | +- 事件方向:利好、利空、中性、待核验。 |
| 120 | +- 事件类型强度:政策资金/采购/监管批准通常强于普通 mention。 |
| 121 | +- 事件滞后窗口:事件后 1/5/20/60 个交易日的表现用于后续复盘。 |
| 122 | + |
| 123 | +### 政策催化因子 |
| 124 | + |
| 125 | +- 资金规模或订单规模。 |
| 126 | +- 政策持续时间。 |
| 127 | +- 受益链条清晰度:直接受益 > 供应链受益 > 概念受益。 |
| 128 | +- 政策执行概率。 |
| 129 | +- 竞争格局:是否只有少数公司能拿到订单或资格。 |
| 130 | + |
| 131 | +### 社媒与新闻因子 |
| 132 | + |
| 133 | +- 发言人权重:政策制定者、监管者、公司高管、关键人物。 |
| 134 | +- 文本意图:点名、支持、批评、采购、制裁、监管。 |
| 135 | +- 传播强度:重复提及、多账号扩散、媒体跟进。 |
| 136 | +- 噪声惩罚:只来自媒体 lead 且无主来源时不能升级推荐。 |
| 137 | + |
| 138 | +### 市场确认因子 |
| 139 | + |
| 140 | +- 相对收益:相对 SPY / QQQ / 行业 ETF 的异常表现。 |
| 141 | +- 异常成交量:相对 20 日/60 日均量。 |
| 142 | +- 趋势状态:价格相对 50/200 日均线。 |
| 143 | +- 回撤状态:避免追入已大幅透支的事件。 |
| 144 | +- 波动状态:高波动标的默认降低推荐层级或标注短线风险。 |
| 145 | + |
| 146 | +### 价值与质量因子 |
| 147 | + |
| 148 | +- 营收和利润质量。 |
| 149 | +- 现金流和资产负债表。 |
| 150 | +- 估值相对行业是否过高。 |
| 151 | +- 盈利日期和 guidance 风险。 |
| 152 | +- 是否有长期政策/产业逻辑支撑。 |
| 153 | + |
| 154 | +### AI shadow 因子 |
| 155 | + |
| 156 | +- regime:risk_on、mixed、risk_off。 |
| 157 | +- confidence:只作为背景强弱,不作为直接下单信号。 |
| 158 | +- risk_flags:波动、流动性、盈利集中、宏观冲击。 |
| 159 | +- candidate bias:用于解释候选标的的长周期背景。 |
| 160 | +- model/version/source:必须可审计,保留历史 artifact。 |
| 161 | + |
| 162 | +## 低风险实施顺序 |
| 163 | + |
| 164 | +1. 先把 `PoliticalEventTrackingResearch` 的真实源配置补齐: |
| 165 | + - RSS feed 配置。 |
| 166 | + - X 查询配置。 |
| 167 | + - Truth Social 导出规范。 |
| 168 | + - alias map 和 source registry。 |
| 169 | + |
| 170 | +2. 在 `QuantAdvisorResearch` 增加 market confirmation 输入,但保持可选: |
| 171 | + - `symbol,as_of,close,volume,benchmark_close,sector_etf_close`。 |
| 172 | + - 如果没有市场确认数据,报告继续生成,但降级提示数据缺口。 |
| 173 | + |
| 174 | +3. 增加事件复盘结果输入: |
| 175 | + - `event_id,symbol,event_date,window,absolute_return,benchmark_relative_return`。 |
| 176 | + - 用于日/周/月回顾,不用于自动交易。 |
| 177 | + |
| 178 | +4. 增加基本面/估值快照输入: |
| 179 | + - 独立 CSV artifact,不直接依赖策略仓库。 |
| 180 | + - 先只用于风险提示和推荐解释。 |
| 181 | + |
| 182 | +5. 最后再考虑跨仓库只读参考: |
| 183 | + - 只读 `UsEquitySnapshotPipelines` 的公开 artifact 摘要。 |
| 184 | + - 不读取策略 target、broker runtime、账户持仓或订单。 |
| 185 | + - 输出仍然是推荐文本,不是仓位。 |
| 186 | + |
| 187 | +## 不建议现在做的事 |
| 188 | + |
| 189 | +- 不要把 `UsEquityStrategies` 的策略信号直接合并成本仓库推荐分数。 |
| 190 | +- 不要把 `QuantAdvisorResearch` 的推荐推给券商平台执行。 |
| 191 | +- 不要让 AI 生成目标仓位、买卖数量、订单类型或账户级建议。 |
| 192 | +- 不要把财经媒体 lead 当成高置信来源。 |
| 193 | +- 不要为了“AI 化”放弃 point-in-time artifact 和 replay。 |
| 194 | + |
| 195 | +## 验证方式 |
| 196 | + |
| 197 | +- schema 测试:每次输出都必须通过 `contracts.py` 校验。 |
| 198 | +- fixture 测试:保留合成样例,验证低置信来源不会升级成推荐。 |
| 199 | +- 日/周/月回顾:跟踪推荐后的 1/5/20/60 交易日相对表现。 |
| 200 | +- 来源质量报表:统计 high/medium/low/mixed 推荐命中率。 |
| 201 | +- 人工复核清单:任何一级推荐必须能追溯到来源、事件、AI context 和风险说明。 |
| 202 | + |
| 203 | +短期真正要补的是源和复核数据,不是把自动交易仓库接进来。等真实数据积累后,再决定哪些新闻/政策因子值得转成可回测的独立策略。 |
0 commit comments