Teoria do Fluxo Aleatório e FOREX - página 14

 
Yurixx:


Bem, na minha opinião, esta é uma afirmação muito rígida. De fato, não há estudos que forneçam estatísticas sobre a vida útil dos modelos. Além disso, não há dados sobre a quantidade de informação (= tempo de atraso) necessária para reconhecer o modelo. Mesmo aqueles que introduzem e utilizam esses modelos preferem não conduzir tais estudos ou não publicá-los. Obviamente, acredita-se que se a estratégia tem um motivo positivo, então o modelo é reconhecido antes que as probabilidades sejam igualadas.

E existem tais estratégias, ao vivo. Olhe para Melhor. Sua EA realmente faz o que eu queria implementar na minha - ela reconhece pontos pivô e entra no início de uma onda. E ele se move tanto para cima quanto para baixo. Aqui você tem uma previsão e antes do reconhecimento.

...

Portanto, precisamos estimar claramente os recursos tanto em termos de memória como de tempo de ciclo de computação. Caso contrário, você pode obter um ciclo de computação de 5-10 horas. Que novidades, então? Só restou para jogar por dias ou semanas. :-)


Claro que é de fato uma hipótese e não se baseia em estatísticas (que não pode ser um argumento para tais alegações porque um exemplo é suficiente para refutá-las), mas em considerações sistêmicas, ou seja, considerações de equilíbrio. Mas o conselheiro deBetter também não é um argumento - pouco tempo de observação. No entanto, para nós, os dons sem dinheiro (e há poucos bilionários entre nós :), há uma boa notícia: o fato de que nossas ações não afetam o mercado de forma alguma, por ordens de magnitude, simplifica a tarefa. Exceto quando nosso modelo coincide com o modelo de uma das baleias :)

O problema do volume de cálculos será resolvido com a criação de um cluster, acho que para o trabalho na estratégia pronta não será um problema recrutar participantes. Bem, espera-se que um computador possa lidar com um filtro.

 
lna01:


A boa notícia é que nossas ações não afetam de forma alguma o mercado. Exceto quando nosso modelo coincide com o de alguma baleia :)

O problema da quantidade de computação pode ser resolvido com a criação de um cluster, acho que não será um problema recrutar participantes para trabalhar em uma estratégia já feita. Bem, espera-se que um computador possa lidar com um filtro.


Como será que o fato de "nossas ações não terem impacto no mercado" simplifica a tarefa "por uma ordem de grandeza"? Parece-me ser o oposto. Se nossas ações tivessem um impacto no mercado (de uma forma desejável), não só simplificariam como até eliminariam o problema. :-) E não precisaríamos então de nenhum robô.

Quanto ao conjunto, você me aborreceu. Mesmo meu envolvimento pessoal, acho que não vai salvar a situação. Há apenas 8 bilhões de pessoas na Terra, provavelmente não há mais computadores. Como é possível fazer um cluster se você tem de 10 a 100 bilhões de filtros para computar? :-)))

 
Yurixx:
Eu acho que o oposto é verdade. Se nossas ações influenciassem o mercado (e de uma forma desejável), não só o simplificariam, mas o eliminariam como um problema. :-) E não precisaríamos então de nenhum robô.

De uma forma desejável? Assim que nossas ações começarem a afetar visivelmente o mercado, o mercado começará a trabalhar contra nós pessoalmente. Incluindo bancos centrais e agências de inteligência. Soros teve sucesso em seu tempo como ação única, e você quer ter um modelo que lhe permita bombear todo o dinheiro do mundo? Bem, digamos que funciona. E quem vai precisar do dinheiro depois disso? :)

Tecnicamente, todas as constantes apenas começarão a se transformar em variáveis.

Com um bilhão de participantes, a aproximação de nenhum feedback deixará de funcionar. E 100 não é um número inalcançável.

 

Калмановская фильтрация

Introdução

Atualmente, são amplamente utilizados filtros adaptativos nos quais novas informações recebidas são utilizadas para a correção contínua de uma estimativa previamente feita do sinal (rastreamento de alvo em radiolocalização, sistemas de controle automático, etc.). De particular interesse são os filtros adaptativos recursivos, conhecidos como filtros Kalman.

Estes filtros são amplamente utilizados em malhas de controle em sistemas automáticos de regulação e controle. Foi aqui que eles se originaram, o que é evidenciado pela terminologia tão específica utilizada para descrever sua operação como espaço de estado.

A tarefa de estimativa de parâmetros

Uma das tarefas da teoria da decisão estatística de grande importância prática é a tarefa de avaliação dos vetores e parâmetros estaduais dos sistemas, que é formulada da seguinte forma Suponha que precisamos avaliar o valor de um parâmetro vetorialX que não é diretamente mensurável. Em vez disso, outro parâmetro Z, que depende de X, é medido. A tarefa de estimativa consiste em responder à pergunta: o que podemos dizer sobre X conhecendo Z. Em geral, o procedimento para a estimativa ótima do vetor X depende do critério de qualidade adotado para a estimativa. Por exemplo, uma abordagem Bayesiana da tarefa de estimativa de parâmetros requer informações completas a priori sobre as propriedades probabilísticas do parâmetro estimado, o que muitas vezes é impossível. Nesses casos, é utilizado o Método dos Mínimos Quadrados (LSM), que requer muito menos informações a priori. Consideremos uma aplicação de LOC para o caso quando o vetor de observação Z estiver conectado ao vetor de estimação X por um modelo linear e houver uma interferência V, não correlacionada com o parâmetro estimado:

(1)

onde H é uma matriz de transformação que descreve a relação entre os valores observados e os parâmetros estimados.

A estimativa X que minimiza o quadrado do erro é escrita da seguinte forma:

(2)

Que o distúrbio V não esteja relacionado, neste caso a matriz RV é simplesmente uma matriz unitária, e a equação para a estimativa torna-se mais simples:

(3)

Problema de filtragem

Ao contrário do problema de estimativa de parâmetros que têm valores fixos, no problema de filtragem precisamos avaliar processos, ou seja, encontrar estimativas atuais de sinais variáveis no tempo distorcidos por interferência e, portanto, indisponíveis para medição direta. Em geral, o tipo de algoritmos de filtragem depende das propriedades estatísticas do sinal e da interferência. Vamos supor que o sinal desejado é uma função de variação lenta do tempo e que a interferência não está relacionada a ruído. Vamos utilizar o método dos mínimos quadrados, novamente devido à falta de informações a priori sobre as características de probabilidade do sinal e da interferência.

Essencialmente, implementamos um processo de estimativa paramétrica baseado em um modelo autoregressivo do processo de geração de sinais.

A Fórmula 3 é facilmente implementada programticamente através do preenchimento da matriz H e da coluna de observação vetorial Z. Tais filtros são chamados de filtros de memória finita porque utilizam as últimas k observações para obter a estimativa atual Xpoc. A cada novo ciclo de observação, uma nova observação é adicionada ao conjunto atual de observações e a antiga é descartada. Este processo de obtenção de estimativas é chamado de janela deslizante.

Filtros com memória crescente

Filtros com memória finita têm uma grande desvantagem - após cada nova observação, um recálculo completo de todos os dados armazenados deve ser realizado novamente. Além disso, o cálculo das estimativas só pode ser iniciado após os resultados das primeiras k observações terem sido acumulados. Ou seja, estes filtros têm um longo tempo de processo transitório. Para resolver este inconveniente, devemos mudar de um filtro com memória permanente para um filtro com memória crescente. Em tal filtro, o número de valores observados usados para estimativa deve coincidir com o número n da observação atual. Isto permite obter estimativas a partir do número de observações igual ao número de componentes do vetor X estimado. E isto é determinado pela ordem do modelo adotado, ou seja, quantos termos da série Taylor são usados no modelo. Ao mesmo tempo, com o aumento de n as propriedades de suavização do filtro são melhoradas, ou seja, a precisão das estimativas é aumentada. No entanto, a implementação direta desta abordagem está ligada ao aumento dos custos computacionais. Portanto, filtros com memória crescente são implementados como filtros recorrentes.

Um filtro com memória crescente tem uma característica importante. Se olharmos a fórmula 6, a estimativa final é a soma do vetor de estimativa previsto e o termo de correção. Esta correção é grande para n pequeno e diminui conforme n aumenta, tendendo a zero para . Isso é como n aumenta as propriedades de suavização do filtro e o modelo inerente a ele começa a dominar. Mas o sinal real só pode se ajustar ao modelo em áreas separadas, de modo que a precisão da previsão piora. A fim de lutar contra isso, a partir de uma proibição de redução adicional do prazo de correção é introduzida. Isto equivale à troca da largura de banda do filtro, ou seja, em pequeno n o filtro é mais largo (menos inercial), em maior n ele se torna mais inercial.



Compare as figuras 1 e 2. Na primeira figura, o filtro tem uma grande memória, com boa suavização, mas devido à estreita largura de banda, a trajetória estimada fica atrás da trajetória real. Na segunda figura, o filtro tem uma memória menor e é menos suave, mas acompanha melhor a trajetória real.

Tendo lido o fio condutor desde o início e tendo olhado através do conteúdo do artigo extraído acima, torna-se claro que o método de processamento de BPs usando filtros Kalman é baseado em uma declaração a priori sobre a presença de tendências determinísticas nas BPs analisadas.
Vamos definir:
1. Que haja uma variável aleatória normalmente distribuída com expectativa zero e correlograma zero ou sinal-variável. Ao integrá-lo, obtemos um análogo de uma série cronológica. Se a série for suficientemente longa, podemos marcar qualquer trecho longo de movimento direcional de preços. Chamemos tal tendência de estocástica. Com base na principal impossibilidade de construir o TS, que poderia lucrar com tais séries no longo intervalo de tempo, concluímos que é impossível detectar as tendências estocásticas com a ajuda de sistemas casuais.
2. Suponha que haja uma variável aleatória normalmente distribuída com expectativa zero e correlograma positivo.
Se a série for longa o suficiente, podemos marcar qualquer período longo do movimento de preços direcionados. Chamemos essa tendência de determinista. Por exemplo, o cruzamento de duas médias móveis com períodos diferentes nada mais é do que uma aproximação à derivada de uma série temporal suavizada. É claro que isto funciona como a matemática exige: uma derivada maior que zero significa que a função está aumentando, menos que zero significa que a função está diminuindo. Mas poucas pessoas sabem que funciona apenas para séries com um FAC positivo, e TODAS as séries de moedas em todas as TFs têm um FAC negativo! E, consequentemente, o método não funciona no mercado ou funciona, mas por acidente...
Principais problemas da análise de séries cronológicas
As principais diferenças entre uma série cronológica e uma seqüência de observações que formam uma amostra aleatória são as seguintes:
- primeiro, ao contrário dos elementos de uma amostra aleatória, os membros de uma série temporal não são independentes;
- Em segundo lugar, os membros de uma série temporal não são necessariamente distribuídos igualmente.

Geralmente, distinguem-se 4 fatores sob a influência de quais valores de séries temporais são formados.
1. Os de longo prazo que formam a tendência geral (de longo prazo) no atributo examinado. Normalmente, esta tendência é descrita por uma função não aleatória (cujo argumento é o tempo), geralmente monótona. Esta função é chamada de função de tendência ou simplesmente uma tendência.
2. Sazonal, que forma flutuações periódicas no atributo analisado em determinadas épocas do ano. Como esta função deve ser periódica (com períodos múltiplos de "estações"), sua expressão analítica envolve harmônicas (funções trigonométricas) cuja periodicidade é normalmente determinada pela essência da tarefa.
3. Cíclico (conjuntural) formando mudanças do atributo analisado causadas por ciclos de longo prazo de natureza econômica ou demográfica (ondas de Kondratieff, "poços" demográficos, etc.).
4. Random (irregular), que não pode ser contado e registrado. Seu impacto na formação dos valores das séries temporais é precisamente o que determina a natureza estocástica dos elementos da série e, portanto, a necessidade de interpretar os membros como observações feitas sobre variáveis aleatórias. Denotemos o resultado do impacto de fatores aleatórios por meio de variáveis aleatórias ("resíduos", "erros").

Naturalmente, não é necessário que os quatro tipos de fatores estejam envolvidos simultaneamente no processo de formação dos valores de qualquer série temporal. Conclusões sobre se os fatores de um determinado tipo participam ou não da formação dos valores de uma determinada série temporal podem ser baseadas tanto na análise da parte substancial do problema, quanto em uma análise estatística especial das séries temporais investigadas. Entretanto, em todos os casos, a participação de fatores aleatórios é assumida. Assim, em termos gerais, um modelo de dados (com um esquema estrutural aditivo da influência de fatores) parece ser uma soma de todos ou alguns dos fatores.
Há critérios segundo os quais as BPs são referidas a um ou outro tipo. Segundo eles, as BPs do tipo FX não contêm tendências determinísticas, não têm um componente cíclico, não têm um componente sazonal... devo continuar?
Agora uma pergunta para você, Prival: o que vamos detectar com um filtro Kalman multivariado e super-duper sofisticado?



 

O filtro pode ser ajustado a qualquer processo não necessariamente determinístico. Você pode definir 1 filtro para (1. Longo prazo, ....) 2º filtro para (2. Sazonal,...) 3º filtro para (3. Cíclico...) 4º filtro para (4. Aleatório (irregular),...) etc.

Não vejo uma diferença fundamental em analisar e decidir para onde as cotações fluem e o movimento do avião se desloca. Uma aeronave pode realizar um mergulho, um caber, uma cobra, uma cobra, uma cobra e . ... qualquer tipo de manobra a qualquer momento (conforme o piloto desejar). E quando ele sabe que o míssil é lançado, acredite em mim, ele está girando como o inferno em uma frigideira.

A tarefa dos filtros Kalman (não um !!! filtro para todos os casos), mas vários. 1 Determinar - tipo de manobra e hora de seu início. 2 Prever onde o avião estará dentro de algum tempo, para atacá-lo da maneira mais eficaz possível (tirar proveito :-)).

Portanto, é necessário construir não um filtro, mas vários, cada um deles montado para seu próprio modelo (plano, tendência).

A variante mais simples é 1 filtro que trabalha com a tendência e outro com o plano. O algoritmo do filtro Kalman tem um procedimento que lhe permite determinar qual filtro é melhor agora.

Espero que você não argumente que existem sistemas que funcionam bem em uma tendência plana, mas falham em uma tendência e vice-versa, eles funcionam bem em uma tendência, mas não em um plano. Assim, o filtro Kalman pode lhe dizer quando você precisa trocar.

P.S. Eu ainda tentarei construir o filtro Kalman, construir diferentes padrões de movimento e implementar o TS com base neles. O filtro Kalman tem uma característica única que os indicadores padrão não têm, ele é capaz de prever + digamos que eu construo 3 filtros planos, de tendência, de intervalo. Em alguma seção nenhum desses filtros funciona, analiso esta seção e construo o 4º filtro, etc. Não uma busca idiota de -100 a +100 (perceptor), mas um treinamento significativo do sistema.
 

para Prival

Espero que você não esteja criando a Iniciativa de Defesa Estratégica contra citações como uma resposta aos abutres imperialistas? :о)))

 
Prival:
P.S. Eu ainda tentarei construir um filtro Kalman, construir diferentes padrões de movimento e implementar um TS baseado neles. Por exemplo, eu vou construir 3 filtros: Flat, Trend, Gap. Em alguma seção nenhum desses filtros funciona, analiso esta seção e construo o 4º filtro, etc. Não uma busca idiota de -100 a +100 (perceptor), mas um aprendizado sensato do sistema.


Eu recomendo: não se esforce muito, você pode quebrar a mão. No início, construir apenas um filtro, para planos ou tendências. Enquanto você estiver fazendo isso, você entenderá muito sobre Forex, e será mais fácil seguir em frente. É especialmente importante entender o seguinte: nenhum comerciante real tem como objetivo obter lucro. de quaisquer situações. Cada um encontra uma lista muito limitada para si mesmo e trabalha apenas com estes padrões particulares.

Se você conseguir criar um filtro que irá estatisticamente distinguir apenas uma situação lucrativa que não é muito rara, digamos, uma vez por dia, então é uma cornucópia com a qual todos aqui sonham.

 

Prival, o tema é interessante, eu conheci seus artigos - pensamentos sensatos (embora na minha opinião seja melhor modelar e filtrar a trajetória no sistema de coordenadas cartesianas, mas não é relevante). No entanto, alguma semelhança visual da trajetória AFK Doppler da meta aérea e do movimento de preços me parece casual e não merece atenção, porque a natureza dos processos é completamente diferente. As propriedades dinâmicas da aeronave e as citações, infelizmente, têm pouco em comum. Como um fio aqui comparou o movimento de preços com a rota de vôo de uma mosca, não de um avião. Mas mesmo uma mosca não é capaz de gansos, por exemplo.

Ao mesmo tempo, se você definir uma regressão linear de preço como um sinal, você pode "pegar" algumas centenas de pips durante um ano, ou mesmo zero - se o coeficiente da regressão linear for igual a zero. O mesmo pode ser dito sobre a ressonância estocástica - podemos detectar uma tendência lenta às custas de uma de alta freqüência com maior amplitude, mas o que podemos ganhar com isso? Dito isto, às vezes ocorrem movimentos de preços de vários números em apenas alguns ou três dias. E pode haver dezenas de movimentos desse tipo em um ano para quase todos os pares. E em pequenos períodos de tempo, pode haver centenas de movimentos de cerca de meio número em um ano, e milhares de movimentos de 20 pips. Então a pergunta é: precisamos de um sinal ou ruído?

De vez em quando, repito no fórum minha tese que acredito que não adianta dividir o preço em sinal e ruído. É uma série cronológica que descreve um processo não estacionário em um sistema dinâmico não-linear super-complexo. É um escalar que observamos como uma medida generalizada de milhões de parâmetros primários. Não há necessidade de dividi-lo em componentes - não há nenhum. Portanto, a aplicação dos métodos tradicionais de filtragem (eles parecem já discutidos neste fórum em vários momentos) não é adequada para a tarefa.

Existem métodos adequados? Sim, há. Na véspera do campeonato por sugestão do klot e de outros participantes do fórum, fiquei interessado na inteligência artificial. O termo, infelizmente, foi desrespeitado, e algumas publicações aqui no site até o desvalorizaram aos meus olhos, por isso, por muito tempo eu me encolhi da teoria do "novo emaranhado". No entanto - não, a publicidade também é publicidade, em algum momento a propaganda da Perceptron também desempenhou um papel positivo ao atrair a atenção para o assunto. Mas depois de ler a literatura, vi até onde a chamada "IA fraca" foi em comparação, por exemplo, com trinta anos atrás, quando ouvi falar dela pela primeira vez. Mais especificamente, o quanto estou longe disso.

Eu implementei uma grade simples, mas os exemplos de outros Conselheiros Especialistas, e especialmente do atual líder Better, mostram que é uma boa direção a ser seguida.

Prival, não quero confundi-lo com seu plano, mas estou convencido de que você encontrará muita utilidade na IA também para sua atividade profissional e construirá um TS rentável mais rapidamente.

 

Meus senhores, deixem-me dar-lhes alguns conselhos. Você me oferece outras maneiras de construir meu TS (dando exemplos de IA, redes neurais, mas do meu ponto de vista você não os entendeu completamente). Ou talvez você pense que acabei de começar o Forex (embora eu me lembre dos tempos em que o spread mínimo era de 10-15 pips e parecia ser uma bênção), ou eu não tenho idéia sobre a IA, redes neurais e de onde as pernas crescem :-).

Agora vou tentar ajudá-lo a entender o que eu quero fazer e o que você faz, se você criar uma "simples rede treinada".

Para melhor compreensão, vou dar-lhe o link, lê-lo novamente e compará-lo com o que escrevo abaixo (não consigo encontrar a declaração de klot, infelizmente, talvez ela diga lá também).

Como encontrar uma estratégia comercial lucrativa ("Como encontrar uma estratégia comercial lucrativa")

Comércio Automatizado Inusual ("Unusual Automated Trading")

Aqui está uma citação : "Se dividirmos os objetos em duas classes: longos e curtos, e tomarmos valores de indicadores ou osciladores de análise técnica como sinais, então só precisamos descobrir a equação do plano e tentar usá-la para identificação. A declaração do problema é clara.

Esta é a teoria do reconhecimento em sua forma pura, e os militares a utilizam perfeitamente e por muito tempo (exemplos de classes ("amigável - estrangeiro", (lutador - portador, etc.). E aqui está uma tarefa mais complicada do que 4 classes (BMP - APC - dummy APC - dummy APC), tente gerenciar com uma linha reta aqui :-), divida tudo em 4 classes com ele.

Redes neurais, a notória IA surgiu apenas a partir desta teoria, simplesmente as pessoas são inerentemente preguiçosas e querem criar um sistema novamente citando"Quão realista é negociar com sucesso e confortavelmente usando a plataforma de negociação MT4, e não sobrecarregar-se muito, ao fazê-lo, com uma análise meticulosa do mercado?". O treinamento de um computador para reconhecer um grande número de aulas e características é muito difícil, por isso foram criadas as Redes Neurais (NS). NS tiveram algum sucesso, mas isto não é uma panaceia, não há INTELLECT lá. O principal nestas tarefas, e o mais importante, é a divisão em classes e a seleção de características para reconhecer estas classes.

Depois de ler este material, tenho a impressão de que ou os autores não entendem o que estão fazendo ou nos enganam, sabendo-o muito bem. Aqui está um fragmento de amostra do código principal.

double perceptron() 
  {
   double w1 = x1 - 100.0;
   double w2 = x2 - 100.0;
   double w3 = x3 - 100.0;
   double w4 = x4 - 100.0;
   double a1 = iAC(Symbol(), 0, 0);
   double a2 = iAC(Symbol(), 0, 7);
   double a3 = iAC(Symbol(), 0, 14);
   double a4 = iAC(Symbol(), 0, 21);
   return (w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);
  }

Se eu criei um algoritmo de combate que determina o "amigo ou inimigo" usando como sinal (um indicador técnico Acceleration/Deceleration (AC)), para a parede será pouco (mesmo se eu levar em conta a aceleração do objeto 7, 14 e 21 minutos atrás). Isso não muda a essência. E note, estou apenas falando da tarefa de dividir em classes e não estou dizendo o que fazer com elas depois de serem separadas. Os autores do material acima, misturando tudo em um grupo (imediatamente na luta para comprar ou vender).

Agora eu gostaria de voltar ao material que coloquei neste tópico e mostrar como o TC deve ser (naturalmente do meu ponto de vista).

1. Aqui está uma imagem, pense sobre isso, talvez ela lhe diga como melhorar as "malhas" que você cria. Este é um detector Waldowsky em uma foto (YES-NO lógica, eu falei sobre isso há algumas páginas atrás).

2. Definir claramente os sinais de reconhecimento (quero usar como modelos de "comportamento" que coloco no filtro Kalman). O que você coloca não sei, tente observar pelo menos uma condição que não deve estar correlacionada (fortemente correlacionada).

Determine a classe na qual você vai dividir o fluxo de entrada de citações (diga "flat trend"). E somente após o reconhecimento do córrego se lança à batalha, ou seja, escolhe um sistema comercial que funcione bem no plano, o outro - na tendência.

P.S. Eu perdi meio dia novamente, dizendo as coisas óbvias para mim, mas meu objetivo não foi alcançado :-(. Eu nunca encontrei ninguém que realmente queira me ajudar na criação do TS. Provavelmente vou apagar o inferno desta linha.

 

Acredito que a crítica construtiva é tão valiosa quanto um possível acordo entre as partes na fase de projeto e discussão de uma possível estratégia. Isto pode economizar tempo e esforço. Portanto, não vejo razão para ficar aborrecido - estamos na mesma equipe e temos um objetivo comum.

Você, Prival, já foi notado várias vezes que a aeronave tem massa e, portanto, é sempre possível escolher uma partição discreta da escala de tempo de forma que a curva que descreve o movimento da aeronave no espaço, levando em conta todos os possíveis somersaultos, será suave. A sobreposição de uma interferência aleatória aditiva nesta curva não altera o quadro - podemos reconstruir a trajetória e somos capazes de prever. Considero isto como um ponto fundamental que distingue o comportamento da LA do tipo de preço VR. Não há curva suave na série de preços carregada de interferências - há critérios de avaliação que dizem isto com alguma certeza.

Esta é uma crítica de minha parte, e vocês, até agora, não responderam de forma construtiva a ela.