Trump Code — Market Signal Analysis Skill by ara.so — Daily 2026 Skills collection. Trump Code is an open-source system that applies brute-force computation to find statistically significant patterns between Trump's Truth Social/X posting behavior and S&P 500 movements. It has tested 31.5M model combinations, maintains 551 surviving rules, and has a verified 61.3% hit rate across 566 predictions (z=5.39, p<0.05). Installation git clone https://github.com/sstklen/trump-code.git cd trump-code pip install -r requirements.txt Environment Variables
Required for AI briefing and chatbot
export GEMINI_KEYS = "key1,key2,key3"
Comma-separated Gemini API keys
Optional: for Claude Opus deep analysis
export ANTHROPIC_API_KEY = "your-key-here"
Optional: for Polymarket/Kalshi integration
export POLYMARKET_API_KEY = "your-key-here" CLI — Key Commands
Today's detected signals from Trump's posts
python3 trump_code_cli.py signals
Model performance leaderboard (all 11 named models)
python3 trump_code_cli.py models
Get LONG/SHORT consensus prediction
python3 trump_code_cli.py predict
Prediction market arbitrage opportunities
python3 trump_code_cli.py arbitrage
System health check (circuit breaker state)
python3 trump_code_cli.py health
Full daily report (trilingual)
python3 trump_code_cli.py report
Dump all data as JSON
python3 trump_code_cli.py json Core Scripts
Real-time Trump post monitor (polls every 5 min)
python3 realtime_loop.py
Brute-force model search (~25 min, tests millions of combos)
python3 overnight_search.py
Individual analyses
python3 analysis_06_market.py
Posts vs S&P 500 correlation
python3 analysis_09_combo_score.py
Multi-signal combo scoring
Web dashboard + AI chatbot on port 8888
export GEMINI_KEYS = "key1,key2,key3" python3 chatbot_server.py
→ http://localhost:8888
REST API (Live at trumpcode.washinmura.jp) import requests BASE = "https://trumpcode.washinmura.jp"
All dashboard data in one call
data
requests . get ( f" { BASE } /api/dashboard" ) . json ( )
Today's signals + 7-day history
signals
requests . get ( f" { BASE } /api/signals" ) . json ( )
Model performance rankings
models
requests . get ( f" { BASE } /api/models" ) . json ( )
Latest 20 Trump posts with signal tags
posts
requests . get ( f" { BASE } /api/recent-posts" ) . json ( )
Live Polymarket Trump prediction markets (316+)
markets
requests . get ( f" { BASE } /api/polymarket-trump" ) . json ( )
LONG/SHORT playbooks
playbook
requests . get ( f" { BASE } /api/playbook" ) . json ( )
System health / circuit breaker state
status
requests . get ( f" { BASE } /api/status" ) . json ( ) AI Chatbot API import requests response = requests . post ( "https://trumpcode.washinmura.jp/api/chat" , json = { "message" : "What signals fired today and what's the consensus?" } ) print ( response . json ( ) [ "reply" ] ) MCP Server (Claude Code / Cursor Integration) Add to ~/.claude/settings.json : { "mcpServers" : { "trump-code" : { "command" : "python3" , "args" : [ "/path/to/trump-code/mcp_server.py" ] } } } Available MCP tools: signals , models , predict , arbitrage , health , events , dual_platform , crowd , full_report Open Data Files All data lives in data/ and is updated daily: import json , pathlib DATA = pathlib . Path ( "data" )
44,000+ Truth Social posts
posts
json . loads ( ( DATA / "trump_posts_all.json" ) . read_text ( ) )
Posts with signals pre-tagged
posts_lite
json . loads ( ( DATA / "trump_posts_lite.json" ) . read_text ( ) )
566 verified predictions with outcomes
predictions
json . loads ( ( DATA / "predictions_log.json" ) . read_text ( ) )
551 active rules (brute-force + evolved)
rules
json . loads ( ( DATA / "surviving_rules.json" ) . read_text ( ) )
384 features × 414 trading days
features
json . loads ( ( DATA / "daily_features.json" ) . read_text ( ) )
S&P 500 OHLC history
market
json . loads ( ( DATA / "market_SP500.json" ) . read_text ( ) )
Circuit breaker / system health
cb
json . loads ( ( DATA / "circuit_breaker_state.json" ) . read_text ( ) )
Rule evolution log (crossover/mutation)
evo
json . loads ( ( DATA / "evolution_log.json" ) . read_text ( ) ) Download Data via API import requests BASE = "https://trumpcode.washinmura.jp"
List available datasets
catalog
requests . get ( f" { BASE } /api/data" ) . json ( )
Download a specific file
raw
requests . get ( f" { BASE } /api/data/surviving_rules.json" ) . content rules = json . loads ( raw ) Real Code Examples Parse Today's Signals import requests signals_data = requests . get ( "https://trumpcode.washinmura.jp/api/signals" ) . json ( ) today = signals_data . get ( "today" , { } ) print ( "Signals fired today:" , today . get ( "signals" , [ ] ) ) print ( "Consensus:" , today . get ( "consensus" ) )
"LONG" / "SHORT" / "NEUTRAL"
print ( "Confidence:" , today . get ( "confidence" ) )
0.0–1.0
print ( "Active models:" , today . get ( "active_models" , [ ] ) ) Find Top Performing Rules from Surviving Rules import json rules = json . loads ( open ( "data/surviving_rules.json" ) . read ( ) )
Sort by hit rate descending
top_rules
sorted ( rules , key = lambda r : r . get ( "hit_rate" , 0 ) , reverse = True ) for rule in top_rules [ : 10 ] : print ( f"Rule: { rule [ 'id' ] } | Hit Rate: { rule [ 'hit_rate' ] : .1% } | " f"Trades: { rule [ 'n_trades' ] } | Avg Return: { rule [ 'avg_return' ] : .3% } " ) Check Prediction Market Opportunities import requests arb = requests . get ( "https://trumpcode.washinmura.jp/api/insights" ) . json ( ) markets = requests . get ( "https://trumpcode.washinmura.jp/api/polymarket-trump" ) . json ( )
Markets sorted by volume
active
- [
- m
- for
- m
- in
- markets
- .
- get
- (
- "markets"
- ,
- [
- ]
- )
- if
- m
- .
- get
- (
- "active"
- )
- ]
- by_volume
- =
- sorted
- (
- active
- ,
- key
- =
- lambda
- m
- :
- m
- .
- get
- (
- "volume"
- ,
- 0
- )
- ,
- reverse
- =
- True
- )
- for
- m
- in
- by_volume
- [
- :
- 5
- ]
- :
- (
- f"
- {
- m
- [
- 'title'
- ]
- }
- YES= { m [ 'yes_price' ] : .0% } | Vol=$ { m [ 'volume' ] : ,.0f } " ) Correlate Post Features with Returns import json import numpy as np features = json . loads ( open ( "data/daily_features.json" ) . read ( ) ) market = json . loads ( open ( "data/market_SP500.json" ) . read ( ) )
Build date-indexed return map
returns
{ d [ "date" ] : d [ "close_pct" ] for d in market }
Example: correlate post_count with next-day return
xs , ys = [ ] , [ ] for day in features : date = day [ "date" ] if date in returns : xs . append ( day . get ( "post_count" , 0 ) ) ys . append ( returns [ date ] ) correlation = np . corrcoef ( xs , ys ) [ 0 , 1 ] print ( f"Post count vs same-day return: r= { correlation : .3f } " ) Run a Backtest on a Custom Signal import json posts = json . loads ( open ( "data/trump_posts_lite.json" ) . read ( ) ) market = json . loads ( open ( "data/market_SP500.json" ) . read ( ) ) returns = { d [ "date" ] : d [ "close_pct" ] for d in market }
Find days with RELIEF signal before 9:30 AM ET
relief_days
[ p [ "date" ] for p in posts if "RELIEF" in p . get ( "signals" , [ ] ) and p . get ( "hour" , 24 ) < 9 ] hits = [ returns [ d ] for d in relief_days if d in returns ] if hits : print ( f"RELIEF pre-market: n= { len ( hits ) } , " f"avg= { sum ( hits ) / len ( hits ) : .3% } , " f"hit_rate= { sum ( 1 for h in hits if h
0 ) / len ( hits ) : .1% } " ) Key Signal Types Signal Description Typical Impact RELIEF pre-market "Relief" language before 9:30 AM Avg +1.12% same-day TARIFF market hours Tariff mention during trading Avg -0.758% next day DEAL Deal/agreement language 52.2% hit rate CHINA (Truth Social only) China mentions (never on X) 1.5× weight boost SILENCE Zero-post day 80% bullish, avg +0.409% Burst → silence Rapid posting then goes quiet 65.3% LONG signal Model Reference Model Strategy Hit Rate Avg Return A3 Pre-market RELIEF → surge 72.7% +1.206% D3 Volume spike → panic bottom 70.2% +0.306% D2 Signature switch → formal statement 70.0% +0.472% C1 Burst → long silence → LONG 65.3% +0.145% C3 ⚠️ Late-night tariff (anti-indicator) 37.5% −0.414% Note: C3 is an anti-indicator — if it fires, the circuit breaker auto-inverts it to LONG (62% accuracy after inversion). System Architecture Flow Truth Social post detected (every 5 min) → Classify signals (RELIEF / TARIFF / DEAL / CHINA / etc.) → Dual-platform boost (TS-only China = 1.5× weight) → Snapshot Polymarket + S&P 500 → Run 551 surviving rules → generate prediction → Track at 1h / 3h / 6h → Verify outcome → update rule weights → Circuit breaker: if system degrades → pause/invert → Daily: evolve rules (crossover / mutation / distillation) → Sync data to GitHub Troubleshooting realtime_loop.py not detecting new posts Check your network access to Truth Social scraper endpoints Verify data/trump_posts_all.json timestamp is recent Run python3 trump_code_cli.py health to see circuit breaker state chatbot_server.py fails to start Ensure GEMINI_KEYS env var is set: export GEMINI_KEYS="key1,key2" Port 8888 may be in use: lsof -i :8888 overnight_search.py runs out of memory Runs ~31.5M combinations — needs ~4GB RAM Run on a machine with 8GB+ or reduce search space in script config Hit rate dropping below 55% Check data/circuit_breaker_state.json — system may have auto-paused Review data/learning_report.json for demoted rules Re-run overnight_search.py to refresh surviving rules Stale data in data/ directory Daily pipeline syncs to GitHub automatically if running Manually trigger: python3 trump_code_cli.py report to force refresh Or pull latest from remote: git pull origin main