Como preparar o seu ficheiro — exatamente

O exame vale o que valem os dados que lhe der. Há duas formas de entrar: se usa Freqtrade, envie os ficheiros dele e não converta nada; caso contrário, um CSV pequeno. Escolha o seu caminho — todos os exemplos funcionam tal como estão (descarregue e experimente).

CAMINHO A

Uso Freqtrade

Envie o ficheiro que o Freqtrade já escreveu. Sem converter, sem editar.

→ backtest .json / .zip · hyperopt .fthypt

Ir ao Caminho A ↓

CAMINHO B

Uso outra coisa

Excel, Python, TradingView, MT4/5, o seu backtester… → um CSV com os resultados.

→ B1 uma estratégia · B2 ⭐ todas as variantes · B3 lista de trades

Ir ao Caminho B ↓

Numa linha: o que precisamos mesmo

A sequência de resultados que a sua estratégia produziu, ao longo do tempo. Mais nada. Não as suas regras, nem o código, nem os parâmetros — nunca os pedimos e não os saberíamos usar. Se consegue produzir uma coluna de retornos diários (ou o saldo da conta dia a dia), já tem tudo.

CAMINHO A · Freqtrade — ficheiros nativos, sem conversão

1. O seu backtest. Corra freqtrade backtesting --export trades e envie o ficheiro criado em user_data/backtest_results/ — o .zip nas versões recentes ou o .json nas antigas. Ambos servem: lemos a curva diária e preenchemos com 0 os dias sem atividade (validado contra 910 ficheiros reais).

2. O seu hyperopt (faça ISTO primeiro, se o tiver). Envie o .fthypt de user_data/hyperopt_results/. Não contém as curvas, por isso não pode ser avaliado sozinho — o que nos dá é o número REAL de variantes que testou, o número mais importante de todo o exame. Lemo-lo, mostramo-lo e damos-lhe um link para enviar o backtest vencedor já com esse número preenchido.

3. Períodos por ano = 365 (cripto negoceia todos os dias). É a única definição que não pode deixar no valor por omissão das ações (252).

⚠️ Enviar só a vencedora de um hyperopt, sem o número de variantes, é a forma mais rápida de obter um veredicto bom a falsas. O passo 2 existe precisamente para evitar isso.
CAMINHO B · O seu CSV — qual dos três?

· Testou UMA estratégia → B1 (desbloqueia PSR, MinTRL e os pecados).
· Testou MUITAS variantes e ficou com a melhor → B2 ⭐ (desbloqueia também PBO + Deflated Sharpe — o exame completo. É este que importa).
· Só tem a lista de trades fechados → B3.

B1 · Uma estratégia (retornos ou equity) — ⬇ descarregar exemplo

O que deve conter: uma linha por período (dia/semana/mês), duas colunas:

· data — a data do período (ISO, p. ex. 2024-03-01)
· valor — OU o retorno em decimais (0.004 = +0,4%) OU o saldo da conta (10000, 10040, …). Detetamos automaticamente qual é — nunca misture os dois.

data,ret
2024-01-02,0.0041
2024-01-03,-0.0012

Como gerar · Excel/Google Sheets: duas colunas como acima → Ficheiro → Guardar como → CSV. · Python: serie.to_csv("meu_backtest.csv"). · Qualquer backtester: exporte a curva de equity.

Na dúvida? Prefira a curva de equity DIÁRIA: é inequívoca e nós derivamos os retornos.

B2 · ⭐ TODAS as variantes (matriz) — ⬇ descarregar exemplo

O ficheiro mais valioso que pode produzir. Primeira coluna data, depois uma coluna por variante testada — TODAS (vencedoras e perdedoras), mesmo período, mesmo tipo (tudo retornos, ou tudo equity — nunca misturado). ≥8-10 variantes tornam o PBO significativo. As variantes têm de ser realmente diferentes: quase-cópias de uma estratégia (um parâmetro mexido 1 %) fazem o PBO sair pior do que é — o relatório avisa quando isso acontece.

data,cfg_a,cfg_b,cfg_c
2024-01-02,0.004,-0.001,0.002
2024-01-03,-0.001,0.002,0.000

Como gerar: no seu loop de otimização, guarde os retornos diários de cada variante como uma coluna. Python: pd.DataFrame({nome: serie de cada variante}).to_csv("grelha.csv"). Enviar só a vencedora esconde exatamente o que precisamos de examinar — se não puder reconstruir a grelha, declare no passo 2 QUANTAS variantes testou.

B3 · Lista de trades — ⬇ descarregar exemplo

Uma coluna chamada ret / return / pnl / profit: o retorno de cada trade FECHADO em decimais (0.02 = +2%), por ordem cronológica, SEM coluna de data (ou escolha "trades" no formulário se a tiver). Perdas incluídas — uma lista só de vencedores é autoengano.

pnl
0.021
-0.013

⚠️ É o formato menos informativo: sem datas não verificamos a estabilidade por anos. Use-o só se não tiver mais nada.

Toleramos automaticamente (verificado no motor)

Separador , ; ou tabulador · vírgulas decimais (0,004) · sinal % (0,4% → dividimos por 100) · separadores de milhares (10,000 ou 1.234,56) · datas desordenadas (ordenamos) · retornos vs equity (detetamos). Um CSV do Excel em português funciona tal como sai. Ainda assim, o mais seguro: vírgula como separador, ponto decimal, datas ISO.

Confirme que lemos bem (10 segundos, faça-o)

O relatório abre com uma linha que diz como entendemos o seu ficheiro: quantos períodos, de que data a que data, lido como retornos ou como equity, e quantas variantes. Leia essa linha antes do veredicto. Se o número de períodos ou as datas não baterem certo com o que enviou, o veredicto é sobre um ficheiro que não é o seu — corrija o CSV e repita.

O desencontro mais comum: a primeira coluna não foi reconhecida como datas e 743 linhas ficaram "743 períodos, sem datas". Use datas ISO (2024-03-01) e desaparece.
Os erros que estragam MESMO a análise (não os podemos detetar por si)
  1. Enviar só a vencedora de muitas variantes sem declarar quantas testou. É a causa nº 1 de backtests "validados" que falham ao vivo. Envie a matriz, ou declare o número.
  2. Percentagens como números soltos: "0.4" a significar 0,4% será lido como +40%. Escreva 0.004, ou "0,4%" com o sinal % (esse detetamos).
  3. Períodos por ano errados: ações diário=252, cripto diário=365, semanal=52, mensal=12.
  4. Janela escolhida a dedo: envie o período COMPLETO, não a parte bonita.
  5. Retornos brutos declarando custos incluídos: a atestação do passo 2 só funciona se responder com verdade.
  6. Misturar retornos e equity numa matriz: todas as colunas do mesmo tipo.
Quantos dados chegam?

Abaixo de ~60 períodos o exame dirá (honestamente) que a amostra é pequena; ≥250 (um ano diário) começa a ser significativo. Não é uma limitação do NeuralTEST — é a realidade estatística, e o MinTRL dir-lhe-á o número exato que o seu Sharpe exige.

← voltar ao exame