L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 3283
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
Questo è il cuore del calcolo riga per riga della matrice.
PearsonCorrM è 40-50 volte più veloce dell'algoritmo riga per riga di Algibov, probabilmente anche uno strumento casalingo veloce non supererà questo divario di velocità.
Mi chiedo cosa succederebbe se una matrice venisse calcolata e la stessa matrice venisse calcolata con l'algoritmo veloce di Algibov PearsonCorrM. Chi sarebbe più veloce?
PearsonCorrM è 40-50 volte più veloce dell'algoritmo riga per riga di Algibov, probabilmente anche un algoritmo veloce fatto in casa non supererà questo divario di velocità.
Ecco il doppio del ritardo dell'algoritmo fatto in casa da PearsonCorrM.
Ho confrontato la velocità di formazione di CatBoost in python e attraverso la riga di comando:
- 20% più veloce dall'avvio al salvataggio dei modelli, compresa la lettura dei campioni
- 12% più veloce del processo di apprendimento stesso
Testato sullo stesso modello, il risultato dell'addestramento è identico.
Naturalmente, la linea di comando è più veloce.
- 20% più veloce dall'avvio al salvataggio dei modelli, compresa la lettura dei campioni.
- 12% più veloce del processo di apprendimento stesso
Testato sullo stesso modello: il risultato dell'addestramento è identico.
Naturalmente, la linea di comando è più veloce.
Utilizzate ancora la riga di comando per eseguire gli EXE?
È possibile eseguirli tramite WinExec e ottimizzarli nel tester.
Non ho provato Catboost, ma credo che si possa fare qualcosa.
Un altro possibile problema, se il file del modello è enorme, potrebbe richiedere molto tempo per essere scritto, cioè il file esiste già, ma non è stato scritto fino alla fine. Potrebbe essere necessario mettere in pausa il file o controllare che il file non sia chiuso in lettura dal processo di scrittura....La cosa più difficile è determinare il momento in cui l'allenamento è finito. Io lo faccio controllando l'aspetto del file del modello nella cartella agent_dir+"\model.bin" una volta al secondo. Non so dove Catboost metta il file del modello, forse dovrò cercarlo altrove.
Utilizzate ancora la riga di comando per eseguire gli EXE?
È possibile eseguirli tramite WinExec e ottimizzarli nel tester.
Io eseguo i file bat: finora è l'opzione più comoda per le attività correnti.
Finora c'è solo un compito per il lancio automatico dell'addestramento dopo aver ottenuto un campione: la ricerca di ricognizione. Ho intenzione di creare un file bat automatico per questo più tardi.
Non ho provato Catboost, ma credo che si possa pensare a qualcosa.
La cosa più difficile è determinare il momento della fine dell'allenamento. Lo faccio controllando l'aspetto del file del modello nella cartella agent_dir+"\model.bin" 1 volta al secondo. Non so dove Catboost metta il file del modello, forse dovrò cercarlo altrove.
Un altro possibile problema, se il file del modello è enorme, potrebbe richiedere molto tempo per essere scritto, cioè il file esiste già, ma non è stato scritto fino alla fine. Potrebbe essere necessario mettere in pausa il file o controllare che non sia chiuso alla lettura dal processo di scrittura....La tua soluzione è interessante: la guarderò e forse la adotterò per l'applicazione.
Ma penso che ci sia la possibilità di ottenere una risposta finale dal programma eseguibile - volevo usare questo approccio.
Opzione con i file - se si esegue un bootnik, allora di nuovo - si può semplicemente creare un nuovo file alla fine dell'attività.
Forse il tasso di successo relativo delle varianti -1 e 0 è legato alla dimensione del campione del treno e dovrebbe essere ridotto? In generale, sembra che Recall reagisca a questo.
Secondo voi, i risultati di queste combinazioni dovrebbero essere comparabili tra loro nel nostro caso? Oppure i dati sono irrimediabilmente obsoleti?
Ho diviso il campione del treno in 3 parti, ho addestrato 3 set per la variante -1 e la variante 0, e ho anche addestrato solo il treno originale come tre campioni.
Ecco cosa ho ottenuto.
Ho fatto questa generalizzazione PR=(Precisione-0,5)*Recall
Sembra che l'addestramento avvenga a spese della seconda e terza parte del campione del treno - ora li ho combinati e ho eseguito l'addestramento - vediamo cosa succede.
Tuttavia, sembra che questo non sia un cattivo metodo per stimare la casualità dell'allenamento. Idealmente, l'addestramento dovrebbe avere un successo relativo in ogni segmento, altrimenti non è garantito che il modello smetta di funzionare domani.
Sembra che l'allenamento avvenga a scapito della seconda e della terza parte del treno campione: ora le ho unite e ho eseguito l'allenamento, vedremo cosa succederà.
Tuttavia, sembra che questo non sia un metodo sbagliato per valutare la casualità dell'allenamento. Idealmente, l'addestramento dovrebbe avere un successo relativo in ogni segmento, altrimenti non c'è garanzia che il modello smetta di funzionare domani.
Ecco i risultati - le ultime due colonne
In effetti, i risultati sono migliorati. Possiamo ipotizzare che più grande è il campione, migliore sarà il risultato dell'addestramento.
Dovremmo provare ad allenarci sulla prima e sulla seconda parte del campione di allenamento e se i risultati non sono molto peggiori rispetto alla seconda e alla terza parte, allora il fattore della freschezza del campione può essere considerato meno significativo del volume.
Ho scritto molte volte sul "potere predittivo dei predittori". che viene calcolato come la distanza tra due vettori.
Mi sono imbattuto in un elenco di strumenti per il calcolo della distanza:
Oltre a quello standard, che ha un proprio insieme di distanze, c'è un elenco di strumenti per il calcolo della distanza.
Ecco il risultato - le ultime due colonne
In effetti, i risultati sono migliorati. Possiamo ipotizzare che più grande è il campione, migliore sarà il risultato della formazione.
È necessario provare ad allenarsi su 1 e 2 parti del campione di allenamento - e se i risultati non sono molto peggiori rispetto a 2 e 3 parti, allora il fattore della freschezza del campione può essere considerato meno significativo del volume.
Ho scritto molte volte sul "potere predittivo dei predittori", che viene calcolato come la distanza tra due vettori.
Mi sono imbattuto in un elenco di strumenti per il calcolo della distanza:
Oltre a quello standard, che ha un proprio insieme di distanze, c'è un elenco di strumenti per il calcolo della distanza.
Potete mostrarmi un esempio di utilizzo?