DataClash / portfolio-theory
CURSO COMPLETO • ASSET ALLOCATION & QUANTITATIVE FINANCE

Construcción, Optimización y Gestión de Portafolios de Inversión

Construir un portafolio no consiste en elegir acciones ganadoras de forma aislada, sino en diseñar una combinación óptima de activos cuyos retornos y riesgos covarien de forma que se maximice la rentabilidad ajustada por riesgo.

Capítulo 01

Teoría y Marco Conceptual

En 1952, Harry Markowitz publicó Portfolio Selection, demostrando por primera vez que el riesgo de un portafolio no es el promedio ponderado de los riesgos individuales, sino que depende fundamentalmente de la correlación mutua entre sus componentes.

PRINCIPIO 1

La Frontera Eficiente

El conjunto de carteras óptimas que ofrecen el máximo retorno esperado posible para un nivel determinado de volatilidad ($\sigma$), o bien el menor riesgo posible para un retorno objetivo. Toda cartera por debajo de la frontera es ineficiente o subóptima.

PRINCIPIO 2

El Portafolio de Tangencia (Max Sharpe)

El punto de contacto exacto entre la Frontera Eficiente y la línea de asignación de capital (CAL) que parte de la tasa libre de riesgo ($R_f$). Representa la combinación de activos que maximiza la pendiente y eficiencia por cada unidad de volatilidad.

Métricas Cardinales de Evaluación de Rendimiento

Métrica Fórmula Matemática Interpretación Práctica Umbral Óptimo
Ratio de Sharpe $\frac{E[R_p] - R_f}{\sigma_p}$ Premio por riesgo asumido sobre el activo seguro. > 1.0 (Excelente > 1.5)
Ratio de Sortino $\frac{E[R_p] - R_f}{\sigma_{\text{downside}}}$ Solo penaliza la volatilidad negativa o dañina. > 1.3
Beta ($\beta$) $\frac{\text{Cov}(R_p, R_m)}{\text{Var}(R_m)}$ Sensibilidad sistemática frente al mercado global. Defensivo: < 0.8 | Agresivo: > 1.2
Max Drawdown $\frac{\text{Pico} - \text{Valle}}{\text{Pico}}$ Pérdida acumulada máxima de pico a valle en la historia. Tolerancia < 20%
Capítulo 02

Herramientas y Vehículos del Mercado

Para materializar una estrategia cuantitativa, se eligen instrumentos líquidos y de bajo costo. Los Fondos Cotizados en Bolsa (ETFs) son el estándar institucional por su transparencia fiscal, diversificación inmediata y comisiones de gestión mínimas (TER < 0.10%).

Bloques Constructivos (Building Blocks)

EQUITY GLOBAL

VTI / VT / VOO

Motor de crecimiento a largo plazo. Alta correlación con el ciclo económico.

RENTA FIJA SOBERANA

TLT / BND / IEF

Amortiguador de volatilidad y fuente de ingresos. Correlación negativa en recesiones.

COMMODITIES / REFUGIO

GLD / IAU / DBC

Protección contra desanclajes inflacionarios y pérdida de poder adquisitivo fiduciario.

DESCORRELACIONADOS

BTC / VNQ (REITs)

Riesgo asimétrico y flujos inmobiliarios independientes del ciclo industrial.

Protocolos de Rebalanceo: Disciplina vs Costos

Un portafolio sin rebalanceo deriva hacia el activo de mayor volatilidad, aumentando el riesgo sin consentimiento del inversor. Existen dos métodos rigurosos:

1. Rebalanceo Calendárico

Se ejecuta a intervalos fijos (semestral o anual). Sencillo y fiscalmente predecible.

2. Rebalanceo por Bandas de Tolerancia ($\pm 5\%$)

Solo se rebalancea cuando un activo se desvía más de un umbral relativo del peso target. Maximiza la captura de momentum.

Capítulo 03

Análisis Fundamental y Técnico Cuantitativo

En la gestión cuantitativa de activos, el análisis fundamental se traduce en Factores de Calidad y Valor (Fama-French), mientras que el análisis técnico se modela como Filtros de Régimen y Momentum.

Filtros Fundamentales (Asset Quality)

  • ROIC > WACC: Retorno sobre capital invertido superior al costo de capital. La compañía crea valor económico intrínseco.
  • Free Cash Flow Yield (FCF/Market Cap): Flujo de caja libre positivo para financiar recompras, deuda y dividendos.
  • Deuda Neta / EBITDA ≤ 2.5x: Solvencia financiera ante ciclos de restricción monetaria y tasas altas.
  • Margen Operativo Estable: Poder de fijación de precios (Pricing Power) ante inflación.

Filtros Técnicos (Regime & Momentum)

  • Filtro de Régimen SMA 200: Asignación 100% de renta variable si $P > \text{SMA}_{200}$. Reducción hacia efectivo si $P < \text{SMA}_{200}$ (protección de caídas sistémicas).
  • Fuerza Relativa (RS vs SPX): Seleccionar activos cuyo ratio $\frac{P_{\text{activo}}}{P_{\text{SPX}}}$ se encuentre en máximos de 52 semanas.
  • Volatilidad Inversa (Risk Parity): Ponderar cada activo en proporción inversa a su volatilidad ($\frac{1}{\sigma_i}$) para evitar que la renta variable acapare el 90% del riesgo del portafolio.
Capítulo 04

Ecosistema de Librerías con Python

Python es el lenguaje estándar de las finanzas cuantitativas. A continuación se presentan los scripts limpios, reproducibles y profesionales para calcular la matriz de covarianza, optimizar el vector de pesos y trazar la frontera eficiente.

yfinance pandas numpy scipy.optimize PyPortfolioOpt
1. Descarga de Precios y Matriz de Covarianza Anualizada
import yfinance as yf
import numpy as np
import pandas as pd

# 1. Definir universo de activos líquidos
tickers = ['SPY', 'QQQ', 'TLT', 'GLD', 'VNQ']

# 2. Descargar precios de cierre ajustados (5 años de historia)
data = yf.download(tickers, start='2019-01-01', end='2024-01-01')['Close']

# 3. Retornos logarítmicos diarios
returns = np.log(data / data.shift(1)).dropna()

# 4. Retorno esperado anualizado (252 días bursátiles) y matriz de covarianza
mean_returns = returns.mean() * 252
cov_matrix = returns.cov() * 252

print("--- Retornos Esperados Anualizados ---")
print(mean_returns.round(4))
print("\n--- Matriz de Covarianza (Sigma) ---")
print(cov_matrix.round(4))
2. Optimización Matemática de Markowitz (Máximo Sharpe con Scipy)
from scipy.optimize import minimize

def portfolio_performance(weights, mean_returns, cov_matrix, rf=0.04):
    """Calcula retorno, volatilidad y Sharpe anualizado."""
    returns = np.sum(mean_returns * weights)
    volatility = np.sqrt(np.dot(weights.T, np.dot(cov_matrix, weights)))
    sharpe = (returns - rf) / volatility
    return returns, volatility, sharpe

def negative_sharpe(weights, mean_returns, cov_matrix, rf=0.04):
    """Función objetivo a minimizar: el negativo del Ratio de Sharpe."""
    return -portfolio_performance(weights, mean_returns, cov_matrix, rf)[2]

# Restricciones: Suma de pesos = 1.0 (100%)
constraints = ({'type': 'eq', 'fun': lambda w: np.sum(w) - 1.0})

# Límites: Sin posiciones cortas (0 <= w_i <= 1)
num_assets = len(tickers)
bounds = tuple((0.0, 1.0) for _ in range(num_assets))
init_weights = num_assets * [1.0 / num_assets]

# Optimización Cuadrática mediante algoritmo SLSQP
opt_result = minimize(
    negative_sharpe,
    init_weights,
    args=(mean_returns, cov_matrix, 0.04),
    method='SLSQP',
    bounds=bounds,
    constraints=constraints
)

optimal_weights = opt_result.x
opt_ret, opt_vol, opt_sharpe = portfolio_performance(optimal_weights, mean_returns, cov_matrix)

print("--- Pesos Óptimos de Tangencia (Max Sharpe) ---")
for t, w in zip(tickers, optimal_weights):
    print(f"{t}: {w * 100:.2f}%")

print(f"\nRetorno Esperado: {opt_ret * 100:.2f}%")
print(f"Volatilidad Anual: {opt_vol * 100:.2f}%")
print(f"Ratio de Sharpe:  {opt_sharpe:.3f}")
Capítulo 05

Técnicas Matemáticas y Gestión de Riesgo de Cola

El soporte formal de la teoría de portafolios se apoya en el álgebra lineal multidimensional y el cálculo estocástico.

Formalismo Matricial

1. Retorno Esperado del Portafolio:

$\mu_p = w^T \mu = \sum_{i=1}^N w_i \mu_i$

2. Varianza Cuadrática del Portafolio:

$\sigma_p^2 = w^T \Sigma w = \sum_{i=1}^N \sum_{j=1}^N w_i w_j \sigma_{ij}$

Donde $w$ es el vector columna de pesos $[w_1, \dots, w_N]^T$, $\mu$ es el vector de rendimientos y $\Sigma$ es la matriz simétrica semidefinida positiva de covarianzas de dimensión $N \times N$.

MÉTRICA DE COLA 1

Value at Risk (VaR 95% / 99%)

La máxima pérdida esperada en un horizonte de tiempo determinado con un nivel de confianza $(1 - \alpha)$:

$\text{VaR}_\alpha = - (\mu_p - Z_\alpha \cdot \sigma_p)$

Ejemplo: Un VaR diario al 95% del 1.8% significa que el 95% de los días la pérdida no superará el 1.8% del capital.

MÉTRICA DE COLA 2

Conditional VaR (CVaR / Expected Shortfall)

Resuelve la deficiencia del VaR al promediar las pérdidas en el percentil crítico cuando el cisne negro efectivamente ocurre:

$\text{CVaR}_\alpha = E[L \mid L > \text{VaR}_\alpha]$

Es una medida de riesgo coherente (subaditiva), ideal para activos con colas pesadas o riesgo de liquidez.

Simulador Interactivo

Simulador de Asignación de Activos & Sharpe

Modifica la ponderación de las 4 clases de activos y observa en tiempo real el Retorno Esperado, la Volatilidad Estimada y la Eficiencia de Sharpe. 100% interactivo en el navegador.

Renta Variable Global (VTI/VT) 60%
Retorno esper.: 9.5% | Volatilidad: 16.0%
Bonos del Tesoro (TLT/BND) 30%
Retorno esper.: 4.5% | Volatilidad: 8.5%
Oro & Materias Primas (GLD) 10%
Retorno esper.: 5.5% | Volatilidad: 14.0%
Efectivo / Monetario (Treasury Bills) 0%
Retorno esper.: 4.0% | Volatilidad: 0.8%
Distribución del Portafolio: Total: 100%
Retorno Esperado Anual 7.60%
Volatilidad Anual ($\sigma_p$) 10.82%
Ratio de Sharpe ($R_f=4\%$) 0.334