Skip to main content

ISO 20022 Risk Dashboard

Sharpe ratio, Sortino ratio, annualized volatility, max drawdown, and beta vs BTC for all 8 ISO 20022 coins. Select a time window, adjust the risk-free rate, and click any row for the full AI breakdown.

Live CoinGecko price history365-day annualizationNo login

Historical analysis only. Not financial advice.

Loading historical data from CoinGecko...

This takes a few seconds on first load.

ISO 20022 Portfolio Builder

Allocate across all 8 ISO 20022 coins by preset or custom weight. See conservative, base, and bull scenarios with live CoinGecko prices.

Build Portfolio

Institutional Adoption Modeler

If XRP captures 1% of global FX payments, what is the implied price? Move the market share slider, see the formula, get AI breakdown.

Run Scenario

ISO 20022 Adoption Timeline

Live countdown to every SWIFT and Fedwire ISO 20022 deadline through 2028. 8-coin compliance grid with live prices.

See Deadlines

Risk Metrics Explained

Each metric below is defined in plain terms, then given the exact formula and settings this dashboard uses, then how to read it in the table. The worked examples use made-up, clearly labeled numbers, not live data.

How the dashboard gets its numbers

  • Data. The page requests up to 365 daily price points per coin from CoinGecko for the 8 ISO 20022 coins plus Bitcoin, which is the benchmark for beta and correlation. The history is cached, and the page labels it as refreshing about once a day. If fewer than 6 of the 8 coins return data, the server sends an error rather than a partial table.
  • Windows. The 90d toggle uses the most recent 90 prices from that series and 1y uses up to 365. A coin with fewer than 10 prices in the window shows dashes. All calculations run in your browser on those price arrays.
  • Annualization. Yearly figures scale daily statistics using 365 days (crypto never closes), not the 252 trading days used for stocks.
  • Return column. Annualized return = exp( average daily log return x 365 ) - 1. It is a compounded yearly rate implied by the window's average daily growth, not the total gain over the window. Hypothetical: an average daily log return of 0.08% gives exp(0.08% x 365) - 1 = 33.9%.
  • BTC benchmark line. Below the table, the dashboard shows Bitcoin's own return, sigma, Sharpe, and max drawdown for the same window and risk-free rate.

Historical analysis only. Past behavior does not predict future results. Not financial advice.

Log return

What it is

A log return is the natural logarithm of one day's price divided by the previous day's price. It is the building block: return, volatility, Sharpe, Sortino, beta, and correlation on this dashboard are all computed from each coin's series of daily log returns rather than from simple percentage changes.

Formula used here

r(t) = ln( price(t) / price(t-1) ) for each pair of consecutive daily prices. A pair is skipped if either price is zero or negative. A window of n prices gives at most n-1 returns.

How to read it on this dashboard

You never see a log return directly; it works behind the columns. It is used because log returns add across days (the sum of the daily log returns equals the log return of the whole period), which is what makes scaling daily figures to a yearly figure valid.

Small moves look almost the same as simple returns, but large moves diverge: a +50% simple gain is a log return of about +40.5%, and a -50% simple loss is about -69.3%. That asymmetry is the same one behind drawdown math, where a fall of 50% needs a +100% gain to recover.

Worked example (hypothetical numbers)

Hypothetical closing prices over six days: $1.00, $1.20, $1.10, $0.90, $1.05, $1.30. The five daily log returns are +0.1823, -0.0870, -0.2007, +0.1542, and +0.2136. They sum to +0.2624, which equals ln(1.30 / 1.00), the log return of the whole stretch.

Annualized volatility (sigma)

What it is

Annualized volatility, shown as Sigma, measures how widely a coin's daily returns scatter around their average, scaled up to a one-year figure. It is a measure of the size of the swings, not their direction: big up days and big down days both raise it.

Formula used here

sigma = (sample standard deviation of the daily log returns) x sqrt(365), where sqrt(365) is about 19.105. The standard deviation uses the sample form (divide by n-1). The dashboard annualizes with 365 days rather than the 252 trading days used for stocks, because crypto trades every day of the year.

How to read it on this dashboard

In the table the Sigma cell is colored by size: 60% or less in the neon accent, up to 100% in gold, up to 150% in orange, and above 150% in red. Lower means calmer price action over the selected window; it does not mean safer in the sense of never losing money.

A 90d window uses only about 89 daily returns and then scales them to a year, so a 90d sigma reflects recent conditions and moves more from one refresh to the next than a 1y sigma does.

Worked example (hypothetical numbers)

Hypothetical coin whose daily log returns have a standard deviation of 4%: 0.04 x 19.105 = 76.4% annualized volatility. A coin with a 5% daily standard deviation would come out at 0.05 x 19.105 = 95.5%.

Risk-free rate

What it is

The risk-free rate is the yearly return you could earn without taking price risk, usually approximated by a government bond yield. It is the hurdle a coin has to beat before its return counts as a reward for risk.

Formula used here

The dashboard has a slider from 0% to 10% in 0.1% steps, and it starts at 4.2% (a fixed constant in the code, labeled there as the US 10-year Treasury yield as of 2026). It is not a live feed: the dashboard does not fetch Treasury yields, so move the slider if you want a different benchmark.

How to read it on this dashboard

The slider is labeled "Sharpe, tier" because those are the only two outputs it changes: it is subtracted from the annualized return in the Sharpe ratio, and the Sharpe result then feeds the risk tier. Return, Sigma, Sortino, Max DD, Beta, and BTC correlation do not use it.

A higher rate lowers every Sharpe ratio on the table at once. Dragging it to 0% shows return per unit of volatility with no cash comparison at all.

Worked example (hypothetical numbers)

Hypothetical: with the rate at 4.2%, a coin with a 10% annualized return has a 5.8% excess return (10% - 4.2%), the part that beat the hurdle. A coin with a 2% annualized return has an excess return of -2.2%, which makes its Sharpe negative no matter how low its volatility is.

Sharpe ratio

What it is

The Sharpe ratio is return per unit of total volatility after subtracting the risk-free rate. It answers: for each 1% of yearly swing a holder had to sit through, how much return above the risk-free rate did they get?

Formula used here

Sharpe = (annualized return - risk-free rate) / annualized sigma. It returns 0 if sigma is 0. The annualized return is the compounded figure described above (not a simple average), and sigma is the annualized volatility from the previous entry.

How to read it on this dashboard

The Sharpe cell is colored: 2.0 or higher in the neon accent, 1.0 or higher in gold, 0 or higher in orange, and below 0 in red. The table sorts by Sharpe, highest first, until you click a different column header.

A positive value means the coin beat the risk-free rate over the window. A negative value means it did not, even when the raw Return is positive but smaller than the risk-free rate. It looks backward only: it describes the window you selected, not what comes next. Because a 90d window is scaled up to a year, treat a 90d Sharpe as a noisy snapshot.

Worked example (hypothetical numbers)

Hypothetical coin with a 33.9% annualized return and 76.4% sigma, at the default 4.2% rate: (0.339 - 0.042) / 0.764 = 0.39. Slide the risk-free rate to 0% and the same coin reads 0.339 / 0.764 = 0.44.

Sortino ratio

What it is

The Sortino ratio is a variation of Sharpe that counts only downside swings as risk. Big up days do not lower it, which suits assets like crypto where large upward moves are common.

Formula used here

Sortino = annualized return / annualized downside deviation. Downside deviation = sqrt( sum of min(r, 0)^2 / N ) x sqrt(365), summed over all N daily log returns (days at or above zero contribute 0 to the sum but still count in N). The minimum acceptable return is 0%, so the numerator is the plain annualized return and the risk-free rate is not subtracted. With zero downside deviation, it shows 9.99 if the return is positive and 0 otherwise; with fewer than 2 returns it shows 0.

How to read it on this dashboard

It uses the same color scale as Sharpe. The risk-free slider does not move it, so it is the metric to watch when you want a return-per-downside-risk read that ignores the Treasury comparison.

When the return is positive it usually reads higher than the Sharpe ratio, because the numerator is not reduced by the risk-free rate and the denominator ignores upside. The bigger the gap between the two, the more of the coin's volatility came from upward moves. A 9.99 is a cap for windows with no down days at all, not a measured value.

Worked example (hypothetical numbers)

Same hypothetical coin (33.9% annualized return). Suppose its down days alone give a daily downside deviation of 2.5%: 0.025 x 19.105 = 47.8% annualized. Sortino = 0.339 / 0.478 = 0.71, against a Sharpe of 0.39 for the same coin, because the upside swings are not counted against it.

Risk-adjusted return

What it is

Risk-adjusted return is the general idea behind the Sharpe and Sortino columns: judge a return relative to the risk that was taken to earn it. Two coins with the same gain are not equally good if one needed far bigger swings to get there.

Formula used here

The dashboard expresses it two ways (Sharpe, using total volatility, and Sortino, using downside deviation) and then summarizes Sharpe and sigma as a risk tier. Tiers are checked in this order: "Risk-Adjusted Leader" if Sharpe is 2.0 or higher and sigma is 80% or lower; "Acceptable" if Sharpe is 1.0 or higher and sigma is 110% or lower; "Speculative" if Sharpe is 0 or higher and sigma is 150% or lower; otherwise "Risk-Heavy".

How to read it on this dashboard

The Tier column is this site's own rule of thumb, coded into the dashboard. It is not an industry standard, and because it uses Sharpe it moves when you change the risk-free slider or the window.

Use it for ranking coins against each other under identical settings, not as a verdict on any single coin.

Worked example (hypothetical numbers)

Hypothetical: Coin A is up 40% with 150% volatility and Coin B is up 15% with 30% volatility. Ignoring the risk-free rate, return per unit of risk is 0.40 / 1.50 = 0.27 for A and 0.15 / 0.30 = 0.50 for B, so B earned nearly twice the return per unit of risk on less than half the raw gain. For the earlier hypothetical coin (Sharpe 0.39, sigma 76%) the tier would be "Speculative".

Max drawdown

What it is

Max drawdown is the largest peak-to-trough fall in price inside the selected window: the worst loss for someone who bought at the highest point and held to the lowest point that followed.

Formula used here

Walk through the window's daily prices while tracking the running peak (the first price to start). At each price, drawdown = (price - running peak) / running peak. Max drawdown is the most negative value seen. It is computed from the price levels themselves, so the peak must fall inside the window, and intraday lows between the daily prices are not captured.

How to read it on this dashboard

It is shown as a negative percentage. The Max DD cell is colored: -50% or better in the neon accent, -80% or better in gold, and worse than -80% in red.

Recovery is not symmetric: to get back to break-even after a fall of x%, a coin needs a gain of 1 / (1 - x) - 1. A -50% drawdown needs +100%, a -80% drawdown needs +400%, and a -90% drawdown needs +900%. The 90d and 1y windows can give very different answers because a high point from earlier in the year drops out of the shorter window.

Worked example (hypothetical numbers)

Hypothetical daily prices: $1.00, $1.20, $1.10, $0.90, $1.05, $1.30. The running peak reaches $1.20, and the lowest price after it is $0.90, so max drawdown = (0.90 - 1.20) / 1.20 = -25%. Getting from $0.90 back to $1.20 takes a +33.3% gain, and the series then goes on to a new high at $1.30.

Beta vs BTC

What it is

Beta vs BTC measures how strongly a coin's daily moves tend to follow Bitcoin's, in proportion. It uses Bitcoin as the benchmark the way stock beta uses a stock index.

Formula used here

Beta = covariance(coin daily log returns, BTC daily log returns) / variance(BTC daily log returns), both computed in the population form (divide by n). The two return series are paired by position over the shorter of the two lengths, using the same window as the rest of the table. If there are fewer than 10 pairs, or BTC's variance is 0, the code returns 1 as a neutral default.

How to read it on this dashboard

The Beta cell is colored: 1.0 or lower in the neon accent, up to 1.5 in gold, up to 2.0 in orange, and above 2.0 in red. A beta of 1.0 means the coin has moved about one-for-one with Bitcoin, above 1.0 means it has amplified Bitcoin's moves, and below 1.0 means it has moved less than Bitcoin.

Beta is a fitted average over the window. On any single day the coin can move very differently, and the relationship shifts over time, so a 90d beta and a 1y beta can disagree. Beta measures the size of the co-movement; correlation (next entry) measures how tight it is.

Worked example (hypothetical numbers)

Hypothetical coin with a 0.8 correlation to Bitcoin, a 100% annualized volatility, and Bitcoin at 60%: beta is about 0.8 x (100% / 60%) = 1.33. On that fit, a 10% Bitcoin drop would typically coincide with roughly a 13% drop in the coin. (The identity beta = correlation x coin sigma / BTC sigma holds exactly with matching standard deviation types; the dashboard's sigma uses the sample form and beta the population form, so the displayed figures differ from it only marginally.)

Correlation vs BTC

What it is

Correlation vs BTC is the Pearson correlation between a coin's daily returns and Bitcoin's, from -1 (always opposite) to +1 (always in step). It says how consistently the two move together, regardless of how big each move is.

Formula used here

Correlation = covariance(coin, BTC) / ( standard deviation of coin x standard deviation of BTC ), all in the population form, over the same paired daily log returns used for beta. If there are fewer than 10 pairs, or either standard deviation is 0, the code returns 0.

How to read it on this dashboard

It appears as "BTC Corr." in the detail card you open by clicking a row and in the side-by-side compare panel; it is not a table column and has no color scale. Values near +1 mean the coin adds little diversification to a Bitcoin-heavy portfolio, and values near 0 mean its daily moves have been mostly independent of Bitcoin's.

Two coins can have the same correlation and very different betas if one is far more volatile than the other. Use correlation to judge diversification and beta to judge how hard the coin swings when Bitcoin does.

Worked example (hypothetical numbers)

Hypothetical: two coins each have a 0.8 correlation to Bitcoin, whose annualized volatility is 60%. One coin has a 120% annualized volatility and the other 60%. Their betas are 0.8 x (120 / 60) = 1.6 and 0.8 x (60 / 60) = 0.8: the same closeness of movement, very different swing size.

Want the same metrics for a single coin with an AI write-up? Click any row in the dashboard above. To model an allocation across coins, try the Portfolio Builder.

How the Calculations Work

What is Sharpe ratio and why does it matter for XRP?

Sharpe ratio measures return per unit of risk. A ratio above 1.0 means your annualized excess return (return minus the Treasury rate) exceeds your annualized standard deviation. The dashboard computes it live for each coin over the window you select, so compare the coins on the same window rather than relying on a rule of thumb.

What does annualized volatility mean for crypto?

Annualized volatility measures how much a price fluctuates over a year. Crypto uses 365-day annualization instead of the 252-day standard used for equities, because crypto markets trade every day of the year with no market close. A 90% figure means a one-standard-deviation yearly move of about 90%. The dashboard shows each coin's current figure for the selected window, which is the number to compare.

Why is max drawdown important for ISO 20022 coin investors?

Max drawdown measures the worst peak-to-trough decline within the selected time window. It tells you the largest loss you could have suffered if you bought at the exact top and held through the lowest point before any recovery. Losses compound unevenly: after an 80% drawdown you need a 400% gain just to return to break-even.

What does beta vs Bitcoin tell me about an ISO 20022 coin?

Beta measures how much a coin moves relative to Bitcoin. A beta of 1.2 means the coin tends to move about 20% more than BTC in both directions. A beta below 1 provides some insulation from Bitcoin swings. The dashboard shows each coin's beta for the selected window; it changes over time, so check it rather than assuming a fixed ranking.

Is Sortino ratio better than Sharpe for crypto?

Sortino ratio only penalizes downside volatility, not upside price spikes. For crypto where large upside moves are common and often desirable, Sortino is frequently more meaningful than Sharpe. This tool calculates Sortino with a minimum acceptable return of 0%, so the numerator is the full annualized return rather than excess return above the Treasury rate. That means Sortino will read higher than Sharpe whenever a coin has positive annualized returns, and the risk-free rate slider does not affect it. A large gap between Sortino and Sharpe signals that much of the total volatility is coming from upside, which is a positive sign for long holders.

Why is the default risk-free rate 4.2%?

The 4.2% default is a fixed starting value in this tool, not a live rate. Set it to the current Treasury yield or any benchmark you want to compare against. This rate is subtracted from annualized return before the result is divided by volatility to produce the Sharpe ratio. Higher risk-free rates push all Sharpe ratios down across every asset class. Setting the rate to 0% lets you see raw return-to-risk without any Treasury comparison baked in.

Not financial advice. Nothing on this site constitutes investment advice. Always do your own research (DYOR).