How This App Works
Outval is a long-short commodity ETF rotation system. It tracks 6 instruments across energy and precious metals, runs AI analysis on each, and tells you which leveraged ETF to buy or sell. The target is equal-weight allocation across all 6 positions.
Every day, the system ingests fresh data (prices, news, government reports, weather, macro indicators), runs specialist analysts, feeds everything into an AI synthesizer, and produces a directional signal with confidence scores. Those signals drive automated trading through Robinhood.
All signals are validated through walk-forward analysis: 12-month training windows rolled across 5 years of data with 3-month out-of-sample test windows. Instruments with poor OOS performance get reduced position sizing automatically. The system is also regime-aware, detecting crisis, recovery, trending, and ranging market states and adjusting behavior accordingly. In ranging markets, new BUY entries are blocked entirely based on walk-forward evidence showing negative expected returns.
Bull: BOIL / Bear: KOLD
2x leveraged nat gas futures
Bull: UCO / Bear: SCO
2x leveraged crude oil futures
Bull: GUSH / Bear: DRIP
2x leveraged oil & gas stocks. XOP/SPY relative strength signal.
Bull: NUGT / Bear: DUST
2x leveraged gold miners
Bull: AGQ / Bear: ZSL
2x leveraged silver futures
Bull: JNUG / Bear: JDST
2x leveraged junior gold miners
When analysis runs, the system executes a multi-stage pipeline for each instrument:
- Data ingestion. Pulls fresh prices (yfinance), news (Google RSS), EIA storage/inventory reports, NOAA weather data, CFTC positioning data, and macro indicators (DXY, VIX, TNX, rig counts).
- Specialist analysts. Up to 7 analysts run per instrument. Three are pure computation (technical, COT, macro) with no LLM cost. Storage and weather use Gemini Flash (cheap). Sentiment uses local Ollama (free). Each outputs direction, strength (0-100), and confidence (0-1).
- AI synthesis. All sub-signals feed into Claude, which weighs the evidence, detects analyst contradictions, checks cross-instrument correlations, applies trade memory from similar past conditions, and produces a final signal with direction, conviction, reasoning, and risk parameters.
- Counter-thesis. After the initial signal, a second AI call argues the opposite case. This forces the system to stress-test its own conclusions before committing.
- Feedback loop. Every signal is accuracy-tracked at 1, 3, 5, and 10 day horizons. Results feed back into future synthesis prompts and adjust trading thresholds automatically.
- Walk-forward position sizing. Before execution, the system checks the instrument's out-of-sample Sharpe ratio from walk-forward validation. Strong OOS performance boosts position size (up to 1.5x), weak performance reduces it (down to 0.7x). Applied before existing guardrails so hard limits still enforce.
The system maps signals to one of four actions:
BUY
Signal is directional, position is below target
HOLD
Right ETF, at or near target allocation
SELL
Wrong side or signal flipped with conviction
WAIT
No signal or flat, no action needed
Target allocation is equal-weight: total portfolio divided by 6. Positions are built up over time using DCA (dollar cost averaging) with an adaptive cooldown between buys (5-14 days based on recent accuracy). If a signal flips but conviction is weak (below adaptive threshold), the system holds instead of whipsawing.
When the market regime is "ranging" with confidence at or above 40%, new BUY entries are blocked entirely. Walk-forward analysis across 204 backtests showed ranging markets produce negative Sharpe (-0.66) and significant losses across 32 test windows. Sells and exits still work normally in ranging markets.
Autonomous agents form a closed-loop QA system. They observe, diagnose, fix, and report without manual intervention.
The walk-forward engine is the system's overfitting defense. It answers the question: do these signals actually work on data the system has never seen?
Signals are generated by AI and are not financial advice. Always do your own research.