Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 43
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E a visão de que se você seguir o caminho de Sanych, você reduz notavelmente a já baixa probabilidade de atingir o cobiçado 1%?
Cada indicador tem alguma informação adicional, e tudo isso é útil, e não apenas um por cento. Para a RSI não há estratégia de "comprar a >0,99, vender a <0,01", foi um exemplo infeliz.
Digamos que você pode pegar um indicador, fazer um Expert Advisor com base nele e otimizar seus parâmetros para obter melhores resultados. Mas uma tal EA falhará sempre no futuro. Para que a EA não falhe, precisamos de dezenas de indicadores (talvez ainda menos, mas para mim não é tão fácil), onde os valores dos indicadores serão testados por uma lógica complexa com condições diferentes. Por exemplo, se MA(20)>MA(16), então compre se RSI>0.3. E se MA(20)<MA(16), então olhe não para rsi, mas para estocástico. A lógica deveria ser algo assim, mas ainda mais complexa e ornamentada. O modelo florestal aleatório pode construir essa lógica, o que é muito bom.
Todos os valores indicadores são importantes para a construção do modelo. O próprio modelo determinará os limiares destes valores para uma decisão de compra/venda e as condições do seu cumprimento a partir dos valores de outros indicadores.
Cada indicador traz alguma informação adicional, e toda ela é útil, e não apenas um por cento.
Está familiarizado com o princípio da navalha de Occam?
Se um indicador tem um determinado intervalo de valores, então qualquer valor neste intervalo diz alguma coisa, tem o seu próprio significado adicional. Não recomendo simplesmente pegar 1% dos limites superior e inferior do indicador e decidir negociar apenas neles. É claro que você pode tentar, mas não será rentável, e você precisará de muitos outros indicadores para adicionar muitas condições à estratégia. Ou seja, você pode trocar a gama completa de valores de RSI com um monte de outros indicadores. Ou você pode negociar apenas em um determinado intervalo de valores de RSI, com um monte de mais indicadores. Não vejo como a segunda maneira me dará qualquer vantagem.
Mas quando inicialmente existem dezenas de indicadores, e todos com cem variantes de desfasamentos ou parâmetros, então alguns deles precisam ser eliminados, aqui a navalha de Occam está em plena força. Devido a isso, tenho apenas cem dos quase 9000 preditores (uma dúzia de indicadores com diferentes desfasamentos (shift). E estes restantes preditores são pelo menos 60% precisos.
Quanto mais ruidosos forem os seus preditores, maior é a probabilidade de haver dados úteis semelhantes entre eles.
Re-aprendizagem a priori, a falta da qual Sanych tanto se gaba
Quanto mais preditores de ruído tiver, mais provável é que entre eles haja dados úteis semelhantes.
O sobre-aprendizagem a priori, cuja ausência Sanych tanto se gaba
Eu estava bastante impreciso sobre os preditores de ruído.
Estou aqui a gabar-me de ter um algoritmo que peneia os preditores de ruído. Mas isso não é totalmente exato, no sentido de que para mim não há preditores 100% barulhentos e 100% não barulhentos. Todos os preditores que vi (várias centenas, mais de 10 conjuntos de pessoas diferentes) são parcialmente ruidosos ou parcialmente não ruidosos. Sempre. Eu não vi mais nenhum. Explicarei abaixo com números.
Agora, pelo que estamos a lutar?
De acordo com o meu algoritmo, se pegarmos em preditores puramente ruidosos, obtemos a probabilidade de uma previsão de classe correcta cerca de 50% - atire uma moeda ao ar. E o senão é que quando se treina com preditores puramente sonoros quase sempre se obtêm resultados muito bons, e se se tira tempo fora da amostra, obtém-se esses 50%.
Eu tenho cada preditor com um valor abstrato de "ruídos". Se é um valor entre 0 e 1, então é barulhento e totalmente sem esperança. Se for 1 para 2, você pode, mas é melhor não usá-lo. Devias ir com a minha medida acima de 3. Acima de 6 que eu nunca vi.
Então, vamos assumir que os preditores com a minha medida de "barulho acima de 3" são selecionados. Se você construir um modelo, eu tenho um erro de 25 a 35% para diferentes conjuntos de preditores. Em todos os tipos de amostragem (treinamento-teste-validação - todos com mistura aleatória, e fora da amostra - estritamente na ordem em que as barras chegam) aproximadamente iguais, por exemplo, 32-30-33-35%. Não é possível melhorar o erro pela metade, digamos, no mesmo conjunto particular de preditores. Ou seja, a magnitude do erro do modelo é determinada por um conjunto particular de preditores. Se você não gosta da magnitude do erro, você precisa de algum outro conjunto de preditores, o que pode dar um erro diferente.
O erro que eu estava recebendo é naturalmente grande, vá por mim é importante que fora da amostra o erro seja aproximadamente igual em treinamento e testes. Mas eu tiro a conclusão mais importante para mim: dado o conjunto de preditores não gera supertreinamento do modelo - no futuro eu terei aproximadamente o mesmo erro de predição. Isto tem sido testado em diferentes variações de andaimes aleatórios, ada, SVM. Nenhum outro modelo foi experimentado.
Quanto mais preditores de ruído tiver, mais provável é que entre eles haja dados úteis semelhantes.
O sobre-aprendizagem a priori, a falta da qual Sanych tanto se gaba
Eu não sei)) Preciso de uma ferramenta que faça multi-previsão usando uma matriz com preditores. Não me interessa de que forma fará a previsão, a regressão leva apenas a série temporal como input, não me serve, preciso de uma matriz com preditores...
Eu olhei para a função "iforecast", leva uma série temporal para a regressão como input, não é a mesma coisa, ou estou a entender mal alguma coisa?
Cada indicador tem alguma informação adicional, e tudo isso é útil, e não apenas um por cento. Para RSI não há estratégia de "comprar a >0,99, vender a <0,01", é um exemplo infeliz.
Para continuar o tópico de seleção
Tenho uma pergunta: temos um preditor (um de muitos) com alguma gama de valores, que sejam 10 pcs.
dividir o preditor nestes intervalos X1,X2....X10
vamos calcular a importância de cada faixa no preditor por alguns meios não é importante agora como
vamos obter uma tabela de importância(deixe-me lembrar que é um preditor dividido em sub-previsores)
Х1 = 0,5%
Х2 = 0,01%
Х3 = 0,003%
Х4 = 0,0033%
Х5 = 0,0013%
Х6 = 0,0039%
Х7 = 0,0030%
Х8 = - 0,0000%
Х9 = - 0,0001%
Х10 = - 0,00002%
vemos que apenas um intervalo "X1" tem realmente uma forte influência, a influência dos outros ou é negativa ou está a meio passo de ser negativa e é muito duvidoso que em novos dados estes intervalos X2....X7 se mostrem para melhor...
Pergunta :
é melhor manter todo o intervalo positivo X1...X7 ou deixar apenas o intervalo onde não há dúvidas, ou seja, apenas X1
Mais uma vez, é apenas uma seleção de um preditor, e se purificarmos 200 preditores? em que dados o algoritmo irá reconhecer melhor ou não os novos dados?
Quem pensa sobre isso?
Para continuar o tópico de seleção
Tenho uma pergunta: temos um preditor (um de muitos) com alguma gama de valores, que sejam 10 pcs.
dividir o preditor nestes intervalos X1,X2....X10
vamos calcular a importância de cada faixa no preditor por alguns meios não é importante agora como
vamos obter uma tabela de importância(deixe-me lembrar que é um preditor dividido em sub-previsores)
Х1 = 0,5%
Х2 = 0,01%
Х3 = 0,003%
Х4 = 0,0033%
Х5 = 0,0013%
Х6 = 0,0039%
Х7 = 0,0030%
Х8 = - 0,0000%
Х9 = - 0,0001%
Х10 = - 0,00002%
vemos que apenas um intervalo "X1" tem realmente uma forte influência, a influência dos outros ou é negativa ou está a meio passo de ser negativa e é muito duvidoso que em novos dados estes intervalos X2....X7 se mostrem para melhor...
Pergunta :
é melhor manter todo o intervalo positivo X1...X7 ou deixar apenas o intervalo onde não há dúvidas, ou seja, apenas X1
Mais uma vez, é apenas uma seleção de um preditor, e se purificarmos 200 preditores? em que dados o algoritmo irá reconhecer melhor ou não os novos dados?
Quem pensa sobre isso?