Previsione di mercato basata su indicatori macroeconomici - pagina 56
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
3: Rendimenti su titoli di diverse scadenze più uno in più
Tasso percentuale annuo Buy & hold, 1974 - oggi: APR = 7,35%
Strategia di acquisto e vendita utilizzando gli indicatori economici: TAEG = 13,18%.
Questa strategia ha dato un segnale di vendita nel dicembre 2019. Nessun segnale di acquisto è stato dato finora. A quanto pare il mercato scenderà.
Comprare e tenere.
Sarebbe interessante vedere un test in avanti di un tale modello, ma non è possibile qui.
In questo momento, per quanto ho capito, tutti stanno aspettando le elezioni.
3: Rendimenti su titoli di diverse scadenze più uno in più
Tasso percentuale annuo Buy & hold, 1974 - oggi: APR = 7,35%
Strategia di acquisto e vendita utilizzando gli indicatori economici: TAEG = 13,18%.
Questa strategia ha dato un segnale di vendita nel dicembre 2019. Nessun segnale di acquisto è stato dato finora. A quanto pare il mercato scenderà.
Stiamo parlando di uno strumento specifico o di un indicatore generale?
Quindi, il compito è prevedere l'indice S&P 500 sulla base degli indicatori economici disponibili.
Passaggio 1: trova 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. Da qui il nostro passo - 3 mesi. Tutti gli indicatori per un periodo più breve vengono ricalcolati per un periodo di 3 mesi, il resto (annuale) viene scartato. Scartiamo anche gli indicatori per tutti i paesi ad eccezione degli Stati Uniti e gli indicatori che non hanno una storia profonda (almeno 15 anni). Quindi, con un lavoro scrupoloso, filtriamo una serie di indicatori e otteniamo circa 10 mila indicatori. Formuliamo un compito più specifico di prevedere l'indice S&P 500 con uno o due trimestri di anticipo, avendo a disposizione 10mila indicatori economici con un periodo trimestrale. Faccio tutto in MatLab, anche se è possibile in R.
Passaggio 2: convertire tutti i dati in forma stazionaria mediante differenziazione e normalizzazione. Ci sono molti metodi qui. La cosa principale è che i dati originali possono essere ripristinati dai dati convertiti. Senza stazionarietà, nessun modello funzionerà. La serie S&P 500 prima e dopo la conversione è mostrata di seguito.
Passaggio 3: scegli un modello. Forse una rete neurale. Si può fare una regressione lineare multivariabile. È possibile eseguire la regressione polinomiale multivariabile. Dopo aver testato modelli lineari e non lineari, giungiamo alla conclusione che i dati sono così rumorosi che non ha senso inserire un modello non lineare. Il grafico y(x), dove y = S&P 500 e x = uno dei 10mila indicatori, è una nuvola quasi circolare. Pertanto, formuliamo il compito in modo ancora più specifico: prevedere l'indice S&P 500 con uno o due trimestri di anticipo, avendo 10mila indicatori economici con un periodo trimestrale, utilizzando la regressione lineare multivariabile.
Step 4: Selezioniamo gli indicatori economici più importanti da 10 mila (riduciamo la dimensione del problema). Questo è il passo più importante e difficile. Diciamo che prendiamo la storia dell'S&P 500 fino a 30 anni (120 trimestri). Per rappresentare l'S&P 500 come una combinazione lineare di indicatori economici di vario genere, è sufficiente disporre di 120 indicatori per descrivere accuratamente l'S&P 500 in questi 30 anni. Inoltre, gli indicatori possono essere assolutamente qualsiasi per creare un modello così accurato di 120 indicatori e 120 valori S&P 500. Quindi è necessario ridurre il numero di input al di sotto del numero di valori di funzione descritti. Ad esempio, stiamo cercando i 10-20 indicatori di input più importanti. Tali compiti di descrizione dei dati con un piccolo numero di input selezionati da un numero enorme di basi candidate (dizionario) sono chiamati codifica sparsa.
Esistono molti metodi per selezionare gli input del predittore. Li ho provati tutti. Ecco i due principali:
Ecco i primi 10 indicatori con il più alto coefficiente di correlazione con l'S&P 500:
Ecco i primi 10 indicatori con le informazioni più reciproche con l'S&P 500:
Il ritardo è 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 danno come risultato diversi insiemi di input. Poiché il mio obiettivo finale è ridurre al minimo l'errore del modello, ho scelto il secondo metodo di selezione dell'input, ovvero enumerazione di tutti gli input e selezione dell'input che ha dato il minor errore.
Passaggio 5: scegliere un metodo per calcolare l'errore e i coefficienti del modello. Il metodo più semplice è il metodo COEX, motivo per cui la regressione lineare che utilizza questo metodo è così popolare. Il problema con il metodo RMS è che è sensibile ai valori anomali, ad es. questi valori anomali influiscono significativamente sui coefficienti del modello. Per ridurre questa sensibilità, è possibile utilizzare la somma dei valori assoluti degli errori al posto della somma degli errori al quadrato, il che porta al metodo dei moduli minimi (MLM) o della regressione robusta. Questo metodo non ha una soluzione analitica per i coefficienti del modello a differenza della regressione lineare. Solitamente i moduli sono sostituiti da funzioni di approssimazione lisce/differenziabili e la soluzione viene eseguita con metodi numerici e richiede molto tempo. Ho provato entrambi i metodi (regressione snella e MHM) e non ho notato molti vantaggi di MHM. Invece di MHM, ho fatto una deviazione. Nella seconda fase 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 convertita in una serie di differenze x[2]-x[1] . .. x [i]-x[i-1] ... e quindi ogni differenza viene normalizzata sostituendola con sign(x[i]-x[i-1])*abs(x[i]-x[ i-1] )^u, dove 0 < u < 1. Per u=1, otteniamo il metodo COSE classico con la sua sensibilità ai valori anomali. A u=0, tutti i valori della serie di input vengono sostituiti da valori binari +/- 1 quasi senza valori anomali. Per u=0.5, otteniamo qualcosa di simile a MNM. Il valore ottimale di u è compreso tra 0,5 e 1.
Va notato che uno dei metodi popolari per convertire i dati in una forma stazionaria è sostituire i valori della serie con la differenza nei logaritmi di questi valori, ad es. log(x[i]) - log(x[i-1]) o log(x[i]/x[i-1]). La scelta di una tale trasformazione è nel mio caso pericolosa, poiché il dizionario di 10mila voci ha molte righe con valori zero e negativi. Il logaritmo ha anche il vantaggio di ridurre la sensibilità del metodo RMS agli outlier.In sostanza, la mia funzione di trasformazione sign(x)*|x|^u ha lo stesso scopo di log(x), ma senza i problemi associati a zero e valori negativi.
Passaggio 6: calcolare la previsione del modello sostituendo i nuovi dati di input e calcolando l'output del modello utilizzando gli stessi coefficienti del modello che sono stati trovati mediante regressione lineare nei segmenti della cronologia precedenti. Qui è importante tenere presente che i valori trimestrali degli indicatori economici e dell'S&P 500 arrivano quasi contemporaneamente (con una precisione di 3 mesi). Pertanto, per prevedere l'S&P 500 per il prossimo trimestre, il modello deve essere costruito tra l'attuale valore trimestrale dell'S&P 500 e le voci ritardate di almeno 1 trimestre (Lag>=1). Per prevedere l'S&P 500 con un quarto di anticipo, il modello deve essere costruito tra l'attuale valore trimestrale dell'S&P 500 e le entrate ritardate di almeno 2 trimestri (Lag>=2). Eccetera. L'accuratezza delle previsioni diminuisce significativamente all'aumentare del ritardo maggiore di 2.
Passaggio 7: verifica l'accuratezza delle previsioni sulla cronologia precedente. La tecnica originale sopra descritta (inserire ogni input nella cronologia precedente, scegliere l'input che fornisce l'MSD più piccolo e calcolare la previsione dal nuovo valore di quell'input) ha prodotto un MSD di previsione che era persino peggiore delle previsioni casuali o nulle. Mi sono posto questa domanda: perché un ingresso che si inserisce bene nel passato dovrebbe avere una buona prevedibilità per il futuro? Ha senso selezionare gli input del modello in base al loro precedente errore di previsione, piuttosto che in base al più piccolo errore di regressione sui dati noti.
Alla fine, il mio modello può essere descritto passo dopo passo in questo modo:
In breve, la scelta di un predittore dipende dall'RMS delle precedenti previsioni dell'S&P 500. Non si può guardare al futuro. Il predittore può cambiare nel tempo, ma alla fine del segmento di test, sostanzialmente smette di cambiare. Il mio modello ha selezionato PPICRM con un ritardo di 2 quarti come primo input per prevedere il secondo trimestre 2015. Di seguito è mostrata la regressione lineare dell'S&P 500 con l'input PPICRM(2) selezionato per il 1960 - Q4 2014. Cerchi neri - regressione lineare. Cerchi multicolori - dati storici per il 1960 - Q4 2014. Il colore del cerchio indica l'ora.
Previsioni S&P 500 stazionarie (linea rossa):
Previsioni S&P 500 in forma grezza (linea rossa):
Il grafico mostra che il modello prevede la crescita dell'S&P 500 nel secondo trimestre del 2015. L'aggiunta di un secondo input aumenta l'errore di previsione:
1 err1=0,900298 err2=0,938355 PPICRM (2)
2 err1=0,881910 err2=0,978233 PERMESSO1 (4)
dove err1 è l'errore di regressione. È ovvio che decresce dall'aggiunta di un secondo input. err2 è l'errore di previsione del quadrato medio della radice diviso per l'errore di previsione casuale. Cioè, 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: materie prime per ulteriori lavorazioni
PERMIT1 = Nuove Unità Abitative Private Autorizzate da Permessi di Costruzione - In Strutture con 1 Unità
Il modello sopra descritto può essere riformulato in questo modo. Raccogliamo 10mila economisti e chiediamo loro di prevedere il mercato per il prossimo trimestre. Ogni economista esce con la propria previsione. Ma invece di scegliere una previsione in base al numero di libri di testo che hanno scritto o al numero di premi Nobel che hanno vinto in passato, aspettiamo qualche anno per raccogliere le loro previsioni. Dopo un numero significativo di previsioni, vediamo quale economista è più accurato e iniziamo a credere alle sue previsioni fino a quando qualche altro economista non lo supera in precisione.
Sbagliato. Anche se l'argomento si chiama "prevedere il mercato sulla base di indicatori macroeconomici", gli indicatori sono irrilevanti in questa analisi. Solo variabili sostituite in qualche formula dopo essere state spersonalizzate matematicamente e de-identificate con tutti i legami semantici e logici esterni con il Mondo. I numeri secchi, disposti in serie numeriche astratte, servono da modello per una rete neurale, che predice... no, non il mercato, ma la stessa serie numerica.
Si scopre l'analisi tecnica suidati fondamentali.
L'analisi fondamentale non è così semplice.Ci sono molti fattori che influenzano i prezzi che non rientrano negli indicatori economici. Si tratta di elezioni, Brexit, ogni sorta di voci e così via. Possono influenzare il prezzo più di tutti gli indicatori economici.
Si ottiene un'analisi tecnica sudati fondamentali.
Non è tutto così semplice con l'analisi fondamentale.Ci sono molti fattori che influenzano i prezzi e che non rientrano negli indicatori economici. Sono elezioni, Brexit, voci di ogni tipo e così via. Possono influenzare il prezzo più di tutti gli indicatori economici.
A Peter: non sto predicendo direttamente l'S&P500. Lo scopo di questo articolo è quello di prevedere le recessioni per uscire dal mercato prima che si verifichino e migliorare la redditività della strategia buy&hold. Anche se l'S&P500 contiene azioni di 500 aziende, è guidato da investitori istituzionali che comprano e vendono l'indice stesso (o le sue opzioni), non i suoi componenti. Il 13% all'anno non sembra molto, ma abbastanza per i grossi soldi dove il fatturato è importante. Bernie Madoff ha attirato i suoi clienti promettendo loro un modesto 10% all'anno, che non è riuscito a raggiungere.
A Uladzimir: sono d'accordo che le fluttuazioni dei prezzi dipendono da diversi eventi sociali e politici, elezioni, brexit, infezioni ecc. Alla fine tutto si riduce all'offerta e alla domanda di prodotti/servizi, alla disoccupazione e ad altri indicatori dell'economia. Non mi importa delle fluttuazioni quotidiane dei prezzi di mercato. Anche una semplice strategia buy&hold guadagna il 7,4% all'anno. Mi interessa evitare posizioni lunghe durante le recessioni e migliorare la redditività di questa strategia. A proposito, un'altra strategia è l'acquisto di beni immobili. Ma questo rende solo il 5% all'anno, negli Stati Uniti.
Sbagliato. Anche se l'argomento si chiama "prevedere il mercato sulla base di indicatori macroeconomici", gli indicatori sono irrilevanti in questa analisi. Solo variabili sostituite in qualche formula dopo essere state spersonalizzate matematicamente e de-identificate con tutti i legami semantici e logici esterni con il Mondo. I numeri secchi, disposti in serie numeriche astratte, servono da modello per una rete neurale, che predice... no, non il mercato, ma la stessa serie numerica.
Allora, quali sono le previsioni per lo S&P500?
Mi dispiace, ma tutto questo per il 5-13% all'anno? Non ne vale la pena).