Tauntaun

Survive the cold.

An autonomous trading intelligence system that fuses macro-economic data, geopolitical risk, news sentiment, and prediction market signals into executed trades.

Fully autonomous — runs every 30 minutes via daemon, no human intervention. Signals in, trades out.

Signals
10
Sources
ETFs Tracked
Paper Trades
View Live Signals ↓
Tauntaun
TAUNTAUN
BULLISH · LONG
The ugly thing that keeps you alive.
vs
Wampa
WAMPA
BEARISH · SHORT
The thing that hunts you.

Execution

Trade Log

Every paper trade the system has executed on Alpaca. Full attribution: which signals triggered it, at what confidence, for how much.

📊 Paper Portfolio
Performance
Starting Balance
$100,000
Current Equity
Total P&L
Unrealized P&L
Realized P&L
Win Rate
Analytics
Annualized Return
Daily Avg Return
Best Trade
Worst Trade
Activity
Live Trades
Closed Trades
Account
Account Age
Resets
Market
Cash
Invested
Risk Parameters
Max Position Size
$5,000
Max Positions
25
Max Per Position
7% of equity
Max Invested
70% of equity
Sector Limit
35% per sector
Stop Loss
ATR trailing
Take Profit
Trailing stop
Min Confidence
30%
Order Type
Market
⚠️ Paper trading only — simulated $100K on Alpaca. No real money at risk. Updated every 30 minutes.
Loading trades...

Live Intelligence

Signal Feed

Every signal the system has detected — from macro indicators to geopolitical risk to prediction market whale activity. Click any row to drill into the detail. Updated every 30 minutes during market hours.

Signals Last updated:
Loading signals...

Architecture

How It Works

Ten independent data sources. One strategy engine. One goal: detect when the present disagrees with the market. The system detects when the present disagrees with the market — and acts on it.

Signal Sources
FRED · RSS · GPR · Credit · ORALE · Trends · Kalshi · GDELT · Prof. Jiang · Stock Scanner
Fusion Engine
Conflict resolution · Confidence scoring
Execution
Alpaca paper trades · Position sizing
📊
FRED Macro
9 economic indicators from the Federal Reserve — unemployment, CPI, yield curve, payrolls, GDP, consumer sentiment, manufacturing, jobless claims, Fed balance sheet. Each maps to specific ETF trades.
FRED
📰
RSS News Scanner
8 feeds (BBC, Al Jazeera, CNBC, MarketWatch, Federal Reserve, Yahoo Finance, Seeking Alpha, Defense News). 16 theme detectors scan 200+ articles per run. Cross-theme amplification when correlated themes fire together.
RSS
🌍
Geopolitical Risk Index
The Caldara-Iacoviello GPR Index, published by Federal Reserve economists. 15,000+ daily observations back to 1985. Z-score based — when risk exceeds 2 standard deviations, that's crisis territory.
GPR
💳
Credit Spreads
ICE BofA High Yield Option-Adjusted Spread — the gap between junk bond yields and treasuries. Institutional fear gauge: widens before recessions, peaked at 21% in 2008 and 10.8% during COVID. Tracks both absolute level and velocity of change. Daily data back to 1996.
CREDIT
🔮
Prediction market intelligence from our sibling system ORALE — tracking 1,300+ auto-refreshed apex wallets on Polymarket and nowcasting macro indicators against Kalshi. Translates prediction market signals into equity implications.
ORALE
🎰
Kalshi Markets
CFTC-regulated prediction markets where real money is at stake. Tracks crowd-sourced probabilities for Fed rate decisions, GDP growth, and CPI inflation. Implied probability distributions reveal the macro regime the crowd is pricing in — stagflation, recession, or expansion. 4-hour cache, no auth required.
KALSHI
🔍
Google Trends
Behavioral stress/euphoria detection using search pattern analysis. Tracks real-world behavior shifts — unemployment filing searches, 401k withdrawal queries, investment enthusiasm — to detect regime changes before they show up in prices. Based on behavioral analysis principles.
TRENDS
🌍
GDELT Global News
The GDELT Project monitors news media worldwide in 100+ languages, scoring every article for tone and theme. We download the 15-minute Global Knowledge Graph dumps directly — no API dependency. Tracks economic themes (recession, inflation, trade disputes, military conflict) with spike detection against rolling baselines. 4-hour cache, stdlib-only implementation.
GDELT
🏛️
Geopolitical predictions from Professor Jiang, who applies structural historical analysis and game theory to predict world events. We auto-pull transcripts as new lectures are published, clean them for accent-related mistranscriptions, and extract structured predictions with market implications. Confidence decays over time — stale predictions fade naturally as new ones arrive.
PROF. JIANG
🎯
Stock Scanner
Individual stock vetting when ETFs aren't precise enough. When macro signals activate a sector, the scanner runs 7 defense stocks through a multi-factor gauntlet: momentum vs SMA, relative strength vs sector ETF, volume confirmation, volatility check, and liquidity floor. Only stocks scoring 65+ out of 100 earn a signal. Confidence capped at 65% — individual stocks never override ETF-level conviction. The scanner follows the macro thesis; it never leads.
SCANNER
🛡️
Risk Management
Every position has hard limits — no exceptions, no human override. Stop losses are ATR-based: each instrument gets a stop distance calibrated to its own 20-day volatility (2x Average True Range). TIP gets a tight leash (~0.6%), USO gets room to breathe (~5%). Trailing stops replace flat take-profit — the stop ratchets up as positions gain but never moves back down. ATR-based trailing stops. Volatility-calibrated per instrument. Max position size: $5,000. Max 25 concurrent positions. Max 70% of portfolio invested.
🔒
Profit Ratchet
Once a position is winning, we stop giving it all back. If a trade gains 3%, the trailing stop floor locks in at +1% profit — guaranteed. At 5%, the floor rises to +2.5%. At 8%, it locks in +5%. The ATR trailing stop still runs normally, but it can never drop below the ratchet floor. Whichever is higher wins. Inspired by HACK: up 5%, closed at +1.3%. With the ratchet, that would have been +2.5% minimum.
RATCHET
Signal Fusion: When multiple sources independently agree → confidence scales up.
  RSS detects 57 military conflict articles + GPR at crisis z=2.25 → ITA confidence: 82.5%

Conflict Resolution: Same symbol, opposite directions → net confidence.
  RSS says SHORT TLT (inflation) vs GPR says LONG TLT (safety)
  Net = too close to call → skip both. No guessing.

Position Sizing: Confidence × max position size, capped by risk rules.
  Max $5,000 per position · Max 25 concurrent positions · Max 70% invested
  Sector concentration limits · ATR-based trailing stops · Volatility-calibrated per instrument

Cost: All data sources are free (FRED, RSS, GPR, Credit Spreads, Kalshi, Google Trends, GDELT, Predictive History, Stock Scanner via yfinance, Alpaca paper). Runs on a Mac Mini.
  Runs on a Mac Mini via launchd every 30 minutes. AI analysis added where data proves it helps.
Build Log

The Journal

An honest record of building an autonomous trading system from scratch. What worked, what didn't, what we learned. No hype, no hindsight editing.

DAYS 001–005 · March 28–30, 2026 Build Lessons Performance

31 entries and counting

Latest: Pull Up a Chair. Tauntaun is a learning project. The strategies in this journal aren't things I believe in -- they're things I'm testing. Fake money, real curiosity, and a Mac Mini that runs the whole thing every thirty minutes like clockwork. Read the full story → Earlier: The Vetting Gauntlet. ETFs are blunt instruments -- we built a 7-factor stock scoring engine that vets individual defense names. Plus: ORALE prediction markets, GDELT global news in 100+ languages, ATR trailing stops, and the profit ratchet. Building in public, losing in public.

Read the Full Journal →

For the Nerds

Under the Hood

The full stack. A Mac Mini, Python, and free data sources. Every signal scored against actual market outcomes.

🖥️
Infrastructure
Mac Mini M4 · macOS launchd daemon · Runs every 30 min, 7 days a week · 5-minute kill switch prevents hangs · Auto-restarts on crash · Auto-deploys to this site
🐍
Stack
Pure Python 3.13 · uv package manager · httpx + urllib for HTTP · xlrd for GPR Excel parsing · feedparser for RSS · No ML libraries · No AI SDKs
🔐
Security
API keys in macOS Keychain (not env vars) · Private GitHub repo · No personal info in code · Trade data gitignored · Paper trading only — no real money access
💰
Cost
All signal sources are free · No expensive data subscriptions · ORALE data (local files)
🤝
Sibling system tracking 1,300+ auto-refreshed apex wallets on Polymarket · Macro nowcasting against Kalshi · Contrarian filter (the core edge) · Feeds into Tauntaun via bridge module
🗺️
Roadmap
Phase 1: Paper trading + signal scoring (now) · Phase 2: AI analyzes scoring failures (week 2-3) · Phase 3: Systematic keyword optimization · Phase 4: AI pre-filter on weak themes · Phase 5: Continuous improvement loop
Live alerts