Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2368

 
Vladimir Perervenko:
Li acidentalmente um artigo com uma declaração que me surpreendeu.Preditores, respostas e resíduos: O que realmente precisa ser distribuído normalmente?

Passagem sobre regressão linear dá o autor como uma pessoa não familiarizada com o teórico/matstato. Variante padrão das suposições para LR - as entradas são determinísticas (por exemplo, momentos de tempo) e a distribuição das saídas depende da distribuição do ruído (e cada saída terá a sua expectativa dependendo da entrada e diferente das outras).

Outra variante - se as entradas e saídas são retiradas de alguma distribuição conjunta, a condição de aplicabilidade de um modelo de regressão linear é ainda mais rigorosa - uma distribuição JUNICIPAL (bivariada, pelo menos) deve ser normal. Sem essa suposição, você pode esquecer o MOC.

 
Vladimir Perervenko:
Li acidentalmente um artigo com uma declaração surpreendente.Preditores, respostas e resíduos: O que realmente precisa ser distribuído normalmente?

Algumas citações:

"Muitos cientistas estão preocupados com a normalidade ou não normalidade das variáveis na análise estatística. Os pontos de vista seguintes e similares são frequentemente expressos, publicados ou ensinados:

  • " Se você quer fazer estatísticas, então tudo tem que ser normalmente distribuído .
  • "Normalizámos os nossos dados para se adequarem à suposição de normalidade .
  • " Convertemos os nossos dados para um registo, pois tinha uma distribuição altamente enviesada" .
  • "Depois de termos instalado o modelo, testamos a homocedasticidade dos resíduos .
  • "Utilizámos um teste não paramétrico porque os nossos dados não correspondiam à suposição de normalidade .

Devido aos requisitos das redes para a normalização dos dados, distribuição normal e um monte de ajustes, mudei para sistemas semelhantes a árvores. Eles vão lembrar-se dos dados tal como estão.

E depois do nome da IA (em um dos artigos para as pessoas comuns) como um banco de dados baseado em redes neurais ou árvores, começou a tratá-las exatamente como bancos de dados, que em uma célula (lista) podem armazenar várias linhas muito semelhantes, ou seja, ao mesmo tempo e resumir. Ao dividir a árvore até o último exemplo, as células conterão apenas as mesmas linhas sem generalização - ou seja, você terá uma base de dados pura. Ainda precisamos de generalizar, por isso paramos de dividir as folhas mais cedo.

 
Vladimir Perervenko:

Não se trata de impressão, mas sim de geradores e iteradores.

Vladimir, podes explicar?

Se este pacote pode acelerar o meu código sem alterar este código, é muito interessante para mim, dê-me apenas um exemplo funcional, por favor

 
mytarmailS:

Vladimir, podes dar-me uma explicação sobre?

Se este pacote pode acelerar o meu código sem alterar este código, é muito interessante para mim, dê-me apenas um exemplo funcional, por favor

Há muitos exemplos no pacote. Não consegues encontrá-lo? Ver

> #  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:

Não se trata de geradores e iteradores.

A sério? ))

 
Maxim Dmitrievsky

Você vai publicar um novo artigo sobre negociação de pares baseados em MO no futuro?

 
Evgeni Gavrilovi:

Você vai publicar um novo artigo sobre negociação de pares baseados em MO no futuro?

Sim, ainda não houve tempo. Os artigos levam muito tempo para pensar no seu plano, depois para programar

 
Maxim Dmitrievsky:

Sim, ainda não houve tempo. Os artigos levam muito tempo para pensar no seu plano, depois para programar

Eu tenho muito tempo para pensar no plano deles e depois programá-los. Você pode adicionar o script, que abre ordens diretamente em Python de acordo com esta estratégia?

 
Evgeni Gavrilovi:

Você pode então adicionar ao artigo um script que abra ordens diretamente em Python usando esta estratégia?

Sim, você pode. Mas é mais conveniente como Expert Advisor.

 
Maxim Dmitrievsky:

Sim, pode ser feito. Mas é mais conveniente como conselheiro, não é?


Há um artigo sobre hubra https://m.habr.com/ru/post/549202/, o que você acha? Pode ser feito algo prático? Estou interessado na sua (e de outros matemáticos) opinião de especialista.