VIX Fear Index: Reading Market Sentiment from Historical Volatility
4-section structure: Concept / How We Compute / How to Read / Caveats.
1. Concept
VIX, introduced by CBOE in 1993, is known as the Fear Index.
Textbook VIX formula: uses S&P 500 30-day options prices to back out market expectations of future volatility — the more people buying puts (paying higher premiums for hedging), the higher VIX rises.
Taiwan has an official volatility index TAIVIX (published by TAIFEX), but:
TAIVIXhistory in public APIs (yfinance / Quandl) is unreliable with frequent gaps- Many years only have monthly or partial quarterly data
We use self-computed 20-day Realized Volatility (RV) as Taiwan's VIX proxy:
Realized Volatility (RV) = standard deviation of log returns over 20 days × √252 × 100
This isn't the textbook VIX (which uses implied volatility from options), but already realized volatility. They differ but are highly correlated (correlation > 0.85) — practically interchangeable.
2. How We Compute
2.1 Formula
log_return_t = ln(close_t / close_{t-1})
RV_t = std(log_return_{t-19 ~ t}) × √252 × 100 (annualized %)
- Log return: better than arithmetic for compounding, matches log-normal assumption
- 20-day window: one trading month, balance between smoothness and sensitivity
- √252 annualization: 252 trading days per year
- ×100: display as percentage
2.2 Derived Metrics
| Metric | Formula | Meaning |
|---|---|---|
| Current RV | Latest RV value | Instant volatility level |
| 10-day MA | Mean of last 10 RVs | Smoothed trend |
| 10-day Trend | Current RV − 10-day ago RV | ↑ volatility rising / ↓ volatility subsiding |
| 5-year percentile | Current RV's rank in past 5 years | Historical position |
| 1-year percentile | Current RV's rank in past 1 year | Recent relative position |
2.3 Four Regimes (based on 5-year percentile)
| Regime | 5y Percentile | Meaning | Color |
|---|---|---|---|
| Low | < 20% | Calm waters | 🟢 green |
| Normal | 20 ~ 80% | Daily noise | 🔵 blue |
| Elevated | 80 ~ 95% | Alert | 🟡 amber |
| Extreme | > 95% | Panic | 🔴 red |
3. How to Read
3.1 Absolute Value Practical Interpretation
Typical 20-day RV range for ^TWII:
| RV Range | Market State | Real Scenario |
|---|---|---|
| < 10% | Very low | Range-bound, traders struggle (no spread) |
| 10 ~ 15% | Normal | Typical bull-bear balance |
| 15 ~ 20% | Slightly high | Active but not panicky |
| 20 ~ 30% | Alert | Earnings season, elections, rate decisions |
| 30 ~ 40% | Fear | Systemic events (2020/3 COVID, 2024/8 yen carry unwind) |
| > 40% | Extreme | Once-in-decades (2008/10 GFC) |
3.2 Application 1: Position Sizing
Many quant strategies size positions inversely to volatility:
Position size = target_risk / current_volatility
- Volatility up → reduce position (maintain constant total risk)
- Volatility down → increase position
- This is Target Volatility strategy
Our current RV reading can feed such strategies as daily input.
3.3 Application 2: Market Timing Signal
Low volatility → danger: prolonged low vol often precedes violent reversals ("volatility mean reversion"). When 5y percentile < 10% for months, investors become overly complacent — time to reduce exposure.
High volatility → opportunity: panic peaks (5y percentile > 95%) often mark historical bottoms — past 20 years' major crashes (2008, 2020, 2024/8) all bottomed within 1-2 weeks of volatility peaks.
3.4 Application 3: Trend Strength Confirmation
- Up + Low RV: healthy bull, steady climb
- Up + High RV: erratic rally, possible end-stage
- Down + Low RV: mild decline, possibly a pullback
- Down + High RV: panic selling, near-bottom likely
3.5 10-Day Trend Arrow
- Arrow ↑: volatility accelerating, caution rising
- Arrow ↓: volatility subsiding, sentiment recovering
- Arrow →: flat
Reversal signal: from extreme → elevated (percentile dropping from > 95%) often signals bottom formation; from normal → elevated (percentile rising from 50% to 85%) signals top warning.
4. Caveats
⚠️ Realized vs Implied Volatility Are Different
- RV (Realized): looks at past actual movement
- IV (Implied) = Official VIX: looks at future expectations from options market
Related but not identical:
- Before major events: IV spikes early (put buying surges), RV is still calm
- After events: RV spikes, IV may already be declining
Due to options data cost, we only provide RV. For Taiwan index option IV, check TAIFEX.
⚠️ 20-Day Window Trade-offs
- Pro: moderate smoothness, sensitive yet stable
- Con: the previous 10 days still affect current value. After violent events, RV takes 20 days to return to normal
For more timely volatility, see the stock's risk tab showing rolling_volatility across 5/10/20/60 days.
⚠️ Percentile Based on Rolling Window
- 5y percentile = rank of current_rv among past 5 years' values
- If past 5 years include 2024/8 yen crash (RV hit 45%), it depresses today's 15-20% percentile
- Conversely, if past 5 years were calm, a small spike to 22% might show 95% percentile
Mitigate: percentile is relative, read alongside absolute value.
⚠️ Data Source & Compute Consistency
Our RV comes from:
sp_index_h.symbol = '^TWII'close prices- Daily updates post-close (yfinance crawler)
- No data on weekends/holidays
Entirely local computation, no external VIX API dependency, high reliability.
⚠️ Excludes Intraday Volatility
RV only uses daily close-to-close log returns. Intraday swings aren't captured. For intraday volatility, need high-frequency data (currently not provided).
⚠️ Gap Handling
If ^TWII is missing or 0 on a given day, it's filtered (SQL close_price > 0). But consecutive missing days cause the RV window to be shorter than 20, biasing the result.
Further Reading
- Volume Anomalies (P1A.3)
- VaR and CVaR: The Language of Risk (Risk tab)
Try It
- See the "🌊 Taiwan Volatility Index" card on home "Rankings" tab
- Observe current regime and percentile, compare against 500-day sparkline
- Find a day when RV broke above 80% percentile → search news events for validation
- Compare your stock's risk-tab volatility against market RV for correlation
- Click 📐 for formula, window choice, percentile computation