A aprendizagem automática como filtro
A aula 69 deixou uma grelha a esta página. Seis hiperparâmetros com cinco valores cada um são 15.625 configurações, uma grelha a que um principiante chamaria modesta, e a aritmética da aula 64 diz que uma busca dessa largura, julgada sobre 156 operações, fabrica 0,318 de um R por operação antes de o mercado ter feito o que quer que seja. Essa é a objeção habitual à aprendizagem automática no trading e é aquela a que se pode responder: conta a grelha, sobe o teto de 1,645 para 4,507 e vê se o modelo o passa. A objeção a que não se responde assim não tem modelo nenhum dentro. Um filtro não cria operações, tira-as, portanto só te pode devolver os perdedores que conseguiu apanhar, e uma estratégia que parece boa quase não tem nenhum para apanhar. A regra vencedora da aula 63 tem seis vencedoras e uma perdedora. Um filtro tão bom a guardar vencedoras como a rejeitar perdedoras teria de acertar em 96,04 por cento das operações nunca vistas só para não perder nada nessa regra, e um perfeito, que apanha a única perdedora e não toca em mais nada, melhorá-la-ia em 4,30 por cento.
Pré-requisitos: Aula 64, pela fórmula do máximo esperado e pelo teto que uma contagem de configurações fixa, aula 63, pelas sete operações que esta página desmonta, e aula 17, pelos dois números de que é feito um fator de lucro.
O que custa uma grelha antes de ter visto um preço
Uma regra tem parâmetros e a aula 64 contou-os. Um modelo tem hiperparâmetros, que são a mesma coisa com outro nome, e tem uma dimensão que uma regra não tem: que variáveis entram. Ambas as coisas se multiplicam, e a aritmética que avalia uma busca não se importa com qual é qual. Conta configurações, e a contagem sabe-se antes de correr o que quer que seja.
Toma a grelha que o anúncio deixou. Seis hiperparâmetros com cinco valores cada um são 15.625, e a substituição vai por inteiro para que nada disto tenha de ser aceite por confiança. Um a dividir por 15.625 é 0,0000640, e o valor da normal padrão que deixa isso na cauda superior é 3,83028. Depois 15.625 vezes e são 42.473, um a dividir por isso é 0,0000235, e o seu valor normal é 4,06963. Ponderando os dois por 0,4228 e 0,5772 dá 3,96843, que é um t. Divide pela raiz quadrada de 156, ou seja 12,49, e a vantagem fabricada é 0,318 de um R por operação. O teto que uma busca dessa largura tem de passar para que só cinco por cento das buscas sem valor a batam está em 4,507.
Agora a dimensão que ninguém conta. Uma lista de vinte variáveis com a instrução de escolher três a seis é a forma habitual deste exercício, e essa instrução lê-se como uma simplificação. É uma busca. Escolher exatamente quatro de vinte são 4.845 modelos distintos, escolher três a seis são 60.249, e a lista estava escrita antes de começares, portanto a contagem está disponível para quem a queira. Multiplica o número de quatro em vinte pela grelha de hiperparâmetros e o trabalho de uma tarde são 75.703.125 configurações.
| O que fizeste variar | Configurações | Fasquia aos cinco por cento | R por operação fabricado sobre 156 operações |
|---|---|---|---|
| Três hiperparâmetros, cinco valores cada um | 125 | 3,346 | 0,209 |
| Quatro hiperparâmetros, cinco valores cada um | 625 | 3,769 | 0,250 |
| Seis hiperparâmetros, cinco valores cada um | 15.625 | 4,507 | 0,318 |
| Quatro variáveis escolhidas de uma lista de vinte | 4.845 | 4,252 | 0,295 |
| As duas últimas juntas | 75.703.125 | 6,061 | 0,453 |
A última linha é a contagem honesta de uma tarde, e 6,061 é um t que umas centenas de operações não vão produzir por muito boa que fosse a ideia. Lê no entanto a terceira coluna de cima para baixo e a forma é mais suave do que isso parece: passar de 15.625 configurações para 75.703.125 é 4.845 vezes mais busca e move o teto 1,554. O castigo cresce com o logaritmo da contagem, e isso corta pelo lado que ninguém menciona. Não é preciso um modelo da moda para se estar mal exposto. Quatro hiperparâmetros e nenhuma seleção de variáveis já estão em 3,769.
Portanto supõe que fazes tudo isso bem. Supõe que contas a grelha, passas o teto e tens na mão um modelo que ordena mesmo os teus setups melhor do que o acaso. O resto desta página é sobre se isso vale alguma coisa, e não precisa de contagem de configurações nenhuma, de simulação nenhuma e de nenhum pressuposto sobre mercados.
Monta-o como o dinheiro funciona de facto. Um filtro não encontra operações novas. Assenta nos setups que o teu método já produz e tira alguns, portanto a comparação honesta é o lucro total sobre as mesmas oportunidades originais e não o lucro por operação tomada. Escreve a tua taxa de acerto como p e o teu pagamento como b, ambos da aula 17, de modo que uma vencedora paga b e uma perdedora custa um. Que o filtro guarde uma fração s das vencedoras e rejeite corretamente uma fração t das perdedoras. Por operação original abdica de p vezes um menos s vezes b, e poupa um menos p vezes t. Vale a pena quando a segunda quantidade é pelo menos a primeira:
(1 − p) t ≥ p (1 − s) b
Divide isto de duas maneiras e diz duas coisas diferentes e úteis. Divide por p vezes um menos s e as perdedoras que o filtro deita fora têm de superar em número as vencedoras que deita fora por pelo menos b, o teu rácio de pagamento, o que é um teste que podes fazer num registo de operações com duas contagens e sem estatística nenhuma. Divide antes por um menos p e o lado direito torna-se p b sobre um menos p, ou seja lucro bruto sobre perda bruta, a quantidade normalmente chamada fator de lucro e o único nome novo desta página. São os dois números da aula 17 escritos como um.
Se o modelo for igualmente bom nas duas direções, de modo que s e t sejam o mesmo número a, a condição reduz-se a um limiar sobre a exatidão apenas: a tem de valer pelo menos o fator de lucro a dividir por um mais o fator de lucro. Virado do avesso, um filtro de exatidão a ganha o seu lugar em qualquer estratégia cujo fator de lucro esteja abaixo de a dividido por um menos a.
A 52 por cento de exatidão, em qualquer estratégia com um fator de lucro abaixo de 1,08.
A 55 por cento, abaixo de 1,22.
A 60 por cento, abaixo de 1,50.
A 65 por cento, abaixo de 1,86.
Os 52 por cento não são um enchimento. Gu, Kelly e Xiu mediram toda esta família de modelos fora da amostra sobre rendibilidades mensais de milhares de ações, e a sua melhor rede alcançou um R quadrado mensal fora da amostra de cerca de quatro décimos de um por cento. Traduz isso para a língua desta página: sob uma normal bivariada, a probabilidade de o sinal de uma previsão coincidir com o sinal do resultado é meio mais o arco-seno da correlação, a dividir por pi; a correlação é a raiz quadrada do R quadrado, ou seja 0,0632, e a exatidão é de 52,01 por cento. O melhor resultado publicado da área é um filtro para estratégias com um fator de lucro abaixo de 1,08.
Quase ninguém entre os que ajustaram um modelo às suas próprias operações dividiu o seu lucro bruto pela sua perda bruta e pôs os dois números lado a lado. São duas somas tiradas de um registo de operações e uma divisão, e é nisso que a decisão inteira consiste.
A folha que este módulo vem construindo desde a aula 62 não ganha uma nona coluna. É aqui que é gasta, as oito de uma vez, sobre a única regra que o curso segue desde a aula 63.
A folha, gasta sobre uma regra
A aula 63 varreu 253 configurações de médias móveis ao longo de sessenta fechos e ficou com uma média de 2 barras contra uma de 5: sete operações, 10,70 por ação em bruto, 9,84 depois de custos, contra 5,68 por manter. Preenche as oito colunas e a folha lê-se assim.
A frase, da aula 62: fica comprado quando a média de 2 barras dos fechos cruzar acima da de 5, fica de fora quando voltar a cruzar abaixo, executa no fecho seguinte.
O par, da aula 63: 4,16 acima da referência, contra 52,5 por cento de buscas sem estrutura a devolverem 4,16 ou mais.
O teto e a contagem, da aula 64: 253 células, um teto de 3,537, um t de 3,65, que o passa até fixares um número mínimo de operações, altura em que a fração vai de 0,68 por cento com um mínimo de sete a 50,48 por cento com um mínimo de duas.
As operações fixadas de antemão, da aula 65: em branco. As sete são as que aconteceram.
A parcela de exposição, da aula 66: 0,5085, e dos 10,70 brutos o mercado forneceu 2,95.
A profundidade a que parar, da aula 67: em branco.
A capacidade, da aula 68: uma operação média de 0,9101R são 1,4055 por ação, o que num preço perto de 103 são 136 pontos base, portanto na pequena capitalização da aula 68 a operação segura 1.390.545 dólares e a melhor posição isolada é 618.020.
O teto de posição e o seu intervalo de verificação, da aula 69: em branco.
Três espaços em branco, e uma segunda coluna cujos dois números estão ao contrário. É esse o veredito, e chega antes de a folha estar lida a meio. Percorre-a até ao fim na mesma, porque a pergunta desta página não é se a regra presta. É se um modelo a poderia melhorar, e essa pergunta tem resposta mesmo para uma regra que não presta.
As sete operações líquidas de custos são 2,577, 1,877, 2,377, 1,377, menos 0,423, 1,177 e 0,877. Seis vencedoras a somar 10,262 e uma perdedora de 0,423, portanto o fator de lucro é 24,26, a vencedora média é 1,1075R, a perdedora média é 0,2739R e o rácio de pagamento é 4,04. Agora põe as restantes colunas da folha a trabalhar e vê o que acontece à medida que cada uma é aplicada. A última linha da tabela abaixo é o nulo da própria aula 63, recalculado para esta página: os 59 movimentos de barra para barra tirados com reposição, 4.000 séries a partir da semente 20260903, a mesma busca de 253 células sobre cada uma, com o mesmo mínimo de sete operações que a vencedora cumpria, e o fator de lucro da célula que ganha. A sua mediana é 2,34, e 3,08 por cento dessas buscas sem estrutura devolvem uma vencedora com um fator de lucro de 24,26 ou mais.
| O que foi subtraído | Fator de lucro | Exatidão que um filtro tem de superar | O máximo que um filtro perfeito poderia acrescentar |
|---|---|---|---|
| Nada | 36,67 | 97,35 % | 2,80 % |
| Os custos, pela convenção da aula 63 | 24,26 | 96,04 % | 4,30 % |
| Os custos, e a parte do mercado vinda da aula 66 | 14,22 | 93,43 % | 7,57 % |
| O que a mesma busca devolve sobre nada, mediana | 2,34 | 70,01 % | 74,91 % |
A quarta coluna é a que merece uma paragem, e é um segundo número puro que cai da mesma desigualdade. Um filtro perfeito tira todas as perdedoras e guarda todas as vencedoras, portanto o máximo que pode acrescentar é a perda bruta inteira, e como fração do que a estratégia já ganha líquido isso é um a dividir pelo fator de lucro menos um. Nesta regra são 4,30 por cento. Não 4,30 por cento se o modelo for bom: 4,30 por cento se o modelo for impecável, porque no registo só há uma perdedora e vale 0,423 em 9,839.
Lê as duas colunas do meio juntas, de cima para baixo, e movem-se em direções opostas pela mesma razão. À medida que o fator de lucro é esvaziado em direção à verdade — primeiro os custos, depois a parte do mercado, depois o que uma busca da mesma largura devolve sobre dados sem nada lá dentro —, a exatidão de que o filtro precisa cai de 97,35 por cento para 70,01, e o prémio sobe de 2,80 por cento para 74,91. A busca fabricou a vantagem e, no mesmo movimento, fabricou a razão pela qual nenhum modelo a podia melhorar.
Um filtro só te pode devolver as tuas perdedoras, e uma boa estratégia quase não tem nenhuma.
É por isso que a linha de baixo conta mais do que parece. Um fator de lucro de um é uma estratégia com exatamente zero de esperança, e aí o limiar está nos cinquenta por cento e um filtro de 52 por cento vale mesmo a pena. Conta-o em trezentas operações com um pagamento de dois: cem vencedoras a pagar dois e duzentas perdedoras a custar um dão zero. Guarda 52 das vencedoras e 96 das perdedoras e tens 104 menos 96, ou seja 8R sobre as trezentas originais, ou 0,027 de um R por operação. O filtro não está a melhorar a estratégia. É a estratégia inteira, e é pequena. Sobe para um fator de lucro de dois e o mesmo filtro de 52 por cento tira 0,22R por operação a uma estratégia que faz 0,50.
Portanto soma as tuas vencedoras, soma as tuas perdedoras, divide, e lê a resposta como a exatidão que qualquer filtro tem de superar antes de o construíres.
O que isto não resolve
Que o filtro seja equilibrado. O limiar de exatidão pressupõe que o modelo é exatamente tão bom a guardar vencedoras como a rejeitar perdedoras, e a desigualdade de onde veio não pressupõe nada disso: pede apenas que a especificidade a dividir por um menos a sensibilidade supere o fator de lucro. Um modelo afinado com dureza para rejeitar perdedoras, aceitando que guardará quase todas as vencedoras que lhe mostrarem, pode passar esse teto com uma exatidão global muito abaixo do limiar, e é essa a direção em que vale a pena construir. Esta página imprime o número equilibrado porque é o número que um classificador reporta por omissão, o que é uma afirmação sobre software e não sobre mercados.
Que as operações que o filtro guarda paguem o que teriam pago as que deita fora. Se o modelo guardar de preferência as vencedoras grandes, a aritmética melhora e o limiar desce, e um modelo que ordena as operações por tamanho esperado em vez de as separar por sinal é um objeto diferente e melhor do que o que aqui se avalia. A página avalia um classificador porque um classificador é o que as pessoas constroem, e porque o número de exatidão que a área cita só está definido para um.
Que um fator de lucro calculado sobre sete operações seja um número. É um rácio de duas somas, e uma dessas somas tem um único termo. Se a única operação perdedora da aula 63 tivesse custado 1,423 em vez de 0,423, o fator de lucro seria 7,21, o limiar 87,82 por cento e o prémio 16,10 por cento, com a mesma regra sobre os mesmos fechos. Sobre umas centenas de operações o rácio assenta, mas nunca é preciso, e a segunda casa decimal de qualquer limiar calculado a partir dele é enfeite.
Que os 52 por cento sejam a referência certa para o teu modelo. Gu, Kelly e Xiu preveem rendibilidades mensais sobre um corte transversal de milhares de ações com perto de cem preditores, o que é um problema diferente de classificar setups que o teu próprio método já produziu: eles têm imensos mais dados e nenhum acesso à tua regra de entrada, e contigo é o contrário. O número está nesta página como verificação da ordem de grandeza que o melhor trabalho da área atinge, e não é uma previsão do que o teu classificador vai fazer.
Que as configurações sejam contáveis. Esta é a concessão da aula 64 e um modelo torna-a pior em vez de melhor. Os hiperparâmetros que escreveste numa grelha são contáveis. A variável que construíste, desenhaste, não gostaste e apagaste não é, e também não é o alvo que redefiniste da direção da barra seguinte para a das três seguintes porque o primeiro não treinava. Cada retreino com dados novos é outra configuração, e um calendário que retreina todos os meses durante dois anos correu calado mais vinte e quatro.
E a concessão que mais custa: esta página avaliou um modelo e não disse nada sobre se algum poderá acertar por uma razão. Um filtro que recusa as operações tomadas nos primeiros quinze minutos porque as tuas perdedoras se juntam ali é uma regra, escreve-se numa linha, e conta como uma única configuração com um teto de 1,645. O que a aritmética desta página castiga não é aprender alguma coisa do teu próprio registo. É aprender muitas coisas dele e ficar com a melhor, que é exatamente em que consiste ajustar um modelo. A aula 71 abre o módulo de carteira perguntando o que compram quatro regras que uma só não compra, mede a correlação entre regras em vez de a supor, e descobre que os 14,7 meses que a aula 67 avaliou descem para 14,1 e não para 3,7.
Problemas
- Conta a tua grelha. Toma o último modelo que ajustaste, ou o último que te mostraram, e conta-o a sério: cada valor de hiperparâmetro que experimentaste, multiplicado, e isso multiplicado outra vez pelo número de subconjuntos de variáveis que consideraste. Lê o teto na primeira tabela acima ou calcula-o a partir da contagem. Dez minutos, e ficas com um número, o t que o teu modelo tinha de superar, que quase de certeza não é 1,645.
- Calcula o teu próprio limiar. Toma as tuas últimas duzentas operações, soma tudo o que as vencedoras fizeram, soma tudo o que as perdedoras custaram, e divide a primeira soma pela segunda. Meia hora, e ficas com um número, o teu fator de lucro, do qual a exatidão que um filtro tem de superar é esse número a dividir por um mais ele, e o máximo que um filtro perfeito poderia acrescentar é um a dividir por esse número menos um.
- Mede o filtro que poderias mesmo construir. Corta o teu registo por ordem de tempo. Na primeira metade escolhe uma variável para a qual saibas dar uma razão numa frase e encontra o único limiar sobre ela que melhor separa as tuas vencedoras das tuas perdedoras. Aplica esse único limiar, sem lhe tocar, à segunda metade, e conta duas coisas: quantas perdedoras deitou fora e quantas vencedoras deitou fora. Uma noite, e ficas com um número, o rácio da primeira contagem para a segunda, que tem de exceder o teu rácio de pagamento antes de o filtro mais simples que consegues construir valer alguma coisa, e que deves comparar com o que esperavas antes de cortar o registo.
Fontes. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado e Qiji Jim Zhu, «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance» (Notices of the American Mathematical Society, 2014), pela fórmula do máximo esperado a partir da qual a primeira tabela é calculada, trazida da aula 64 e aplicada aqui a uma grelha de hiperparâmetros em vez de a uma de parâmetros. Shihao Gu, Bryan Kelly e Dacheng Xiu, «Empirical Asset Pricing via Machine Learning» (The Review of Financial Studies, 2020), pela medição fora da amostra que esta página converte nos 52 por cento contra os quais cada limiar seu é lido. Marcos López de Prado, Advances in Financial Machine Learning (Wiley, 2018), pelo argumento de que a validação cruzada comum deixa passar informação em finanças e pela correção para testes múltiplos de que a primeira tabela é um caso pequeno. Robert D. Arnott, Campbell R. Harvey e Harry Markowitz, «A Backtesting Protocol in the Era of Machine Learning» (The Journal of Financial Data Science, 2019), pelo protocolo que exige que o número de tentativas seja registado antes da busca, que é a coluna da folha que a aula 64 acrescentou e esta página gasta.
O preço de procurar
A fórmula do máximo esperado e o teto que uma contagem de configurações fixa.
Ler a aula →O backtesting como prova
As sete operações que esta página desmonta, e a busca que as produziu.
Ler a aula →Apenas para fins educativos. Negociar envolve risco substancial de perda. Não é aconselhamento financeiro. Resultados passados não garantem resultados futuros.
💬 Discussão (0 comentários)
A carregar comentários…
Pronto para operar com a Signal Pilot?
Põe a tua formação em prática com indicadores profissionais e ferramentas de análise de mercado em tempo real.
Voltar à Signal Pilot →