trump-code-market-signals

AI-powered analysis of Trump's social media posts to predict stock market movements using 31.5M brute-force tested rules

INSTALLATION
npx skills add https://github.com/aradotso/trending-skills --skill trump-code-market-signals
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$27

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]:

print(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&#x26;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

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card