Saltar a contenido

Estrategia recomendada end-to-end para el user

Página síntesis que consolida todos los hallazgos del wiki en una recomendación coherente. Este es el punto de llegada operativo tras 8 iteraciones de investigación. Toda claim acá tiene backlink a evidencia en el wiki.

TL;DR

Swing trading sobre S&P500 large-caps con tilt momentum+factor, rebalance mensual, operado semi-automáticamente vía Claude Code Routines + Chrome automation sobre RACIONAL, con kill switches duros pre-definidos.

  • Horizonte de trade: 2–8 semanas (no intraday).
  • Universe: top 50 del S&P500 por market cap (liquidez + fees óptimos).
  • Strategy: momentum 12-1 (past 12m return menos past 1m) + filtros de quality (ROE alto, low debt).
  • Rebalance: mensual.
  • Capital: % pre-comprometido del portfolio total, no tocar más.
  • Kill switches: drawdown >15% = pausa, >25% = terminar experimento.

Rechazos explícitos (y por qué)

❌ Day trading intraday estricto

Tres barreras acumulativas:

  1. Fees RACIONAL: 0.99-0.49% spread USD → 1.2-2.2% round-trip con slippage. Papers académicos asumen costs ~0.002%. Ver analysis/zarattini-strategy-racional-viability.
  2. Tax Chile: cada trade es gravable; sin long-term rate reducido. 100+ trades/año = burden. Ver concepts/chile-us-tax-regime.
  3. Base rates: <1% de retail day traders ganan neto en Taiwan/Brasil. Ver concepts/retail-trader-base-rates.

❌ HFT / scalping

Imposible — LLM latency en segundos, mercado microestructura en microseconds.

❌ Short selling / leverage

Fuera de scope del experimento (ver CLAUDE.md del proyecto). Adicional riesgo no justificado.

❌ Options / derivados

Complejidad tributaria chilena + required sophistication. Posponer.

❌ Small-caps / OTC

70% small-cap activos batieron benchmark en 2024 (analysis/small-caps-alpha-exception) — pero spread RACIONAL devora el alpha en small-caps ilíquidas. Inaccesible al user.

Diseño del sistema end-to-end

Arquitectura (4-agent — adaptada)

Ver concepts/multi-agent-trading-architecture.

┌──────────────┐    ┌──────────────┐    ┌─────────────┐    ┌─────────────────┐
│ Data Agent   │ → │ Strategy     │ → │ Risk Agent  │ → │ Execution Agent │
│ Polygon/yfin │    │ Agent (LLM)  │    │ (script)    │    │ (HITL → CHROME) │
└──────────────┘    └──────────────┘    └─────────────┘    └─────────────────┘
        ↑                                                            ↓
        └──────────────────── memory/*.md (shared state) ────────────┘

Adaptación crítica: Execution Agent NO usa API (RACIONAL no tiene). Fase 1 HITL (user ejecuta manual), fase 2 Chrome automation con confirm, fase 3 full-auto (solo tras validación). Ver analysis/adapting-broker-without-api.

Scheduling

Ver concepts/scheduled-routines-pattern.

  • Claude Code Routines remote para rutinas principales:
  • Weekly review (viernes 16:00 CT): evaluar portfolio, rebalance si hay signals.
  • Monthly rebalance (primer lunes del mes): recalc rankings, ajustar posiciones.
  • On-demand vía API trigger: si user detecta un event macro o news catalyst, dispara una session ad-hoc.
  • NO daily routines — sobra para swing.

Memory files

Ver concepts/file-based-agent-memory. Mínimo:

memory/
├── strategy.md        # reglas actuales de la estrategia
├── positions.md       # portfolio actual (reconciliado con RACIONAL)
├── trade_log.md       # append-only histórico de trades
├── research_log.md    # learnings + observaciones del agente
├── gaps.md            # qué quedó pendiente de investigar
└── weekly_review.md   # resumen + grade del agente

Strategy específica (Strategy Agent)

Signal composite score por stock en universe (refinado tras PP-04 — ver concepts/momentum-window-selection):

score = 0.5 × momentum_ensemble + 0.3 × quality_score + 0.2 × value_score

donde:
momentum_ensemble = 0.5 × z-score(ret_12m - ret_1m) 
                  + 0.5 × z-score(ret_6m - ret_1m)
  • momentum_ensemble: blend 12-1 (clásico Jegadeesh-Titman) + 6-1 (post-2008 régime) para robustez ante regime shifts.
  • quality_score: z-score de composite (ROE + operating margin + inverse debt/equity) — AQR Quality factor.
  • value_score: z-score de composite (1/P_B + 1/P_E) — AQR Value factor.

Normalización: z-scores sobre el universe (top 500 S&P) para que la suma sea homogénea.

Selection: top 10 del ranking, equal-weight.

Rebalance mensual: si un stock sale del top 10, sell; si entra, buy. Max turnover 30%/mes.

Crash protection (NO opcional — agregado 2026-04-19)

⚠️ Update crítico post-iter 11: ver analysis/momentum-crash-risk. El momentum tiene riesgo de cola documentado en bear-market recoveries (Daniel-Moskowitz 2016) — drawdowns de -30 a -50% posibles. Protecciones obligatorias:

  1. Volatility targeting: target 12-15% anualizada. Si realized vol del portfolio > target → scalar posiciones down.
  2. Trend filter: si SPY < 200-day MA -5% → no abrir nuevas posiciones, stops tight en existentes.
  3. VIX filter: VIX > 30 → escalar posiciones 50%. VIX > 40 → full cash.
  4. Kill switch mensual: drawdown mensual > 15% → auto-cut exposure 50%. > 25% → pausa 2 meses.
  5. Value tilt aumentado en crashes: considerar 0.4 value weight cuando VIX > 30.

Risk Agent — guardrails duros

Ver concepts/trading-guardrails.

  • max_position_pct: 10% del capital del experimento (equal-weight × 10 stocks).
  • max_sector_exposure: 30% (evita concentración en tech).
  • daily_loss_limit: 3% del capital del experimento.
  • monthly_drawdown_cap: 10% → pausa 1 mes.
  • experiment_kill_switch: 25% drawdown total → FIN.

Kill switches (críticos)

Ver analysis/retail-learning-bias. Codificados, no a criterio humano:

  • Drawdown 15%: pausa + diagnóstico manual obligatorio antes de reanudar.
  • Drawdown 25%: terminar experimento. Cerrar posiciones. Capital vuelve al portfolio buy-and-hold.
  • Sharpe <0 a 6 meses: pausa + revisión de estrategia.
  • Peor que SPY en retorno total a 24 meses: terminar experimento.
  • User operó manual >2 horas/semana en 3 semanas consecutivas: esto ya no es "automatizado" — terminar o rediseñar.

Plan de rollout

Ver concepts/paper-trading-rollout.

Fase Duración Qué hace
0 — Setup 1 semana Crear repo, configurar Routines, backtest simple de la strategy sobre data histórica.
1 — Paper 3 meses Signals y trades simulados. Validar sistema, no estrategia.
2 — HITL live 3 meses Agent propone, user ejecuta manual en RACIONAL. Capital: 10% del experimento.
3 — Semi-auto 3 meses Chrome automation rellena form, user aprueba con click. Capital: 50% del experimento.
4 — Full-auto sin límite Ejecución automática. Capital: 100% del experimento. Supervisión diaria.

Gates ex-ante para pasar de fase: - Sistema 100% sin errores en la fase. - Sharpe neto >0.6 (= SPY histórico) en el período. - Max drawdown <10%. - ≥30 trades completados (tamaño muestral mínimo).

Evaluación final del experimento (a 24 meses)

⚠️ Target ajustado tras AQ-01 (ver analysis/factor-crowding-alpha-decay): los factors momentum/quality/value han decayado por crowding. Expectativa realista 2026:

  • Target excess return vs SPY: 3-5% annualized (no 8%+).
  • Target Sharpe: 0.7-0.8 (vs SPY histórico ~0.5-0.6).
  • Si excess return <1% a 3 años → terminar experimento.

El experimento es exitoso si:

  1. Retorno neto > SPY (net of fees + tax + slippage) — meta 3-5% excess.
  2. Sharpe >0.7 (ajuste de riesgo).
  3. Max drawdown tolerable al user ex-ante.
  4. User tiempo manual <2h/semana — mantuvo la promesa de "automatizado".
  5. Kill switches no disparados (o disparados pero sistema los respetó).

Si alguna falla → terminar, volver a buy-and-hold SPY o allocator passive equivalente. Sin vergüenza — 92% de fondos activos large-cap fallan en horizonte equivalente (concepts/base-rates-vs-sp500).

Migration path (opcional)

Análisis completo de migración en analysis/us-broker-migration-chile. Opciones:

  1. Migrar a IBKR (US broker) — fees 20-100× menores → unlockea Zarattini intraday + small-caps + multi-strategy parallel. Break-even ~$30k capital comprometido al experimento. Recomendación: evaluar al final de Fase 2 HITL (9 meses). Antes de eso, la complejidad adicional no se justifica.
  2. Añadir factor momentum meta (Gupta-Kelly 2019) sobre los factores base.
  3. Leverage controlado (hasta 1.5x) en posiciones high-confidence. Nota: Chile agrega impuesto a ganancias apalancadas.

Lo que NO está en este wiki (gaps abiertos)

  • Backtest concreto de esta strategy sobre SPY 2007-2024 — pendiente. Hasta tenerlo, esto es hipótesis.
  • Código Python/scripts del Data / Strategy / Risk / Execution agents — pendiente.
  • Workflow exacto con Claude Code Routines + Chrome automation — diseño alto nivel listo, implementación pendiente.
  • Integración con news APIs específicas — mencionada, no implementada.

Ver gaps.md del proyecto para la lista priorizada.

Relaciones

  • Síntesis de: TODAS las páginas del wiki (ver sources frontmatter).
  • Contradice: el optimismo casual de sources/nate-herk-24-7-trader (+8% en 30 días = ruido).
  • Se apoya en: evidencia académica (concepts/evidence-based-strategies) + realidad operacional (fees, tax, broker sin API).
  • Next step del user: revisar esta página, ajustar lo que no refleje su intención, decidir si proceder con Fase 0.