Teoria del flusso casuale e FOREX - pagina 17

 

Ecco l'AKF, dategli un'occhiata. Bisogna solo essere sicuri che conti correttamente. Guarda qui.

File:
akf_01.mq4  7 kb
 
Prival:

Ecco l'AKF, dategli un'occhiata. Bisogna solo essere sicuri che conti correttamente. Guarda qui.


Il calcolo ACF stesso è fatto per definizione e questo è corretto per cominciare - il codice è semplice e trasparente. Ma sarebbe interessante confrontare la velocità se calcolata tramite FFT. A proposito, questo codice si presta anche a un'accelerazione notevole.
 
lna01:
Privato:

Ecco l'AKF, dategli un'occhiata. Bisogna solo essere sicuri che conti correttamente. Controllare.


Il calcolo ACF stesso è fatto per definizione e questo è corretto per cominciare - il codice è semplice e trasparente. Ma sarebbe interessante confrontare la velocità se si calcola tramite FFT. A proposito, questo codice si presta anche ad una notevole accelerazione.


Attraverso la FFT non sarà esatta, sul grafico dell'ottava pagina ('Random Flow Theory and FOREX'), la linea rossa è ACF per formula, la linea blu è simmetrica intorno al centro. Potrei aver fatto qualcosa di sbagliato, però (il file stesso è allegato nella stessa pagina sopra). lna01 Per favore ditemi in formule, come usare la FFT per costruire ACF correttamente, l'ho fatto a memoria, forse ho fatto un errore.

forward FFT -> modulo+ ^2 -> reverse FFT -> estrazione della parte reale Re() -> normalizzazione

 
Prival:

Ecco l'AKF, dategli un'occhiata. Bisogna solo essere sicuri che conti correttamente. Guarda qui.

Non l'hai confrontato con matcad? Ho fatto appositamente WriteToFile per controllare ;)
 
lna01:
Ma sarebbe interessante confrontare la velocità di conteggio tramite FFT.
Nella prima variante c'era anche il metodo via FFT - è davvero diversi ordini di grandezza più veloce. L'abbiamo abbandonato a causa della discutibile accuratezza.

lna01:
A proposito, questo codice si presta anche a un'accelerazione notevole.
Sono d'accordo, il codice può essere ottimizzato. Ma non è ancora una questione di velocità, quindi non voglio farlo.
 
2 Prival , komposter:

L'ACF via fft era simmetrico molto probabilmente a causa degli zeri di sottoscrizione. E la precisione è discutibile per qualche motivo.



Ma qualcosa mi dice che il calcolo in tempo reale della testa potenziata dovrebbe essere più veloce della versione fft. Tuttavia, l'importo totale stimato dei calcoli continua ad essere molto confuso. In particolare l'arbitrarietà nella scelta della lunghezza della regressione lineare è già discutibile in questa fase. Un problema simile per i canali di regressione lineare è ancora un problema in generale. Infatti, ne ho già scritto prima in questo thread.
 

Sì, ci sono più domande che risposte. Ma sta diventando interessante.

1. Il coefficiente di correlazione non dovrebbe essere modulo maggiore di 1, ma lo è.

2. Perché a*x+b, Prival? È così che vuoi detrenderizzare il grafico? Ci sono altri modi che sono più accurati. Per esempio, la regressione lineare (l'analogo del mach, ma con un ritardo minore). Deducendo dal prezzo il valore corrente LR, ci liberiamo perfettamente delle tendenze, comprese quelle non lineari.

Possiamo semplicemente prendere la prima differenza di prezzo (cioè formare una serie di rendimenti), ma questo rimuove solo le componenti lineari delle tendenze. Se prendiamo la seconda differenza, rimuoviamo anche quelle quadratiche, ecc.

Se vuoi sbarazzarti del lag (ma vuoi ripercorrere la storia), allora puoi fare qualcosa come Fourier MA, cioè basato sulla trasformata di Fourier e sull'esclusione delle alte frequenze. Klot ha anche questo.

 
Mathemat:

1. Il coefficiente di correlazione non dovrebbe essere modulo maggiore di 1, ma lo è.

Se stiamo parlando dell'immagine con fft, allora per qualche motivo il primo elemento esce dalla serie, ed è quello che viene usato per la normalizzazione. Non ho cercato di capire cosa sia dalle immagini fornite nel post.
 
Fate attenzione alla FFT: tnn (o nl nel corpo) deve essere una potenza di due, cioè 2^n, dove n è un numero intero.
 
rsi:
Devi stare più attento con la FFT: tnn (o nl nel corpo) dovrebbe essere un grado di due, cioè 2^n, dove n è un intero.
In questo senso tutto va bene, ma ho perso elementi strani di densità spettrale :). Quindi non c'è nessun problema con fft, sostituirò la fonte in quel post ora.


P.S. Ho rimosso il codice sorgente sbagliato e lo posto qui.

P.P.S. Solo in caso di maggiori dettagli sulla gestione dei dati: la dimensione dell'array originale deve essere aumentata di 2 volte, poi di nuovo aumentata al più vicino grado di due. Tutte le celle aggiunte dovrebbero essere scritte a zero. L'array di densità spettrale per l'inverso fft dovrebbe anche avere dimensioni estese; i quadrati di ampiezza dovrebbero essere scritti nelle celle per le componenti reali, e (naturalmente) gli zeri dovrebbero essere scritti nelle celle per quelle immaginarie. Come risultato prendiamo gli elementi dall'inizio alla dimensione originale dell'array.
2 Prival: non so come riprodurre esattamente questo in Matkadec, il trial and error dovrebbe aiutare alla fine. L'ACF dovrebbe corrispondere con ragionevole precisione.
File:
akf_01_fft.mq4  13 kb
Motivazione: