Previsione di mercato basata su indicatori macroeconomici - pagina 12
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
è vero solo per la classe limitata di modelli che le "vostre università" vi hanno insegnato.
Non l'ho studiato nelle università. Sono un autodidatta. Penso con il mio cervello. Metto in dubbio e ricontrollo tutto. La necessità della stazionarietà stessa mi è venuta dopo molteplici tentativi infruttuosi di ottenere un modello su dati non stazionari. Posso dimostrare nei dettagli, ma mi dispiace per il tempo, perché ognuno si atterrà alle proprie opinioni.
Il mio interesse per questo argomento è iniziato dopo aver visto le notizie di mercato, dove il professor Steve Keen si vantava di come il suo modello economico aveva previsto il crollo del 2008, ma il modello DSGE usato dalla Fed non era in grado di prevedere nulla. Così ho studiato il modello DSGE e il modello di Keen. Per coloro che vogliono seguire il mio percorso, suggerisco di iniziare con questo articolo di Matlab sul modello DSGE. Ha tutti i codici necessari, incluso il codice per scambiare i dati economici dal database FRED fedreserve:
http://www.mathworks.com/help/econ/examples/modeling-the-united-states-economy.html
Il modello Fed utilizza i seguenti predittori:
Poi guardate le conferenze di Steve Keen su YouTube:
https://www.youtube.com/watch?v=aJIE5QTSSYA
https://www.youtube.com/watch?v=DDk4c4WIiCA
https://www.youtube.com/watch?v=wb7Tmk2OABo
E leggere i suoi articoli.
/go?link=http://www.ideaeconomics.org/minsky/
ProfSteveKeen
E per i sottosviluppati in un linguaggio facile da leggere
Per i tedeschi :)
https://translate.google.com.ua/translate?sl=en&tl=ru&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSteve_Keen&edit-text=
Quindi, il compito è quello di prevedere l'indice S&P 500 sulla base degli indicatori economici disponibili.
Passo 1: trovare gli indicatori. Gli indicatori sono disponibili pubblicamente qui: http://research.stlouisfed.org/fred2/ Ce ne sono 240.000. Il più importante è la crescita del PIL. Questo indicatore viene calcolato ogni trimestre. Quindi il nostro passo è di 3 mesi. Tutti gli indicatori su tempi più brevi sono ricalcolati a 3 mesi, gli altri (annuali) sono scartati. Scartiamo anche gli indicatori di tutti i paesi tranne gli Stati Uniti e gli indicatori che non hanno una storia profonda (almeno 15 anni). Quindi setacciamo faticosamente un mucchio di indicatori e otteniamo circa 10 mila indicatori. Formuliamo un compito più specifico per prevedere l'indice S&P 500 per uno o due trimestri avanti, avendo 10 mila indicatori economici con un periodo trimestrale. Faccio tutto in Matlab, ma è anche possibile farlo in R.
Passo 2: Convertire tutti i dati in una forma stazionaria differenziando e normalizzando. Ci sono molti metodi. La cosa principale è che i dati trasformati possono essere recuperati dai dati originali. Nessun modello funzionerà senza stazionarietà. La serie S&P 500 prima e dopo la trasformazione è mostrata qui sotto.
Passo 3: Scegliere un modello. Si potrebbe avere una rete neurale. Può essere unaregressione lineare multivariabile. Potrebbe essere una regressione polinomiale multivariabile. Dopo aver provato modelli lineari e non lineari, concludiamo che i dati sono così rumorosi che non ha senso applicare un modello non lineare poiché il grafico y(x) dove y = S&P 500 e x = uno dei 10 mila indicatori è quasi una nuvola rotonda. Così, formuliamo il compito ancora più concretamente: prevedere l'indice S&P 500 per uno o due trimestri avanti avendo 10 mila indicatori economici con un periodo trimestrale, utilizzando la regressione lineare multivariabile.
Passo 4: Selezionare gli indicatori economici più importanti su 10 mila (ridurre la dimensione del problema). Questo è il passo più importante e difficile. Supponiamo di prendere la storia dello S&P 500 che è lunga 30 anni (120 trimestri). Per rappresentare lo S&P 500 come una combinazione lineare di vari indicatori economici, è sufficiente avere 120 indicatori per descrivere accuratamente lo S&P 500 durante questi 30 anni. Inoltre, gli indicatori possono essere assolutamente qualsiasi tipo di indicatori, al fine di creare un modello così accurato di 120 indicatori e 120 valori di S&P 500. Così, ridurremo il numero di ingressi al di sotto del numero di valori di funzione descritti. Per esempio, stiamo cercando 10-20 indicatori/ingressi più importanti. Tali compiti di descrizione dei dati attraverso un piccolo numero di input selezionati da un gran numero di basi candidate (dizionario) sono chiamati codifica sparsa.
Ci sono molti metodi per selezionare gli input dei predittori. Le ho provate tutte. Ecco i due principali:
Ecco i primi 10 indicatori con il massimo coefficiente di correlazione con lo S&P 500:
Ecco i primi 10 indicatori con la massima informazione reciproca con lo S&P 500:
Lag è il ritardo della serie di input rispetto alla serie S&P 500 simulata. Come si può vedere da queste tabelle, diversi metodi di scelta degli input più importanti risultano in diversi set di input. Poiché il mio obiettivo finale è quello di minimizzare l'errore del modello, ho scelto il secondo metodo di selezione degli input, cioè enumerare tutti gli input e selezionare l'input che ha dato l'errore più piccolo.
Passo 5: Scegliere un metodo per calcolare l'errore e i coefficienti del modello. Il metodo più semplice è il metodo RMS, che è il motivo per cui la regressione lineare con questo metodo è così popolare. Il problema con il metodo RMS è che è sensibile agli outlier, cioè questi outlier hanno un effetto significativo sui coefficienti del modello. Per ridurre questa sensibilità, la somma dei valori assoluti dell'errore può essere usata al posto della somma dei quadrati degli errori, il che porta a un metodo di minimo modulo (LMM) o di regressione robusta. Questo metodo non ha una soluzione analitica per i coefficienti del modello, a differenza della regressione lineare. Di solito i moduli sono sostituiti da funzioni approssimative lisce/differenziabili e la soluzione è numerica e lunga. Ho provato entrambi i metodi (regressione lineare e LNM) e non ho notato alcun vantaggio particolare di LNM. Invece di DOM, sono andato per vie traverse. Al secondo passo di ottenere dati stazionari differenziandoli, ho aggiunto un'operazione di normalizzazione non lineare. Cioè, la serie originale x[1], x[2], ... x[i-1], x[i] ... viene prima convertito in una serie differenziale x[2]-x[1] ... x[i]-x[i-1] ... e poi ogni differenza viene normalizzata sostituendola con sign(x[i]-x[i-1])*abs(x[i]-x[i-1])^u, dove 0 < u < 1. Quando u=1, otteniamo il classico metodo RMS con la sua sensibilità agli outlier. A u=0, tutti i valori della serie di input sono sostituiti da valori binari +/-1 con quasi nessun outlier. A u=0,5, otteniamo qualcosa di vicino a RMS. Il valore ottimale di u è da qualche parte tra 0,5 e 1.
Si noti che uno dei metodi popolari per convertire i dati in una forma stazionaria è sostituire i valori della serie con la differenza dei logaritmi di questi valori, cioè log(x[i]) - log(x[i-1]) o log(x[i]/x[i-1]). La scelta di questa trasformazione è pericolosa nel mio caso perché ci sono molte righe con valori zero e negativi nel dizionario di 10k ingressi. Il logaritmo ha anche il vantaggio di ridurre la sensibilità del metodo RMS agli outlier. Come tale, la mia funzione di trasformazione sign(x)*|x|^u ha lo stesso scopo del log(x) ma senza i problemi associati ai valori zero e negativi.
Passo 6: calcoliamo la previsione del modello adattando i nuovi dati di input e calcolando l'output del modello usando gli stessi coefficienti del modello che sono stati trovati dalla regressione lineare nella sezione precedente della storia. È importante ricordare che gli indicatori economici trimestrali e i valori dell'S&P 500 arrivano quasi contemporaneamente (entro 3 mesi). Quindi, per prevedere l'S&P 500 per il prossimo trimestre, il modello dovrebbe essere costruito tra il valore trimestrale corrente dell'S&P 500 e le voci ritardate di almeno 1 trimestre (Lag>=1). Per prevedere l'S&P 500 con un trimestre di anticipo, il modello dovrebbe essere costruito tra il valore trimestrale corrente dell'S&P 500 e input ritardati di almeno 2 trimestri (Lag>=2). E così via. La precisione delle previsioni diminuisce considerevolmente con ritardi superiori a 2.
Passo 7: Controllare la precisione delle previsioni sulla storia precedente. La metodologia originale descritta sopra (scrivere ogni ingresso nella storia precedente, scegliere l'ingresso con il valore RMS più basso, e usare il valore fresco di quell'ingresso per fare la previsione) ha dato anche peggio delle previsioni casuali o nulle. Mi sono chiesto questo: perché un input che si adatta bene al passato dovrebbe avere una buona capacità predittiva del futuro? Ha senso selezionare gli input del modello in base al loro errore di previsione precedente, piuttosto che in base al più piccolo errore di regressione su dati noti.
Dopo tutto, il mio modello può essere descritto passo dopo passo in questo modo:
In breve, la scelta del predittore dipende dal suo RMS delle previsioni dei precedenti valori di S&P 500. Non si può guardare al futuro. Il predittore può cambiare nel tempo, ma alla fine del segmento di prova smette sostanzialmente di cambiare. Il mio modello ha scelto PPICRM con un ritardo di 2 trimestri come primo input per prevedere il Q2 2015. La regressione lineare dello S&P 500 per l'input PPICRM(2) selezionato per il 1960 - Q4 2014 è mostrata qui sotto. I cerchi neri sono la regressione lineare. I cerchi multicolori sono dati storici per il 1960 - Q4 2014. Il colore del cerchio indica l'ora.
Previsioni dello S&P 500 in forma stazionaria (linea rossa):
Previsioni S&P 500 in forma grezza (linea rossa):
Il grafico mostra che il modello prevede un aumento dello S&P 500 nel secondo trimestre del 2015. L'aggiunta di un secondo ingresso aumenta l'errore di predizione:
1 err1=0,900298 err2=0,938355 PPICRM (2)
2 err1=0,881910 err2=0,978233 PERMIT1 (4)
Dove err1 è l'errore di regressione. Ovviamente diminuisce con l'aggiunta del secondo ingresso. err2 è l'errore di predizione radice-media quadrata diviso per l'errore di predizione casuale. Quindi err2>=1 significa che la previsione del mio modello non è migliore delle previsioni casuali. err2<1 significa che la previsione del mio modello è migliore delle previsioni casuali.
PPICRM = Indice dei prezzi alla produzione: Materiali grezzi per ulteriore lavorazione
PERMIT1 = Nuove unità abitative private autorizzate dai permessi di costruzione - in strutture con 1 unità
Il modello descritto sopra può essere riformulato così. Riuniamo 10 mila economisti e chiediamo loro di prevedere il mercato per il trimestre successivo. Ogni economista arriva con la sua previsione. Ma invece di scegliere qualche previsione basata sul numero di libri di testo che hanno scritto o di premi Nobel che hanno ricevuto in passato, aspettiamo qualche anno, raccogliendo le loro previsioni. Dopo un numero significativo di previsioni, vediamo quale economista è più accurato, e cominciamo a credere alle loro previsioni fino a quando qualche altro economista li supera in accuratezza.
La risposta è semplice - fare trading su timeframe annuali....
È uno scherzo?
:-) non lo so.... se l'analisi è su anni..... non so su cosa fare trading... Su m5 è improbabile che abbia qualche effetto pratico...
Come opzione, prova ad applicare la tua analisi a H4...
gpwr:
...Dopo un numero significativo di previsioni, vediamo quale economista è più accurato e cominciamo a credere alle sue previsioni finché qualche altro economista lo supera in accuratezza...
Mmmm, questo contraddice Taleb con il suo cigno nero. Come possono gli economisti che prevedono bene in un ambiente prevedere il crollo?
Non voglio dire come, ma perché succederà? perché sono abbastanza sicuri di essere nel giusto, perché dovrebbero rivedere quel giusto, così avremo dei lemming che si precipitano con entusiasmo nell'abisso.
Ecco l'articolo di Keane sul suo modello:
http://keenomics.s3.amazonaws.com/debtdeflation_media/papers/PaperPrePublicationProof.pdf
Anche se dirò subito che non mi piace il suo modello. Il suo scopo è quello di spiegare i cicli economici e i crolli, non di prevedere con precisione il mercato o la performance economica come il PIL. Per esempio, il suo modello prevedeva che l'aumento del debito delle famiglie avrebbe portato al collasso dell'economia. Ma quando esattamente il suo modello ha previsto. Né è in grado di prevedere cosa succederà dopo il crollo. Tutte le sue curve teoriche vanno all'infinito e vi siedono indefinitamente, anche se il mercato e l'economia degli Stati Uniti si sono ripresi nel 2009. Questo deve essere il motivo per cui continua ad essere molto negativo su questa ripresa, non credendoci e sostenendo che sta arrivando una grande depressione peggiore di quella giapponese lunga due decenni. Penso che questo sia il problema di tutti i modelli economici dinamici: sono difficili da stabilizzare e se diventano instabili si bloccano e non possono più prevedere il futuro. Anche se un famoso hedge fund ha assunto Kean come consigliere economico.