Ressonância estocástica - página 33

 
Prival, você é um especialista em DSP. Tenho notado que tais especialistas geralmente alcançam bons resultados no Foreh. Você pode recomendar alguma literatura, por favor? O próprio DSP, teoria da informação, outra coisa...
 

Parece mais ou menos claro.

Precisamos de duas matrizes de amplitudes, uma para o sinal e outra para o ruído. A segunda matriz já está inserida, uma vez que só precisamos de um valor dela, simplesmente armazenamo-la, liberando assim a matriz para nossas necessidades. Portanto, a divisão deveria ser algo parecido com isto:

double thr = data1[hmax];
for(i=0;i<N;i++) {
  if (data[i]<thr) {
    data1[i]=data[i]; 
    data[i]=0.0; 
  } else {
    data1[i]=0.0;
  }
}

Mas provavelmente é muito pior. A razão é que, de fato, o limiar deve ser definido para a densidade espectral. O código para seu cálculo pode ser retirado do meu exemplo, mas como ele contém amplitudes imaginárias e reais para cada freqüência, teríamos que dividir em duas arrays não as amplitudes, mas as freqüências (ou seja, índices, com cada freqüência correspondendo a 2 índices: i e i+1). Portanto, parece que precisaremos de mais 3 matrizes - uma para densidade espectral e duas para índices (freqüências): sinal e ruído. Em uma palavra, teremos que fazer um trabalho sério e, antes de tudo, entender o formato do arquivo de dados para FFT após a transformação. O link no cabeçalho da biblioteca do klot irá ajudar.

Quanto à lentidão, sem o visualizador seria muito mais chato, mas você pode aproveitar o processo pelo menos :). A minimização do terminal pode acelerar um pouco as coisas.

P.S. Para frequências você pode fazer com uma matriz - digamos, escreva 1 para frequências de sinal e -1 para frequências de ruído.

 

para Matemática

Você me deixou perplexo :)

  1. Embora eu possa ver que seu nível de matemática é superior ao seu. Recomendo começar a partir do "Primeiro Encontro de Processamento de Sinal" de Yukio Sato. Trata-se de física de processos. Pelo menos para mim sempre foi assim. Se eu não entendo física de processos, também não posso aplicar a matemática (ela é aplicada :)).
  2. Clássico. Marp Jr. Análise Espectral Digital. IHMO o melhor livro, você não precisa procurar por outros.

O que mais eu acho que é necessário (útil) para o mercado forex.

Para decidir quando entrar e sair do mercado

  1. Wald. Funções de resolução estatística. Preste atenção especial ao famoso (pelo menos no campo do radar) detector Wald de dois limiares.

Para prever os movimentos de preços

  1. Farina. Processamento digital das informações do radar. Lá se presta atenção especial ao filtro Kalman, está matematicamente provado que sob certas condições ele é mais preciso do que não. Mas muitas vezes há problemas com estas condições, tenho uma idéia de como utilizá-la, além disso, o próprio mercado Forex remove muitas limitações.

Estatísticas, diferentes tipos de distribuições e suas análises.

  1. Boris Ruvimovich Levin. Fundamentos teóricos da engenharia estatística de rádio. A única edição onde não conseguimos encontrar um erro (erro de digitação). O livro de mesa foi quando eu estava escrevendo minha dissertação.

A seleção de livros é um pouco específica, mas só aí as palavras alvo (plano) substituem por preço (Close[0]), detecção de manobra (na inversão de preço) e então se torna mais claro o que pode ser aplicado :)

Todos economizados, livros anexados. Todos, exceto o último, desculpe.

Mais uma vez apelo a todos, se você tiver a oportunidade e o desejo de trabalhar em equipe, encontre-me no Skype (privalov-sv). Vod link para o andarilho http://www.skypeclub.ru/skype.htm. É muito útil para a comunicação.

Há muitas idéias, o suficiente para todos, não há tempo e energia suficientes. Nem todos se podem levantar.

O resto não cabe, não passa no php. Então você tem 1 saída :) quem precisa destes livros -> Skype, eu estou quase sempre lá. Formato do livro djvu

Arquivos anexados:
sato.zip  1353 kb
 

para lna01

"Mas provavelmente é muito pior que isso... "

Você está certo, lá será muito pior, é apenas a primeira etapa. O principal é entender como construir o indicador corretamente e otimizar a velocidade, já que serão acrescentadas fórmulas e muito boas IHMO. No futuro precisarei de mais 2 amortecedores, para análise de fase + definitivamente quero experimentar com janelas, pelo menos dois com certeza. Hemming e Butterworth. Os primeiros resultados são encorajadores. Tente apenas traçar a amplitude da 1ª harmônica do espectro (sem nenhum limite ou ordenação). Uma boa imagem é obtida, a primeira impressão é que os nós determinam o momento em que o Stop Loss é definido. Mas isto ainda precisa ser verificado, vou tentar publicar uma foto amanhã.

 

Como prometido, estou colocando fotos. Acabou sendo algo muito bonito, você poderia escrever agora um especialista. Mas há um erro em algum lugar. Talvez eu tenha tropeçado acidentalmente em alguma coisa. Veja por favor.

Fig.1.

Fig.2

  1. Se você mudar o sinal de comparação na linha, o histograma desaparece (ver Fig.2),

se (data[i]<porog) // a comparação com o limiar neste caso, há um histograma

e se assim for

se (data[i]>porog) // aqui está faltando

  1. A energia não pode ser negativa e nem a amplitude, muito menos sua soma!!! (
  2. Mas visualmente muito bonito, eu o chamaria de "energia de curva de tendência
  3. ".

P.S. A única pergunta sobre o que eu queria fazer nesta linha de código não responderá (se você encontrar um erro), veja acima uma idéia geral do indicador, o que eu queria obter, aí está tudo nas fotos. Se você explicar nas fotos o que eu recebi por causa de minhas mãos fracas. Eu vou pagar por isso. Apenas peguei o indicador MACD e o acrescentei, mas não me pareceu bem.

Arquivos anexados:
pvf2.mq4  4 kb
 
Prival:

Mas se você puder explicar em fotos o que eu recebi por causa de minhas mãos tortas. Eu lhe devo uma taxa de juros.


Isto: for( i=hmax ;i<N ;i++) - Eu ainda não entendo. Quero dizer, é claro que não é necessário olhar através de todas as freqüências, mas por que de hmax?

Em segundo lugar, a transformação de Fourier resulta em amplitudes complexas. Portanto, a amplitude para cada freqüência corresponde a dois números: a parte real e a parte imaginária. A energia é igual ao módulo de sqrt((Re+j*Im)*(Re-j*Im)). Posso acrescentar de mim mesmo que Re e Im estão muitas vezes em fase antifásica. Cortar tudo por um limiar é uma transformação não trivial e não consigo pensar em um significado físico para ela. De qualquer forma, a energia não tem nada a ver com isso.
Repito: você precisa entender o formato do arquivo de dados para FFT após a transformação. O link do cabeçalho da biblioteca do klot ajudará
 

lna01

Eu descobri, é disso que se trata, a única coisa é que eu realmente me enganei no formato dos dados. Quando descubro o formato dos dados (faço a pergunta ao klot no ramo) sento-me com uma folha de papel e uma caneta para verificar o que se soma. Estou acostumado ao matcad. Acostumei-me a lidar com o matcad. Esse é o meu erro. Em relação a for( i=hmax ;i<N ;i++) você deve tomar a partir de 1 (ou até mesmo torná-la uma variável separada). Basta pensar, há um significado físico claro se usarmos sqrt((Re+j*Im)*(Re-j*Im)).

 
Prival:

fazer dela uma variável separada

É isso mesmo :) . Se cortarmos algumas freqüências e dividirmos o resto em "sub-limiar" e "acima do limiar" por energia, não haverá dificuldades com o sentido físico :)

P.S. Talvez eu mencione o indicador com muita freqüência https://forum.mql4.com/ru/6275 :), mas lá o trabalho com amplitudes é feito corretamente - você pode simplesmente tirar dele.
 
Então o que é a linha vermelha na Fig.2? A diferença de energias das partes real e imaginária? Muito interessante. E o que significam os números na área de valor do indicador?
 
Parece haver um bug na biblioteca, ou minhas mãos estão tortas novamente :( coloquei minha pergunta aqui 'FFT Fast Fourier Transform Functions Library') se alguém pode verificar. Estou certo ou não. Tente no matlab para verificar.