1. Historical inputs
Daily Open, High, Low, Close and Volume are retrieved for up to five years. The engine removes sessions with missing or non-positive prices, de-duplicates dates, corrects High/Low values that do not bound Open/Close, and applies split and dividend adjustment factors when the source provides them. A forecast requires at least 120 valid sessions.
2. Technical indicators
| Indicator | Setting |
|---|---|
| SMA | 20, 50, 200 sessions |
| EMA | 12, 26 sessions |
| RSI | 14, Wilder smoothing |
| MACD | 12, 26, signal 9 |
| Bollinger Bands | 20 sessions, 2 standard deviations |
| ATR | 14, Wilder smoothing |
| Volatility | 20- and 250-session std of log returns, annualised (√252, or √365 for crypto) |
Support and resistance are the nearest swing lows/highs (3-session pivots over the last 120 sessions). Candlestick patterns (doji, hammer, shooting star, engulfing) are detected on the latest sessions for context only.
3. Forecasting models
All models work on log prices:
- Random walk — the last price.
- Rolling drift — the last price plus the average daily change over 252 sessions.
- Simple exponential smoothing (α = 0.5).
- Damped-trend exponential smoothing (α = 0.6, β = 0.1, φ = 0.9).
- Mean reversion toward the 50-session average.
4. Walk-forward validation and ensemble
For your exact horizon h, up to 60 historical origins are chosen chronologically. At each origin every model is fitted only on data up to that date, forecasts h sessions ahead, and is scored against the price actually observed later. Ensemble weights are proportional to 1 / MSE of each model's log error. MAE, RMSE and directional accuracy are reported for each model and the ensemble.
5. OHLC construction
The ensemble projects the Close. The Open applies the median historical opening gap to the previous projected close. High and Low apply the median upper and lower wick sizes from the last 250 sessions. The High is never below Open/Close and the Low never above.
6. Uncertainty
The 80% range uses the 10th and 90th percentiles of the ensemble's walk-forward errors at the same horizon. With fewer than 20 test points, a volatility-based range (±1.28·σ·√h) is used and labelled. Ranges widen with horizon. They are not guarantees and not probabilities of profit.
7. Scenario rules
- Projected move must exceed a threshold: the larger of the admin-configured minimum (default 1%) and a volatility-scaled amount based on ATR and horizon.
- The uncertainty width must not exceed a configured multiple (default 4×) of the projected move.
- The trend score (price vs SMA 50, SMA 50 vs SMA 200, MACD vs signal) must not oppose the direction.
- Otherwise the result is Neutral.
8. Known limitations
Statistical models cannot anticipate news, earnings, policy changes or crises. Data may be delayed or revised. Exchange holidays are not modelled. Backtest results describe the past only.
Current engine version: ml-ensemble-5.0.0.
Risk notice: Forecasts are uncertain statistical estimates. Scenarios are algorithmic outputs, not investment advice. EatoRush MarketLens is not SEBI-registered. See the Risk Disclaimer.
