Handling de dividendos en efectivo¶
Los holdings pagan dividendos. ¿Reinvertir en el mismo stock, redistribuir al portfolio, o mantener cash? Resuelve OP-02. Decisión: cash accumulado + rebalance next monthly (opción C).
Las 3 opciones¶
A. DRIP (Dividend Reinvestment)¶
- Cada dividendo se reinvierte automáticamente en el stock que lo pagó.
- Pro: zero fricción adicional (si el broker lo ofrece gratis).
- Con: sesga el portfolio hacia dividend-paying stocks over time. Aumenta position concentrada sin signal.
No recomendado — puede violar cap de position.
B. Redistribute inmediato al portfolio¶
- Cada dividendo se divide proporcionalmente entre todos los holdings actuales.
- Pro: mantiene el portfolio balanceado.
- Con: 10 micro-trades por cada dividendo. Fricción masiva con RACIONAL spread 0.99%. Si el dividendo es $50 y 10 micro-trades de $5 cada uno @ 0.99% spread = $5 en fricción = 10% del dividendo consumido.
No recomendado — inviable en RACIONAL por fees.
C. Cash accumulado + rebalance next monthly ← ELEGIDO¶
- Dividendos quedan en cash hasta el próximo monthly rebalance.
- En rebalance, el cash se aplica al buying de whatever el composite score determina.
- Pro: zero extra fricción entre rebalances. Cash es "dry powder" para el próximo.
- Con: portfolio temporal slightly under-invested (cash balance small).
Magnitud esperada¶
S&P500 dividend yield actual: ~1.5% anual.
Portfolio $10k → ~$150/año en dividendos → ~$12/mes promedio.
Sobre un portfolio de $10k, $12 cash representa 0.12% under-investment promedio — irrelevant.
Sobre un portfolio $100k: $120/mes → aún <0.12% under-investment.
Implementación¶
# En Data Agent daily run
def fetch_pending_dividends(positions_md):
# Check cada ticker in positions.md vs dividend calendar
# yfinance.Ticker(sym).dividends tiene dates
# Filter dividends pagados en last 7 days
for pos in positions:
divs = get_recent_dividends(pos.ticker, since=today-7d)
for div in divs:
if div.pay_date <= today:
amount = div.per_share * pos.qty
update_cash_balance(positions_md, +amount)
log_dividend(pos.ticker, amount, div.pay_date)
En positions.md:
## Cash balance
- Cash: $156.30
- Pending dividends: $25.00 (AAPL ex-div 2026-04-15, pay 2026-04-29)
Durante rebalance mensual¶
El Strategy Agent ve el cash balance. Al buying new positions:
- Priority 1: cerrar sells de stocks que salieron del top 10.
- Priority 2: comprar new entries usando cash total (previous cash + proceeds de sells + dividendos acumulados).
- Equal-weight target: cada new position 10% del portfolio value.
Edge cases¶
Stock dividends (no cash)¶
- Algunos stocks pagan dividendos en más shares en lugar de cash.
- Handling: ajustar qty en
positions.mdmanualmente. No afecta composite.
Special dividends¶
- Distribuciones especiales (ej. spin-off, merger cash consideration).
- Trata como cash dividend pero marca en el log por tax purposes.
Withholding impact¶
- Ver concepts/chile-us-tax-regime: 15% withholding US sobre dividends con treaty.
- Cash que llega a RACIONAL ya está post-withholding. El user aún debe reportar al SII.
Dividend calendar¶
- Los dividendos son announced ex-date, recorded ex-date, paid ~2 semanas después.
- El Data Agent debe monitorear: si un holding tiene ex-div en próxima semana, mark it como "pending cash".
Tax loss harvesting conjunto (sinergias)¶
El cash dividendo queda en portfolio. Durante end-of-year:
- Si algún holding está en loss posición → considerar sell para realizar loss.
- Use el cash acumulado para buy un equivalent stock (no el mismo, para evitar wash sale).
- Reduce SII payable sin perder exposure al mercado.
Gaps¶
- Automatización de detección de ex-div dates (Data Agent enhancement).
- Tratamiento específico de ADR dividends (foreign stocks in US listings) — withholding puede ser diferente.
- Si RACIONAL cobra fee por distribución de dividends — verificar con user.
Relaciones¶
- Resuelve: OP-02.
- Relacionado con: concepts/portfolio-reconciliation (cash balance reconciliado), concepts/chile-us-tax-regime (withholding + SII report).
- Usado en: concepts/agent-prompts (Data Agent tracks dividends, Strategy Agent uses cash in rebalance).
- Refuerza decisión de: concepts/earnings-management (hold-through es consistente con dejar dividends venir naturalmente).