Procedura Forecast Volatilita
Quick Reference
Procedura standard per calcolare previsioni di volatilita usando blend di stime short-term e long-term.
Overview
Obiettivo: Ottenere stima accurata volatilita futura per position sizing.
Metodo: Combinare EWMA recente con media storica long-term.
Step-by-Step Procedure
Step 1: Calcola EWMA Short-Term
Lambda ottimale: 0.06061 (span 32 giorni)
σ²_recent = λ × (r_t - μ)² + (1 - λ) × σ²_t-1
Input: - Daily returns ultimi 32-64 giorni - Lambda = 0.06061
Output: σ_recent (annualizzato)
Step 2: Calcola Media Long-Term
Lookback: 250-500 giorni (1-2 anni)
σ_long = √[Σ(r_i - μ)² / N]
Input: - Daily returns ultimi 250+ giorni - Standard deviation semplice
Output: σ_long (annualizzato)
Step 3: Blend Estimates
Pesi raccomandati: 70% short-term, 30% long-term
σ_forecast = 0.7 × σ_recent + 0.3 × σ_long
Razionale: - Short-term cattura cambiamenti recenti - Long-term previene over-reaction a spike
Step 4: Floor/Cap (Optional)
Evita estremi irrealistici:
σ_floor = 0.5 × σ_historical_average
σ_cap = 3.0 × σ_historical_average
σ_final = max(σ_floor, min(σ_forecast, σ_cap))
Protezione contro forecast troppo bassi/alti.
Esempio Pratico
Scenario: S&P 500 Future
Date: Oggi Recent volatility: σ_recent = 25% (spike recente) Long-term average: σ_long = 15%
Calcolo:
σ_forecast = 0.7 × 25% + 0.3 × 15%
= 17.5% + 4.5%
= 22%
Interpretazione: Volatilita elevata ma non estrema come spike suggerisce.
Position sizing: Usa 22% per calcolare contratti.
Confronto Metodi
Solo recent (25%): Position troppo piccola (over-cautious) Solo long-term (15%): Position troppo grande (risky in clima volatile) Blend (22%): Bilanciato
Frequency di Aggiornamento
Daily Update
Consigliato per active trading: - Calcola σ_recent ogni giorno - Blend con σ_long - Adjust positions se cambio > 10%
Weekly Update
Sufficiente per slower strategies: - Update ogni lunedi - Meno transactions - Slightly delayed reaction
Alternative Approaches
Simple EWMA (No Blend)
Pros: Semplice, responsive Cons: Over-reacts a spike
Usa quando: High-frequency trading, need responsiveness
Pure Historical
Pros: Stabile, smoothed Cons: Slow to adapt
Usa quando: Very long-term investing, stability priority
GARCH Models
Pros: Statistically sophisticated Cons: Complesso, overfitting risk
Usa quando: Professional setup, large data
Volatility Regimes
Low Volatility (σ < 12%)
Caratteristiche: - Mercato calmo - Forecast stabile - Blend weights = 70/30 ok
Normal Volatility (σ = 12-25%)
Caratteristiche: - Mercato standard - Forecast blend funziona bene - Use standard 70/30
High Volatility (σ > 25%)
Caratteristiche: - Crisis/shock - Consider adjusting blend a 80/20 (piu weight su recent) - Ridurre leverage
Validation
Check Forecast Quality
Ogni trimestre, verifica accuracy:
Actual σ vs Forecast σ
Se forecast sistematicamente alto/basso: Adjust blend weights.
Example Analysis
Q1 results: - Forecast medio: 18% - Actual medio: 20% - Underestimating → increase short-term weight a 75%
Common Adjustments
Per Asset Class
Equities: 70/30 blend (standard) FX: 60/40 (piu stable long-term mean) Commodities: 75/25 (piu volatile, responsive) Bonds: 65/35 (mean-reverting)
Per Market Conditions
Trending: 70/30 (standard) Range-bound: 60/40 (piu weight su long-term) Crisis: 80/20 (follow recent spike)
Integration con Position Sizing
Formula finale:
Contratti = (Capital × Risk Target%) / (Price × Multiplier × σ_forecast × FX)
σ_forecast from this procedure.
Data Requirements
Minimum Data
Short-term: 32 giorni (1 span) Long-term: 250 giorni (1 anno) Total minimum: 250 giorni
Optimal Data
Short-term: 64 giorni (2 span) Long-term: 500 giorni (2 anni) Total optimal: 500+ giorni
Automation
Daily Routine
1. Download yesterday's close
2. Calculate return: (Close_t / Close_t-1) - 1
3. Update EWMA: σ²_t = 0.06061 × r² + 0.93939 × σ²_t-1
4. Calculate σ_long from 250-day window
5. Blend: σ = 0.7 × σ_recent + 0.3 × σ_long
6. Update position sizing spreadsheet
Time required: 5-10 minuti manual, seconds automated.
Error Handling
Missing Data
Se gap in price data: - Use last available σ_forecast - Don't trade if gap > 5 giorni - Restart EWMA dopo gap
Outliers
Se return estremo (>5 std dev): - Verify data (error or real?) - If real: Include but monitor - Consider capping impact
Initial Period
First 32 days di trading: - EWMA non stabile yet - Use solo σ_long - Gradualmente increase EWMA weight
Monitoring
Red Flags
- σ_forecast < 5%: Troppo basso, check data
- σ_forecast > 100%: Troppo alto, check data
- Sudden 3× jump: Verify non data error
- Negative variance: Calculation error
Health Checks
Ogni mese: - Plot σ_forecast time series - Compare vs σ_long - Verify blend weights still appropriate
Errori Comuni
- 100% weight su EWMA: Over-reacts a spike temporanei
- 100% weight su long-term: Ignora cambiamenti regime
- Lambda troppo alto (es. 0.3): Troppo smoothed, non responsive
- Lambda troppo basso (es. 0.01): Troppo jumpy, instabile
- No floor/cap: Forecast irrealistici in extremes
- Update troppo raro: Positions non risk-adjusted correttamente
- Ignorare regime changes: Blend fisso in tutti i contesti
Concetti Correlati
- [[EWMA]] - metodo core per short-term estimate
- [[Lambda Ottimale]] - parametro chiave (0.06061)
- [[Blend Weights]] - pesi 70/30 per combination
- [[Volatility Clustering]] - rationale per EWMA
- [[Standard Deviation]] - base measurement
- [[Position Sizing]] - usa σ_forecast come input