All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Initial release of regime-based multi-asset allocation strategy
- Hidden Markov Model implementation for VIX regime identification
- 2-state and 3-state HMM fitting with EM algorithm
- Discrete Markov chain analysis with transition matrices
- Rule-based allocation framework (SPY in low vol, TLT in high vol)
- Comprehensive backtesting engine with 1-day execution lag
- Performance metrics calculation (Sharpe, Sortino, Calmar, Max Drawdown)
- Benchmark comparisons (Equal-weight portfolio, Buy-and-hold SPY)
- Visualization suite:
- ETF returns over time
- VIX dynamics and regime identification
- State-conditional performance analysis
- Strategy performance comparison charts
- Data acquisition from Yahoo Finance (TLT, GLD, SPY, VIX)
- Log-return computation and data alignment
- Statistical analysis of regime-conditional returns
- Documentation and code comments
- Automated data download for 2004-2026 period (5,323 trading days)
- Model selection via AIC/BIC criteria
- State sorting for consistent interpretation
- Transition probability matrices
- Stationary distribution computation
- Outlier detection and data quality checks
- Rolling Sharpe ratio visualization
- Drawdown analysis
- Allocation weight tracking over time
- Annualized return: 19.41%
- Sharpe ratio: 1.220
- Maximum drawdown: -19.54%
- Outperformance vs SPY: 8.61% annually
- Drawdown reduction vs SPY: 65%
- Python 3.8+ compatibility
- Dependencies: numpy, pandas, matplotlib, yfinance, hmmlearn, scipy
- Full covariance Gaussian HMM
- Viterbi algorithm for state sequence extraction
- 1,000 EM iterations for convergence
- Random seed (42) for reproducibility
- Rolling window parameter estimation
- Transaction cost modeling
- Multi-factor regime identification
- Risk parity weighting
- Probabilistic allocation based on state probabilities
- Interactive dashboard
- Real-time regime monitoring
- Alternative model specifications
- Machine learning classification approaches
- Correlation-based regime identification
- Fundamental macro regime definitions
- Stop-loss overlays
- Position sizing optimization
- Additional asset classes (commodities, international equities)
Initial public release
- Added: New features
- Changed: Changes in existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Security improvements
Please read CONTRIBUTING.md for details on how to suggest changes to this changelog.