Normalizzazione del prezzo finanziario da utilizzare come input in una rete neurale

Aug 25 2020

Sto cercando il metodo migliore per normalizzare / standardizzare i prezzi finanziari al fine di utilizzarli come input per la mia rete neurale. Come probabilmente saprai, i prezzi finanziari non seguono una distribuzione normale e non puoi nemmeno conoscere il massimo o il minimo necessario per la normalizzazione poiché nel set di test potrebbe esserci un prezzo superiore o inferiore a quelli del set di allenamento.

Quindi ho pensato che avrei potuto standardizzare i miei dati attraverso una finestra scorrevole in modo che il prezzo fosse standardizzato al momento $t$è calcolato come: \ begin {equation} p '_ {t} = \ frac {p_ {t} -E (p_ {tk: t})} {\ sigma (p_ {tk: t})} \ end {equation }

dove con $p_{t-k:t}$ Intendo la successione dei prezzi all'interno della finestra di lunghezza k (dal periodo tk at)

Ha senso? C'è qualche ricerca che potrei approfondire? Ho trovato il metodo di normalizzazione adattiva ma è troppo avanzato per quello che devo fare (il mio obiettivo non è prevedere i prezzi, quindi è solo una variabile di input che potrebbe aiutare il modello)

Risposte

2 kurtosis Aug 25 2020 at 08:07

I prezzi finanziari, in generale, non sono stazionari. Tuttavia, per una serie di ragioni teoriche ed empiriche riteniamo che i ritorni logaritmici (differenze di$\log($prezzi$)$) sono più vicini allo stazionario. Spesso sono considerati "abbastanza vicini" da consentire l'inferenza. L'unica eccezione al fatto che i prezzi non siano vicini allo stazionario potrebbero essere i prezzi che tendono a invertire la media a causa del lento cambiamento della produzione industriale: i prezzi delle materie prime, per esempio.

C'è un importante avvertimento a tutto questo, tuttavia: sappiamo che i prezzi e i rendimenti logaritmici di tutti gli asset (comprese le materie prime) mostrano una varianza persistente e variabile nel tempo. La correzione consiste nel modellare la varianza condizionale dei rendimenti logaritmici usando qualcosa come un modello GARCH.

Potrebbe non essere necessario utilizzare un modello GARCH per ottenere inferenze utilizzabili; tuttavia, dovresti assolutamente lavorare con i log-return. Ho visto abbastanza presentazioni (nell'industria e nel mondo accademico) terminate nella diapositiva di apertura quando qualcuno non ha utilizzato i rendimenti del registro. Anche l'utilizzo di rendimenti standard spesso guadagna un certo scetticismo.

TannerPhillips Aug 25 2020 at 00:49

Non esiste una risposta giusta su come normalizzare i dati. Ho trovato questo buon articolo di Nayak et al. (2014) che forniscono diverse tecniche di normalizzazione per i dati di serie temporali finanziarie. Non ho visto la tua tecnica specifica prima. In generale penso che il problema sia che mentre si tiene conto della perdita di dati di una normale normalizzazione min / max con la finestra lokal$k$, per lunghi periodi di tempo, hai lo stesso problema di min / max che i tuoi dati possono crescere al di fuori della finestra. Personalmente inizierei con la normalizzazione del punteggio z (descritta in Nayak et al., 2014).

$p'_t = \frac{p_t-E(p))}{\sigma(p)}$

Penso che probabilmente ti si addice bene, ma gioca con altre idee a seconda della gamma dei tuoi dati.