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

 
Maxim Dmitrievsky:

diciamo che c'è già una curva come la tua - una distribuzione di probabilità a priori

Con la formula bayesiana potete aggiornarla dopo ogni scambio, quindi il centro si sposterà e otterrete una nuova distribuzione a posteriori, cioè approssimativamente un qualche fattore di spostamento che sarà aggiornato dopo ogni scambio. Questo adeguerà leggermente il modello alle nuove realtà, anche se il modello stesso rimarrà lo stesso.

Non so come farlo correttamente, in realtà dovrebbe essere facile, ma non l'ho mai fatto :)

Non è veramente un addestramento del modello, perché non usiamo nuove leggi, cambiamo l'interpretazione di quelle vecchie - i predittori nel modello, le suddivisioni negli alberi rimangono gli stessi. Qui abbiamo bisogno di ottenere informazioni su quali regolarità sono state inserite - c'è un array in catbust, dove sono le regolarità di tutte le foglie, e di conseguenza modificare questo array spostando la regolarità (un numero per interpretare la regolarità). Il problema è che ci saranno molte foglie per ogni input, quindi bisogna distribuirle in modo proporzionale, o a quelli che erano a favore dell'input, diminuendoli, o a quelli contro, aumentandoli. La domanda è quante foglie, se ce ne sono 100 e 1000 di accordi, allora puoi usare le statistiche per ogni foglia.

 
Maxim Dmitrievsky:

E se partiamo dal presupposto che a causa della non stazionarietà non sono i modelli stessi a cambiare, ma il modello semplicemente si sposta e non dà i giusti segnali

Non dobbiamo andare sempre sotto il cofano quando vogliamo fare una curva a gomito, dobbiamo solo sterzare qualche volta... e qui non vedo molta differenza tra modificare il modello e modificare la distribuzione dell'uscita... fate voi :)


Devi ancora andare sotto il cofano, perché la risposta finale è la somma dei valori delle foglie e non sono tutti sempre utilizzati, ma solo quando ci sono indicatori appropriati per questo. Quindi si può usare 1 foglia per ogni ingresso, o 100! Quindi non possiamo cambiare l'interpretazione del modello spostando la probabilità per tutte le situazioni, o meglio possiamo, ma non è logico, perché alcune delle foglie possono continuare a classificare correttamente. Quindi o si cambiano gli indicatori delle foglie, o si fa un'interpretazione aggiuntiva separata di ogni foglia e la si sposta a seconda delle combinazioni con altre foglie, ma non sono sicuro che sia produttivo.... Ecco perché preferisco i modelli piccoli - se li combini, è più facile scoprire quale sta mentendo e liberarsene.

Se ci sono poche foglie, allora forse è possibile spostare la barriera di probabilità, ma se ci sono molte foglie e solo una piccola parte di esse viene utilizzata per ingresso, non ha senso logicamente.
 
Maxim Dmitrievsky:

ma a volte devi solo sterzare...

la trasformazione affine può sterzare ;), ecco un esempio in KB erahttps://www.mql5.com/ru/code/9378

Affine Transform
Affine Transform
  • www.mql5.com
Построение по ценам закрытия. График в окне индикатора тот же, что и ценовой, но временнАя ось "наклонена" под углом трендовой линии Построение линий индикатора по экстремумам баров. Ограничение баров по первой точке трендовой линии Добавлено опциональное ограничение баров индикатора, их число задается параметром MaxBars. Чтобы отключить...
 
Maxim Dmitrievsky:

ha fatto una cosa simile, ma da che parte sterzare allora, come faccio a capirlo? )

nessun modo, solo con un tester ((

 
Maxim Dmitrievsky:

Forse si potrebbe aggiungere un filtro Kalman)

google "kalman habrahabr", l'articolo è stato letto lì molto tempo fa, la cosa più preziosa è nei commenti, l'autore dell'articolo in pooh.... per quanto ho capito, funzionerà come tutti - solo su dati che cambiano lentamente

PS: c'erano esempi di Kalman in KB - e se? ;)

 
Maxim Dmitrievsky:

Forse, non è ancora chiaro... fino a quando non lo si prova)

Potresti avere una foglia cattiva con un predictor instabile in una combinazione che predice correttamente e devi liberartene. Per esempio si può identificare la combinazione dall'80% delle foglie che vi partecipano - un certo quorum, e se appare una nuova foglia con un peso elevato, la si può filtrare. Mi chiedo anche quante combinazioni ci possono essere con questo criterio per 1000 transazioni... Ma non ho idea di come scoprirlo.

 
Maxim Dmitrievsky:

Un trucco importante... la legge di Zipf (esponenziale). E anche la dimostrazione che le variabili con una varianza più alta (maggiore ritardo del prezzo) hanno sempre un'importanza maggiore nei modelli ad albero. Ci sono molte caratteristiche simili (500 in totale), quindi il grafico non è molto dimostrativo. Lo rifarò più tardi.

bello!

Domanda da specialista di Python, datemi qualcosa in Python per esperimenti, ho quasi finito con Sharp, si connette a MT5 senza problemi, C# supporta anche Python, potrei provare a passare a Python ;)

 
Igor Makanu:

Bellissimo!

Domanda da esperto di Python, datemi qualcosa in Python per esperimenti, ho quasi finito con Sharp, si collega con MT5 senza alcun problema, C# e Python sono presumibilmente supportati, allora posso passare a Python ;)

Sto imparando Python... beh, cosa c'è da imparare, voglio dire che non ho ancora imparato i modelli MO... cosa vuoi esattamente? Prendi un esempio da questo sito https://scikit-learn.org/stable/

come Random Forest, per esempio.

 
Maxim Dmitrievsky:

Sto imparando python... o meglio, cosa c'è da imparare, voglio dire, non l'ho ancora usato veramente... cosa vuoi esattamente? prendi un esempio da qui https://scikit-learn.org/stable/

come Random Forest, per esempio.

o il gradient boosting, esempi già pronti.


ok, grazie, lo controllerò domani

 

I grafici qui e qui e anche qui sono stati tracciati con un errore, i valori in essi non sono da zero, quindi la probabilità di 0,5 non è al punto 5, ma al punto 6!

Questo è il tipo di errore che può verificarsi quando si analizzano i dati e si cerca di dargli un senso, un errore tecnico, per così dire...