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

 
Aleksey Nikolayev #:

Non ho studiato la questione in dettaglio. L'idea sembra essere semplice, ma ci sono molte sottigliezze tecniche nelle modalità di implementazione.

C'è anche una questione di cosa si intende per trovare il massimo in una funzione rumorosa....

Per come ho inteso io la definizione - "ottimizzare una funzione rumorosa" - significa che la funzione è complessa ed è difficile trovare il massimo, gli algoritmi di gradiente non sono applicabili, e così via... Grosso modo, non è un grosso problema, ha applicato un algoritmo di ottimizzazione globale ed è andato a cercare il massimo globale....


Ma io la vedo diversamente, voglio trovare il massimo di una funzione rumorosa ma con rumore rimosso, non il massimo globale di una funzione rumorosa, ma il massimo globale di una funzione de-rumorosa....

(E non è banale, perché la funzione non è nota e i parametri del rumore non sono noti....

What optimization algorithm can be used to find the maximum in a noisy multidimensional parameter space
What optimization algorithm can be used to find the maximum in a noisy multidimensional parameter space
  • 2022.12.07
  • mr.T mr.T 113 6 6 bronze badges
  • stats.stackexchange.com
I tried several algorithms that seem to be able to handle this, but it didn't work for me. Here is my fitness function which just looks for the max by index
 
СанСаныч Фоменко #:

1. La domanda di Dick è perfettamente valida e corretta. Non uso i NS, ma so che qualsiasi funzione in qualsiasi pacchetto R contiene necessariamente un riferimento all'autore dell'algoritmo e, per gli algoritmi seri, un riferimento all'articolo/libro che descrive l'algoritmo implementato in R. Dato che conoscete bene i NS, se utilizzaste R, potreste cercare in R il tipo di NS corrispondente e trovare il riferimento corrispondente dove è descritto l'algoritmo corrispondente, trovare una discussione sull'algoritmo, scoprire tutte le sfumature dei professionisti... e rispondere a Dick al massimo livello professionale, invece di borbottare qualcosa di osceno.


2. R di nome: il linguaggio delle statistiche e della grafica. L'essenza di R rivela la rubrica del suo apparato di riferimento.

Ecco un elenco di argomenti che i pacchetti R trattano. Uno di questi argomenti è l'apprendimento automatico.

Ecco un elenco di pacchetti relativi al MO.

Qualche anno fa si potevano trovare concorrenti di R tra gli altri linguaggi statistici specializzati. Per esempio, SPPS, oggi non ne ho trovati. R è rimasto l'unico linguaggio statistico, supportato e moderato, ha un numero enorme di mirror, inclusi nel software Microsoft.


3. Il confronto tra R e Python è del tutto ingiustificato.

R è un linguaggio specializzato. Python è un linguaggio universale. Python supera di gran lunga R per numero di utenti, ma l'utente di massa di Python è il web design. Il fatto che Python disponga di pacchetti statistici NON consente di classificarlo come linguaggio statistico. Su questa base, il C++, in cui sono implementati i pacchetti utilizzati sia in R che in Python, può essere classificato come linguaggio statistico. Grazie alle sue rubriche dettagliate e ai riferimenti agli algoritmi delle funzioni proposte, R può essere utilizzato per studiare la teoria e la pratica della statistica, mentre Python no.

E qui citerò Prado, ma non testualmente, perché ho dimenticato che "l'apprendimento automatico offre maggiori possibilità, rispetto alla statistica classica, nel trading".

e le bibbie di MO sono molto ben sviluppate per Python, anche se anche altri modelli di statistiche sono molto apprezzati. Quindi discutere di questi fatti e dimostrare qualcosa l'uno all'altro è inutile.

A mio avviso, R è per studenti, professori e hobbisti. Quindi potete citarvi a vicenda e vantarvi di qualcosa. Per i professori, forse per alcuni professori che insegnano. Python per i progetti seri e la produzione. Non ho sentito parlare di alcun progetto di MO in R in produzione.
 
Maxim Dmitrievsky #:

E qui citerò Prado, ma non testualmente, perché ho dimenticato che "l'apprendimento automatico offre maggiori possibilità, rispetto alla statistica classica, nel trading".

e le bibbie MO sono molto ben sviluppate per python, sebbene anche altri modelli statistici siano di grande utilità. Quindi discutere di questi fatti e dimostrare qualcosa l'uno all'altro è inutile.

A mio avviso, R è per studenti, professori e hobbisti. Quindi potete citarvi a vicenda e vantarvi di qualcosa. Per i professori, forse per alcuni professori che insegnano. Python per i progetti seri e la produzione. Non ho sentito parlare di alcun progetto di MO in R in produzione.

Perché state discutendo di qualcosa che voi stessi affermate di non conoscere?

Microsoft ha fatto alcuni sforzi per rendere R uno strumento per lo sviluppo di grandi progetti da parte di un gran numero di sviluppatori.

Ecco l'elenco dei prodotti/servizi Microsoft che ci permettono di lavorare con R:
.
  1. Microsoft R Server / R Server per Azure HDInsight
  2. VM per la scienza dei dati
  3. Apprendimento automatico di Azure
  4. Servizi R di SQL Server
  5. Power BI
  6. Strumenti R per Visual Studio

Che tipo di hobbisti e professori hanno bisogno dell'ecosistema Microsoft R Server?



E delle macchine virtuali VM che consentono di unificare tutto e niente?

E il servizio cloud Azura con i suoi pacchetti di apprendimento automatico e gli strumenti di sviluppo collaborativo?


R è ormai un sistema industriale integrato da Microsoft negli sviluppi propri e non.


E voi siete "per dilettanti"...

 
СанСаныч Фоменко #:

Perché fai ipotesi su qualcosa che tu stesso affermi di non conoscere?

Microsoft ha fatto degli sforzi per rendere R uno strumento per lo sviluppo di grandi progetti da parte di un gran numero di sviluppatori.

Ecco l'elenco dei prodotti/servizi Microsoft che ci permetteranno di lavorare con R:
.
  1. Microsoft R Server / R Server per Azure HDInsight
  2. VM per la scienza dei dati
  3. Apprendimento automatico di Azure
  4. Servizi R di SQL Server
  5. Power BI
  6. Strumenti R per Visual Studio

Che tipo di hobbisti e professori hanno bisogno dell'ecosistema Microsoft R Server?



E delle macchine virtuali VM che consentono di unificare tutto e niente?

E il servizio cloud Azura con i suoi pacchetti di apprendimento automatico e gli strumenti di sviluppo collaborativo?


R è ormai un sistema industriale integrato da Microsoft negli sviluppi propri e non.


E voi siete "per dilettanti"...

È chiaro che "c'è qualcosa".

Parlo per esperienza di comunicazione con implementatori, anche grandi, almeno in Russia.

Lo hanno fatto tutti in python.

Microsoft ha sdk per l'apprendimento automatico in C# e Asure, ma nessuno li usa.

Quindi avete realizzato un grande progetto in R e lo avete messo su un server. E chi lo manterrà? Nessuno, perché non ci sono specialisti in tale quantità e nessuno vuole imparare R per una statistica.

Per quanto riguarda python, assumete uno studente qualsiasi per una salsiccia e sarete a posto.

"Nessuno" è la parola giusta per dire che NESSUNO scrive in R, con nessuna pretesa. Perché c'è python.

e voi spingete i traddun a scrivere in R per fargli perdere tempo in un linguaggio inutile.

 
mytarmailS #:

C'è anche la questione di cosa si intende per trovare il massimo in una funzione rumorosa...

Per come ho inteso io la definizione - "ottimizzazione di una funzione rumorosa" - significa che la funzione è complessa ed è difficile trovare il massimo in essa, gli algoritmi di gradiente non sono applicabili, e così via.... In linea di massima, non è un grosso problema, si applica un algoritmo di ottimizzazione globale e questo va alla ricerca del massimo globale....


Ma io la vedo diversamente, voglio trovare il massimo di una funzione rumorosa ma con il rumore rimosso, non il massimo globale di una funzione rumorosa, ma il massimo globale di una funzione de-rumorosa....

(E non è banale, perché la funzione non è nota e i parametri del rumore non sono noti....

È necessario disporre di informazioni a priori sul rumore. Inoltre, è necessario un modello matematico chiaro del rumore - additivo, moltiplicativo o altro. Non è possibile creare un filtro senza un modello. E questo modello dovrebbe essere simile ai dati reali.

Forse dovreste cercare metodi di elaborazione dei geodati che funzionano con dati bidimensionali o tridimensionali. O qualcosa come la trasformata di Fourier, come nelle immagini jpg, o le wavelets, come nella nuova versione di jpg, o le spline multidimensionali, ecc.

 
Maxim Dmitrievsky #:

Vorrei citare lo slogan "combatti e cerca - trova e nascondi".

impostare qualsiasi criterio come metrica personalizzata, in particolare quelli standard. Continuerà a ottimizzare in base al logloss, ma si fermerà a questi criteri personalizzati, il che probabilmente ha un senso.

e in effetti è così, perché l'arresto nello stesso bousting è sempre basato su qualche criterio di calco come l'accuratezza.

Finora, credo, solo in questo modo. È anche possibile eseguire la potatura dell'albero in base a un criterio personalizzato.

 
Maxim Dmitrievsky #:

è chiaro che "c'è"

Parlo per esperienza di comunicazione con gli implementatori, anche di grandi dimensioni, almeno nella Federazione Russa.

tutto è stato fatto in Python

microsoft ha sdk per l'apprendimento automatico in C# e Asure, ma nessuno li usa

Quindi avete realizzato un grande progetto in R e lo avete messo sul server. E chi lo manterrà? Nessuno, perché non ci sono specialisti in un numero così grande e nessuno vuole imparare R per una statistica.

E per quanto riguarda Python, assumete uno studente qualsiasi per una salsiccia e sarete a posto.

"nessuno" è la parola che indica NESSUNA delle persone che scrivono in R, con qualsiasi pretesa. Perché c'è python.

e voi spingete i traddun a scrivere in R, in modo da fargli perdere tempo in un linguaggio inutile.

RF è un cattivo esempio, perché è estremamente inattivo nel senso di matstat. Il nostro forum è pieno di tecnici, ma la maggior parte di loro ha un'idea estremamente povera di matstat. Negli istituti i professori insegnano matstat in Excel) Tutto questo caratterizza in modo estremamente negativo la nostra scuola scientifica e tecnica - le soluzioni serie dei tempi dell'URSS sono molto più spesso acquistate già pronte all'estero, piuttosto che sviluppate nel paese.

 
Aleksey Nikolayev #:

È stato risposto correttamente che è necessario disporre di informazioni a priori sul rumore. Inoltre, è necessario un chiaro modello matematico del rumore - additivo, moltiplicativo o altro. Non è possibile creare un filtro senza un modello. E questo modello dovrebbe essere simile ai dati reali.

Forse dovreste guardare ai metodi di elaborazione dei geodati che lavorano con dati bidimensionali o tridimensionali. O qualcosa come la trasformata di Fourier, come nelle immagini jpg, o le wavelets, come nella nuova versione di jpg, o le spline multidimensionali, ecc.

Posso creare un modello senza problemi, qualsiasi decomposizione, anche la PCA, e andare avanti...

Ma i dati? Non esistono, è una funzione sconosciuta, e anche multidimensionale....

TUTTI i dati sono i punti sparsi dei risultati della ricerca AO (se li si salva).

Non è una serie temporale, non c'è struttura o ordine.

 
Aleksey Nikolayev #:

RF è un cattivo esempio, perché è estremamente stupido nel senso di matstat. Il nostro forum è pieno di tecnologi, ma la maggior parte di loro ha un'idea estremamente povera di matstat. Negli istituti i professori insegnano matstat in Excel) Tutto questo caratterizza in modo estremamente negativo la nostra scuola scientifica e tecnica - le soluzioni serie dei tempi dell'URSS sono molto più spesso acquistate già pronte all'estero, piuttosto che sviluppate nel paese.

Excel sarà più utile per loro più avanti nella vita :D

 
mytarmailS #:

Posso creare un modello senza problemi, qualsiasi decomposizione, anche PCA e andare avanti.

Ma i dati? Non esistono, è una funzione sconosciuta e multidimensionale...

I dati sono i punti sparsi della ricerca AO (se li salvate).

Non è una serie temporale, non c'è struttura o ordine.

La prima cosa che mi viene in mente è di dividere lo spazio in una griglia con celle né troppo grandi né troppo piccole (la dimensione è determinata dal modello di rumore). Si inizia con una cella (scelta a caso, per esempio) - alcuni punti in essa determinano la direzione del gradiente della funzione smussata e si passa alla cella successiva e così via fino a quando non ci sono transizioni o cicli. La posizione dell'estremo viene impostata con precisione in base alle dimensioni della cella, quindi non deve essere troppo grande, ma allo stesso tempo deve dare la possibilità di smussare, quindi non è troppo piccola. Dobbiamo accettare il fatto che in linea di principio non esiste una posizione esatta dell'estremo, poiché essa varia a seconda del metodo di lisciatura.