Skip to content

Methodology

Exactly how a MarketLens forecast is calculated

Full transparency on inputs, indicators, models, validation and limitations — so you can judge each forecast on its merits.

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

IndicatorSetting
SMA20, 50, 200 sessions
EMA12, 26 sessions
RSI14, Wilder smoothing
MACD12, 26, signal 9
Bollinger Bands20 sessions, 2 standard deviations
ATR14, Wilder smoothing
Volatility20- 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.

Frequently asked questions

Analyse any instrument with transparent forecasts

One payment of ₹4,999. Lifetime access. Unlimited forecasts. No subscriptions.