VALUERECOVERY ValueRecovery v1.0 - Statistical Value + Technical Turn
A statistically cheap stock that ALSO shows genuine technical evidence of a turn tends to re-rate toward fair value over the following months. Version v1 - status ACTIVE - weekly evaluation cadence.
Setup Score: 0.35xValuation + 0.30xTrendTurn + 0.20xFundamentalsFloor(much looser than QualityCompound's - targets out-of-favor names) + 0.15xRegime.
Thesis-completion exit: closes once the valuation score has re-rated back toward fair value (~45+), independent of price/stop - the position was opened for a specific reason that can stop being true.
The ONE engine with a max holding period (130 weeks / ~2.5 years) - a tactical turnaround trade, not a permanent hold like the other two engines.
Known limitations:
- No real Protected-NBBO/executable-quote feed - synthetic liquidity-tier spreads used instead (same substitution as every other lab).
- Entries/exits fill at the next COMPLETED WEEK's first available open (no true weekly-open microstructure feed exists) - strictly no-look-ahead, but this lab is weekly-bar-driven, not daily/intraday.
- No quarterly-fundamentals-HISTORY feed (only a trailing-twelve-months snapshot from Finnhub/Yahoo) - 'is the business's quality trend improving' is read from price action (trend/relative-strength), never fabricated from invented historical fundamentals. Disclosed per-engine.
- No sector-relative valuation feed - score_valuation() uses a flat ~20 fair-P/E assumption, the exact same simplification the live public Invest-horizon composite score already uses (weight_profiles.py).
- Regime is a single broad-market weekly SPY-trend read (Supportive/Neutral/Adverse), not swing_lab's fuller breadth/volatility/panic-rebound machinery - a long-horizon book doesn't need to react to short-term volatility spikes.
- No pairwise correlation matrix - concentration risk is managed via a simple max-3-positions-per-subsector cap instead (YAGNI at an 8-position-max concentrated book).
- HistoricalTwin/adaptive component weights share the exact same statistics engine as Day-Trade/Swing-Trade Labs (bullyeah_engine.adaptive_learning) - stays observer-only until 30+ closed episodes exist, per that module's own gating rule.
This is a research hypothesis, not a proven profitable methodology.
Evidence (Insufficient Evidence):
Needs at least 15 completed trades AND 15 independent entry days before any read is meaningful (spec section 39.1) - 0 trades so far. No significance testing applied above that floor either - see module docstring for what's deferred (PBO, Deflated Sharpe, bootstrap CIs, walk-forward holdout).