Skip to main content
Logotipo de ExchangeWeatherExchangeWeather

Methodology

This page explains, honestly, how the model behind the weather metaphor works — what it calculates, where the data comes from, and which parts of the site are already connected to real data versus still in development.

The model: temperature and sky

Every weather condition comes from combining two real numbers for the instrument: its "temperature" (directional movement, normalized) and its "sky" (how agitated its volatility is compared to what's normal for that asset type). Neither one is a prediction — both describe what is ALREADY happening to the price, not what will happen.

The 6 conditions

Every instrument falls into one of these 6 conditions, in this priority order (a sharp, sustained drop, for example, always shows as extreme cold, even if volatility alone would also be enough for a storm):

  1. 1
    Sunny

    Uptrend with low volatility: calm, sustained gains.

  2. 2
    Partly cloudy

    No clear direction — the price is moving sideways.

  3. 3
    Cloudy

    Mild downtrend without much turbulence.

  4. 4
    Rain

    Declining with moderate volatility: more unstable than usual.

  5. 5
    Thunderstorm

    Extreme volatility in either direction: sharp, unpredictable moves.

  6. 6
    Extreme cold

    A sharp, sustained crash — directional collapse, not just volatility noise.

How temperature is calculated

We take the instrument's % change and divide it by its typical volatility — that specific instrument's own, measured over a year of its own history, not its whole category's. The result is a comparable number: +1 means "one typical standard move to the upside for this instrument," not a fixed percentage. So a +2% doesn't mean the same thing in forex as in crypto, nor in the KOSPI as in the S&P 500.

Why each instrument has its own yardstick

Every instrument in a category used to be measured against the same number. A real example shows the problem: the KOSPI normally moves about 2x more than the median index, so measured against the S&P 500's yardstick it flagged "storm" nearly every day — and a storm that never clears tells you nothing. The reverse happened with Bitcoin, which against a yardstick calibrated on small, highly volatile coins looked permanently calm. Each instrument's yardstick now comes from its own weekly history over the past year.

One caveat about that yardstick

Each instrument's own yardstick isn't used raw: it's partly blended with its category's (65% its own, 35% the category's). A year of history is thin for telling "this asset genuinely moves more" apart from "this data series is noisy," and without that blend one bad data point can send an instrument straight to the site's most extreme condition. We'd rather lose a little precision on the good cases than get the bad ones badly wrong.

How the sky condition is calculated

We compare the instrument's current realized volatility against that same instrument-specific typical volatility. Below 85% of typical, the market is "calm"; above 2.5x typical, it's considered a "storm" regardless of price direction. Between those two extremes, direction (temperature) decides between sunny/cloudy or partly cloudy/rain.

The turbulence forecast

It's the only thing the site forecasts, and it forecasts INTENSITY, never direction. The distinction matters: short-term price direction is, in practice, unforecastable, and publishing "70% chance it goes up" would be a roulette wheel dressed as analysis. Intensity, on the other hand, does have predictable structure — volatile days follow volatile days, and every market has a stable hourly pattern. Direction isn't needed for the decision you actually make either: you take an umbrella because it might rain, not because you know which way the water falls. The number you see is the probability that the movement in that hour exceeds 1.5 times what's normal for that instrument, computed by combining its current agitation (which reverts toward its normal level as the horizon extends) with the typical intensity of each hour of its session. It uses a fat-tailed distribution (Student's t), because the normal distribution badly underestimates extreme moves precisely when they happen.

What the forecast does NOT include yet

Three things, and we'd rather say so. First, and most important: we measured the forecast against reality across all three market types, and corrected it with what we found. The test always runs on a period LATER than the one used to fit, so we don't grade ourselves on the exam we studied. It ranks well in all three: the tenth of hours it flags as riskiest turns out turbulent 79 times more often than the tenth it flags as calmest in stocks and indices, 47 times in FX and gold, and 25 times in crypto. All three understated the level, so each got its own correction curve — not a shared one, because the bias differed a lot between markets. After correcting, the average error is under two percentage points in all three, and in crypto and FX it now errs slightly high, which in a risk tool is the safe side. Second: the hourly intensity coefficients are no longer invented in any market; all three are measured from real hourly candles. For a while we said the stock and FX ones couldn't be measured because that data cost money: we were wrong, it is available at no cost for the symbols we use, and measuring it surfaced concrete errors (we assumed a strong closing surge in equities that the data doesn't support, and the FX peak is sharper and later than we thought). One honest caveat about the most striking number: much of the anticipation skill in equities comes from the first hour after the open being systematically the busiest of the day. That is real, useful information, but it is more “measuring something known accurately” than predicting the unpredictable. Third: the economic calendar only includes events whose date we could verify against the publishing body's own official source — today, the Fed, the US jobs report (NFP) and inflation (CPI), the ECB, Banxico, and the EIA's weekly inventories. US inflation only has its nearest date loaded: it's the only one we could confirm against the official source before it started blocking automated access to its full-year calendar; we'll add the rest of the year as we can verify them. We prefer a short, certain calendar over a full, approximate one: if a week has no events, we say so.

The incomplete-session adjustment

Volatility is measured as the day's range: high minus low. That range grows as the session progresses, so measuring it mid-session and comparing it against a yardstick representing a full day always understates it. It showed up in forex: because the data is sampled in the early hours, when its 24-hour day has barely started, all five pairs looked permanently calm. The range is now scaled to its full-session equivalent using the square root of elapsed time, capped at 2x so a range measured minutes after the open can't turn into an invented storm. Nothing is adjusted when the market is closed — by then the session's range is already complete.

A note about the indices

Indices are tracked through US-listed ETFs (for example, EWJ for the Nikkei or EWY for the KOSPI), because the pure indices aren't available on our data source's free plan. This has a practical consequence worth knowing: the price you see moves on New York hours, not on its local exchange's. What happens during the Tokyo session is only reflected once the US market opens.

Data sources by category

We're transparent about what's connected to real data today and what isn't yet:

  • Cryptocurrencies — live, via Binance's public API. No practical credit limit, so it updates on every real visit to the site.
  • Indices — updated periodically via Twelve Data, using ETFs as a proxy for indices their free plan doesn't expose directly (e.g. an ETF tracking the S&P 500 instead of the raw index). Verified instrument by instrument before publishing. Not live second-by-second: a scheduled process queries the source every hour (the most-watched instruments) or every 3.5 hours (the rest) and stores that data — the site always shows that last stored value, with its real date and time.
  • Commodities — same approach as Indices: updated periodically via Twelve Data (every hour or every 3.5 hours depending on the instrument). Coffee, for example, doesn't have a free proxy available yet and shows example data, visibly flagged as such.
  • Forex — as of this update, the 5 major pairs (EUR/USD, GBP/USD, USD/JPY, USD/MXN, USD/COP) update hourly with real Twelve Data quotes, on the same periodic schedule as Indices and Commodities. DXY still shows example data — it's not a currency pair but a weighted index, and we haven't found a free source that covers it yet.

Update frequency

Crypto updates on every real visit to the site (no source limit). Indices, Commodities and Forex update periodically, not on every visit: a scheduled process queries the data source and stores a snapshot with its real date and time — every hour for the most-watched instruments in each category, every 3.5 hours for the rest. That's why you'll see "Updated on [date] at [time]" instead of "live" for those categories: it's the real date of the latest data, not the moment you opened the page.

ExchangeWeatherexchangeweather.com