You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fithia2/journal/attention_probe_20260317.md

55 lines
2.5 KiB
Markdown

# Free Attention Probe
Date: 2026-03-17
Goal:
- Verify that free historical attention/news proxies can be fetched for old events.
- Run a short-sample sanity check before building anything into Stock Oracle.
Sources tested:
- `Wikimedia pageviews` for historical attention spikes
- `GDELT Doc API` for spot-check historical news article counts
Method:
- Start from `data/datasets/snapshots/midcap-filtered/test.parquet`
- Restrict to `earnings_release`
- Join `ticker` / `issuer_name` from local Postgres
- Keep only names that are not obvious `{TICKER} Corporation` placeholders
- Resolve a Wikipedia article title from issuer name
- Compute `pageview_spike = event_day_views / median(last_10_pre_event_views)`
- Compare against signed continuation:
- `signed_cont_3d = sign(reaction_day_return) * fwd_return_3d`
- `signed_cont_5d = sign(reaction_day_return) * fwd_return_5d`
Probe run:
- command:
- `python -m apps.tools.free_attention_probe --limit 30 --gdelt-limit 5`
- output csv:
- `data/research/free_attention_probe_test_sample.csv`
Results:
- Sampled 30 non-generic test-split earnings events
- Resolved 22 rows with usable Wikipedia pageviews
- Raw sample:
- median pageview spike `1.226x`
- high-spike group signed 3D continuation mean `+0.0672`
- low-spike group signed 3D continuation mean `+0.0186`
- high-spike group signed 5D continuation mean `+0.0693`
- low-spike group signed 5D continuation mean `+0.0458`
- corr(pageview_spike, signed_cont_3d) `+0.2646`
- corr(pageview_spike, signed_cont_5d) `-0.1075`
- After filtering to higher-confidence mappings and excluding obviously bad article matches, the broad signal became inconclusive.
- Negative-reaction subset looked more promising than the full sample on 5D continuation, but sample size was too small to trust.
GDELT spot-check:
- Historical fetch works.
- Exact-phrase matching is fragile without a better company-name resolver.
- In the small spot-check, valid 3-day article counts were observed for some names, but coverage was too patchy for immediate use as-is.
Conclusion:
- Free historical attention/news data is usable for short-window research.
- `Wikimedia pageviews` is immediately practical.
- `GDELT` is viable, but only after better issuer-name normalization and article/entity resolution.
- Current evidence does not justify adding raw pageview spike directly to strategy scoring yet.
- The most promising next test is a conditional filter on downside earnings reactions, not a global attention overlay.