Dialogo con l'autore. Alexander Smirnov. - pagina 5

 
Prival:

ASmirnoff 25.01.2008 11:08


Le vostre risposte alle seguenti domande sono importanti per me: 1. Quale algoritmo è migliore: il mio o quello di Djurica? Quanto meglio? 2. Avete l'algoritmo di Djurica? 3. In cosa differiscono?

Sono molto contento di averti su questo forum. E vorrebbe aiutare nella ricerca. Sfortunatamente, non posso affermare che qui ("Algoritmi efficienti di mediazione con minimo ritardo e loro uso negli indicatori") sono quei "veri" algoritmi Djuric. Ma penso che tu possa usarli e qualsiasi altro. Sono pronto a offrire alcuni dei miei filtri per un confronto, ma di questo parleremo più avanti.


Il mio suggerimento è il seguente. Se dobbiamo confrontare 2 indicatori e rispondere alla domanda quale è migliore. In primo luogo, dobbiamo determinare i criteri. Se ce n'è più di uno, possiamo eseguire la convoluzione. La cosa principale non è solo un'affermazione filosofica che un indicatore è migliore di un altro, ma esattamente la prova matematica di questo fatto. Inoltre, come hai fatto esattamente a porre la domanda "quanto meglio"?


Quindi vorrei in una prima fase definire i seguenti concetti (prendo gli inconvenienti del MA dal vostro articolo)

  1. Il ritardo della media. In quale momento dovrebbe essere calcolato e come? Per determinare se abbiamo bisogno di interpolazione o estrapolazione? O confrontare entrambi?
  2. Volatilità relativamente alta ... Più avanti nell'articolo l'effetto Slutsky-Yula è un fenomeno di Gibbs o qualcos'altro? (un file che spiega il fenomeno di Gibbs è allegato). Se è qualcosa di fondamentalmente diverso, vorrebbe leggere, chi ha un materiale si prega di condividere.
  3. Si prega di divulgare il concetto di " distorsione di frequenza lineare ".
  4. "Linearizzazione delle tendenze non lineari dei prezzi isolando queste tendenze con un certo bias".

Cosa intendi per tendenza, per favore formula. Cosa intendi per tendenza non lineare dei prezzi, la formula + cosa viene spostato in relazione a cosa e come, cosa viene individuato.


La questione è che per confrontare due indicatori qualsiasi dobbiamo dare loro qualcosa in ingresso. E per rispondere alla domanda su quale di loro filtra meglio (smussa, ritarda, ecc.) è necessario conoscere la verità, ciò che stiamo alimentando all'ingresso. Supponiamo un'onda sinusoidale rumorosa di cui conosciamo i parametri


filtrando (smussando) questo insieme di dati possiamo determinare quale dei due dà meglio la verità così come ci è nota (curva blu).

È possibile sintetizzare vari segnali di ingresso, come quelli utilizzati da Djuric per dimostrare l'eccellenza del suo indicatore.(http://www.jurikres.com/catalog/ms_ama.htm#top). L'importante è determinare quali.

Nella fase finale della ricerca sono pronto a produrre un sintetico (serie artificiale di prezzi) caratterizzato da AFC, IFR e ACF che coincide con la serie di prezzi di qualsiasi valuta selezionata entro una settimana. Qui, abbiamo fatto qualcosa di simile in 'Random Flow Theory and FOREX'. Abbiamo confrontato il filtro Kalman e il filtro Butterworth.


Voi nell'articolo parlate di AFC e FFC di alcune modalità stazionarie e di alcuni criteri originali.

Se sei riuscito a raggiungere un certo stato stazionario più l'AFC e l'FFI del segnale è stazionario, sono pronto ad applicare tutte le mie conoscenze di DSP e sintetizzare un filtro digitale che si avvicina all'optimum. Con Bayesiano penso che non funzionerà, perché avete bisogno di sufficiente completezza dei dati a priori (che raramente accade), ma il criterio di massima verosimiglianza o un osservatore ideale, penso di poter fare. Sarà solo necessario definire ciò che è segnale (almeno in AFC) e ciò che è rumore.

In effetti, non ho nemmeno bisogno dell'algoritmo Djuric in sé. Ho bisogno di un segmento di 50-100 barre del grafico del prezzo e il prodotto di uscita del vero algoritmo Djuric. Poi troveremo le stime della risposta all'impulso e sintetizzeremo l'algoritmo stesso.

 
Integer:
ASmirnoff:

...i cui articoli sul Sun sono di grande interesse per voi


Vuol dire che lei è l'autore di quel "Candidato Commando" che abbiamo letto durante il servizio nelle "Forze Armate"?:-)

1. Quale algoritmo è migliore: il mio o quello di Djurica? Quanto meglio?

Dimmi, specchio, dimmi tutta la verità...


2. Avete l'algoritmo di Djurica?

3. Qual è la differenza tra loro?


Alexander, domande interessanti, dopo un titolo così altisonante dell'articolo. Se sei del mestiere, perché non smonti il codice di Juric per capire l'algoritmo, visto che sei nella scienza di questa materia?

C'è così tanta acqua e poche spiegazioni qualificate in TAP oggi che questi articoli sono interessanti. Un'analisi di correlazione degli algoritmi indicatori ha mostrato che circa il 10-15% sono veramente originali e indipendenti gli uni dagli altri. Djuric sta facendo soldi con il suo "cervello". Vi ho offerto le mie idee gratuitamente. Credo che dovrei ringraziarti per questo.
 
ASmirnoff:
Neutrone:

Sì, prego!

Ho dato un'occhiata veloce all'articolo. Sono sicuro di non aver capito l'autore!

Nel punto in cui si parla della comparsa del ritardo di gruppo (GD) quando si usa un algoritmo anti-aliasing, l'autore offre una ricetta per "sbarazzarsi" di quest'ultimo usando una corsa inversa. ... È uno scherzo? È noto che per i sistemi casuali (che lavorano sull'estremità destra di BP), GZ è inevitabile in linea di principio. Ma, naturalmente, se BP è definito e abbiamo intenzione di lavorare con esso nel mezzo di una riga (non sul bordo destro), possiamo, come consiglia l'autore, sbarazzarci del ritardo facendo una nuova mediazione con gli stessi parametri nella direzione inversa. L'autore non menziona, tuttavia, che l'algoritmo di mediazione di questo tipo risulterà inevitabilmente in un'offerta eccessiva sull'ultima barra. L'ha dimenticato o non lo sa? O cos'altro?

Ecco una citazione dall'articolo:

"Così, con la proposta di cui sopra possiamo compensare parzialmente il ritardo di m/2 (il primo inconveniente della media scorrevole tradizionale). E il secondo effetto negativo viene eliminato ... E il terzo, e il quarto. ...

L'uso dell'algoritmo di media proposto riduce anche significativamente la distorsione di frequenza lineare... "

L'idea della compensazione del ritardo di gruppo non è mia, ma degli scienziati americani. Tuttavia, ha "funzionato" al di fuori della scala del tempo reale. Beh, nella radioastronomia, per esempio. Il mio risultato è che sono riuscito a proporre praticamente un algoritmo sotto forma di media mobile sintetica. Collega, devi studiare la "parte materiale" prima di iniziare una discussione pseudo-scientifica.


Prima di mandarmi di nuovo a fare i conti, rispondi a una domanda diretta: come vedi tu, "collega", il valore pratico del tuo algoritmo per l'analisi delle serie temporali finanziarie se comporta un costante ridisegno del bordo destro della curva di media? Il bordo al quale noi (trader, MTS) dobbiamo prendere una decisione!

E per favore non si appelli agli americani, agli astronauti, ecc., tutti hanno risolto questo problema per il loro compito e non ho dubbi che l'abbiano risolto, a differenza di lei, con perfezione. Inoltre, se eseguite il vostro algoritmo su un rumore casuale integrato, lo smusserà altrettanto perfettamente. Cos'è, ha intenzione di affermare ora che può prevedere il futuro quando è impossibile in linea di principio? Spero di no, perché se guardate il bordo destro della curva, potete vedere come sia molto diverso (rispetto al resto della sezione di lisciatura) dai punti sperimentali. E solo dopo un bel po' di smanettamenti (circa m/2 punti), prende una posizione "rispettabile". Ma non fa né caldo né freddo per noi. In altre parole, voglio dire che tutta la vostra armoniosa costruzione (quasi nessun FC, LA, bassa "volatilità", ecc.) poggia su un fondamento (la possibilità di applicare il reverse run) che sembra avervi succhiato di mano e che non è applicabile all'analisi delle serie del mercato.

Signori! Sono lo stesso Alexander Smirnov, i cui articoli in "VS" suscitano il vostro grande interesse. Sono uno scienziato, ma in passato sono stato un commerciante pratico. Sono molto bravo in TAR. Sono un matematico applicato.
:-)
 
ASmirnoff: L'algoritmo in WPI è corretto, ma il programmatore che lo ha implementato non ha esperienza con il linguaggio. Il criterio della verità è la pratica. Questo algoritmo, indipendentemente dalla dimensione della finestra di mediazione, fornisce un ritardo di 1 bar nel prodotto di mediazione.

È molto buono che il ritardo è solo 1 bar. È possibile vederlo in prima persona? Dove posso trovare un indicatore pronto?
 
LeoV, questo deve essere visto nella dinamica. Qualsiasi curva liscia con una perfetta risposta all'impulso è inutile (applicata ai nostri compiti) se viene ridisegnata.
 
Mathemat:
LeoV, questo deve essere visto nella dinamica. Qualsiasi curva liscia con una perfetta risposta all'impulso è inutile (applicata ai nostri problemi) se va in sovraccarico.

È in overdraw? Beh, allora non c'è modo di applicarlo ai nostri problemi. L'algoritmo SSA (caterpillar) è anche un buon algoritmo, ma purtroppo ridisegna......
 
<br / translate="no"> È possibile vederlo di persona in qualche modo? Dove posso trovare un indicatore pronto?


Sto cercando di tradurlo da Iasi:


//+------------------------------------------------------------------+
//|                                                   SmirnoffMA.mq4 |
//+------------------------------------------------------------------+
#property copyright "Smirnoff moving average"
#property link      "www.spekulant.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int per=4;   // должна быть кратна 4!(4,8,12,и т.д.)
//---- buffers
double ExtMapBuffer1[];
//----
int n;
double alf=0.0,q1[],q2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   //
   alf=2.0/(per/2+1);
   n=per-1;
   ArrayResize(q1,per); ArrayResize(q2,per);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   if(counted_bars < 0)    return(-1);
   if(per%4!=0)            return(-1);
   int lm = Bars - counted_bars + 1; 
   //----
   for(int shift=0; shift<lm; shift++)
      {q1[0]=Close[shift];
       for(int j=1; j<per; j++) q1[j]=q1[j-1]+alf*(Close[shift+j]-q1[j-1]);
       for(int s=1; s<per/2; s++)
          {for(j=0; j<per; j++) q2[j]=q1[n-j];
           q1[0]=q2[0];
           for(j=1; j<per; j++) q1[j]=q1[j-1]+alf*(q2[j]-q1[j-1]);
          }
       ExtMapBuffer1[shift]=q1[n];
      }
   //----
   return(0);
  }
//+------------------------------------------------------------------+
File:
 
zigan: Sto cercando di tradurre da Iasi:

Quindi questo indicatore si ridisegna o no?
 
No.
 

Alexander, è così che dovrebbe essere? Il blu è quello che ha fatto zigan con il tuo algoritmo, il blu è JMA da Code Base. Entrambi hanno il parametro 12.

Ecco un'altra immagine - quando il parametro è uguale a 4 per entrambe le curve:

Conclusioni (se l'algoritmo di zigan è stato tradotto correttamente):

1. La tua curva è "pungente".

2. Quando si aumenta il parametro, la curva è sottomessa, cioè Djuric gestisce meglio i movimenti forti.