Oracle
[ PRACTICE ACCOUNT · ALPACA ]
LIVE · 20S POLL

Practice trading account.

Total value, stocks held, live P&L, kill-switch runway, signal freshness — all live from the practice broker (Alpaca). The page renders instantly from the last committed snapshot, then rehydrates every 20s. Fake money. Real prices. No real dollars at risk.

Alpha vs S&P 500 · live
loading…

How the bot has done compared to buying the index ETF and doing nothing. Real money would have been better off in the boring choice if this number is red. Refreshes every 20 seconds from the broker.

[ EQUITY HISTORY ]
Need at least two history points to plot. Cron writes one row per run; chart hydrates automatically after next scheduled cron.
Drawdown from peak · live
-4.82%
Peak $100,389
Below peak -$4,843

How far below the highest balance the account has ever hit. Real traders call this the worst pain a strategy puts you through. Red means below peak; green means at a new high.

Rolling 60-day stats
Sharpe (annualised)
-3.19
Return per unit of bumpiness. Above 1.0 is professional grade. Negative means losing for the risk taken.
Up-day rate
25.0%
How often the day-end balance was higher than the day before. Above 55% is solid; 50% is coin-flip.
Return (last 60 d)
-4.45%
Compounded return over the window. Compared against the headline alpha vs S&P 500 above this is the absolute view.
Quick read · the page in 60 seconds

A model picks 20 large US stocks every market day and trades them with practice money on a real broker (Alpaca). Real prices, real fills, no real dollars at risk. The numbers on this page reflect the current state of that practice account, live.

+What every word here means
Equity
Total worth of the account right now — cash plus the live market value of every stock owned.
Cash
Money sitting in the account that isn't invested in any stock.
Buying power
The maximum that could be spent on new stocks right now. Usually higher than cash because the broker is willing to lend a little.
Position
Any stock the account currently owns. "20 positions" means twenty different stocks are held.
Profit / Loss
How much each stock is up or down compared to what it was bought for. Not real until the stock is sold.
Practice account
Real broker, real prices — but fake money. Nothing on this page can lose or earn real dollars.
LIVE · practice accountupdated just now · refreshes every 20s
Equity
$95,548.08

▲ +$0.00 (+0.00%) today

Total value of the account = cash + everything the stocks you own are worth right now.

Cash
$86,854.76

Money sitting unused — not invested in any stock right now.

Buying power
$371,117.04

Most the broker lets you spend on new stocks right now (cash + a margin loan).

Status
ACTIVE

Account is healthy and allowed to trade. Paper = fake money, no real risk.

Building intraday curve — first live points arrive within ~20s. Each point is one snapshot of your equity. Together they form today’s live curve.
Stocks currently held (18)

Live value of every stock owned.

TickerTypeSharesBought atNowValue nowProfit / Loss% change
AMATlong1$575.50$572.94$572.94-$2.56-0.45%
AMDlong1$511.88$537.00$537.00$25.124.91%
CIENlong1$410.28$441.35$441.35$31.077.57%
COHRlong1$324.50$307.00$307.00-$17.50-5.39%
DDOGlong2$260.15$259.45$518.90-$1.40-0.27%
DELLlong1$400.41$422.38$422.38$21.975.49%
DVAlong2$233.39$235.58$471.16$4.390.94%
FLEXlong4$139.02$128.28$513.11-$42.97-7.73%
FTNTlong3$159.96$158.11$474.32-$5.56-1.16%
GLWlong3$190.68$181.84$545.52-$26.53-4.64%
GNRClong1$250.26$226.95$226.95-$23.31-9.31%
HPElong12$43.19$46.96$563.52$45.248.73%
INTClong5$122.54$102.90$514.50-$98.20-16.03%
MRNAlong8$79.94$67.01$536.08-$103.40-16.17%
MRVLlong4$242.51$216.00$864.00-$106.03-10.93%
PANWlong1$348.20$329.10$329.10-$19.10-5.48%
VRTlong1$305.00$304.50$304.50-$0.50-0.16%
WDClong1$519.40$551.00$551.00$31.606.08%
Things we killed
10 retractions

Strategies that looked promising in a single window, then failed the paired multi-seed gate or Hansen-SPA test. Each one is committed to git under the SHA below — verifiable, not a marketing list.

  • SEC 8-K LLM nowcasting on SP5002026-07-07TBD
    Retraction-first: gate scheduled 2026-07-14, verdict pending
    Gatepaired multi-seed on yfinance deep panel (test_days=21, top_k=20, LLM classifies 8-K filings via OpenRouter DeepSeek V4 Flash, min_confidence=0.7, lookback=5 trading days, hold=20 trading days)
    Result
    Why
  • Google Trends timing (pytrends interest spikes)2026-07-07TBD
    Retraction-first: gate scheduled 2026-07-14, verdict pending
    Gatepaired multi-seed on yfinance deep panel (test_days=21, top_k=20, z_threshold=2.0 over 30-day rolling window)
    Result
    Why
  • Chronos-Bolt-Base zero-shot as full replacement for momentum-1262026-07-07TBD
    Retraction-first: gate scheduled 2026-07-14, verdict pending
    Gatepaired multi-seed on yfinance deep panel (test_days=21, top_k=20, Chronos-Bolt-Base zero-shot forecast, 128d context / 20d horizon)
    Result
    Why
  • FinRL portfolio PPO (multi-seed)2026-07-07TBD
    Gate pending — Horikawa-Nakagawa 2024 predicts failure at ~85-90% probability
    Gatepaired multi-seed via scripts/challenger/finrl_significance.sh (env + PPO + 4-sub-test honest gate)
    ResultNot run yet. Sidecar shipped per honesty contract; result auto-appended when the gate runs.
    WhyHorikawa-Nakagawa (2024) shows portfolio-RL 'edge' is stat-arb overlay not risk reduction. Expected gate probability ~10-15%. Ship anyway; publish the retraction if it fails.
  • Sector momentum on 11 SPDR ETFs2026-06-30TBD
    Failed paired multi-seed gate vs SP500 momentum-126 2026-06-30
    Gatepaired multi-seed on yfinance 18.5-yr panel (test_days=21, top_k=5, 11-ETF universe)
    Result0/3 seeds win, pooled p(1-sided) = 1.0000 (extremely WRONG direction); sector Sharpe 0.717 (fixed — 11 ETFs no seed variation) vs SP500 momentum 0.94/1.29/0.90 — sector WORSE by 0.2-0.6 Sharpe per seed
    WhyAudit suggested sector momentum could lift +2-5pp annualized by reducing multiple-testing burden (11 ETFs vs 500 stocks → smaller DSR penalty). Reality: the 11-ETF universe is too narrow — top-5 picks have too little dispersion vs SP500's 500-name selection. The fewer-multiple-tests advantage doesn't compensate for the lost cross-sectional dispersion. Signal class kept for future ensemble experiments at higher top_k or with mean-reversion overlays.
  • Post-Earnings Announcement Drift (Bernard-Thomas)2026-06-25TBD
    Failed paired multi-seed gate vs momentum-126 baseline 2026-06-25
    Gatepaired multi-seed on yfinance deep panel (test_days=21, top_k=20, 12.5 yrs data, 23k earnings events)
    Result0/3 seeds win, pooled p(1-sided) = 0.9999 (WRONG direction, extremely significant); PEAD Sharpe 0.58/0.65/0.51 vs momentum 0.94/1.29/0.90 — PEAD WORSE per seed by 0.36-0.64
    WhyBall-Brown 1968 → Bernard-Thomas 1989 found PEAD lasts 30-60 days. The literature documented decay since 2010 and our 2014-2026 yfinance result confirms: at top-k=20 long-only with surprise+day0-confirmed filter, PEAD picks too few names too rarely vs an always-on momentum-126. The signal class (`PEADSignal`) stays in code so future variants (top-k=5, multi-horizon, short-side) can re-test.
  • Insider cluster-buying (SEC Form 4 P-codes)2026-06-25TBD
    Failed paired multi-seed gate vs momentum-126 baseline 2026-06-25
    Gatepaired multi-seed on yfinance deep panel (test_days=21, top_k=20, 8.5 yrs data, 586k insider tx)
    Result0/3 seeds win, pooled p(1-sided) = 0.9395 (WRONG direction); insider Sharpe 0.83/0.41/0.47 vs momentum 1.40/1.25/1.13 — insider WORSE per seed by 0.4-0.8
    WhyCohen-Malloy-Pomorski (2012) found real edge in cluster-buy signals in small/mid-cap names; in our SP500-only large-cap window the signal fires too rarely to compete with the always-on momentum signal. Real edge may exist with a wider universe or different threshold — wire stays in `signals.py` so future tuning can re-test.
  • Storm shield (SMA200 trend filter)2026-06-241284ee0
    Disabled on the live path 2026-06-24
    Gatepaired multi-seed on yfinance deep panel
    Result0/3 seeds win, pooled p(1-sided) = 0.9935 (WRONG DIRECTION); shield reduced Sharpe by ~0.33 each seed
    WhyA trend-following overlay should defend against bear-regime drawdown. On the corrected dataset it neither lifts Sharpe nor reduces drawdown materially. Wire stays in code (env-gated) so a future tuning can re-evaluate without re-implementing it.
  • LightGBM V2 (tuned Optuna 30-trial)2026-05-22e3d85fc
    Rolled back to V1 after failing vs V1 on multi-seed
    Gatepaired multi-seed: V2 vs V1 baseline
    ResultV2 lost 0/3 seeds; Optuna's in-sample tuning didn't generalise to held-out folds
    WhyHonest gate caught the selection-bias from a 30-trial hyperparameter search before live capital touched it.
  • FRED macro features2026-05-191137696
    Retracted after failing paired multi-seed robustness
    Gatepaired multi-seed (macro vs no-macro across seeds 42 / 7 / 99)
    ResultPooled p = 0.81, macro wins 1/3 seeds — single-window +43% Sharpe was selection bias
    WhyA single backtest window's improvement looked huge. The multi-seed gate caught that the +43% was a happy seed, not a real edge.
Important: practice only

This is a practice account. The dollar amounts shown are fake money — real prices, fake balance, no real dollars at risk. The brain picking these stocks is a math program trained on past market patterns. It is not magic. Past performance does not promise anything about the future.