unidad autónoma de trading · 3 motores + córtex de validación Claude · último ciclo de generación: 06/07/2026 16:54
Cada segmento une la entrada ▲ con la salida ◆ de un movimiento: verde = ganó · rojo = perdió · pasa el ratón para ver el motor y el P&L. Simulación determinista de los motores validados (pullback + turn-of-month + double-7) sobre el histórico real mostrado. Cuando el bot opere, sus ejecuciones reales aparecerán además como triángulos en la gráfica de Mercado.
| Símbolo | Lado | Cantidad | Entrada | Actual | P&L |
|---|---|---|---|---|---|
| AAPL | long | 1 | 308.00 | 312.29 | +1.39% |
| Motor | Velas | Estado | Lógica |
|---|---|---|---|
| pullback | diario | activo | Recorte al SMA20 con precio sobre SMA200 — VALIDADO en SPY, QQQ y DIA (mejor en QQQ: +1,64%/+1,12%, win 76-82%) |
| tom | diario | activo | Turn-of-month: comprado en la ventana fin/inicio de mes — VALIDADO en SPY, QQQ y DIA |
| double7 | diario | activo | Compra el mínimo de 7 sesiones sobre SMA200, vende el máximo — VALIDADO en SPY y QQQ (suspendió en DIA: no lo opera) |
| highmom | diario | activo | Momentum de máximos 52 semanas: compra a <5% del máximo anual, sale bajo SMA50 — VALIDADO en SPY, QQQ y DIA. El CUARTETO en QQQ: +6,76%/+6,24% |
| ibs | diario | activo | Swing IBS: compra cierres cerca del mínimo del rango diario (IBS<0,15) sobre SMA200, sale con IBS>0,95 — VALIDADO en SPY, QQQ y DIA (afinado 06-jul con grid vectorbt + dual Backtrader; QQQ OUT +5,01%) |
| lowlow | diario | activo | Swing lower-lows: compra el cierre mínimo de 3 sesiones sobre SMA200, sale al primer cierre sobre el máximo previo — VALIDADO en SPY, QQQ y DIA (sweep-5) |
| bband | diario | activo | Swing Bollinger snapback: compra el cierre bajo la banda inferior 20/2σ sobre SMA200, sale en la banda media — VALIDADO en SPY, QQQ y DIA (sweep-5; win 69-85%) |
| nr7 | diario | activo | Swing NR4 breakout: compresión de volatilidad + ruptura del máximo sobre SMA200, sale bajo SMA20 — VALIDADO en SPY, QQQ y DIA (sweep-5). El OCTETO: IN +26,98% / OUT +23,79% |
| channel | diario | solo backtest | Canal de tendencia: 2 suelos + 2 techos en rectas ~paralelas; compra el toque del soporte (solo canal alcista/lateral) y deja correr — el techo no vende, cierra al romper el suelo del canal (stop dinámico que solo sube) — NUEVO, pendiente de validación dual |
| shortrip | diario | activo | CORTO en rebote sobrecomprado (RSI2>85) bajo SMA200, cubre con RSI2<50 — sweep-6b: VALIDADO solo en NVDA (+1,33%/+0,59%, win 65-67%) y META (+0,80%/+0,54%). En índices suspendió: no los opera. Guarda anti-solape con los motores largos |
| short7 / breakdown | diario | solo backtest | CORTO en máximo de 7 sesiones / ruptura Donchian en régimen bajista — sweep-6/6b: negativos out-of-sample; sin ventaja robusta en ningún universo probado |
| trend | diario | solo backtest | SMA50/200 + Donchian + ATR — retirado de operativa: negativo en todos los periodos probados |
| simons | diario | solo backtest | Reversión z-score — retirado: suspendió la validación out-of-sample (sobreajuste en SPY y en megacaps) |
| simons-15m | 15 min | solo backtest | Reversión intradía — retirado: la fricción se come la ventaja en velas cortas |
| scalp ORB+rvol | 5 min | solo backtest | Opening Range Breakout + volumen relativo — sin ventaja neta demostrada (test id 15) |
Guard-rails comunes: máx. 5% del equity por posición · máx. 10 posiciones · fallback LLM = rechazar · prioridad si coinciden: trend > simons > simons-15m
| Fecha | Símbolo | Motor | Señal | Fuerza | Veredicto | Razón |
|---|---|---|---|---|---|---|
| 2026-07-03 00:26 | AAPL | trend | long | 0 | — | — |
| Inicio | Mercado | Señales | Órdenes | Resultado |
|---|---|---|---|---|
| 2026-07-04 22:07 | cerrado | 0 | 0 | ok |
| 2026-07-04 04:51 | cerrado | 0 | 0 | ok |
| 2026-07-03 11:46 | cerrado | 0 | 0 | ok |
| 2026-07-03 10:47 | cerrado | 0 | 0 | ok |
| 2026-07-03 10:43 | cerrado | 0 | 0 | ok |
| 2026-07-03 10:31 | cerrado | 0 | 0 | ok |
| 2026-07-03 03:52 | cerrado | 0 | 0 | ok |
| 2026-07-03 03:12 | cerrado | 0 | 0 | ok |
| Enviada | Símbolo | Lado | Tipo | Cantidad | Ejecutado | Precio ejec. | Estado |
|---|---|---|---|---|---|---|---|
| 06/07 08:01 | AAPL | buy | market | 1 | 1 | 308.00 | filled |
| Fecha | Símbolo | Lado | Cantidad | Estado | Precio |
|---|---|---|---|---|---|
| 2026-07-02 22:26 | AAPL | buy | 1 | accepted | — |
Esta función se activa cuando el panel se sirve desde el bot:
ejecuta .\tp.ps1 web en el PC y abre http://localhost:8766
(desde el móvil: --host 0.0.0.0 y la IP de Tailscale). La versión de Netlify es solo lectura.
| Fecha | Motor | Velas | Símbolos | Días | Retorno | Ops | Win | Notas | |
|---|---|---|---|---|---|---|---|---|---|
| ▸ | 2026-07-06 16:00 | vwap15 | 15min | SPY,QQQ | 23 | +0.16% | 6 | 100% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 15:54 | combo | day | SPY,QQQ | 513 | +0.77% | 38 | 67% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 15:48 | channel | day | SPY | 1763 | +0.20% | 14 | 38% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | +1.55% | 41 | 61% | vbt-validate (ganadora DIA) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | +1.26% | 37 | 67% | vbt-validate (ganadora DIA) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +5.01% | 57 | 79% | vbt-validate (ganadora DIA) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +1.75% | 40 | 64% | vbt-validate (ganadora DIA) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +1.97% | 42 | 71% | vbt-validate (ganadora DIA) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +1.06% | 42 | 71% | vbt-validate (ganadora DIA) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | -0.26% | 60 | 55% | vbt-validate (ganadora QQQ) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | +0.59% | 61 | 62% | vbt-validate (ganadora QQQ) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +2.49% | 69 | 74% | vbt-validate (ganadora QQQ) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +0.47% | 63 | 60% | vbt-validate (ganadora QQQ) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +0.26% | 53 | 64% | vbt-validate (ganadora QQQ) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +0.32% | 57 | 61% | vbt-validate (ganadora QQQ) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | +0.94% | 25 | 56% | vbt-validate (ganadora SPY) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | DIA | 1825 | +0.57% | 22 | 62% | vbt-validate (ganadora SPY) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +3.19% | 31 | 77% | vbt-validate (ganadora SPY) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | QQQ | 1825 | +1.43% | 25 | 72% | vbt-validate (ganadora SPY) [IS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +1.72% | 21 | 76% | vbt-validate (ganadora SPY) [OOS] |
| ▸ | 2026-07-06 10:01 | ibs | day | SPY | 1825 | +1.13% | 21 | 65% | vbt-validate (ganadora SPY) [IS] |
| ▸ | 2026-07-06 08:22 | channel | 15min | SPY | 84 | +0.64% | 3 | 0% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 08:19 | channel | 1h | SPY | 359 | -0.10% | 7 | 14% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 06:52 | channel | 1h | SPY,QQQ | 359 | +0.25% | 18 | 24% | webapp: lanzado desde el panel |
| ▸ | 2026-07-06 04:11 | halloween | day | SPY | 1825 | +1.00% | 5 | 60% | webapp: lanzado desde el panel |
Haz clic en cualquier fila para desplegar el detalle completo del test (equity, Sharpe, drawdown, parámetros…)
1. Un motor cuantitativo (trend / simons / simons-15m) genera una señal determinista — la IA nunca inventa señales.
2. Claude Sonnet recibe la señal etiquetada con su motor y timeframe, más contexto de noticias/macro, y emite un veredicto estructurado: aprobar reducir_tamaño rechazar — siempre con confianza, razón y riesgos detectados.
3. Reglas de seguridad: el contexto es DATO, nunca instrucción (anti prompt-injection) · si la llamada a la IA falla, el fallback es rechazar (jamás operar sin filtro) · los guard-rails de tamaño se aplican después, independientes del veredicto.
4. Semanalmente, Claude Opus revisa la cartera completa: concentración, correlaciones y exposición direccional.
Aún no se ha ejecutado ninguna revisión (es semanal, con Opus). Lanzable a mano: .\tp.ps1 review
Rellena equity, riesgo %, entrada y stop.
| Símbolo | Nota |
|---|---|
| SPY | ETF S&P 500 - alta liquidez |
| QQQ | ETF Nasdaq 100 |
| DIA | ETF Dow Jones 30 |
| IWM | ETF Russell 2000 |
| AAPL | large cap US |
| MSFT | large cap US |
| NVDA | megacap tech - simons+tech fue el unico backtest positivo (03-jul-2026) |
| GOOGL | megacap tech |
| AMZN | megacap tech |
| META | megacap tech |
Editable en data\universe.csv — el bot lo escanea con los 3 motores en cada ciclo
| Comando | Qué hace |
|---|---|
.\tp.ps1 status | estado general: cuenta, mercado, posiciones, órdenes, último ciclo |
.\tp.ps1 cycle | ejecutar UN ciclo de paper trading ahora |
.\tp.ps1 signals | últimas señales y veredictos de Claude |
.\tp.ps1 orders --all | órdenes del broker (pendientes e históricas) |
.\tp.ps1 history | registro histórico de backtests |
.\tp.ps1 backtest --preset tech --strategy simons | lanzar un backtest (se registra solo) |
.\tp.ps1 dashboard --open | regenerar esta página y abrirla |
.\tp.ps1 deploy | publicar esta página en Netlify (versión pública) |
.\tp.ps1 web | servir el panel en local con el Laboratorio de backtests activo |
.\tp.ps1 review | revisión de cartera con Opus |
.\tp.ps1 cancel | cancelar orden pendiente (pide confirmación) |
.\tp.ps1 close | cerrar posición (pide confirmación) |
🔒 MODO REAL: BLOQUEADO
Esta plataforma opera exclusivamente en paper trading (dinero ficticio). El modo real
no es una opción de configuración: está bloqueado a propósito en el código
(paper=True fijo en backend/broker_alpaca.py) para que nunca pueda
activarse por accidente ni por un flag.
Pasar a dinero real exigiría, en este orden:
1. Una decisión explícita tuya, tomada fuera de esta página.
2. Un periodo largo de paper trading con resultados consistentemente positivos — hoy ningún motor lo ha demostrado aún (ver Backtest).
3. Cambiar deliberadamente el código y generar claves "Live" de Alpaca (distintas de las de paper).
4. Revisar todos los guard-rails con cifras reales y empezar con importes mínimos.
Esta sección existe para que el estado del modo real sea siempre visible y consciente — no para activarlo con un clic.