docs: 消息面补数据研究——同花顺API定向拉取能力(§22)
- offset游标语义: 严格排他上界(返回之前新闻), 实测验证 - 窗口化拉取算法: offset=终点+1s往回翻, 到起点停, 过滤区间 - 历史深度2011+, 6周窗口19页(size100约4页)0越界 - 定向补: 210只赢家波段×[起点-7天~起点+40天]窗口, 已入库9471条 - 12维消息面可补: 同花顺主源(2016-2026)+东财近期补充
This commit is contained in:
@@ -533,3 +533,63 @@ r5f/RSI/bias60 合成强度分,十等分:D1(+1.24%/41%) → D10(+18.17%/90.5
|
||||
| 年化 | 12.0% | **12.8%** |
|
||||
| 回撤 | 18.7% | **16.4%** |
|
||||
| 收益/回撤 | 8.7 | **10.9** |
|
||||
|
||||
|
||||
## §22 消息面补数据研究:同花顺 API 定向拉取能力(2026-08-04)
|
||||
|
||||
> 老莫提醒:现代 web 应用是"拉到最后触发拉取下一批"(无限滚动),不是"下一页"翻页。且做过的事要记录(§ + 代码块规范)。本节固化消息面补数据的研究结论。
|
||||
|
||||
### §22.1 同花顺 timeline API 定向拉取能力(实测验证)
|
||||
|
||||
**接口**:`https://news.10jqka.com.cn/timeline_web/web/v1/news/list`
|
||||
|
||||
**分页参数**:
|
||||
- `marketId`: 17=上交所(6开头), 33=深交所(0/3开头)
|
||||
- `code`: 6位股票代码
|
||||
- `size`: 每页条数(默认20,**实测可用100**,减少请求数)
|
||||
- `offset`: **秒级时间游标**(publishTime/1000),语义=**严格排他上界**(返回该时间戳之前的新闻)
|
||||
|
||||
**实测确认(600519 茅台)**:
|
||||
- offset=2024-06-01 00:00 → 返回 2024-05-31 21:49:29 及更早新闻(**offset 之前的**)
|
||||
- offset=某条新闻的确切秒 → **该新闻自身不被返回**(严格排他)
|
||||
- 翻页连续无重叠无缺口(page1末 05-30 08:02:19 → page2首 05-30 06:41:30)
|
||||
- **历史深度可回溯到 2011 年**(offset=2015 时返回 2011/2013/2014 新闻)
|
||||
- `startTime/endTime/start/end/beginTime` 等参数**全部无效**——API 只支持 offset 单边上界
|
||||
|
||||
**窗口化拉取算法**(用于定向补某时间段新闻):
|
||||
1. offset = 窗口终点 + 1秒(排他上界,包含终点时刻)
|
||||
2. 往回翻页(size=100 减少请求)
|
||||
3. 当本页最后一条 publishTime < 窗口起点 → 停止
|
||||
4. 过滤只保留 [起点, 终点] 区间内的新闻
|
||||
5. 实测:6 周窗口 19 页(size=20)→ size=100 只需 ~4 页,**0 条越界**
|
||||
|
||||
### §22.2 消息面补数据方案:定向拉取(非全量)
|
||||
|
||||
**原则**:不全量补全市场新闻,而是**先定赢家波段,只补相关股票在相关时段的消息**。
|
||||
|
||||
**首批研究对象**:涨幅≥80% 的极端波段,每年取涨幅前 20 → **220 个波段,210 只股票**,年份分布均衡(2016-2026)。
|
||||
|
||||
**定向窗口**:波段起点前 7 天 ~ 起点后 40 天(约 47 天),覆盖入场前后的消息面。
|
||||
|
||||
**执行结果**:`news_backfill_window.py` 已完成首批拉取:
|
||||
- 210 只 × 波段窗口
|
||||
- **共入库 9471 条新闻**(stock_news 表,source=同花顺iNews)
|
||||
- 单票窗口拉取约 3-8 页(size=20),全程约 20-30 分钟
|
||||
|
||||
### §22.3 12 维消息面可补的结论
|
||||
|
||||
| 维度 | 数据源 | 历史覆盖 | 状态 |
|
||||
|------|--------|---------|------|
|
||||
| 个股消息面 | 同花顺 ths_news.py | **2011+(实测)** | ✅ 可补 |
|
||||
| 个股消息面(近期) | 东财 search-api | 近6个月 | ⚠️ 仅近期 |
|
||||
| 大盘消息面 | macro_context_collector.py | 仅实时 | ❌ 硬缺口 |
|
||||
| 行业消息面 | signal_news | 仅实时 | ❌ 硬缺口 |
|
||||
|
||||
**消费端**:strategy_lab.py 的 `prepare_news_context()` + `news_mult=2.0` 已启用,补数据直接进回测增益。
|
||||
|
||||
### §22.4 已固化的采集脚本
|
||||
```
|
||||
/home/hmo/MoFin/deploy/profile-scripts/ths_news.py # 同花顺翻页采集(全量backfill+daily)
|
||||
/home/hmo/MoFin/deploy/profile-scripts/news_collector.py # 东财翻页采集(近6个月)
|
||||
/tmp/news_backfill_window.py # 定向窗口拉取(赢家波段相关时段)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user