Conectando
Conectando con el servidor de portafolio...
Data Analyst Portfolio
Multi-Asset Portfolio Analytics & Optimization
Data Analyst Portfolio: Project 05
A full-stack analytics dashboard that tracks a diversified 6-ETF portfolio against the S&P 500. It applies modern portfolio theory, risk analytics, and Monte Carlo simulation to evaluate performance, quantify risk, and find mathematically optimal allocations, all powered by live market data from Yahoo Finance.
Source
Yahoo Finance (yfinance)
Type
Daily adjusted close prices
Assets
6 ETFs + SPY benchmark
Frequency
Live on each request
Limitations: Yahoo Finance data may have minor gaps or delayed quotes. Dividends are reflected via adjusted close prices. Analysis assumes frictionless trading (no commissions or slippage).
| Ticker | Name | Weight | Category |
|---|---|---|---|
| VOO | Vanguard S&P 500 ETF | 30% | US Equity |
| VXUS | Vanguard Total Intl Stock ETF | 20% | International Equity |
| VWO | Vanguard FTSE Emerging Markets ETF | 10% | Emerging Markets |
| BND | Vanguard Total Bond Market ETF | 20% | Fixed Income |
| VNQ | Vanguard Real Estate ETF | 10% | Real Estate |
| GLD | SPDR Gold Shares | 10% | Commodities |
Classic diversified allocation spanning 6 asset classes. Benchmark: SPY (S&P 500). Risk-free rate: 4.5%.
Live data variability
Yahoo Finance data can gap or lag. Built caching and fallback logic so the dashboard stays responsive even when the upstream API is slow.
Monte Carlo at scale
Running 10,000 correlated simulations across 6 assets needs careful vectorization. Used numpy broadcasting instead of Python loops for 50x speedup.
Efficient frontier solver
scipy.optimize with equality + inequality constraints requires well-chosen initial guesses. Added bounds and SLSQP fallback to avoid convergence failures.
Bridging theory and UX
Financial math is dense. Invested in clear labels, contextual definitions, and methodology notebooks so non-quant viewers can follow the analysis.
Backend
Frontend
Analysis