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

 
Mihail Marchukajtes:

Em geral, eu uso este pacote em particular para selecionar os preditores. É evidente que existem desvantagens, especialmente a falta de interação de vários preditores em relação ao alvo. Mas no geral, é o suficiente para a minha optimização até agora... Portanto, se houver outros pacotes para o pré-processamento de dados, eu os consideraria de bom grado...

Pela minha experiência, posso recomendar o pacote RandomUniformForest como o mais completo e profissional, lidando com vários aspectos da importância do preditor. Exemplos podem ser vistos aqui

Boa sorte.

PS: A propósito, um dos poucos que lhe permite reciclar o modelo em novos dados. O que poupa muito tempo.

 
Dr. Trader:

Uma nova excursão a cada semana. Em uma semana você tem que treinar o modelo e enviar-lhes as previsões. Mas a estimativa de seu modelo só será conhecida após mais três semanas, suas previsões serão comparadas com as reais para essas três semanas.

Acho que eles estão a manter pelo menos 90%.

O que queres dizer com "acho que eles estão a manter pelo menos 90%"? Você acha que eles trocam estas previsões que lhes são enviadas? Em geral, como descobrir os sinais para calcular a previsão com antecedência? Por interpolação ou algo assim? Eles têm escrito em seu documento, que é apenas uma "prova de trabalho", como na mineração e o vencedor é escolhido aleatoriamente, provavelmente metade dos resultados são quase os mesmos, em seguida, aleatoriamente jogado um filtro que classifica adicionalmente, bem, é um cassino vergonhoso, e conjunto de dados é provavelmente puro sintético, ruídos com baixa preponderância de sinal, não há mercado em tudo. Toda esta treta sobre fundos de cobertura, etc., é puramente para ganhar popularidade para a sua moeda.

 
Maxim Dmitrievsky:

Então, mikhail, já recuperou do seu frenesim, está prestes a começar a avaliar os seus ts de forma sensata e sem fanatismo? :)

Eu não tinha raiva. Apenas cálculo frio, que não mudou em nada desde a última vez. Para não falar da teoria da aproximação, que ainda funciona. Por um momento...

 
govich:

Especificamente, o quanto eles estão guardando não está escrito oficialmente. Todos os tipos de revistas financeiras escreveram sobre um lucro de 1,5 milhões em 2016, e se você comparar quanto disso eles pagaram aos participantes, não é muito.

> Você acha que eles trocam essas previsões que lhes são enviadas?
Sim, essa é a estratégia. Por exemplo, vou criar um monte de recursos, criar uma planilha de treinamento, enviá-los para o fórum, 10 pessoas vão dar suas previsões e eu vou trocar por eles - é tão simples quanto isso.
Eles não tinham o seu próprio criptograma durante muito tempo, pagavam em bitcoins. Só levaram alguns milhares de dólares em bitcoins todas as semanas durante um ano. Depois libertaram o seu próprio criptograma para não terem de lidar com bitcoins.

> Como você sabe antecipadamente os sinais para os quais você pode calcular a previsão? É uma interpolação?
Interpolação, previsão pelos vizinhos mais próximos, agrupamento, há muitas opções, eles não vão lhe dizer a resposta específica, você só pode adivinhar.

 
Vladimir Perervenko:

Pela minha experiência, posso recomendar o pacote RandomUniformForest como a forma mais abrangente e profissional de lidar com os vários aspectos da importância do preditor. Exemplos podem ser encontrados aqui

Boa sorte.

PS: A propósito, um dos poucos que lhe permite reciclar o modelo em novos dados. O que poupa um mar de tempo.

Experimentei-o. Não consegui obter nenhum resultado.

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Em 5 minutos ele gera.
Erro em OOB.votes - Y: Matrizes multidimensionais não similares

Estrutura das matrizes a alimentar:

> str(x1)
num [1:20000, 1:9] 0,00148 0,33309 0,46698 0,26331 -0,05916 ...
> str(y1)
num [1:20000, 1] 0 0 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
num [1:10000, 1:9] 0,000746 0,162699 0,379051 -0,529729 -0,340744 ...
> str(y2)
num [1:10000, 1] 0 0 1 1 1 0 0 0 0 0 0 ...

Não está claro - semelhança do que com o que requer.
Testado sem xtest = x2, ytest = y2 - mesmo resultado.
Passando para o próximo pacote.

 
elibrarius:

Experimentei-o. Não consegui obter nenhum resultado...

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Depois de 5 minutos.
Erro no OOB.

A estrutura das matrizes a serem alimentadas:

> str(x1)
num [1:20000, 1:9] 0,00148 0,33309 0,46698 0,26331 -0,05916 ...
> str(y1)
num [1:20000, 1] 0 0 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
num [1:10000, 1:9] 0,000746 0,162699 0,379051 -0,529729 -0,340744 ...
> str(y2)
num [1:10000, 1] 0 0 1 1 1 0 0 0 0 0 0 ...

Não está claro - a semelhança do que com o que requer.
Testado sem xtest = x2, ytest = y2 - mesmo resultado.
Passando para o próximo pacote.

Não sei porque não funcionou, funciona para mim.

Tem bons resultados em carpete. Existem lá três funções de seleção de preditores - eles têm eficiência diferente e consomem vários recursos computacionais.


Há outro pacote muito interessante - CORElearn. Este pacote contém duas funções para selecionar os preditores e eu os usei juntos e eles dão muito bons resultados nos meus preditores. Particularmente curioso é o attrEval com um conjunto absolutamente fantástico de métodos de avaliação de seleção, entre os quais um lugar especial é o grupo Alívio, que avalia não apenas uma observação (string), mas também as cordas mais próximas.


Boa sorte.


PS.

Não se esqueça que a seleção do preditor deve consistir, pelo menos, nos seguintes passos:

  • Seleção por: preditores relevantes para o alvo. O feiticeiro aqui deu um link para a teoria deste passo. Dois métodos podem ser distinguidos: estatística e entropia. Para ambos, havia aqui um código.
  • seleção por pacotes numerados que NÃO são relevantes para o modelo futuro
  • Seleção que é feita com base nos resultados do modelo. Muito eficaz em modelos lineares. Por exemplo, por glm selecionamos apenas os preditores significativos e depois apenas eles na rede. O resultado pode ser surpreendente.


Antes de selecionar os preditores pode ser necessário um pré-processamento, por exemplo, centralização. Está bem descrito no artigode Vladimir Perervenko

 
elibrarius:

Experimentei-o. Não consegui obter nenhum resultado...

> ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 1, ntree = 300,threads = 2, nodesize = 2)

Depois de 5 minutos.
Erro no OOB.

A estrutura das matrizes a serem alimentadas:

> str(x1)
num [1:20000, 1:9] 0,00148 0,33309 0,46698 0,26331 -0,05916 ...
> str(y1)
num [1:20000, 1] 0 0 0 0 0 0 0 0 1 1 1 1 ...
> str(x2)
num [1:10000, 1:9] 0,000746 0,162699 0,379051 -0,529729 -0,340744 ...
> str(y2)
num [1:10000, 1] 0 0 1 1 1 0 0 0 0 0 0 ...

Não está claro - a semelhança do que com o que requer.
Testado sem xtest = x2, ytest = y2 - mesmo resultado.
Passando para o próximo pacote.

Você pode postar os conjuntos originais?

Você precisa especificar que isso não é uma regressão, já que o seu alvo não é um fator. Adicionar parâmetros

ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 3, ntree = 300,threads = 2, nodesize = 2, regression = FALSE)

ou

ruf <- randomUniformForest( X = x1, Y = y1 %>% como.factor, xtest = x2, ytest = y2 %>% como.factor, mtry = 3,

ntree = 300, fios = 2, tamanho do nó = 2)

Boa sorte.

 
SanSanych Fomenko:

Há outro pacote muito interessante: CORElearn. Há duas funções nesse pacote para selecionar os preditores, eu os usei em pares, eles dão resultados muito bons nos meus preditores. Particularmente curioso é o attrEval com um conjunto absolutamente fantástico de métodos de avaliação de seleção, entre os quais um lugar especial é o grupo Alívio, que avalia não apenas uma observação (string), mas também as cordas mais próximas.


De acordo. Em princípio, este é provavelmente o pacote mais sério para a RF. Você deve prestar atenção ao desenvolvedor Marko Robnik-Sikonja.

Boa sorte.

 
Vladimir Perervenko:

Você pode postar os conjuntos originais?

Você precisa especificar que isso não é uma regressão, já que o seu alvo não é um fator. Adicionar parâmetros

ruf <- randomUniformForest( X = x1,Y = y1,xtest = x2, ytest = y2,mtry = 3, ntree = 300,threads = 2, nodesize = 2, regression = FALSE)

ou

ruf <- randomUniformForest( X = x1, Y = y1 %>% como.factor, xtest = x2, ytest = y2 %>% como.factor, mtry = 3,

ntree = 300, fios = 2, tamanho do nó = 2)

Boa sorte.

Isso ajudou. Obrigado!
 
Dr. Trader:

Especificamente, o quanto eles guardam para si mesmos não está escrito oficialmente. Todos os tipos de revistas financeiras escreveram cerca de 1,5 milhões de lucro em 2016, e se você comparar o quanto eles estavam pagando aos participantes, não é muito.

> Você acha que eles trocam essas previsões que lhes são enviadas?
Sim, essa é toda a estratégia. Por exemplo, vou criar um monte de recursos, criar uma planilha de treinamento, enviá-los para o fórum, 10 pessoas vão dar suas previsões e eu vou trocar por eles - tudo é simples.
Eles não tinham o seu próprio criptograma durante muito tempo, pagavam em bitcoins. Só levaram alguns milhares de dólares em bitcoins todas as semanas durante um ano. Depois libertaram o seu próprio criptograma para não terem de lidar com bitcoins.

> Como você sabe antecipadamente os sinais para os quais você pode calcular a previsão? É uma interpolação?
Se você não souber a resposta exata, você só pode adivinhar.

1.5m$ são centavos, como para o Entire Kantor, ouvi dizer que naquele momento em que colocaram seu criptograma em troca, alguns participantes (que estavam no topo) pegaram de cada se não milhões de$, então centenas de milhares de$, você poderia conseguir o primeiro lugar e 4000NMR por $200 por moeda = 800.000k$ SOMENTE uma vez, mas esta bola rapidamente acabou e NMR caiu e começou a dar moedas a menos, mas provavelmente alguém teve sorte simpática.

IMHO eu acho que no início eles podem ter tentado trocar previsões, e até mesmo lugares que eram mais ou menos previsíveis, provavelmente 90% do dinheiro que eles mesmos pagaram, a maioria das primeiras cem foram provavelmente seus amigos, o dinheiro não vazou para quem sabe o quê. Mas agora é um casino puro com "prova de trabalho" e muita aleatoriedade, pelo menos é esse o boato.


PS: antes da moeda, eles costumavam pagar 6k$ por semana (mas a quem?), ou seja, 288k$ por ano, ou seja, 288k$ por ano sai apenas como aquele "honesto" ~20% de 1,5m de lucros para os quants))) Mas, claramente, todos estes números, podem ser forjados.