MOEasymmetry← All articles
Research · 2026-06-12 · 3 min read

92% of My Best Stock Picks Were Fake

Track. Study. Wait. Strike.
English อ่านภาษาไทย (Thai)
⚠️ Personal research and trading journal — not investment advice. The author does not provide licensed advisory services.

In May 2026 I discovered that 92% of the historical "Top-10" names produced by my US ranking system were artifacts of stale data.

Not noise. Not statistical variation. Artifacts. The stocks didn't actually rank highly — they appeared to rank highly because their last valid price was very old.

What Happened

I was running an information coefficient (IC) analysis to measure whether my US RS ratings predicted forward returns. I built the ranking, computed 30-day forward returns for each top-decile name, and calculated IC across historical periods.

The IC numbers looked surprisingly clean. Too clean. I ran a spot-check.

What I found: stocks that had stopped trading — delisted names, tickers that had been absorbed in mergers, companies with extended halt periods — retained their last valid price indefinitely. When my RS calculation looked at these stale prices against recent data, they often appeared to have very high relative strength.

A stock that last traded at $30 in 2022 showed up in my 2024 rankings as if it had never declined. Because in my database, it hadn't.

The Fix

I added a freshness filter: any stock whose last price date is more than N trading days old is flagged as stale and excluded from rankings.

This is now wired into fetch_us_rs.py — the script that computes US relative strength ratings. Stale stocks are excluded before ranking, not after.

The before/after comparison was stark: - Before freshness filter: Top-10 historically dominated by stale names; IC looked strong but was measurement artifact - After freshness filter: Top-10 refreshed to actively trading stocks; real IC requires more careful analysis to measure

This is a classic data hygiene failure: the ranking system was optimizing against phantom data. Any backtest run before this fix was measuring performance on names that couldn't actually be traded.

The Broader Lesson

Stale data artifacts are particularly dangerous in relative strength systems because RS by definition compares recent performance to a universe average. If the universe contains stale entries that stopped moving, they will eventually appear to be extremely strong (high RS) or extremely weak (low RS) relative to a market that kept moving.

In practice this means: 1. Always date-stamp your universe — every name should have a "last valid trade date" and be automatically excluded if it exceeds a threshold 2. Validate ICs against live-tradeable universes — if you can't actually buy the name, its IC contribution is fictional 3. Check spot samples — aggregate IC can look fine while masking that the best performers are untradeable

The fix is straightforward once you see it. The danger is not noticing. A system with stale data can pass backtesting validation while being completely useless in live trading — the returns were generated by positions you couldn't have taken.

I found this by accident on a spot-check. Now I run a freshness validation as part of every pipeline run.

Track. Study. Wait. Strike.


Personal research and trading journal — not investment advice. The author does not provide licensed advisory services. — MOEasymmetry

Draft 2026-06-12. Source: US RS rating pipeline audit 2026-05-15. 92% of historical Top-10 were stale-data artifacts pre-fix. Fix: freshness filter added to fetch_us_rs.py. 175K+ corrupt rows quarantined from fetcher root-cause fix 2026-05-09 (related). Full methodology at vault methodology/IC-Stale-Data-Freshness-Gate.md.

Get new research by email
Tested across decades. Failures published. Real money.
Subscribe — free
📊 See the live dashboards, the breakout scanner, and the real track record at the MOEasymmetry hub — research, not advice.
← Previous
A Signal That Works. Just Not the Way I Expected.
งานวิจัยและบันทึกการเทรดส่วนบุคคล ไม่ใช่คำแนะนำการลงทุน · Personal research & trading journal — not investment advice. The author does not provide licensed advisory services.
Home · Articles · Methodology · Track record