Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 172

 
SanSanych Fomenko:

PS.

Para fervorosos apoiantes do MCL, observo que sem todas as acções e ferramentas discutidas neste tópico, o testador não dá qualquer razão para especular sobre o comportamento futuro do sistema de negociação. O testador diz: "Estes são os resultados para este período de tempo". É tudo. O testador dá exactamente um valor, por exemplo, o factor de lucro que está relacionado com um determinado período histórico. E você só pode obter estatísticas em R. E o testador é a parte final do design do modelo, mas não um substituto para todo o processo de desenvolvimento.

Tolices e disparates!

O testador vai dar exactamente isso e o que lhe foi pedido. Você pediu o fator de lucro? - aqui está o factor lucro. Se pedirmos mais alguma coisa ou várias, também haverá uma resposta. E estatísticas podem ser obtidas chamandoTesterStatistics() emOnTester(), e tudo isso tem estado disponível por muito tempo. Quaisquer outras estatísticas podem ser adicionadas, se necessário.

Seu R também não poderá responder se você não tiver nada ou não souber o que perguntar.

 
Dr. Trader:

Por exemplo, você fez uma validação em uma amostra diferida. Suponha que o modelo nos dados diferidos se tenha fundido. O que você faz neste caso? Se você começar a ajustar os parâmetros novamente para passar a validação na amostra pendente, você estará essencialmente incluindo os dados da amostra pendente na sua validação cruzada, e a validação cruzada também será ajustada. Isto pode ser corrigido com a adição de uma nova amostra diferida. E se o modelo também falhar nisso? Devemos ajustar os parâmetros para passar a nova amostragem retardada também? É uma corrida interminável.

Incluir uma amostra diferida na validação cruzada, e criar uma nova amostra diferida não é a resposta, mas um loop infinito até que você tenha sorte e o modelo passe a validação diferida. Então você pode parar, mas esta não é uma solução forex, é apenas sorte sorrindo para você, o que, no entanto, estatisticamente seria um dreno.

Então a questão é - digamos que o modelo sobre os dados pendentes despencou. O que se faz num caso desses?

Dr.Trader, vou tentar explicar com uma fotografia. Não se preocupe, este é um problema complexo, mas pode ser resolvido. Você não deve fazer o que sugere ou haverá um ciclo vicioso.

E mais uma coisa, eu vou gradualmente envolver a actividade neste fio. Estou a ficar cansado do fórum. Melhor em privado e com exemplos.

Então:

Seleção de Modelos para Previsão e Comercialização de Séries Temporais Ruído

Passo a passo:

Aprender o modelo - o modelo mostra características granulosas

Teste de um modelo - os modelos já têm um desempenho visivelmente pior. Mas há alguns modelos que funcionam bem.

Este é o ponto em que você precisa selecionar os modelos. Você e eu escolhemos modelos que têm melhor desempenho no teste (podem ser blocos de validação em validação cruzada). E fica imediatamente claro que se escolhermos um modelo por período, onde a sua característica já é conhecida, estamos a fazer uma escolha optimista.

Se tivermos validação cruzada (os dados para diferentes modelos são mistos) não podemos fazer deles um comitê no teste (o teste é misto). Em vez disso, pegue os "melhores" modelos selecionados no teste e teste-os em uma amostra retardada. O que esperamos ver? Uma vez que na aplicação real vamos contar com o desempenho dos modelos em blocos de validação cruzada (ou teste único, se não quisermos nos preocupar com a validação cruzada), precisamos saber se os melhores modelos selecionados mostrarão desempenhos semelhantes no futuro (na amostra diferida 1). Se existe uma relação, já é muito boa. Em essência, podemos parar o estudo neste ponto e selecionar os melhores modelos através da validação cruzada no futuro.

Mas se ainda queremos fazer um comité, temos de descobrir quais os modelos a seleccionar para o comité. Fazemos isto na amostra 1 atrasada, mas não apenas aleatoriamente. Mais uma vez nos lembramos que na vida real nós só vamos confiar nos dados de teste (os últimos dados disponíveis). Assim, vamos incluir no comitê, um a um, os modelos que mostram os melhores resultados no TESTE. Nós maximizamos o desempenho da comissão na amostra atrasada.

Neste ponto, você está sujeito a múltiplo viés de seleção de modelos, pois estamos avaliando a escolha do comitê sobre dados sobre os quais sua característica já é conhecida.

A amostra final é necessária para validar o comitê.

Se na etapa de validação dos modelos selecionados (no teste) na amostra atrasada vemos que as características dos modelos estão flutuando - isso já é fatal, pois não temos a chance de selecionar o modelo no teste. Neste passo, precisamos de mudar alguma coisa na abordagem.

Se o comitê montado cair sobre a última amostra diferida (este é um teste único), então o comitê se ajustou à amostra anterior.

Repetir todo o procedimento com parâmetros diferentes, conseguindo a maximização do carisma. nas amostras finais diferidas é impossível, já que esta seria também uma escolha otimista de modelos.

Se mesmo tudo funcionou bem nas amostras diferidas (ou seja, minimizamos o viés de seleção do modelo), geralmente é bom repetir em loop com os mesmos parâmetros todo o procedimento e obter a distribuição do trabalho do comitê na última amostra. É claro que cada vez que precisamos de dados diferentes (pelo menos parcialmente). E isto já é muito caro...

Por favor, lembre-se deste esquema. Ele conduz a sua estimativa de negociação em tempo real a um possível absoluto.

 
No passado, quando o Neurochel era jovem e disponível, era utilizado o comércio de papel. Espero que todos saibam o que é, mas quando você trabalha em tempo real a TS começou a vazar, e então foi decidido não usar um pedaço de papel, e treinar a rede, enquanto deixava um pedaço de real para avaliar a exatidão da rede. Atualmente estou fazendo o seguinte: Apago um dia, que é o último em termos de volume e de interesse aberto. Para o que???? você já viu muitas vezes tal gráfico, que no início após a otimização o TS caiu um pouco, e então começa a dar sinais bastante decentes. Então é por isso que eu removo um dia que já me é conhecido, e o TS é como se ele começasse a negociar a partir do dia seguinte.... Estou a ficar muito bom, não sem erros, claro, mas ainda assim aceitável para os lucros...
 
Mihail Marchukajtes:


Tudo verdade, mas este padrão é muito barbudo, todos o conhecem há muito tempo, por isso...

E agora o classificador mais simples teria encontrado, para uma série esta interpretação de preço, volume e OI não são dados suficientes, você precisa pelo menos de um livro de ordens e uma faixa com direções de negociação, e no caso do forex, porque esta informação não existe, ela deve ser retirada dos mercados futuros líquidos ocidentais.

 
Você já pensou sobre o que se a rede está alimentando os padrões que estarão no futuro? A questão é como encontrá-los, que dias você deve escolher para treinar a rede para saber que no dia atual esses padrões estarão lá. Aqui está a resposta. Seleccionamos os dias que tiveram o volume actual e o OM, respectivamente, na esperança de que o contexto do dia seja semelhante ao daqueles dias que estiveram na amostra de formação. Eu não envio os valores de volume e OI para a entrada da rede, só escolho estes dias, e a entrada é AD, Zscore, Kelli, etc. Em outras palavras, a idéia é selecionar tal conjunto de padrões sobre a história e a reação do mercado a eles, como nos dias atuais. Se existem teorias sobre este tipo de seleção usando outras técnicas, eu adoraria ouvir....
 
BlackTomcat:
Pessoas inteligentes, elas desenvolvem e treinam redes neurais, mas não vêem coisas simples. Eu li o seu post e fiquei bastante surpreendido. Se eu entendi corretamente, você, grosso modo, encontrou todas as descidas de preços de 0,2% após alguma alta, então pegou três castiçais perto dessa alta e fez algumas manipulações com seus preços e finalmente os reduziu a uma certa probabilidade com a rede neural. Mas desculpe-me, não acha que tal abordagem é demasiado primitiva? :) Estás a cavar em todos os lugares errados. É por isso que o resultado é o oposto da realidade. Eu caracterizaria a sua abordagem desta forma: você está tentando tirar 3 pixels de uma foto FullHD e com base nesses três pixels você pode fazer uma idéia da imagem inteira. OK, não o quadro todo, mas qual é a probabilidade de prever corretamente pelo menos 10% da área da imagem? Espero que o meu exemplo seja claro. Não é preciso olhar para os pixels para ver a imagem. Em outras palavras, você não precisa olhar para barras individuais para entender o gráfico, você precisa olhar para o gráfico inteiro . E a solução para o problema está mais no domínio da geometria do que na álgebra, física ou biologia, por exemplo. Embora, quando leio algumas das pesquisas que as pessoas fazem aqui, tenho a forte sensação de que estão tentando compreender a estrutura humana usando a geografia. :)

+1

Eu nem sequer diria "gráfico", mas gráficos, além de preços, mas...

A analogia de 3 pixels e HD, é muito relevante na minha opinião para o que a maioria das pessoas faz aqui.

 

Andrey Dik:

Ou mesmo alguém dirá: "Você simplesmente não sabe cozinhar MO!" - Provavelmente sim, não posso. Mas quem sabe como? Quem tem sido capaz de usar MO no mercado?

E você não está sozinho, é NORMAL, não é normal quando funciona e isso não vende cursos sobre "negociação de sucesso", não se envolve em parcerias e outros disparates, e bate em algum lugar como https://www.rentec.com/Jobs.action?data=true se não há vontade de se preocupar em levantar capital para a negociação algorítmica)
Renaissance Institutional
Renaissance Institutional
  • www.rentec.com
RENAISSANCE TECHNOLOGIES, a quantitatively based financial management firm, has openings for programming positions at its Long Island, NY research center. Programming Opportunity We are looking for bright, outstanding programmers who are interested in working in a stimulating and academic environment to implement and support software used in...
 
Mais uma vez, acredito firmemente que, para que a NS funcione, ela precisa ser treinada sobre os padrões que irão ocorrer durante uma troca (dia, semana) e, o mais importante, a reação do mercado a esses padrões deve ser a mesma que durante o período de treinamento. Então qualquer perseptron fará o trabalho. A questão é como selecionar o conjunto exato de padrões que estarão no decorrer do próximo dia de negociação ou semana????? Aqui está como é feito, e você não precisará inventar um NS super complexo ou qualquer outra coisa se a rede for treinada em padrões futuros....
 
Mihail Marchukajtes:
Você já pensou o que aconteceria se alimentássemos as redes com os padrões que serão no futuro? A questão é como encontrá-los. Que dias devo escolher para ensinar a rede para saber que eles estarão no dia atual? Aqui está a resposta. Seleccionamos os dias que tiveram o volume actual e o OM, respectivamente, na esperança de que o contexto do dia seja semelhante ao daqueles dias que estiveram na amostra de formação. Eu não envio os valores de volume e OI para a entrada da rede, só escolho estes dias, e a entrada é AD, Zscore, Kelli, etc. Em outras palavras, a idéia é selecionar tal conjunto de padrões sobre a história e a reação do mercado a eles, como nos dias atuais. Se existem teorias sobre este tipo de seleção usando outras técnicas, eu adoraria ouvir....

É exactamente assim que é feito, de que outra forma poderia ser feito? No caso trivial, o conjunto de dados de treinamento é uma seqüência vetorial de incrementos normalizados de preço de volume e OI, vamos chamar vectorSet[][] uma rede neural ou algum outro classificador de entrada =vectorSet [t][], teach output = vectorSet [t+1][]


Se eu entendi bem a pergunta...
 
Mihail Marchukajtes:
A questão é como escolher exatamente esse conjunto de padrões que será durante o próximo dia de negociação ou semana?????
Infelizmente eu não tenho o direito e francamente não quero ir mais fundo, já que estamos a roubar dinheiro um do outro)))) Mas há 2 anos, quando eu estava a trabalhar com a SAM, processava mais de 500 chips à entrada da rede neural e tinha cerca de 30 saídas, mas o tempo passa... ;)
Razão: