Quant500 Academy

4. Cierre: la lista de comprobación, y hacia dónde seguir

Nivel 6: De los datos a la decisión

Aquí se cierra la primera mitad del curso, la de los datos, antes de entrar en los seis niveles de producción. El sitio adecuado para recoger los seis niveles en una herramienta que puedas usar el lunes, y para decir con claridad qué te falta todavía y dónde se consigue.

Los seis primeros niveles, en una frase cada uno

La lista de comprobación

Aplícala a cualquier conjunto antes de creerte un backtest hecho sobre él, sea tuyo o te lo enseñe otro. Los seis primeros puntos son bloqueantes: si alguno falla, el resultado no se discute, se descarta y se rehace. Del séptimo en adelante no invalidan por sí solos, pero cada uno que falle es una pregunta que no podrás responder el día que las cifras cambien.

La misma lista, en código

Los puntos mecánicos se automatizan y se ponen delante del backtest, no detrás.

def puerta(df, universo_pit, notas_decisiones, manifiesto):
    """Se ejecuta ANTES del backtest. Si devuelve False, no se ejecuta nada."""
    controles = {
        "universo_punto_en_el_tiempo": universo_pit is not None,
        "fundamentales_por_publicacion": "fecha_publicacion" in df.columns,
        "senal_desfasada": df["posicion"].equals(df.groupby("simbolo")["senal"].shift(1)),
        "sin_fechas_futuras": df["fecha"].max() <= pd.Timestamp.today(),
        "sin_claves_duplicadas": not df.duplicated(["simbolo", "fecha"]).any(),
        "bruto_con_huella": all("sha256" in f for f in manifiesto["fuentes"]),
        "decisiones_escritas": len(notas_decisiones) > 0,
    }
    for nombre, ok in controles.items():
        print(("OK  " if ok else "FALLA ") + nombre)
    return all(controles.values())

Los puntos 14 y 15 no se automatizan y son los que más resultados tumban. Se escriben a mano en el mismo fichero que el resto, antes de mirar la curva.

registro = {
    "observaciones_independientes": "20 trimestres, no 6000 filas",
    "variantes_probadas": 37,
    "regimen_cubierto": "2016-2025, tipos cero y su normalizacion posterior",
}

Lo que viene ahora

Con esto tienes una tabla en la que se puede confiar. Lo que no tienes todavía es un sistema: algo que se ejecute solo cada mañana, que sepa dónde se quedó ayer, que no duplique una orden si se reinicia a media faena y que avise cuando algo se tuerza. De eso van los seis niveles siguientes, del 7 al 12, y son la otra mitad de este curso.

Y tener los datos bien tampoco te dice si tu resultado significa algo. Eso está en otros sitios.

Un recordatorio a mitad de camino

Todo este material es formación, no asesoramiento financiero. Nada de lo que has leído es una recomendación de comprar o vender ningún activo, ni está adaptado a tu situación, tus objetivos ni tu tolerancia al riesgo. Un conjunto de datos impecable elimina una familia entera de errores; no convierte una idea en buena, no valida una estrategia y no predice nada. Invertir conlleva riesgo de pérdida, incluida la pérdida total del capital. Si vas a tomar decisiones con dinero real, hazlo con tu propio análisis y, si lo necesitas, con un profesional autorizado para ello.

El resto de Quant500

Lo que estás aprendiendo, aplicado al índice todos los días:

La cartera del modelo, cada semana en tu correo

Cada sábado, su semana en un minuto: cómo fue, lo mejor y lo peor, y qué directivos compraron con su dinero. Y el día que el modelo se rehace, qué entra y qué sale. Es una simulación, no un consejo. Como mucho un correo a la semana, sin publicidad y sin cuenta; te das de baja con un clic. Lo hace una persona: Pol Gracia.

Cartera modelo con resultados simulados, no una recomendación personalizada. Tu correo se usa solo para esto: privacidad.

Detrás de la Academia y del resto de Quant500 hay una sola persona: Pol Gracia Serrahima.