Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 214
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
PS. E fazer o paralelo do cálculo lm(). Esta é a altura certa para o fazer.
Obrigado.
Eu vi como paralelizar uma operação em laço através de uma %dopar%. Eu não sei como ligá-lo a um laço escondido no DT. Não sei se pode ser mais rápido ou não.
Obrigado.
Eu vi como paralelizar uma operação em laço através de uma %dopar%. Eu não sei como ligá-lo a um laço escondido no DT. E eu não sei se seria mais rápido.
O que eu queria dizer era esta parte do código.
{
lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F], formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]
Foreach() em vez de lapply
Há algo errado com os gráficos que levam várias dezenas de segundos para serem construídos.
Confira este pacote ("nhstplot"). É rápido a desenhar e eu acho que é muito bom.
Há algo errado com os gráficos que levam várias dezenas de segundos para serem construídos.
Confira este pacote ("nhstplot"). É rápido a desenhar e eu acho que é muito bom.
Ahh. Vou tentar, obrigado. Acontece que o laço de lapela será substituído por um laço paralelo. E está tudo a girar num laço DT com 1000 iterações.
Ou há outra forma de saltar estas 1000 iterações pela frente.
Eu vou dar uma olhada, é claro. Mas onde está a semi-transparência aqui, onde estão as centenas de objectos sobrepostos? Teste em condições pesadas e então entenderemos se é mais rápido ou não.
O desenho rápido semi-transparente pode ser alcançado com uma placa gráfica OpenGL. Em R há uma biblioteca rgl para isso, é mais para 3d, mas se você pode fazer projeção ortogonal, e desenhar linhas, será exatamente o que você precisa. Não consegui perceber logo, tens de ler a documentação.
Já está:
É muito fácil desenhar linhas semi-transparentes, basta uma mesa com coordenadas X e Y. Você também poderia adicionar uma terceira coluna Z para tridimensionalidade.
for(i in 1:1000){
lines3d(cbind(1:1000, cumsum(rnorm(1000))), col="blue", alpha=0.1)
}
Mas acabou por ser lento na mesma. A julgar pelo procesexplorer - o vídeo é usado por apenas 5%, enquanto um processador lógico é 100%. Eu acho que R é muito lento na alimentação de dados em OpenGL, muito mais lento do que ele pode receber. De alguma forma saiu por ali.
Só para se desorganizar :) faça-o, maximize a janela para tela cheia, e gire "figura" com o botão esquerdo do mouse.
for(i in 1:100){
lines3d(cbind(cumsum(rnorm(100)), cumsum(rnorm(100)), cumsum(rnorm(100))), alpha=0.2)
}
Eu finalmente fiz a primeira tentativa da idéia do cluster que anunciei antes, é um teste, só para ver o que está acontecendo, os preditores são simples
série móvel de 5 valores OHLC + volume + volátil 6 preditores de 5 valores cada
história da aprendizagem 100 000 bares
cada preditor foi normalizado, é claro ) e depois agrupado em 100 grupos, lamentando o absurdo
O alvo foi criado do nada (no momento em que acabei de me sentar), eu simplesmente peguei a inversão nesta forma: O alvo é um extremo mais alto que as 4 velas anteriores e mais alto que as 10 velas seguintes depois dele.
Comecei a procurar por padrões repetitivos...
O melhor que encontrei, sem tais preditores, é o seguinte padrão
91 6 30 41 91 100 0.4 9
em(aberto alto volume baixo volume fechado) são os números de clusters que caracterizam este padrão
target_avg - esta é a probabilidade da minha reversão ser disparada neste padrão. Não fui capaz de encontrar nenhum padrão com 80-90% de probabilidade de disparar de acordo com estes preditores
target_count - onúmero de vezes que o padrão foi apanhado na história, não encontrei nenhum padrão significativo, que foram apanhados 30-50 vezes usando estes preditores
O melhor que encontrei com estes preditores é um padrão, no qual a inversão (alvo) é desencadeada 40% do tempo e há apenas 9 observações (número de padrões)
Portanto, talvez seja a única informação útil, a "NO BLOW" necessária, que pode ser extraída do conjunto de preditores e explica apenas uma razão para a inversão e mesmo que seja 40% dela e diferentes razões para diferentes inversões e definitivamente não há 10 ou 30 delas imho.
E agora pense em como o algoritmo MO pode explicar todos os movimentos do mercado com tais preditores, é impossível, porque os preditores podem explicar apenas 2% e o resto é ruído...
Além disso, não há controle de recorrência estatística, ou seja, o RI pode tomar uma decisão baseada em uma ou duas observações, e isso é verdade na grande maioria dos casos em menos de 95% dos casos
De qualquer forma, eu divago... vamos continuar com um padrão, tendo estimado a qualidade dos insumos em uma nova amostra, eu vou dizer isso, até agora não é o Mercedes, mas se é um Zaporozhets morto, então esta abordagem um nove apenas de uma fábrica
A qualidade das entradas é muito melhor, mais clara, menos erros...
e a outra coisa é, o padrão completo é...
91 6 30 41 91 100
quando corri o reconhecimento nos novos dados de 50 000 castiçais o algoritmo não conseguiu encontrar nenhum desses padrões, simplesmente não apareceu ))
Tive de reduzir o padrão e deixei apenas os preços
91 6 30 41 91 100
Eu já encontrei cerca de 20 desses padrões
aqui estão as entradas no padrão, eu não escolhi nada "ala melhores entradas" apenas tirei fotos como na sequência em que os negócios foram feitos, não todos os negócios, claro, apenas os primeiros, para que você possa avaliar
o eqiti é bom, embora o risco seja maior do que o previsto
Lembre-se, isto é apenas um padrão, e apenas calções...
Se alguém precisar do código, eu o postarei, embora eu duvide, já está muito claro214 páginas é muito para estudar/aprender. Cada um deles é sobre algo diferente e nem sempre fácil de entender).
É possível resumir todas estas páginas em um único post, mesmo que não seja muito curto? Tipo: estabelecer meta, métodos de solução, resultados, conclusões.
Deixe-me dizer desde já que o meu modelo de mercado é um processo aleatório (movimento browniano), ou melhor, a soma de vários (podem ser muitos) desses movimentos com feedbacks. E prever qualquer coisa ou procurar outros padrões além dos estatísticos é um exercício absolutamente fútil. Ou seja, quaisquer preditores significativos simplesmente não existem, pelo menos para fins especulativos.