Aiuto con Fourier - pagina 8

 
ANG3110 писал (а):
klot ha scritto (a):
ANG3110 ha scritto (a):
Con hmax =2; ci sarà un semplice MA, su un dato periodo, non è del tutto chiaro, perché preoccuparsi di una FFT completa allora?

No, l'ho notato anch'io, la FFT completa è molto più stabile (meno ridisegno).
In generale, penso che si debba filtrare
if(hmax>0) for(i=hmax;i<N;i++) data[i]=0.0;
per inventare qualche filtro intelligente. Ci serve per lasciare selettivamente le armoniche necessarie e azzerare quelle inutili. Allora potrebbe avere un po' di senso e di stabilità.

Inoltre, NeuroshellDayTrader usa cinque o sei filtri diversi in FFTadon, mi dispiace non avere formule, potrei armeggiare con loro.
E se si limitano le frequenze non solo in alto ma anche in basso, si può selezionare una certa banda di oscillazioni. L'indicatore sembra bello, ricorda uno stocastico.
Il valore della Fourier è che, se è opportunamente sintonizzata, mostra bene i tempi in cui sono probabili i punti di svolta. E il fatto che la traiettoria dell'ampiezza non coincida molto non è così male, al contrario è buono, la velocità di cambiamento di fase può essere presa in considerazione.

In realtà, non mi dispiace. :) La fase è una fase, puoi anche calcolarla facilmente.
Dopo la FFT diretta nell'array di dati, nella cella pari la parte reale viene memorizzata nella cella dispari, nella cella dispari viene memorizzata la parte immaginaria,
la fase sarà:
MathArctan(data[2*i+1]/data[2*i]);
l'ampiezza sarà
MathSqrt(data[2*i+1]*data[2*i+1]+data[2*i]*data[2*i]);
di nuovo, selezionare l'armonica richiesta e guardare :)
è possibile sommare le fasi e le ampiezze in una data banda di frequenza e trarre alcune conclusioni :)
 
klot писал (а):

Non mi dispiace, in realtà. :) La fase è una fase, è anche facile da calcolare.
Dopo la FFT diretta nell'array di dati nella cella pari la parte reale è memorizzata nella cella dispari quella immaginaria,
la fase sarà:
MathArctan(data[2*i+1]/data[2*i]);
l'ampiezza sarà
MathSqrt(data[2*i+1]*data[2*i+1]+data[2*i]*data[2*i]);
di nuovo, selezionare l'armonica richiesta e guardare :)
è possibile sommare le fasi e le ampiezze in una data banda di frequenza e trarre alcune conclusioni :)

Sì, e le ampiezze delle armoniche possono anche essere tracciate contro il tempo:



E questo è uno spettro armonico di 48 ore a passi di 1 ora, tracciato per il tempo corrente.

 
ANG3110 писал (а):
klot ha scritto (a):

Non mi dispiace, in realtà. :) La fase è una fase, puoi anche calcolarla facilmente.
Dopo la FFT diretta nell'array di dati nella cella pari la parte reale è memorizzata nella cella dispari quella immaginaria,
la fase sarà:
MathArctan(data[2*i+1]/data[2*i]);
l'ampiezza sarà
MathSqrt(data[2*i+1]*data[2*i+1]+data[2*i]*data[2*i]);
di nuovo, scegliete l'armonica desiderata e guardate :)
è possibile sommare le fasi e le ampiezze in una data banda di frequenza e trarre alcune conclusioni :)
E ho anche un bel disegno.
Al momento, penso che questo sistema più una rete neurale, il più promettente per il forex. Beh, ovviamente rigorosamente IMHO. :)
 

In realtà ho questa idea di applicare il metodo di Fourier.

Il metodo di Fourier dà un'approssimazione abbastanza buona della funzione su un intervallo di tempo escludendo un certo quartiere di estremità (intervallo). Sarebbe bello se Fourier approssimasse l'estremità che corrisponde al tempo attuale (t=0) così come la metà dell'intervallo. Sarebbe anche bello costruire una serie di Fourier in modo che possa prevedere il futuro. Per fare questo possiamo applicare la seguente idea:

Costruiamo una serie di Fourier sull'intervallo [T,-T] (-T - tempo che non è ancora avvenuto, t=0 - tempo presente)
Tuttavia, non abbiamo alcun dato sull'intervallo [0,-T]. Quindi all'iterazione zero prenderemo close[t]=close[0] (per t<0) e useremo questi dati per costruire una serie di Fourier f sull'intervallo [T,-T]. E poi iteriamo in modo sequenziale come segue:

1) Costruire sull'intervallo [eps,-T] un'approssimazione della serie di Fourier f per una funzione di potenza g (eps>0)
2) Costruire una serie di Fourier per l'intervallo [T,-T] per f (su T>t>eps) + g (su eps>t>-T)

Cioè approssimeremo costantemente la funzione risultante prima per una serie di Fourier e poi per una funzione di potenza. C'è un presupposto che il disallineamento {funzione prezzo previsto trasformato (t<0) + funzione prezzo storico (t>0)} con {serie di Fourier di quella funzione} sarà minimo (cioè tenderà a zero con l'aumentare del numero di iterazioni). Penso che sia una condizione necessaria perché la fine [eps,0] coincida bene con la funzione prezzo, e in secondo luogo, otterremo una previsione per il futuro.

 
shobvas писал (а):

In realtà ho questa idea sull'applicazione del metodo Fourier.

Il metodo di Fourier dà un'approssimazione abbastanza buona della funzione sull'intervallo di tempo, escludendo alcuni dintorni delle estremità (intervallo). Sarebbe bello se Fourier approssimasse l'estremità che è responsabile del tempo attuale (t=0) così come la metà dell'intervallo. Sarebbe anche bello costruire una serie di Fourier in modo che possa prevedere il futuro. Per fare questo possiamo applicare la seguente idea:

Costruiremo una serie di Fourier sull'intervallo [T,-T] (T è il tempo che non si è ancora verificato, t=0 è il tempo presente).
Tuttavia, non abbiamo dati sull'intervallo [0,-T]. Quindi all'iterazione zero prendiamo close[t]=close[0] (per t<0) e usiamo questi dati per costruire una serie di Fourier f sull'intervallo [T,-T]. E poi iteriamo in modo sequenziale come segue:

1) Sull'intervallo [eps,-T] approssimiamo la serie di Fourier f per la funzione di potenza g (eps>0)
2) Costruire una serie di Fourier per [T,-T] su f (su T>t>eps) + g (su eps>t>-T)

Significa che approssimiamo sequenzialmente la funzione risultante prima con una serie di Fourier e poi con una funzione di potenza. C'è un presupposto che il disallineamento {funzione prezzo previsto trasformato (t<0) + funzione prezzo storico (t>0)} con {serie di Fourier di questa funzione} sarà minimo (cioè tenderà a zero con l'aumentare del numero di iterazioni). Penso che sia una condizione necessaria perché la fine [eps,0] coincida bene con la funzione prezzo, e in secondo luogo, otterremo una previsione per il futuro.


Perché preoccuparsi delle equazioni di Fourier quando si può molto semplicemente filtrare una serie di prezzi senza conoscere le singole armoniche. Per esempio, le armoniche ad alta frequenza possono essere filtrate da una semplice media mobile o da un filtro digitale. Sfortunatamente, SMA, EMA e altri filtri digitali hanno un ritardo. Allora l'ultimo intervallo della serie dei prezzi può essere approssimato da una funzione di potenza. Questa idea è implementata qui:

AFIRMA'.

Non resta che estrapolare la funzione di potenza. Ma la previsione sarà molto scarsa. In generale, estrapolare il prezzo di una serie basata sull'adattamento di una funzione liscia è una perdita di tempo. Anche estrapolare una serie di Fourier non ci porterà da nessuna parte. Se si estrapola una serie di Fourier coseno, si sta essenzialmente assumendo che in futuro il prezzo si muoverà lungo una traiettoria che è una copia esatta speculare della traiettoria passata. Se si estrapola una serie di Fourier sinusoidale, si assume essenzialmente che in futuro il prezzo si muoverà lungo una traiettoria che è una copia speculare invertita della traiettoria passata. Che senso ha allora la serie di Fourier? Decidete voi stessi come la vecchia traiettoria si rispecchierà nel futuro e via!
 
gpwr писал (а):
L'unica cosa che resta da fare è estrapolare la funzione di passo. Ma la previsione sarà molto scarsa. In generale, estrapolare il prezzo di una serie basata sull'adattamento di funzioni lisce è una perdita di tempo. Anche estrapolare una serie di Fourier non ci porterà da nessuna parte. Se si estrapola una serie di Fourier coseno, si sta essenzialmente assumendo che in futuro il prezzo si muoverà lungo una traiettoria che è una copia esatta speculare della traiettoria passata. Se si estrapola una serie di Fourier sinusoidale, si assume essenzialmente che in futuro il prezzo si muoverà lungo una traiettoria che è una copia speculare invertita della traiettoria passata. A cosa serve allora la serie di Fourier? Decidere da soli come la vecchia traiettoria si rifletterà nel futuro
e via!

Avresti dovuto leggere più attentamente quello che ho scritto.
Se disegnate una serie di Fourier sull'intervallo [T,0] e provate a calcolare il valore a t<0 usando i coefficienti armonici, otterrete un valore simmetrico. Ma ho proposto di costruire una serie di Fourier per l'intervallo [T,-T], ovviamente non sarà simmetrica su 0!!!! Ecco perché abbiamo bisogno di iterazioni per costruire una serie di Fourier su un tale segmento.

gpwr ha scritto (a):
Allora l'ultimo intervallo della serie dei prezzi può essere approssimato da una funzione di potenza. Questa idea è implementata qui:

AFIRMA'.

Ho visto questo indicatore. Non è un cattivo indicatore. Ma è d'accordo che c'è una serie di Fourier che approssima la funzione sia alle estremità che al centro.
 
Ecco un'immagine - la curva frontale di Koch, dall'alto in basso cinque passi nella sua costruzione. Ogni linea retta
è diviso in tre sezioni e la sezione centrale è unita da un angolo.




A infinite iterazioni si trasforma in un "soffice fiocco di neve".

Ecco la curva frattale di Mandelbrot e le sue fasi di costruzione. Ogni linea retta è sostituita
da uno zigzag.



All'iterazione infinita diventa simile a un grafico di citazioni.

Penso che sia chiaro che le curve frattali non possono essere estrapolate
usando la decomposizione spettrale o approssimazioni lineari. Per i frattali
curve è possibile solo con metodi di somiglianza.

Naturalmente nessuno ha dimostrato che le citazioni reali sono simili alle funzioni frattali, ma
il fatto che i grafi sono autosimili (cioè se togliamo le scale diventa impossibile
per distinguere per esempio le minuzie dalle vicoli) porta a pensare al loro aspetto frattale
natura.

Nella sua opera Multifractal Walk on Wall Street
Mandelbrot propone di usare
frattali basati su zigzag deformati. Ma penso che la realtà sia anche
più complicato.

 
shobvas писал (а):
Ma d'accordo che c'è una serie di Fourier che approssima la funzione alle estremità così come al centro, solo che non può essere trovata di punto in bianco!

Sì, c'è. È una serie di Fourier completa, con seni e coseni, ma è anche difettosa. Le frequenze della trasformata discreta di Fourier sono date dalla formula 2*pi*k/N. Cioè, tutti i seni e coseni della serie di Fourier ripeteranno i loro valori con una periodicità di N battute: cos(2*pi*k/N*i)=cos(2*pi*k/N*(i+N)), sin(2*pi*k/N*i)=sin(2*pi*k/N*(i+N)). Quindi estrapolando la serie di Fourier si ottiene una ripetizione del passato. Per esempio, il prezzo di oggi si ripeterà dopo N barre. Dal momento che si seleziona N si controlla quando il prezzo si ripeterà. Di nuovo. Perché avete bisogno di una serie completa di Fourier? Decidete voi stessi dopo quante barre il prezzo si ripeterà e iniziate il trading.

Anche l'estrapolazione di una funzione di potenza è irrilevante. Non si può prevedere il mercato adattando alcune funzioni ai dati storici. Dovete usare metodi statistici o di autoapprendimento. Leggi libri sull'econometria e sull'analisi delle serie temporali. Il metodo di previsione più comune è il metodo autoregressivo Box-Jenkins. Il problema con questo metodo è che si può inserire un camion nel suo intervallo di confidenza. Mi sembra che ci si debba aspettare più successo dalle reti neurali di autoapprendimento.
 
gpwr писал (а):
shobvas ha scritto (a):
Ma sono d'accordo che c'è una serie di Fourier che approssimerebbe la funzione alle estremità così come al centro, solo che non la si può trovare in modo così schietto!

Sì, c'è. È una serie di Fourier completa, cioè con seni e coseni, ma è anche difettosa. Le frequenze della trasformata discreta di Fourier sono date dalla formula 2*pi*k/N. Cioè, tutti i seni e coseni della serie di Fourier ripeteranno i loro valori con una periodicità di N battute: cos(2*pi*k/N*i)=cos(2*pi*k/N*(i+N)), sin(2*pi*k/N*i)=sin(2*pi*k/N*(i+N)). Quindi estrapolando la serie di Fourier si ottiene una ripetizione del passato. Per esempio, il prezzo di oggi si ripeterà dopo N barre. Dal momento che si seleziona N si controlla quando il prezzo si ripeterà. Di nuovo. Perché avete bisogno di una serie completa di Fourier? Decidete voi stessi dopo quante barre il prezzo si ripeterà e iniziate il trading.

Anche l'estrapolazione di una funzione di potenza è irrilevante. Non si può prevedere il mercato adattando alcune funzioni ai dati storici. Dovete usare metodi statistici o di autoapprendimento. Leggi libri sull'econometria e sull'analisi delle serie temporali. Il metodo di previsione più comune è il metodo autoregressivo Box-Jenkins. Il problema con questo metodo è che si può inserire un camion nel suo intervallo di confidenza. Penso che ci si debba aspettare più successo dalle reti neurali di autoapprendimento.

I risultati non sono male se facciamo un supporto per la decomposizione di Fourier. In particolare, possiamo facilmente estrapolare la regressione in avanti e costruire la Fourier relativa ad essa. Si può mettere un mouving come supporto e tracciare la somma delle armoniche, in una finestra separata, come se il mouving continuasse linearmente. Si può basare su una media che varia dolcemente come T3 spostata di mezzo periodo indietro per adattarsi esattamente ai dati, ed estrapolare la fine con una parabola, che è regolata per il minimo RMS, e tracciare la Fourier relativa a questa estrapolazione. Ma in ogni caso, c'è un'alta probabilità di ripetere i cicli se costruiamo diverse varianti dell'estrapolazione di Fourier con periodi diversi e ottimizziamo ogni variante rispetto al minimo RMS. Se c'è una coincidenza nelle letture di diverse varianti, esse possono essere considerate probabili. Se c'è un ulteriore anticipo o ritardo, questo produrrà un segnale di differenza correttivo che può essere utilizzato per l'autotuning o il ricalcolo. Questo ricorda il rivelatore FATF nei ricevitori radio, che è il più efficiente e immune alle interferenze.
 
New писал (а):
Ecco un'immagine - la curva frontale di Koch, dall'alto in basso cinque passi nella sua costruzione. Ogni linea retta
è diviso in tre sezioni e la sezione centrale è collegata da un angolo.

...

Naturalmente nessuno ha dimostrato che le citazioni reali sono come le funzioni frattali, ma
il fatto che i grafici sono autosimili (cioè se si toglie la scala diventa impossibile
per distinguere per esempio le minuzie dalle vicoli) porta a pensare al loro aspetto frattale
natura.
I frattali non c'entrano nulla. L'argomento riguarda le serie di Fourier. Perché hai tirato fuori così tanto off-topic flameworthiness? Inoltre, non ci crederete, ma riesco a distinguere facilmente i minuti dai 15 minuti e i 15 minuti dalle ore.

gpwr ha scritto (a):
Sì, c'è. È una serie di Fourier completa, cioè con seni e coseni, ma ha anche dei difetti. Le frequenze della trasformata discreta di Fourier sono date dalla formula 2*pi*k/N. Cioè, tutti i seni e coseni della serie di Fourier ripeteranno i loro valori con una periodicità di N battute: cos(2*pi*k/N*i)=cos(2*pi*k/N*(i+N)), sin(2*pi*k/N*i)=sin(2*pi*k/N*(i+N)). Quindi l'estrapolazione di una serie di Fourier risulterà in una ripetizione del passato.
Non vedo l'utilità di spiegare una seconda volta perché non ci saranno ripetizioni e simmetrie.