-
-
Timeline of all 25 propaganda events mapped onto SPY, showing how media signals from China and Russia cluster around market dislocations.
-
Country playbooks: China (KWEB) and Russia (XLE) with event markers showing where propaganda signals preceded market moves.
-
ML on market data (AUC 0.56, coin flip) vs propaganda signals (64% win rate,1.86 Sharpe). Markets price data efficiently but not propaganda.
-
Backtest results: 4 strategies compared by Sharpe ratio, win rate, equity curve, and per-trade returns. Smart Rules wins with 1.86 Sharpe.
-
-
-
-
-
Inspiration
Every major market crash is "obvious in hindsight." But the warning signs are always there — scattered across foreign-language state media that Western fund managers can't read. We built a system to read it for them.
What it does
The Propaganda Index monitors state media from China (People's Daily, Xinhua, Global Times) and Russia (TASS, RT) for policy signals that precede market moves. When People's Daily shifts tone on tech regulation, Chinese tech stocks drop 1-5 days later. When TASS floods military language, energy prices spike.
Our system:
- Scans state media RSS feeds in real-time, scoring articles with bearish/bullish keyword dictionaries
- Tags each article by industry (Tech, Energy, Defense, Education, etc.) and suggests specific tickers to trade
- Determines a threat level (LOW → CRITICAL) based on aggregate sentiment
- Applies Smart Rules — country-specific trading rules with optimized holding periods
Key Results (Backtest: 2014-2025)
- Sharpe Ratio: 1.86
- Win Rate: 64.0%
- Cumulative P&L: +$133,713 on $100K/trade
- Monte Carlo: 100th percentile vs 10,000 random simulations
- 25 trades across 11 years, 2 countries
We also ran XGBoost on 17 standard market indicators — AUC 0.56 (coin flip). Markets are efficient at pricing market data. They are NOT efficient at pricing propaganda.
How we built it
- Python (pandas, numpy, scipy, yfinance, feedparser, requests)
- Streamlit for the live dashboard
- RSS feed scraping with keyword sentiment scoring
- Walk-forward backtesting with country-specific Smart Rules
- Monte Carlo simulation (10,000 runs) for statistical validation
Challenges
- Chinese state media English feeds sometimes return 404 — the real edge requires native Mandarin scraping (Phase 2)
- Small sample size (25 trades) — mitigated by Monte Carlo validation at 100th percentile
- China shorts have 42.9% win rate — solved by Smart Rules that skip shorts and go to cash instead
What we learned
The signal is structural, not technological. Language barriers don't get arbitraged away. State media interpretation requires geopolitical expertise, not just NLP. And event frequency (~3-4 trades/year/country) is too low for HFT firms to care about.
What's next
- Phase 2: Native-language NLP with LLM sentiment scoring on Mandarin/Russian sources
- Phase 3: Expand to Iran (IRNA), Saudi Arabia (SPA), North Korea (KCNA)
- Automated ticker selection based on industry tagging
Log in or sign up for Devpost to join the conversation.