MF
MarketForecastBeta
← Back to home

Methodology

How MarketForecast collects data, calculates technical indicators, and generates AI-powered market scenarios.

Overview

MarketForecast aggregates real-time market data from multiple public APIs, computes standard technical indicators from price history, and generates structured market analysis using a large language model (Claude by Anthropic). All analysis is refreshed on a scheduled basis and cached to ensure consistent, up-to-date information.

This platform is designed for informational and educational purposes. It presents data and model-generated analysis — not investment advice. See the disclaimer section below.

Technical Indicators

All indicators are computed from the closing price history fetched from the data sources above. No third-party indicator libraries are used — calculations are implemented directly from standard definitions.

RSI (14)RSI = 100 − 100/(1+RS)Relative Strength Index over 14 periods. Above 70 = overbought, below 30 = oversold.
MACDEMA(12) − EMA(26)Moving Average Convergence Divergence. Positive = bullish momentum, negative = bearish.
Bollinger Band Position(Price − Lower) / (Upper − Lower)Where price sits within the 20-period Bollinger Bands. 0 = lower band, 1 = upper band, 0.5 = midpoint.
EMA50 Distance(Price − EMA50) / EMA50 × 100Percentage distance of current price from the 50-period Exponential Moving Average. Positive = price above EMA50.
ATR (14)Avg of True Range over 14 periodsAverage True Range measures market volatility. Higher ATR = larger expected daily price movement.

Market Regime Classification

Each asset is assigned one of four market regimes based on the relationship between current price, EMA20, EMA50, RSI, and average daily volatility:

  • ↑ UptrendPrice above EMA20 and EMA50, RSI above 52, low volatility. Consistent directional movement upward.
  • ↓ DowntrendPrice below EMA20 and EMA50, RSI below 48, low volatility. Consistent directional movement downward.
  • → SidewaysNo clear trend — price near moving averages with RSI in neutral zone (48–52).
  • ⚡ ChaoticAverage daily swing exceeds 4% — high volatility with no clear directional bias.

The Forecast Model

Every price range and every probability on this site comes from a statistical model, not from a language model. This distinction matters: a language model can write convincing analysis, but it cannot produce probabilities that mean anything numerically. Ours can, and they are checked.

The model works in four steps:

  1. Volatility. Daily log returns over the trailing 180 days are converted into an exponentially weighted volatility estimate (RiskMetrics, λ=0.94), so recent market conditions count for more than old ones.
  2. Horizon. That daily volatility is scaled to the 30-day forecast horizon by the square root of time, and given a Student-t shape so that large moves are not treated as impossible the way a normal distribution would treat them.
  3. Levels. Scenario boundaries are real technical levels — the recent swing high and swing low — rather than arbitrary round numbers.
  4. Probabilities. The probability of each scenario is the probability mass the fitted distribution places above the resistance level, between the two levels, and below the support level. This is why the numbers are rarely round, and why they differ between assets.

The central forecast is deliberately close to the current price. Over a 30-day horizon, a random walk is an extremely difficult benchmark to beat on point accuracy, and models that claim to beat it usually do so by extrapolating recent trends — which measurably increases error. What the model does claim to get right is the width of the range and the probabilities attached to it.

How We Check the Model

The model is scored by walk-forward backtesting. For each historical date, the forecast is rebuilt using only the prices available on that date, then compared against what actually happened 30 days later. The model never sees the outcome it is being graded on.

Because we forecast a distribution rather than a single number, the meaningful test is calibration: when the model says there is an 80% chance the price lands in a given range, does that happen about 80% of the time? Measured against a simulated market with volatility clustering and fat tails, the nominal 80% band contained the outcome 80.7% of the time, and the nominal 50% band 50.4% of the time.

For comparison over the same test set, the model's point error matched a random walk (8.91% vs 8.91% median absolute error — as expected, since it does not claim to beat one), while naive trend extrapolation was substantially worse at 12.80%.

Honest limitations

  • Calibration figures above come from simulation, not from a live public track record. We are recording every forecast we publish so that a real one can be reported here over time.
  • The model knows nothing about news, regulation, hacks, or macro announcements. It extrapolates volatility, and any event outside that is by definition outside the model.
  • Volatility estimates react to changes with a lag. A sudden shift in regime will make the bands too narrow until the estimate catches up.
  • Probabilities are conditional on the model being right about the shape of the distribution. They are not guarantees, and no probability on this site is ever 0% or 100%.

Written Commentary

The prose accompanying each forecast is written by Claude (Anthropic). It receives the model's output — the levels, the ranges, the probabilities — and is instructed to explain them, not to produce its own. Targets and probabilities shown on the page are taken from the model regardless of what the language model returns, so the commentary cannot introduce numbers the model did not generate.

Commentary is regenerated weekly per asset and cached, while the numbers themselves are recomputed from live prices on every refresh. If the language model is unavailable, a deterministic template describes the same figures.

What This Site Does Not Do

  • Provide personalised investment advice or recommendations
  • Predict future prices with any guaranteed accuracy
  • Account for tax implications of any transactions
  • Consider individual financial circumstances or risk tolerance
  • Offer brokerage, custody, or trading services

Disclaimer

All content on MarketForecast is provided for informational and educational purposes only. Nothing on this website constitutes financial, investment, legal, or tax advice.

Investing in cryptocurrencies and commodities involves substantial risk of loss. Past performance is not indicative of future results. Price predictions and scenario analyses are speculative by nature and may not reflect future market conditions.

Always conduct your own research and consult a qualified financial advisor before making any investment decision. MarketForecast is not a registered investment advisor and does not hold any financial regulatory licence.