{"pair":"ETHUSD","indexName":"Mycelia Volatility Index","indexId":"MSVI","methodVersion":1,"publishedAt":1744000000,"description":"Five-component weighted volatility index for BTC and ETH. Combines realized volatility (Parkinson estimator), implied volatility (Deribit ATM options), term structure slope (7D/90D IV ratio), perpetual futures funding rate signal, and put/call ratio. Cryptographically signed with Ed25519. Methodology locked in config.yaml.","output":{"scale":100,"unit":"index","updateFrequencySeconds":3600,"confidenceFloor":0.5,"degradedThreshold":0.65},"components":{"realizedVolatility":{"weight":0.3,"description":"30-day Parkinson realized volatility estimator. Uses daily OHLCV high/low prices from multiple exchanges. More statistically efficient than close-to-close estimator. Annualized using sqrt(365) — crypto trades 24/7/365.\n","windowDays":30,"annualizationFactor":365,"estimator":"Parkinson (1980) — high/low based","sources":["binance","okx","kraken"],"aggregation":"weighted_median","outlierHandling":"none","knownLimitations":["Flash crashes can dominate 30D window","Parkinson estimator assumes continuous trading — gaps distort estimate"],"annualization":"sqrt(365) — crypto trades 24/7/365"},"impliedVolatility":{"weight":0.25,"description":"At-the-money implied volatility from Deribit options market. Delta-neutral ATM definition (closest to delta=0.5). Uses bid/ask midpoint, not last trade. Minimum open interest filter excludes illiquid strikes. Risk-free rate assumed 0%.\n","source":"deribit","url":"https://www.deribit.com/api/v2/public/get_book_summary_by_currency","gc":"us","targetDays":30,"expiryWindowDays":{"min":25,"max":35},"atmDefinition":"Delta-neutral — closest to delta=0.5","priceSource":"Bid/ask midpoint","minOpenInterestBtc":10,"riskFreeRate":"0% — documented assumption","aggregation":"oi_weighted_mean","knownLimitations":["Single exchange source — Deribit dominates BTC options but not exclusive","Risk-free rate assumption of 0% introduces small bias","Illiquid expiry windows may produce noisy IV"]},"termStructure":{"weight":0.15,"description":"Ratio of 7-day implied volatility to 90-day implied volatility. Values above 1.0 indicate backwardation (short-term fear elevated). Values below 1.0 indicate contango (normal calm market). Both legs use same ATM delta-neutral methodology as IV component.\n","source":"deribit","gc":"us","shortLeg":{"targetDays":7,"expiryWindowDays":{"min":5,"max":9},"fallbackWindowDays":{"min":10,"max":16}},"longLeg":{"targetDays":90,"expiryWindowDays":{"min":80,"max":100}},"unavailablePenalty":0.15,"knownLimitations":["7D options often illiquid — fallback to 14D window may be required","Term structure distorted around major expiry dates"],"interpretation":">1.0 backwardation (fear), <1.0 contango (calm)"},"fundingRate":{"weight":0.2,"description":"Absolute deviation of current perpetual futures funding rate from its 30-day mean, normalized by 30-day standard deviation. High absolute deviation in either direction signals elevated stress. Positive funding = longs paying shorts (greed). Negative funding = shorts paying longs (fear). Uses absolute value — captures both extremes as volatility signals.\n","sources":["binance","bybit"],"windowDays":30,"aggregation":"median","transformation":"Absolute z-score vs the 30-day mean and stdev, rescaled min(100, abs(z)*33.33) — the published value SATURATES at 100 for |z| >= 3.0003. Measured 2026-08-27: 1.628% of the trailing 30 days exceeds that, max observed 10.96. components.fr.zScore carries the unclipped magnitude; components.fr.saturated flags when the value is at the ceiling.","normalizationWindow":730,"knownLimitations":["Funding rates reset every 8 hours — intraday signal only","Exchange-specific funding mechanics differ slightly","Low liquidity periods produce extreme funding rates"]},"putCallRatio":{"weight":0.1,"description":"Ratio of put open interest to call open interest on Deribit, restricted to options expiring within 30-day window. Open interest measured in USD value to account for strike differences. Delivered raw and min-max scaled to 0-100 by the composite normalizer against its observed range; not z-scored. PCR above historical mean signals elevated hedging demand (fear).\n","source":"deribit","gc":"us","expiryWindowDays":30,"oiMeasurement":"USD value — accounts for strike price differences","normalizationWindow":null,"knownLimitations":["Single exchange — Deribit BTC options market is dominant but not complete","Structural put buying by institutions can inflate PCR without fear signal"],"normalization":"Min-max scaled to 0-100 against observed range (see normalization block)"}},"normalization":{"method":"minmax_rolling","windowDays":730,"bootstrapSource":"exchange","bootstrapMinDays":30,"preLaunchNote":"During the first 30 days of operation, component values are published raw (unnormalized) and the MVI composite is computed as a simple weighted mean of annualized component values. Normalization activates after 30 days of accumulated history. This is documented as methodVersion 1 behavior and will not change without a version bump.\n"},"canonicalFormat":"v1|VOLATILITY|{PAIR}|MSVI|{VALUE}|{UNIT}|{WINDOW}|RV:{rv}:{rvWeight},IV:{iv}:{ivWeight},TS:{ts}:{tsWeight},FR:{fr}:{frWeight},PCR:{pcr}:{pcrWeight}|CONFIDENCE:{confidence}|METHOD:v{methodVersion}|{TIMESTAMP}|{NONCE}","canonicalExample":"v1|VOLATILITY|BTCUSD|MSVI|52.34|index|30D|RV:48.2:0.30,IV:54.1:0.25,TS:1.12:0.15,FR:0.021:0.20,PCR:0.85:0.10|CONFIDENCE:0.92|METHOD:v1|1744000000|482910","versionHistory":[{"version":1,"effectiveFrom":1744000000,"changes":"Initial release","weights":{"realizedVolatility":0.3,"impliedVolatility":0.25,"termStructure":0.15,"fundingRate":0.2,"putCallRatio":0.1}}],"pubkey":"7ab07fbe7d08cd16823e5eb0db0e21f3f38e9366d5fd00d14e95df0fb9b51a1a","signingScheme":"ed25519","generatedAt":1791050344,"signature":"93858f847ec5ba14f7dffc2e6a6cbf8bf74b1d8a5c6029477c50b532413a9b9566f1c12c51d2637bd54936c1e648152329f3f2ee1811fdc16e2e93bc29d25608"}