Previsione di mercato basata su indicatori macroeconomici - pagina 51

 
Vladimir:
Sono d'accordo, ho anche scritto io stesso una cosa del genere da qualche parte qui. Scegliere un predittore su tutta la storia e poi usare un test in avanti dalla stessa storia è un auto-inganno che fanno tutti, dai commercianti agli scienziati. Molti articoli scritti sulla previsione dell'economia iniziano con una lista di predittori selezionati e poi riportano "grandi" risultati. I trader scelgono strategie basate ad esempio sul rimbalzo o sul breakout perché "ha funzionato in passato" e sperano che funzioni in futuro e mostrano i test in avanti del passato senza rendersi conto che la loro scelta della strategia stessa era basata sullo studio di TUTTA la storia, compresa la storia per i test in avanti. Per me, la prova in avanti del mio modello di PIL e di mercato sarà il futuro, così ho aperto questo thread - postare le previsioni, vedere come si sono avverate in tempo reale. Il lavoro non è finito. Ci sono molte idee per la trasformazione non lineare dei dati. Per esempio, alcuni predittori come HOUST influenzano la crescita del PIL attraverso una funzione di soglia.

La non linearità, sì.

Ma come si fa a trovare una funzione non lineare? Provando diverse varianti? O semplicemente usare le reti neurali?

 
Дмитрий:

La non linearità, sì.

Ma come si fa a trovare una funzione non lineare? Provando diverse varianti? O semplicemente usare le reti neurali?

Potresti anche provare Random Forest, è più facile da usare e simula anche le non linearità.

Esempio: https://www.quora.com/How-does-random-forest-work-for-regression-1

L'aspetto della funzione risultante può anche essere valutato con gli strumenti integrati.

How does random forest work for regression? - Quora
  • www.quora.com
I think the first step would be to understand how decision trees work in a regression problem. You might be aware of CART - Classification and Regression Trees. When dealing with regression problem you try to predict real valued numbers at the leaf nodes which would look something like this for singular scale feature: Now the question comes how...
 
Alexey Burnakov:

Potete anche provare Random Forest, è più facile da usare e simula anche le non linearità.

Esempio: https://www.quora.com/How-does-random-forest-work-for-regression-1

L'aspetto della funzione risultante può anche essere valutato con gli strumenti integrati.

Grazie, Random Forest mi è familiare
 
Дмитрий:

La non linearità, sì.

Ma come si fa a trovare una funzione non lineare? Provando diverse varianti? O semplicemente usare le reti neurali?

Quindi pensiamo insieme. Ho voluto scegliere una funzione di passo semplice:

out = -1 se ingresso < soglia, +1 se ingresso > soglia

Dove la soglia è la nostra soglia sconosciuta, diversa per i diversi predittori. Per esempio, per l'S&P500 e gli incrementi del PIL soglia = 0, cioè sono importanti i cali di questi indicatori stessi, non il cutoff della soglia. Per altri indicatori economici non è così semplice. La soglia deve essere regolata. La modellazione potrebbe essere così:

1. determinare il tipo di dati: crescenti (S&P500, PIL,...) o variabili (tasso di disoccupazione, tassi federali,...) confrontando i valori all'inizio e alla fine della storia - si dovrebbe pensare a un metodo automatico robusto per determinare i dati.

2. Se i dati sono crescenti, allora sostituirli con incrementi di x[i] - x[i-1]. Se gamma, allora non cambiare.

3. Scegliete un output simulato come gli incrementi del PIL (crescita) e applicate una funzione di passo con soglia zero, cioè la crescita del PIL è sostituita da una serie binaria +/-1.

4. Iniziamo ad enumerare tutti i predittori e le loro versioni ritardate per la capacità predittiva in questo modo. Prendiamo un predittore o i suoi incrementi a seconda del punto 2, misuriamo il suo range su tutta la storia, dividiamo questo range per es. 10 e otteniamo 9 soglie. Utilizzando ciascuna delle 9 soglie, sostituiamo il predittore con una serie binaria di +/-1, e contiamo il numero di +1 e -1 del nostro predittore che hanno coinciso con +1 e -1 della nostra serie simulata (PIL), ottenendo M coincidenze con N barre complete nella storia. Calcoliamo una funzione di M/N per ciascuno dei 9 predittori e lasciamo la soglia che dà la più alta frequenza di coincidenza. E ripetere questo per ogni predittore. Questo dovrebbe essere un calcolo veloce.

Se qualcuno vuole aiutare, prenda i dati che ho postato qui qualche pagina fa e li provi. Voglio finire il modello lineare per ora e poi passare a quello non lineare.

PS: Poiché ci sono molti più valori positivi (+1) che negativi (-1) nelle serie di incrementi di S&P500 e PIL, si può arrivare a una modifica del metodo descritto sopra per pesare maggiormente la coincidenza di valori negativi, enfatizzando così i cali piuttosto che gli aumenti di questi indicatori. Per esempio, l'indicatore di bontà dell'adattamento potrebbe essere così:

J = M(+1)/N + W*M(-1)/N

dove W è una ponderazione >1 che riflette quanto meno valori negativi ci siano nella crescita del PIL rispetto ai valori positivi.

Un grosso problema sorgerà se vogliamo trovare un modello con 2 o più predittori. Dobbiamo pensare a come collegare questi predittori: con funzioni AND, OR o XOR. Una volta collegato, le soglie dovranno essere ottimizzate di nuovo.

 
Vladimir:

Un grosso problema sorgerà se vogliamo trovare un modello con 2 o più predittori. Qui dobbiamo pensare a come collegare questi predittori: con funzioni AND, OR o XOR. Una volta collegato, le soglie dovranno essere ottimizzate di nuovo.

Se si forniscono dati alla griglia, essa troverà le soglie "automaticamente", e in una sola volta per tutti i predittori che sono stati inclusi nel vettore di input.
 
Vladimir:

Se qualcuno vuole aiutare, prenda i dati che ho postato qui qualche pagina fa e li provi.

Gli stessi dati possono essere convertiti in csv?
 
Stanislav Korotky:
Gli stessi dati possono essere convertiti in csv?
In allegato. La prima colonna mostra le date in formato Matlab, dal Q1 1959 al Q4 2015. Le colonne rimanenti sono cifre economiche e finanziarie non convertite. Il PIL è nella colonna 1168.
File:
Data.zip  1037 kb
 

Finite le previsioni lineari del PIL. Qui ci sono due trimestri più avanti:


Ci sono 4 predittori nel modello, anche se 3 sono sufficienti. Dopo 3-4 predittori, il resto sembra rumore. Prevedere lo S&P500 con lo stesso metodo del PIL funziona molto male. Non lo mostro nemmeno qui. Ho anche provato rapidamente le trasformazioni non lineari con una funzione di passo come ho descritto prima. Funziona peggio della regressione lineare.

In attesa del rilascio del nuovo valore del PIL a fine aprile. Riposo per ora.

 
Vladimir:
In allegato. La prima colonna mostra le date in formato Matlab, dal Q1 1959 al Q4 2015. Le colonne rimanenti sono cifre economiche e finanziarie non convertite. Il PIL è nella colonna 1168.
Grazie. Tuttavia, sarebbe auspicabile avere i nomi di tutte le colonne. Inoltre, per quanto ho capito, le date non sono state copiate abbastanza correttamente (con perdita di precisione dei numeri), quindi le voci vanno in gruppi di 11 con la stessa data.
 
Vladimir:

Finite le previsioni lineari del PIL. Ecco due trimestri più avanti:

L'immagine è bella, ma potremmo invece calcolare ad ogni passo il prodotto del cambiamento previsto per il cambiamento effettivo, sommare su tutto il periodo e dividere per lo stesso prodotto, ma in cui i cambiamenti previsti e reali sono presi modulo?
Motivazione: