Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1344
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
Se não é um segredo, em que princípios é feita a série artificial? É apenas uma onda sinusoidal misturada com o ruído, ou é mais complicado do que isso?
Como há várias perguntas ao meu posto, devo responder a todas elas de uma só vez.
Este é o fórum para negociação, sistemas automatizados de negociação e teste de estratégias de negociação.
Como usar a aprendizagem da máquina no comércio: teoria e prática (comércio e não só)
Yuriy Asaulenko, 2019.02.17 21:01
Eu tentei usar o Python para treinar uma rede neural. O pacote é scikit-learn, NS é sklearn.neural_network.MLPRegressor. Mais de 100 neurónios, camadas ocultas -7, entradas -19, saída 1. A tarefa é prever um processo aleatório.
A tarefa é artificial, feita em gerador de ruído e para que este ruído possa teoricamente ser previsto. Tentei por alguns pontos à frente.
Resultado da comparação da previsão com o real para 5 mil pontos escolhidos aleatoriamente:
X é a previsão, Y é o valor real. Todos eles estão muito perto de uma linha reta de 45 graus. Isto é, a previsão é quase perfeita (em amostra artificial).
A aprendizagem é muito rápida - 24 épocas. A seu tempo, cerca de 10 segundos.
Devo dizer que fiquei muito surpreendido. Eu tentei muito esconder os dados. Estou surpreendido por ela o ter encontrado. Em geral, perto do misticismo).
Conclusões: A NS sklearn.neural_network.MLPRegressor é bastante utilizável. Eu ainda não tentei o classificador.
Já tentei algo com o mercado, sem resultados até agora. Não é procurar, diz que não há lá nada, embora a tarefa seja da mesma classe de uma que foi gerada artificialmente.
Devo dizer desde já que não inventei a máquina de movimento perpétuo e não fiz nenhum truque, por isso, se fiz algum truque, fi-lo apenas devido à minha ignorância.
No início, um pouco de teoria. Processos aleatórios podem ser previstos, incluindo até atirar uma moeda ao ar. Tudo depende da formulação do problema de predição. Por exemplo, a previsão "Vai chover amanhã" é cerca de 90% correcta. No entanto, você não diz se vai chover de manhã cedo, à tarde ou ao final da noite ou se pode chover durante todo o dia, porque esta previsão não será confiável.
É possível prever séries cronológicas - é possível sob certas condições. Uma dessas condições possíveis é a natureza limitada do espectro da PA - quanto mais largo o espectro, menor o intervalo de previsão, quanto mais estreito for, mais longo o intervalo de previsão.
A série temporal do mercado tem um espectro infinito, por isso não se pode realmente prever o preço com 5 minutos ou uma hora de antecedência. Ainda não me encarreguei de tal tarefa.
Agora para preparar os dados para o treino.
1. obtemos uma série do gerador de números aleatórios (RNG) e a transformamos em uma forma próxima à do mercado. Tal série tem um espectro ilimitado e não é realista prever os seus valores.
2. passamos a série através do filtro de baixa passagem (LPF). Recebemos uma série aleatória com um espectro limitado e possibilidade de previsão para n-counts à frente, no entanto, esta série não é muito semelhante à série do mercado.
3. Geramos séries com M=0 pelo RNG e adicionamo-las à série depois do LPF, depois de realizarmos um jogo de pandeiro. Obtemos novamente uma série que está muito próxima da do mercado. Vamos usar esta série para treinar.
4. Como a função alvo, tomamos a série na etapa 2 passada através do LPF e deslocada por N amostras para trás que dá a previsão por N amostras para a frente.
Em seguida, alimentar os NS com entradas e séries-alvo, treinar e verificar os resultados do treinamento. Depois repita os passos 1-4, alimente as séries no passo 3 para o NS e compare a saída do NS com uma série deslocada por N amostras no passo 4.
É isso mesmo. Não admira. Tudo isto pode ser feito sem a NS. O que me surpreendeu foi que os NS o fizeram em segundos, e em apenas 24 ciclos de aprendizagem. E isso é com muito barulho, nem se consegue ver a componente de baixa frequência ali. Incrível.
Porque não funcionou com o mercado VR. Qualquer LPF tem um atraso significativo e sua curva é deslocada para a direita em relação ao VR. Ou seja, temos um sinal LF já atrasado em todos os pontos da série, e assim o intervalo de previsão é maior do que o permitido, e a previsão torna-se irrealista. Não podemos sequer construir um verdadeiro alvo para o treino.
Yuriy Asaulenko:
O conceito de espectro só é definido para um processo estacionário. O preço não é, quanto mais não seja porque a dispersão aumenta com o tempo.
O conceito de espectro só é definido para um processo estacionário. O preço não é, nem que seja apenas devido ao aumento da dispersão ao longo do tempo.
Isto é do ciclo, há um ancião num jardim, e um tio em Kiev.
OK, não te vou impedir de vender tambores Stradivarius.
OK, não te vou impedir de vender tambores Stradivarius.
Obtendo preços em Python via socket quase instantaneamente (50k registos) em 10 linhas de código
e no lado do mt5 20
Não preciso de libras improvisadas para o r. Por que é tão difícil fazê-lo você mesmo? Obrigado pelas tomadas nativas em mt5.
Você pode adicionar quaisquer íons muito facilmente depois, seja sinal para abrir negociações ou algo mais.
Obtendo preços em Python via socket quase instantaneamente (50k registos) em 10 linhas de código
e no lado do mt5 20
Não preciso de libras improvisadas para o r. Por que é tão difícil fazê-lo você mesmo? Obrigado pelo facto de as tomadas nativas funcionarem em mt5.
Podes crer.)
Vejo que eles mudaram para Spyder. Eles deviam, é melhor do que mexer no seu bloco de notas.
Só para prevenir. A grade em um gráfico é feita por plt.grid().
Bem, está bem, eu tenho pena. )) Quase qualquer sinal de rádio é um processo não estacionário, no entanto, ele tem um espectro.
Os radioamadores confundem um processo aleatório com a sua implementação.
Os radioamadores confundem um processo aleatório com a sua implementação.
Eu não vou discutir com os trolls.
Sim, certo.)
Vejo que mudaste para Spyder. Isso mesmo, é melhor do que brincar no U-notepad.
ZS A grade na trama é feita por plt.grid().
tive de mexer com o spyder para o pôr em píton nu, sem anaconda.
Eu já tive vscode antes, mas ele drena a vida da bateria, então eu tenho que alcançar a tomada.