L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 303

 
Yuriy Asaulenko:
È certamente vero. Ma l'alta soglia di ingresso aumenta tutti i tipi di rischi. Non necessariamente finanziario.

È vero, quanto detto sopra può essere espresso anche in una forma banale: "il profitto è una funzione monotona del rischio ragionevole", che si applica non solo al commercio, ma a tutte le attività umane, inoltre è noto che chi pensa di non rischiare affatto, per esempio scegliendo una professione non competitiva e affidandosi alla pensione statale, è gente estrema)))


E cos'è la vita "senza" rischio? Non è affatto interessante, dato che finirà allo stesso modo per tutti.

 
Beh, il mio articolo copre l'intervallo di confidenza e così via. Vi consiglio vivamente di leggerlo attentamente e potrete trarne molto.
 
Yuriy Asaulenko:

Per approccio sistematico intendo capire cosa state facendo e quindi essere in grado di pianificare e prevedere i risultati delle vostre azioni.

Grazie per l'articolo. Dato che non ho familiarità con nessun software particolare, è il migliore per un principiante - semplice e chiaro. L'unica cosa che non capisco è quale metodo viene usato, quello di regressione o di classificazione?
Naturalmente, ho iniziato immediatamente a provarlo sui miei sistemi. Se qualche domanda è fastidiosa, può darsi che venga scoperta man mano che il gioco procede.

1. Non uso candele per entrare e uscire - solo un flusso di quotazioni, e candele solo sulla storia dalla candela precedente. Mentre posso lasciare che impari per candela, è ancora un mistero come fare in modo che Rattle ingoi il flusso di citazioni all'interno della candela corrente. Il flusso della candela deve essere analizzato in qualche modo.

2. Cosa fare con i predittori ricostruibili? Per esempio, con linee di regressione e sigma. Non si può nemmeno incollarli nella storia (per l'apprendimento), abbiamo bisogno di funzioni che li calcolino al volo e rimuovano i loro disegni precedenti dalla storia.

Allo stesso modo, ci sono predittori scintillanti che non sempre esistono e sono costruiti a partire da alcuni punti della serie, e in generale possono anche essere ricostruiti nel corso del gioco.

4 La questione della normalizzazione dei predittori per i punti 2 e 3 - è fondamentalmente impossibile.

E la storia sui predittori dovrebbe essere calcolata nel corso della formazione e del lavoro.

Finora non abbiamo altro che confusione.


Il sonaglio è buono in due casi:

  1. Quando ci conosciamo per la prima volta.
  2. da provare... quando si conosce il problema...

1. Regressione o classificazione. Questo determina il tipo di variabile di destinazione. Un numero reale è la regressione. Nominale (fattore) - classificazione.

2. Iniziare con la variabile di destinazione. Anche se apparentemente semplice, questa è una domanda complessa. Che cosa prevede? Direzione? magnitudine, eccesso, livello...

3. Predittori. Dovete dimostrare che sono "rilevanti" per la variabile obiettivo. Questa è la parte più difficile, passo fino al 70% del mio tempo su questa domanda. Ne ho scritto molto in questo thread.

4. Non sono contento della statica. È qui che entra in gioco la partenza alla R. rattle rende più facile andare in R perché registra tutte le vostre azioni su R e questo codice finito può essere utilizzato per la modifica. Generalmente il passo successivo è il caret.

 
SanSanych Fomenko:


2. Dovete iniziare con la variabile obiettivo. Nonostante la sua apparente semplicità, è una domanda piuttosto complicata. Che cosa prevede? Direzione? Magnitudine, eccesso, livello...

Sembra che tutto debba essere previsto). Ci sono ora circa 30 "indicatori" (più correttamente chiamati predittori) nel modello (non MO) + la loro reciproca elaborazione e logica. Doveva essere + di 10.

Affrontare manualmente un tale volume e capire ancora il contributo di ogni predittore al tutto, non è più realistico. Da qui, a proposito, l'idea di usare MO. Tutto è ancora in una fase iniziale.

SanSanych Fomenko:

3. Predittori. Dovete dimostrare che sono "rilevanti" per la variabile obiettivo. Questa è la più difficile, passo fino al 70% del mio tempo su questa domanda. Ho scritto molto su questo argomento nel thread.

Sì, dovrò adattarlo. Sembra che non si possa semplicemente infilare).

SanSanych Fomenko:

4. Non sono contento della statica. È qui che entra in gioco la partenza alla R. rattle semplifica tale uscita in R perché registra tutte le vostre azioni in R e questo codice pronto può essere utilizzato per la modifica. In realtà, il passo successivo è il caret.

Capito.

 

Tabella interessante, i pacchetti MO più comunemente usati

classenomepacchettoscarica
sopravvivenza.coxphModello di rischio proporzionale di Coxsopravvivenza153681
classif.naiveBayesBaia ingenuae1071102249
classif.svmMacchine a vettore di supporto (libsvm)e1071102249
classif.ldaAnalisi discriminante lineareMASSA55852
classif.qdaAnalisi discriminante quadraticaMASSA55852
classif.randomForestForesta casualerandomForest52094
classif.gaussprProcessi gaussianikernlab44812
classif.ksvmMacchine vettoriali di supportokernlab44812
classif.lssvmMacchina vettoriale di supporto ai minimi quadratikernlab44812
cluster.kkmeansKernel K-Meanskernlab44812
regr.rvmMacchina vettoriale di rilevanzakernlab44812
classif.cvglmnetGLM con regolarizzazione Lasso o Elasticnet (Cross Validated Lambda)glmnet41179
classif.glmnetGLM con regolarizzazione Lasso o Elasticnetglmnet41179
sopravvivere.cvglmnetGLM con regolarizzazione (Lambda convalidato incrociato)glmnet41179
sopravvivere.glmnetGLM con regolarizzazioneglmnet41179
classif.cforestForesta casuale basata su alberi di inferenza condizionalifesta36492
classif.ctreeAlberi di inferenza condizionalefesta36492
regr.cforestForesta casuale basata su alberi di inferenza condizionalifesta36492
regr.mobPartizionamento ricorsivo basato sul modello che produce un albero con modelli adattati associati ad ogni nodo terminalefesta, strumenti per modelli36492
surv.cforestForesta casuale basata su alberi di inferenza condizionatafesta, sopravvivenza36492
 
SanSanych Fomenko:

Tabella interessante, i pacchetti MO più comunemente usati

classenomepacchettoscarica
sopravvivenza.coxphModello di rischio proporzionale di Coxsopravvivenza153681
classif.naiveBayesBaia ingenuae1071102249
classif.svmMacchine a vettore di supporto (libsvm)e1071102249
classif.ldaAnalisi discriminante lineareMASSA55852
classif.qdaAnalisi discriminante quadraticaMASSA55852
classif.randomForestForesta casualerandomForest52094
classif.gaussprProcessi gaussianikernlab44812
classif.ksvmMacchine vettoriali di supportokernlab44812
classif.lssvmMacchina vettoriale di supporto ai minimi quadratikernlab44812
cluster.kkmeansKernel K-Meanskernlab44812
regr.rvmMacchina vettoriale di rilevanzakernlab44812
classif.cvglmnetGLM con regolarizzazione Lasso o Elasticnet (Cross Validated Lambda)glmnet41179
classif.glmnetGLM con regolarizzazione Lasso o Elasticnetglmnet41179
sopravvivere.cvglmnetGLM con regolarizzazione (Lambda convalidato incrociato)glmnet41179
sopravvivere.glmnetGLM con regolarizzazioneglmnet41179
classif.cforestForesta casuale basata su alberi di inferenza condizionalifesta36492
classif.ctreeAlberi di inferenza condizionalefesta36492
regr.cforestForesta casuale basata su alberi di inferenza condizionalifesta36492
regr.mobPartizionamento ricorsivo basato sul modello che produce un albero con modelli adattati associati ad ogni nodo terminalefesta, strumenti per modelli36492
surv.cforestForesta casuale basata su alberi di inferenza condizionatafesta, sopravvivenza36492

Ho dimenticato di includerne un altro nella lista. Ah sì, ho un software unico, si potrebbe dire raro :-)
 
Yuriy Asaulenko:

Sembra che tutto debba essere previsto). Ci sono ora circa 30 "indicatori" (più correttamente chiamati predittori) nel modello (non MO) + la loro reciproca elaborazione e logica. Doveva essere + di 10.

Affrontare manualmente un tale volume e capire ancora il contributo di ogni predittore al tutto, non è più realistico. Da qui, a proposito, l'idea di usare MO. Tutto è ancora in una fase iniziale.

SanSanych Fomenko:

3. Predittori. Dovete dimostrare che sono "rilevanti" per la variabile obiettivo. Questa è la più difficile, passo fino al 70% del mio tempo su questa domanda. Ho scritto molto su questo argomento nel thread.

Sì, dovrò adattarlo. Sembra che non si possa semplicemente infilare).

SanSanych Fomenko:

4. Non sono contento della statica. È qui che entra in gioco la partenza alla R. rattle semplifica tale uscita in R perché registra tutte le vostre azioni in R e questo codice pronto può essere utilizzato per la modifica. In realtà, il passo successivo è il caret.

Capito.

Aggiungerò i miei 5 kopeck. In realtà è necessario alimentare tali input che causeranno non l'uscita variabile ma il prezzo! Allora qualsiasi TS sarà addestrato bene. Esempi di funzioni di destinazione:

Il più ovvio SEGNALE MIGLIORE, poi Ci sarà un pullback ad un certo livello, quale dei livelli di oggi sarà raggiunto, ecc. Leggete il mio articolo, non siate pigri, lo menziono. Quindi, per tutte queste funzioni target do gli stessi input e il funzionamento di tutti i modelli è abbastanza soddisfacente. E potete vedere come gli stessi input stanno guardando il mercato. Qui sul profitto, qui sul pullback, qui sul livello. Funzionano bene, perché le voci sono la ragione del prezzo.

Per spiegare un po', la ragione è quando i cambiamenti nell'entrata portano a cambiamenti nel prezzo, e non viceversa. Questo può essere molto confuso, perché la statistica della ST stessa è molto cattiva. Perché Zscore prende esattamente il valore che gli dice il prezzo, non viceversa. Il delta è la ragione del cambiamento del prezzo, per esempio. :-)

 
Mihail Marchukajtes:

Vi darò i miei cinque centesimi. Quello che dovete davvero fare è fornire degli input che non sono la ragione della variabile di uscita, ma del PREZZO! Allora qualsiasi TS si allenerà bene. Esempi di funzioni di destinazione:

Il più ovvio SEGNALE MIGLIORE, poi Ci sarà un pullback ad un certo livello, quale dei livelli di oggi sarà raggiunto, ecc. Leggete il mio articolo, non siate pigri, lo menziono. Quindi, per tutte queste funzioni target do gli stessi input e il funzionamento di tutti i modelli è abbastanza soddisfacente. E potete vedere come gli stessi input stanno guardando il mercato. Qui sul profitto, qui sul pullback, qui sul livello. Funzionano bene, perché le voci sono la ragione del prezzo.

Per spiegare un po', la ragione è quando i cambiamenti nell'entrata portano a cambiamenti nel prezzo, e non viceversa. Questo può essere molto confuso, perché la statistica della ST stessa è molto cattiva. Perché Zscore prende esattamente il valore che gli dice il prezzo, non viceversa. Il delta è la ragione del cambiamento del prezzo, per esempio. :-)

Ho letto il suo articolo, se si riferisce al link della pagina precedente. Forse mi è sfuggito qualcosa. Lo rileggerò.

Naturalmente, i predittori sono lì per prevedere il movimento dei prezzi. Ma la loro sovrapposizione + prezzo dà un segnale di entrata, cioè prevede la reazione della scatola nera iniziale (di formazione). La domanda è simile a quella dell'uovo o della gallina prima? Forse il disaccordo è puramente una questione di terminologia.

Dal punto di vista ideologico, almeno nei sistemi a logica rigida, è più corretto prevedere il prezzo, mentre la variabile di uscita è già il risultato dell'elaborazione.

 
Yuriy Asaulenko:

Il tuo articolo, se intendi il link della pagina precedente, è stato letto. Forse mi è sfuggito qualcosa. Lo rileggerò.

Sì, naturalmente i predittori sono lì per prevedere il movimento dei prezzi. Ma la loro sovrapposizione + prezzo dà un segnale di entrata, cioè prevede la reazione della scatola nera iniziale (di formazione). La domanda è simile a quella dell'uovo o della gallina prima? Forse il disaccordo è puramente una questione di terminologia.

Dal punto di vista ideologico, almeno nei sistemi a logica rigida, è più corretto prevedere il prezzo, mentre la variabile di uscita è il risultato della lavorazione.


Tutto giusto, ma si dovrebbe prevedere il prezzo usando i dati da cui cambia. C'è un'osservazione molto interessante. Se l'input è la ragione del prezzo, allora il risultato dell'elaborazione fuori campione sarà leggermente peggiore che nell'addestramento, cioè NS funziona nell'addestramento e funziona ancora in "Fuori campione" ma peggio, quando significativamente, quando no. Tutto dipende dal modello. E quando si dà ai dati di ingresso che non dipendono dal prezzo, allora il lavoro al "Fuori campione" si trasforma in CoinFlip, lancio della moneta. Non si sa mai quando la NS farà un errore. Come questo....
 
Mihail Marchukajtes:

Va bene, ma si dovrebbe prevedere il prezzo con l'aiuto dei dati da cui cambia. C'è un'osservazione molto interessante. Se l'input è la ragione del prezzo, allora il risultato del lavoro fuori dal campione sarà leggermente peggiore che nell'allenamento, cioè NS funziona nell'allenamento e funziona ancora in "Fuori dal campione", solo peggio, quando significativamente, quando no. Tutto dipende dal modello. E quando si alimentano i dati di ingresso che dipendono dal prezzo, l'operazione nel settore "Fuori campione" si trasforma in un CoinFlip, lancio di moneta. Non si sa mai quando NS farà un errore. Come questo....

In realtà, non abbiamo dati da cui dipendono il prezzo e le sue variazioni. E non può esserci, a meno che non siamo addetti ai lavori. In generale, stiamo cercando dati indiretti (secondari) sul futuro nel comportamento del prezzo stesso. Cioè, i nostri dati dipendono proprio dal prezzo e dal suo comportamento nel passato e nel presente.

E questa affermazione:dovremmo prevedere il prezzo con i dati da cui cambia .Non si può essere d'accordo. Ma più alta è la qualità dei dati di input, migliori sono i risultati, è evidente.

------------------------------

Ho iniziato a preparare i predittori per la migrazione a MoD. Voleva fare tutto in R. Si è scoperto che R, con tutta la sua potenza, non è affatto adatto alla modellazione e all'elaborazione dei segnali. Purtroppo. Tutto è estremamente scomodo.

Dovrò trasferire tutto il lavoro di preparazione a SciLab, dove tutto è molto più facile e conveniente. SciLab è un ambiente con un'interfaccia e un'ideologia molto vicina a R, ed è progettato per l'elaborazione dei dati e la modellazione matematica. Ha tutto, dall'ingegneria radiofonica all'aerodinamica e un sacco di matematica che manca completamente in R. La specificità, però. I metodi Stat e Data Mining in SciLab sono abbastanza ben rappresentati, ma in questo senso, SciLab è significativamente inferiore a R nella scelta di tali metodi. Non si può fare una foresta SanSanitch su SciLab). Anche se ci sono molti pacchetti installati, ma niente sembra essere vicino.

In generale, devo combinare diversi IDE per risolvere diversi compiti e trasferire dati tra gli ambienti. Peccato. Ho voluto fare tutto nel modo migliore (con R) ma è risultato lo stesso di sempre.