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

 
Vladimir Perervenko:
Ho letto per caso un articolo con un'affermazione che mi ha sorpreso.Predittori, risposte e residui: cosa deve essere realmente distribuito normalmente?

Il passaggio sulla regressione lineare fa capire che l'autore è una persona che non ha familiarità con la teoria/matematica. Variante standard delle ipotesi per LR - gli input sono deterministici (per esempio i momenti del tempo) e la distribuzione degli output dipende dalla distribuzione del rumore (e ogni output avrà la sua aspettativa che dipende dall'input e diversa dagli altri).

Un'altra variante - se gli input e gli output sono presi da qualche distribuzione congiunta, la condizione di applicabilità di un modello di regressione lineare è ancora più severa - una distribuzione JUNICIPAL (bivariata, almeno) deve essere normale. Senza questo presupposto, si può dimenticare il MOC.

 
Vladimir Perervenko:
Ho letto per caso un articolo con un'affermazione sorprendente.Predittori, risposte e residui: cosa deve essere realmente distribuito normalmente?

Alcune citazioni:

"Molti scienziati sono preoccupati per la normalità o la non normalità delle variabili nell'analisi statistica. Le seguenti e simili opinioni sono spesso espresse, pubblicate o insegnate:

  • " Se si vuole fare statistica, allora tutto deve essere distribuito normalmente .
  • "Abbiamo normalizzato i nostri dati per adattarli all'ipotesi di normalità .
  • " Abbiamo convertito i nostri dati in un log perché avevano una distribuzione molto asimmetrica" .
  • "Dopo aver montato il modello, abbiamo testato l'omoscedasticità dei residui .
  • "Abbiamo usato un test non parametrico perché i nostri dati non si adattavano all'ipotesi di normalità .

A causa del requisito delle reti per la normalizzazione dei dati, la distribuzione normale, e un mucchio di modifiche, sono passato a sistemi ad albero. Ricorderanno i dati così come sono.

E dopo il nome di AI (in uno degli articoli per la gente comune) come un database basato su reti neurali o alberi, ha cominciato a trattarli esattamente come database, che in una cella (lista) può memorizzare più linee molto simili, cioè allo stesso tempo e riassumere. Dividendo l'albero fino all'ultimo esempio, le celle conterranno solo le stesse righe senza generalizzazione - cioè si otterrà un database puro. Abbiamo ancora bisogno di generalizzare, quindi smettiamo di dividere le foglie in anticipo.

 
Vladimir Perervenko:

Non si tratta di stampa, ma di generatori e iteratori.

Vladimir, puoi spiegare il?

Se questo pacchetto può accelerare il mio codice senza cambiare questo codice, è molto interessante per me, datemi un esempio funzionante per favore

 
mytarmailS:

Vladimir, puoi darmi una spiegazione su?

Se questo pacchetto può accelerare il mio codice senza cambiare questo codice, è molto interessante per me, datemi un esempio funzionante per favore

Ci sono molti esempi nel pacchetto. Non riesci a trovarlo? Vedere

> #  A generator statement creates a generator factory. The
> #  following generator yields two times and then returns `"c"`:
> generate_abc <- generator(function() {
+   yield("a")
+   yield("b")
+   "c"
+ })
> 
> #  Or equivalently:
> generate_abc <- generator(function() {
+   for (x in letters[1:3]) {
+     yield(x)
+   }
+ })
> 
> #  The factory creates generator instances. They are iterators
> #  that you can call successively to obtain new values:
> abc <- generate_abc()
> abc()
[1] "a"
> abc()
[1] "b"
> 
> #  Once a generator has returned it keeps returning `exhausted()`.
> #  This signals to its caller that new values can no longer be
> #  produced. The generator is exhausted:
> abc()
[1] "c"
> abc()
exhausted
> 
> #  You can only exhaust a generator once but you can always create
> # new ones from a factory:
> abc <- generate_abc()
> abc()
[1] "a"
> 
> 
> #  As generators implement the coro iteration protocol, you can use
> #  coro tools like `loop()`. It makes it possible to loop over
> #  iterators with `for` expressions:
> loop(for (x in abc) print(x))
[1] "b"
[1] "c"
> 
> #  To gather values of an iterator in a list, use `collect()`. Pass
> #  the `n` argument to collect that number of elements from a
> #  generator:
> abc <- generate_abc()
> collect(abc, 1)
[[1]]
[1] "a"

> 
> #  Or drain all remaining elements:
> collect(abc)
[[1]]
[1] "b"

[[2]]
[1] "c"

> 
> 
> #  coro provides a short syntax `gen()` for creating one-off
> #  generator _instances_. It is handy to adapt existing iterators:
> numbers <- 1:10
> odds <- gen(for (x in numbers) if (x %% 2 != 0) yield(x))
> squares <- gen(for (x in odds) yield(x^2))
> greetings <- gen(for (x in squares) yield(paste("Hey", x)))
> 
> collect(greetings)
[[1]]
[1] "Hey 1"

[[2]]
[1] "Hey 9"

[[3]]
[1] "Hey 25"

[[4]]
[1] "Hey 49"

[[5]]
[1] "Hey 81"

> 
> 
> #  Arguments passed to generator instances are returned from the
> # `yield()` statement on reentry:
> new_tally <- generator(function() {
+   count <- 0
+   while (TRUE) {
+     i <- yield(count)
+     count <- count + i
+   }
+ })
> tally <- new_tally()
> tally(1)
[1] 0
> tally(2)
[1] 2
> tally(10)
[1] 12
 
Vladimir Perervenko:

Non si tratta di generatori e iteratori.

Davvero? ))

 
Maxim Dmitrievsky

Hai intenzione di pubblicare un nuovo articolo sul pair trading basato su MO in futuro?

 
Evgeni Gavrilovi:

Hai intenzione di pubblicare un nuovo articolo sul pair trading basato su MO in futuro?

Sì, non c'è stato ancora tempo. Gli articoli richiedono molto tempo per pensare al loro piano, poi per programmare

 
Maxim Dmitrievsky:

Sì, non c'è stato ancora tempo. Gli articoli richiedono molto tempo per pensare al loro piano, poi per programmare

Non so se posso aggiungere lo script che apre gli ordini direttamente in Python secondo questa strategia.

 
Evgeni Gavrilovi:

Puoi quindi aggiungere all'articolo uno script che apre gli ordini direttamente in Python usando questa strategia?

Sì, è possibile. Ma è più conveniente come Expert Advisor.

 
Maxim Dmitrievsky:

Sì, si può fare. Ma è più comodo come consulente, vero?


C'è un articolo su hubra https://m.habr.com/ru/post/549202/, cosa ne pensi? Si può fare qualcosa di pratico? Mi interessa la tua (e quella di altri matematici) opinione di esperto.