El examen vale lo que valgan los datos que le des. Hay dos formas de entrar: si usas Freqtrade, subes sus propios ficheros y no conviertes nada; si usas cualquier otra cosa, un CSV pequeño. Elige tu camino aquí abajo — todos los ejemplos funcionan tal cual (descárgalos y pruébalos).
Sube el fichero que Freqtrade ya ha escrito. Sin convertir nada, sin editar nada.
→ backtest .json / .zip · hyperopt .fthypt
Excel, Python, TradingView, MT4/5, tu propio backtester… → un CSV con tus resultados.
→ B1 una estrategia · B2 ⭐ todas las variantes · B3 lista de operaciones
La secuencia de resultados que dio tu estrategia, a lo largo del tiempo. Nada más. Ni tus reglas, ni tu código, ni tus parámetros — no los pedimos nunca y no sabríamos qué hacer con ellos. Si puedes producir una columna de retornos diarios (o el saldo de tu cuenta día a día), ya lo tienes todo.
1. Tu backtest. Corre freqtrade backtesting --export trades y sube el fichero que crea en user_data/backtest_results/ — el .zip en versiones recientes o el .json en las antiguas. Ambos valen: leemos la curva diaria y rellenamos con 0 los días sin operaciones (validado contra 910 ficheros reales).
2. Tu hyperopt (si lo tienes, haz ESTO primero). Sube el .fthypt de user_data/hyperopt_results/. No lleva las curvas dentro, así que por sí solo no se puede examinar — lo que nos da es el número REAL de variantes que probaste, que es el dato más importante de todo el examen. Lo leemos, te lo enseñamos y te damos un enlace para subir tu backtest ganador con ese número ya puesto.
3. Pon periodos por año = 365 (la cripto opera todos los días). Es el único ajuste que no puedes dejar en el valor por defecto de las acciones (252).
· Backtesteaste UNA estrategia → B1 (desbloquea PSR, MinTRL y los pecados).
· Probaste MUCHAS variantes y te quedaste la mejor → B2 ⭐ (desbloquea además PBO +
Deflated Sharpe — el examen completo. Este es el que importa).
· Solo tienes la lista de operaciones cerradas → B3.
Qué debe contener: una fila por periodo (día/semana/mes), dos columnas:
· fecha — la fecha del periodo (ISO tipo 2024-03-01 es lo más seguro)
· valor — O el retorno del periodo en decimales (0.004 = +0,4%) O el
saldo de la cuenta (10000, 10040, …). Detectamos solos cuál es — nunca mezcles ambos.
fecha,ret 2024-01-02,0.0041 2024-01-03,-0.0012
Cómo generarlo · Excel/Google Sheets: dos columnas como arriba → Archivo → Guardar como → CSV (el de "punto y coma" también vale, lo entendemos). · Python: serie.to_csv("mi_backtest.csv") (una Series de pandas de retornos con índice de fechas es exactamente esto). · Cualquier backtester: exporta la curva de equity.
¿Dudas? Prefiere la curva de equity DIARIA: es inequívoca y los retornos los derivamos nosotros.
El fichero más valioso que puedes producir. Primera columna fecha, y después una columna por cada variante que probaste — TODAS (ganadoras y perdedoras), mismo periodo, mismo tipo (todo retornos, o todo equity — nunca mezclado). Con ≥8-10 variantes el PBO empieza a ser significativo; 100+ va perfecto. Las variantes tienen que ser de verdad distintas: casi-copias de una estrategia (un parámetro movido un 1 %) hacen que el PBO salga peor de lo que es — el informe lo avisa cuando pasa.
fecha,cfg_a,cfg_b,cfg_c 2024-01-02,0.004,-0.001,0.002 2024-01-03,-0.001,0.002,0.000
Cómo generarlo: en tu bucle de optimización, guarda los retornos diarios de cada variante como una columna. Python: pd.DataFrame({nombre: serie de cada variante}).to_csv("rejilla.csv"). Subir solo la ganadora esconde justo lo que necesitamos examinar — si no puedes reconstruir la rejilla, al menos declara en el paso 2 del formulario CUÁNTAS variantes probaste.
Una columna llamada ret / return / pnl / profit: el retorno de cada operación CERRADA en decimales (0.02 = +2%), en orden cronológico, SIN columna de fecha (o elige "trades" en el desplegable si la tiene). Con las pérdidas incluidas — una lista solo de ganadoras es autoengaño.
pnl 0.021 -0.013
⚠️ Es el formato menos informativo: sin fechas no podemos comprobar la estabilidad por años, y el Sharpe por operación no es comparable al diario. Úsalo solo si no tienes otra cosa.
Separador coma, punto y coma o tabulador · comas decimales (0,004) · signo % (0,4% o 0.4% → dividimos entre 100) · separadores de miles (10,000 o 1.234,56) · fechas desordenadas (las ordenamos) · retornos vs equity (lo detectamos). Es decir: el CSV que exporta el Excel en español funciona tal cual sale. Aun así, lo más seguro sigue siendo: coma como separador, punto decimal y fechas ISO.
El informe empieza con una línea que dice cómo hemos entendido tu fichero: cuántos periodos, de qué fecha a qué fecha, leído como retornos o como equity, y cuántas variantes. Lee esa línea antes que el veredicto. Si el número de periodos o las fechas no cuadran con lo que subiste, el veredicto es sobre un fichero que no es el tuyo — corrige el CSV y repite.
Por debajo de ~60 periodos el examen te dirá (honestamente) que la muestra es pequeña; ≥250 (un año de datos diarios) empieza a ser significativo; más es mejor. No es una limitación de NeuralTEST — es la realidad estadística en la que vive tu backtest, y el MinTRL te dirá el número exacto de periodos que tu Sharpe exige.