/diego/quant-lab EscríbemeWrite to me
AI Engineer · Solana · research cuantitativoAI Engineer · Solana · quantitative research

Construí, medí y juzgué 10 estrategias con EV honesto.

I built, measured and judged 10 strategies on honest EV.

Entré a un mercado adversarial (memecoins en Solana) y, en lugar de buscar hacerme rico, construí la infraestructura para medirlo: telemetría on-chain, backtesting estadístico, validación adversarial multi-agente y un motor de scoring ML + LLM. Con datos y capital real demostré que a esta latencia no hay edge explotable. Reportar ese resultado negativo con rigor es el producto. Empecé sin saber programar; lo levanté solo, con IA, en ~5 meses.

I walked into an adversarial market (Solana memecoins) and, instead of chasing quick money, I built the infrastructure to measure it: on-chain telemetry, statistical backtesting, adversarial multi-agent validation and an ML + LLM scoring engine. With real data and real capital I proved there is no exploitable edge at this latency. Reporting that negative result with rigor is the product. I started not knowing how to code; I built it solo, with AI, in ~5 months.

K
líneas de sistema curado · bot + cockpitlines of curated system · bot + cockpit
K
líneas de research · 1.325 scriptslines of research · 1,325 scripts
AUC del scoring · validación temporalscoring AUC · temporal validation
+
estrategias medidas y juzgadasstrategies measured and judged
RecorridoWalkthrough

Un paseo por mi centro de control

A tour of my control room

Cómo el bot, los datos, los backtests y las decisiones viven en un solo lugar con una sola fuente de verdad. Sin slides: el sistema real, en marcha.

How the bot, the data, the backtests and the decisions all live in one place with a single source of truth. No slides: the real system, running.

vista previa · corte heropreview · hero cut

Bot live · telemetría on-chain · backtests & what-if · ledger de hipótesis · motor de scoring.Live bot · on-chain telemetry · backtests & what-if · hypothesis ledger · scoring engine.

El sistema operativo del proyectoThe project's operating system

Un cockpit que cierra el loop entero

A cockpit that closes the whole loop

No es una colección de scripts: es un centro de control que refleja el ciclo de vida completo en seis estaciones que giran como un flywheel (operar, capturar, investigar, decidir, estrategia, desplegar) y vuelven al bot.

It's not a pile of scripts: it's a control room that mirrors the full lifecycle across six stations spinning like a flywheel (operate, capture, research, decide, strategy, deploy) and back to the bot.

pasa el ratón por una estación para resaltarlahover a station to highlight it
1 OPERAROPERATE

Bot en vivoLive bot

Control, salud del proceso (WS, RPC) y régimen de mercado.Control, process health (WS, RPC) and market regime.

2 CAPTURARCAPTURE

Datos & gapsData & gaps

Telemetría on-chain → datos y features, con los gaps marcados.On-chain telemetry → data and features, with the gaps flagged.

3 INVESTIGARRESEARCH

Backtests & what-ifBacktests & what-if

Backtest unificado + 1.325 scripts indexados y clasificados por AST (qué hace, qué lee, si escribe, si toca red) sin importarlos ni ejecutarlos, con allowlist curada de ejecución.Unified backtester + 1,325 scripts indexed and AST-classified (what it does, what it reads, whether it writes, whether it hits the network) without importing or running them, with a curated run allowlist.

4 DECIDIRDECIDE

Ledger & linajeLedger & lineage

Cada hipótesis con veredicto, provenance y trazabilidad.Every hypothesis with verdict, provenance and traceability.

5 ESTRATEGIASTRATEGY

Motor de scoringScoring engine

Scoring ML+LLM post-migración hacia un TP dinámico.Post-migration ML+LLM scoring toward a dynamic TP.

6 DESPLEGARDEPLOY

Gates & checklistGates & checklist

Gates y exits + checklist de deploy de vuelta al bot.Gates and exits + deploy checklist, back to the bot.

Una sola verdadOne source of truth

Cada métrica se calcula una vez en el núcleo (pfcore). El humano en Streamlit, el agente de IA por la CLI y la cara-demo pública leen exactamente el mismo número. Nada se recalcula en una vista.

Every metric is computed once in the core (pfcore). The human in Streamlit, the AI agent over the CLI and the public demo face all read exactly the same number. Nothing is recomputed in a view.

Flagship · en desarrolloFlagship · in progress

Motor de scoring híbrido LLM + ML

Hybrid LLM + ML scoring engine

Un ensemble de tres capas que puntúa cada token recién migrado y decide entrada y salida. Un LLM mina patrones narrativos offline, un modelo ML los combina calibrado a magnitud (AUC 0.745 con split temporal), y el LLM razona los casos borde. El diagrama es la arquitectura real, viva y versionada.

A three-layer ensemble that scores every freshly migrated token and decides entry and exit. An LLM mines narrative patterns offline, an ML model combines them calibrated to magnitude (AUC 0.745 on a temporal split), and the LLM reasons the edge cases. The diagram is the real architecture, live and versioned.

patronespatterns ⟲ el engagement en vivo realimenta el EXIT · poll cada 5s ⟲ live engagement feeds the EXIT back · poll every 5s 1 TOKEN MIGRA1 TOKEN MIGRATES límite a ~migMC (wick día-0)capped at ~migMC (day-0 wick) ESTRUCTURALSTRUCTURAL deplBuy · t2q · holders · migMC SOCIAL · Telegram filtro mediana-$ · +49%median-$ filter · +49% ✓ ★ FORMA NARRATIVANARRATIVE SHAPE cjk · ticker · desc-U · news ENGAGEMENT EN VIVOLIVE ENGAGEMENT veloc. msgs TG (forward)TG msg velocity (forward) FWD NEWS ✓ · TRENDS ✗ trends = ruido (muerto)trends = noise (dead) BIGDOGS bigdog → AMM (re-test)bigdog → AMM (re-test) FWD 2 ML COMBINER logística · tags baratoslogistic · cheap tags calibrado por quintiles Q1-Q5calibrated by quintiles Q1-Q5 AUC 0.745 3 LLM minería + overlay residualmining + residual overlay 4 ENTRADA4 ENTRY gate Q4+Q5 · solo con-TGgate Q4+Q5 · TG-only 5 EXIT · TP FIJO5 EXIT · FIXED TP Q4+Q5 → TP ~3x (81% win retro)Q4+Q5 → TP ~3x (81% win, retro) Q1-Q3 → no entrarQ1-Q3 → skip binariobinary 6 EJECUCIÓN6 EXECUTION TP-limit · fill-aware · entry ≈ migMC

Pellizca para acercar y leer el detalle ↔Pinch to zoom in and read the detail ↔

Todo es TOUCH (peak retro). El dinero real lo sella el fill-test: ¿llena el límite a migMC y el TP cae el día 0? · trades post-mig en curso.

Everything is TOUCH (retro peak). Real money is settled by the fill-test: does the limit fill at migMC and the TP hit on day 0? · post-mig trades in progress.

validado retro (touch)validated retro (touch) forward / fill-test pendienteforward / fill-test pending descartado con evidenciadiscarded with evidence señal fuertestrong signal
CAPA 01 · LLM

Minería narrativaNarrative mining

Extrae señales de la narrativa del token (ticker, descripción, idioma, news) y las vuelve features baratas. Offline, sin coste en producción.Extracts signals from the token's narrative (ticker, description, language, news) and turns them into cheap features. Offline, zero cost in production.

CAPA 02 · ML

Combiner calibradoCalibrated combiner

Regresión sobre features estructurales y narrativas, calibrada por quintiles; la magnitud real vive en Q5 (peak ~9-20x).Regression over structural and narrative features, calibrated by quintiles; the real magnitude lives in Q5 (peak ~9-20x).

CAPA 03 · LLM

Overlay residualResidual overlay

Razona los bordes que el modelo no resuelve. Entrada en Q4+Q5 con presencia social; salida por TP fijo fill-aware.Reasons the edges the model can't resolve. Entry on Q4+Q5 with social presence; exit via a fill-aware fixed TP.

El cementerio de estrategiasThe strategy graveyard

Diez estrategias construidas, medidas y juzgadas

Ten strategies built, measured and judged

Cada una se implementó completa, corrió en dry-run o live y se evaluó con EV honesto, no win-rate. La mayoría se descartó: matar lo que no tiene edge antes de arriesgar capital es la señal de un proceso serio.

Each one was implemented in full, ran in dry-run or live and was judged on honest EV, not win-rate. Most were killed: killing what has no edge before risking capital is the signature of a serious process.

EstrategiaStrategy TesisThesis EvidenciaEvidence VeredictoVerdict
Scoring EngineScoring ML+LLM post-migración → TP dinámicoPost-mig ML+LLM scoring → dynamic TP La forma narrativa predice la magnitud del pumpNarrative shape predicts pump magnitude AUC 0.745 Research activoActive research
ReversiónDip-buy de memecoins establecidas (dd≤−30% + rvol + breadth)Dip-buy on established memecoins (dd≤−30% + rvol + breadth) Las establecidas rebotan tras un dip moderadoEstablished coins rebound after a moderate dip bt +6,3% t=2,7 → era velabt +6.3% t=2.7 → was a candle No desplegableNon-deployable
FOMOOrder-flow (la manada entrando) × smart-moneyOrder-flow (the crowd piling in) × smart-money Subirse a la ola de compras, filtrando las trampasRide the buying wave, filtered from the traps 3 errores MÍOS, corregidos3 of my OWN errors, fixed Inconclusa · pista vivaInconclusive · live lead
BOTRIDERFront-run de pump-bots en bonding curve, exit al cruce 50%Front-running pump-bots on the bonding curve, exit at 50% cross Cosechar micro-pumps de creators competentesHarvest micro-pumps from competent creators live n=723 · −1,66 SOL · 4 días Cerrado · −EVClosed · −EV
Post-Mig LeadEntrada selectiva post-mig (deplBuy ≤ 5M & t2q ≤ 3)Selective post-mig entry (deplBuy ≤ 5M & t2q ≤ 3) Pérdidas acotadas en AMM tras pasar el rugBounded losses on the AMM once past the rug en fill-testin fill-test En validaciónIn validation
SWT v1-v4Copy-trade de smart-money wallets minadas con FDR-BHCopy-trade of smart-money wallets mined with FDR-BH Wallets rentables dejan huella replicableProfitable wallets leave a replicable footprint n≥700 Señal marginalMarginal signal
FT50-VS / FT40 / FT30Fixed-time exit sobre tokens viral-steadyFixed-time exit on viral-steady tokens Salir a tiempo fijo bate al hold dinámicoA fixed-time exit beats the dynamic hold n≥9.000 bt Break-even
REG-MC5 · POSTMIG v1Regresión MC + hold post-migración RaydiumMC regression + post-migration Raydium hold Edge histórico replicable en vivoHistorical edge replicable live n=124 / 156 Edge expiróEdge expired
La prueba de que el juicio es humanoProof the judgment is human

Cómo cacé un look-ahead bias en mi propio sistema

How I caught a look-ahead bias in my own system

Cazar un bug sutil en tu propio trabajo y matarlo con evidencia justo cuando el resultado parece demasiado bueno. Esa es la señal que un escéptico cree imposible en un perfil construido con IA.

Catching a subtle bug in your own work and killing it with evidence right when the result looks too good. That's the signal a skeptic assumes is impossible in an AI-built profile.

# un exit prometía batir al hold por… exit_TP2.0 +0.239 SOL // ¿3x mejor? hold_600s +0.071 SOL # sospeché POR ESO. miré el sim: scan_horizon = 1800s // busca el TP aquí fallback_horizon = 600s // pero sale aquí # 14/71 trades (20%) acreditados a un # futuro que en vivo NO existe. # verificado por 3 agentes frescos: exit_TP2.0(fix) ≈ hold // el edge se evaporó
# an exit claimed to beat the hold by… exit_TP2.0 +0.239 SOL // 3x better? hold_600s +0.071 SOL # THAT is why I got suspicious. I read the sim: scan_horizon = 1800s // looks for the TP here fallback_horizon = 600s // but exits here # 14/71 trades (20%) credited to a # future that does NOT exist live. # verified by 3 fresh agents: exit_TP2.0(fix) ≈ hold // the edge evaporated

Sospeché porque era demasiado bueno. Y lo era: un 20% de los trades cobraban un futuro que en vivo no existe. Look-ahead clásico.

Lo verifiqué con tres agentes para no creerme mi propia corrección. El edge se evaporó a ≈hold. Reporté el negativo y seguí.

Esa disciplina, no el PnL, es lo que se transfiere a un equipo.

I got suspicious because it was too good. And it was: 20% of trades were collecting a future that, live, doesn't exist. Classic look-ahead.

I verified it with three agents so I wouldn't just trust my own fix. The edge evaporated to ≈hold. I reported the negative and moved on.

That discipline, not the PnL, is what transfers to a team.

La segunda decisión difícilThe second hard call

Cuando me cuestionaron, revisé mi propio veredicto

When challenged, I revised my own verdict

El análisis (que dirijo con IA) había cerrado esta estrategia como sin edge. No me fié del veredicto: cuestioné si se había medido de forma óptima, y al atacar esa conclusión aparecieron tres errores de medición.

The analysis (which I run with AI) had closed this strategy as no edge. I didn't trust the verdict: I questioned whether it had been measured optimally, and attacking that conclusion surfaced three measurement errors.

# veredicto: FOMO sin edge → REJECTED net_capaA −2.94% // "no hay edge" # dudé del veredicto: ¿medido óptimo? → 3 errores: fill = 3.0% → real 0.44% // ~7x demasiado alto sensor = close-only // ciego al +2.8% intradía flujo = whale + manada // señales OPUESTAS mezcladas # al separar la MANADA (muchos pequeños): manada net +0.54% WR 65% whale net −0.45% WR 50% # REJECTED → INCONCLUSIVE (lead débil, n=20)
# verdict: FOMO no edge → REJECTED net_layerA −2.94% // "no edge" # I doubted the verdict: measured optimally? → 3 errors: fill = 3.0% → real 0.44% // ~7x too high sensor = close-only // blind to the +2.8% intraday flow = whale + crowd // OPPOSITE signals mixed # separating the CROWD (many small buyers): crowd net +0.54% WR 65% whale net −0.45% WR 50% # REJECTED → INCONCLUSIVE (weak lead, n=20)

No me fié de mi propio "sin edge": ¿lo había medido bien? No: tres fallos (fill 7x alto, sensor ciego al intradía en una estrategia de momentum, ballena y manada mezcladas).

Corregidos, la conclusión se voltea: la manada da +0.54% (WR 65%): la dirección de la tesis. Pero n=20, p=0.21 → no dije "funciona": la pasé de REJECTED a INCONCLUSIVE.

Revisar tu propio veredicto con datos: eso se transfiere.

I didn't trust my own "no edge": had I measured it right? No: three flaws (fill 7x too high, a sensor blind to the intraday on a momentum strategy, whale and crowd mixed together).

Fixed, the conclusion flips: the crowd yields +0.54% (65% WR): the thesis's direction. But n=20, p=0.21 → I didn't say "it works": I moved it from REJECTED to INCONCLUSIVE.

Revising your own verdict with data: that's what transfers.

Cómo trabajo con IAHow I work with AI

Validación adversarial multi-agente

Adversarial multi-agent validation

No le pido a la IA una respuesta. Orquesto flotas de agentes que se auditan entre sí: uno propone, otros intentan refutar, un panel vota. Una hipótesis sobrevive solo si resiste el ataque.

I don't ask the AI for an answer. I orchestrate fleets of agents that audit each other: one proposes, others try to refute, a panel votes. A hypothesis survives only if it withstands the attack.

validación cruzada · sesiones paralelas (si divergen, se arbitra) cross-validation · parallel sessions (if they diverge, it's arbitrated) ATAQUE ADVERSARIAL · intentan refutar ADVERSARIAL ATTACK · they try to refute HIPÓTESISHYPOTHESIS un agente proponean agent proposes PRE-COMMIT umbrales antes de los datosthresholds before the data ESCÉPTICOSKEPTIC ESCÉPTICOSKEPTIC ESCÉPTICOSKEPTIC ESCÉPTICOSKEPTIC TESISTHESIS bajo ataqueunder attack PANEL · votaPANEL · votes la mayoría decidethe majority decides SOBREVIVESURVIVES → ledger DESCARTADADISCARDED FP / sesgo cazadoFP / bias caught CÓMO LO ESTRECHO (careo de medición · mitiga, no cura HOW I NARROW IT) measurement critique · mitigates, not cures −EV · ¿medido óptimo? −EV · measured optimally? HUMANOHUMAN caza el punto ciegocatches the blind spot LENTE REUTILIZABLEREUSABLE LENS la flota la aplica solathe fleet applies it CRÍTICO DE MEDICIÓNMEASUREMENT CRITIC fill · sensor · conflación · universofill · sensor · conflation · universe cada veredicto −EV pasa el careo · por defecto INCONCLUSIVE, no REJECT every −EV verdict passes the critique · default INCONCLUSIVE, not REJECT

Pellizca para acercar y leer el detalle ↔Pinch to zoom in and read the detail ↔

Una hipótesis sobrevive solo si resiste el ataque. El juicio es del panel, no de un agente.

A hypothesis survives only if it withstands the attack. Judgment is the panel's, not one agent's.

Pre-commit thresholdsPre-commit thresholds

Escribo los criterios de decisión antes de ver los datos. Elimina racionalizar resultados a posteriori, la trampa más común del trading retail.I write the decision criteria before seeing the data. It removes rationalizing results after the fact, the most common retail-trading trap.

Caza de sesgosBias hunting

Detecté y corregí look-ahead, survivorship y sistemas lottery-dependent en mi propio research, documentados como reglas reutilizables.I caught and fixed look-ahead, survivorship and lottery-dependent systems in my own research, documented as reusable rules.

# ejemplo real: revisión de un handoff entre sesiones $ /seed-review handoff.md agente CIEGO // no ve el plan → deriva el objetivo desde la fuente 3 críticos // en paralelo, mandato: REFUTAR crítico #1 un dato no existe en la fuente: +6,3%/t=4,2 mezcla dos exits crítico #2 el veredicto del cockpit está stale vs el ledger ciego el plan probaba un proxy, no el objetivo real # arbitraje → EJECUTAR CON EDICIONES // 3 correcciones antes de tocar nada
# real example: reviewing a handoff between sessions $ /seed-review handoff.md BLIND agent // never sees the plan → derives the goal from the source 3 critics // in parallel, mandate: REFUTE critic #1 a figure isn't in the source: +6.3%/t=4.2 mixes two exits critic #2 the cockpit verdict is stale vs the ledger blind the plan tested a proxy, not the real goal # arbitration → EXECUTE WITH EDITS // 3 fixes before touching anything

La flota del diagrama no es teoría: corre en cada decisión. Un agente ciego reconstruye el objetivo desde la fuente; varios críticos atacan con el mandato de refutar. Lo que cae, se corrige antes de tocar nada.

The fleet in the diagram isn't theory: it runs on every decision. A blind agent rebuilds the goal from the source; several critics attack, mandated to refute. What falls gets fixed before touching anything.

El límite, y cómo lo estrechoThe limit, and how I narrow it

La flota comparte los mismos inputs: mata falsos positivos, pero un montaje de medición malo da un falso negativo que ningún nº de agentes caza. Lo estrecho así: cada punto ciego que caza un humano lo convierto en una lente adversarial reutilizable: el caso FOMO ya es una regla ("mide óptimo antes de rechazar") que la flota aplica sola la próxima vez. Irreducible: comparten los priors del mismo modelo y no hay verdad absoluta → la primera vez que aparece un sesgo nuevo, sigue haciendo falta un humano o datos reales.

The fleet shares the same inputs: it kills false positives, but a flawed measurement setup yields a false negative no number of agents catches. I narrow it like this: every blind spot a human catches becomes a reusable adversarial lens: the FOMO case is already a rule ("measure optimally before rejecting") the fleet then applies on its own. Irreducible: they share one model's priors and there's no ground truth → the first time a new bias appears, it still takes a human or real data.

Un flywheel que gira soloA flywheel that spins itself

Catorce skills propios encadenan el ciclo de investigación y lo hacen girar sin arranque manual. Herramientas que construí para que el sistema se auto-optimice (no para una demo.

Fourteen custom skills chain the research loop and spin it with no manual start. Tooling I built so the system self-optimizes) not for a demo.

pasa el ratón por una skill · gira sin arranque manualhover a skill · spins with no manual start
1 SYNC

Sincroniza el labSync the lab

Trae los datos del bot/VPS al laboratorio: alertas, migraciones y fills.Pulls bot/VPS data into the lab: alerts, migrations and fills.

2 RÉGIMEN

Clima de mercadoMarket regime

Etiqueta el régimen (breadth de sector) para contextualizar cada señal.Tags the regime (sector breadth) to contextualize each signal.

3 SHADOW

Evalúa hipótesisEvaluate hypotheses

Corre varias hipótesis en paralelo con P(>baseline); leaderboard para decidir.Runs hypotheses in parallel with P(>baseline); a leaderboard to decide.

4 LEDGER

Registro + veredictoLog + verdict

Cada hipótesis con su veredicto; un REJECT exige careo de medición.Every hypothesis with its verdict; a REJECT requires a measurement critique.

5 IMPACT

ContrafactualCounterfactual

ΔPnL real de un cambio antes de tocar el bot (pre-deploy).Real ΔPnL of a change before touching the bot (pre-deploy).

6 OPUS

Genera hipótesisGenerates hypotheses

Propone hipótesis nuevas del run del día y realimenta el ciclo.Proposes new hypotheses from the day's run and feeds the loop.

7 TELEGRAM

AvisaNotifies

Decisiones y resultados al móvil; el loop no necesita que lo vigiles.Decisions and results to your phone; the loop needs no babysitting.

El resto del método —la verificación adversarial, las sesiones paralelas que se contrastan entre sí— es el mismo en los cinco sistemas y está contado una vez: en el índice.The rest of the method —adversarial verification, parallel sessions cross-checked against each other— is the same across all five systems and is told once: on the index.

Disponible para trabajarAvailable for work

Cojo un problema difuso, lo descompongo y orquesto IA para construir cada pieza, sin perder el rigor.

I take a fuzzy problem, break it down and orchestrate AI to build every piece, without losing the rigor.

Si buscas a alguien para applied-AI, automatización o forward-deployed engineering, que no se engaña con sus propios resultados, hablemos.

If you're looking for someone in applied-AI, automation or forward-deployed engineering who doesn't fool themselves with their own results, let's talk.

Quant Research Lab · Diego · 2026 Construido con IA · sin formación técnica previaBuilt with AI · no prior technical background