Qual algoritmo de aprendizado de máquina pode ser usado para prever o mercado de ações?

15

Como alternativa, prever mercados de câmbio. Sei que isso pode ficar bem complicado, então, como introdução, estou procurando um algoritmo de previsão simples que tenha alguma precisão.

(É para um projeto universitário de mestrado que dura quatro meses)

Eu li que uma rede neural de várias camadas pode ser útil. Alguma idéia sobre isso? Além disso, a análise semântica das mídias sociais pode fornecer informações sobre o comportamento do mercado que influencia o mercado de ações. No entanto, a análise semântica está um pouco fora do escopo do projeto no momento.

siamii
fonte
15
Meu, mas por razões óbvias, estou guardando tudo para mim!
babelproofreader
7
Se alguém acredita na hipótese do mercado eficiente, é impossível obter consistentemente retornos acima da média do mercado (sem conhecimento interno), que são incorporados às taxas / preços atuais. Muitas pessoas discordam disso, mas quase todo mundo concorda que isso é verdade para um investidor casual. Em outras palavras, um modelo 3 linha baseado fora de rand () é provavelmente quase tão bom quanto o investidor típico: P
rm999
5
Parece improvável que alguém estaria disposto a compartilhar um algoritmo que tem qualquer precisão out-of-sample. Exceto, talvez, algum trabalho acadêmico publicado em que a anomalia é pequena e não cobre os custos de transação.
NPE
2
Para o trabalho acadêmico, talvez valha mais a pena modelar os preços do que tentar prever. A previsão provavelmente não será bem-sucedida, mas a modelagem pode pelo menos fornecer algumas dicas sobre como as coisas realmente funcionam e, teoricamente, pode ser estendida à previsão.
highBandWidth
2
@wayne Eu não acho que seja sobreajuste, é sobre permitir preditores que não podem ser usados ​​para previsões, por exemplo, variáveis ​​que ocorrem durante / após movimentos de estoque - se você achar que os estoques da Apple e da Microsoft tendem a se correlacionar, esse fato não pode ser usado prever estoque de msft, mas pode ser muito informativo.
Rm999

Respostas:

17

Como o babelproofreader mencionou , aqueles que possuem um algoritmo bem-sucedido tendem a ser muito secretos. Portanto, é improvável que qualquer algoritmo amplamente disponível seja muito útil imediatamente, a menos que você esteja fazendo algo inteligente com ele (nesse ponto, ele meio que deixa de estar amplamente disponível desde que você o adiciona).

Dito isto, aprender sobre os modelos ARIMA (média móvel inteira auto-regressiva) pode ser um começo útil para prever dados de séries temporais. Não espere resultados melhores do que aleatórios.

Michael McGowan
fonte
5
+1: Quantas vezes estive lendo ou participando de uma aula e ouvi pessoas que acreditam que, se tiverem um algoritmo suficientemente complicado, poderão enriquecer nos mercados de ações / eletricidade / commodities. Você tenta explicar o excesso de ajustes, etc, mas sem sucesso. Até onde eu sei, não sendo um insider, o software de negociação de ações bem-sucedido dependia de nenhuma taxa de transação, arbitragem e alta velocidade. A vantagem agora é usar brechas nas regras de negociação automatizadas e na proposta / retirada de lances em alta velocidade para otimizar outros operadores automatizados.
Wayne
1
A outra questão é onde várias pessoas terminam com o mesmo algoritmo, porque treinaram exatamente nos mesmos dados e, em seguida, realizam o volume de vendas / compras. Espera-se que algum algoritmo tenha precisão a longo prazo?
Michelle
@Wayne existem estratégias para reduzir o excesso de ajustes, embora sejam difíceis de implementar nos dados de séries temporais.
Zach
1
@Zach: sim, existem maneiras de penalizar o overfitting, mas é a atitude em que estou refletindo: as pessoas que fizeram algumas curvas básicas (provavelmente erradas) no Excel e acham que poderiam ganhar dinheiro com seu molho secreto , mas o que eles realmente precisam é de um desses algoritmos sofisticados e avançados que o professor simplesmente não compartilhará com a turma. Esse algoritmo encaixaria os dados como uma luva e, em seguida, preveria muito melhor do que todos os outros especuladores que usam planilhas do Excel ... mas o professor continua falando sobre o ajuste excessivo e as limitações dos dados. Suspiro.
Wayne Wayne
12

Para seus propósitos, você deve escolher um algoritmo de aprendizado de máquina que achar interessante e experimentá-lo.

Em relação à Teoria Eficiente do Mercado, os mercados não são eficientes, em qualquer escala de tempo. Além disso, algumas pessoas (tanto na academia quanto na vida real) são motivadas pelo desafio intelectual, não apenas para enriquecer rapidamente, e publicam resultados interessantes (e considero interessante um resultado que falhou). Mas trate tudo o que você lê com uma pitada de sal; se os resultados são realmente bons, talvez o método científico deles não seja.

Data Mining With R pode ser um livro útil para você; é caro, então tente encontrá-lo na sua biblioteca da universidade. O capítulo 2 aborda exatamente o que você quer fazer e ele obtém melhores resultados com uma rede neural. Mas esteja avisado de que ele obtém resultados ruins e gasta muito tempo na CPU para obtê-los. As análises da Amazon apontam que o livro custa US $ 20 a mais porque esse capítulo menciona a palavra finanças ; ao ler, tive a impressão de que o editor o pressionara a escrevê-lo. Ele fez sua lição de casa, leu os documentos, examinou as listas de discussão corretas, mas seu coração não estava nele. Eu tenho algum conhecimento útil sobre R, mas não vou bater no mercado com ele :-)

Darren Cook
fonte
@ Darren - eu gosto do seu estilo.
Roland2
1
Uma versão preliminar (maio de 2003) do Data Mining with R pode ser encontrada aqui . (Eu não tenho o livro, então eu não posso dizer qual é a diferença entre as duas versões.)
chl
@chi Obrigado! Dei uma rápida olhada e apenas dois dos quatro capítulos estão lá. Mas a maior diferença é que o capítulo Previsão de retornos do mercado de ações é muito diferente. Nenhuma menção a xts ou quantmod e, em vez disso, usando o pacote ts e usando o acf e o pacote MARS para previsões. É quase como um capítulo de bônus, e vou reservar um tempo para lê-lo corretamente. Ele ainda está usando redes neurais, mas não as comparando com SVMs, como no livro publicado.
Darren Cozinhe
10

Na minha opinião, qualquer IA forte e comum capaz de executar todas as ações a seguir pode facilmente produzir uma previsão estatisticamente significativa:

  • Reunir e entender rumores

  • Acesse e interprete todo o conhecimento do governo

  • Faça isso em todos os países relevantes

  • Faça previsões relevantes sobre:

    • Condições do tempo

    • Atividade terrorista

    • Pensamentos e sentimentos dos indivíduos

    • Tudo o mais que afeta o comércio

A análise estatística é a menor das suas preocupações, na verdade.

Jon Purdy
fonte
4

Você pode tentar as funções auto.arima e ets em R. Você também pode ter algum sucesso com o pacote rugarch , mas não há funções existentes para a seleção automatizada de parâmetros. Talvez você possa obter parâmetros para o modelo médio auto.arima, depois passá-los para rugarche adicionar garch(1,1)?

Existem todos os tipos de blogs por aí que afirmam ter algum sucesso nisso. Aqui está um sistema usando um modelo arima (e posteriormente um modelo garch) e um sistema usando um modelo SVM . Você encontrará muitas informações boas sobre a negociação de software livre , principalmente se você começar a ler os blogs em seu blog.

Qualquer que seja o modelo que você use, certifique-se de validar cruzadamente e comparar! Ficaria muito surpreso se você encontrasse um modelo de arima, ets ou mesmo garch que pudesse superar consistentemente um modelo ingênuo fora da amostra. Exemplos de validação cruzada de séries temporais podem ser encontrados aqui e aqui . Lembre-se de que o que você REALMENTE deseja prever são retornos, não preços.

Zach
fonte
2

Conheço uma abordagem de aprendizado de máquina atualmente em uso por pelo menos um fundo de hedge. O numer.ai está usando um conjunto de algoritmos de aprendizado de máquina fornecidos pelo usuário para direcionar as ações do fundo.

Em outras palavras: um fundo de hedge fornece acesso aberto a uma versão criptografada de dados em algumas centenas de veículos de investimento, provavelmente ações. Milhares de cientistas de dados e similares treinam todos os tipos de algoritmos de aprendizado de máquina contra esses dados e enviam os resultados para um placar. Os pontuadores mais altos recebem uma pequena quantia em dinheiro, dependendo da precisão de seus resultados e de quanto tempo eles estão disponíveis on-line.

As melhores previsões são supostamente feitas por conjuntos de algoritmos.

Portanto, muitos cientistas fornecem suposições treinadas, algumas das quais são conjuntos de suposições e o fundo de hedge usa o conjunto de todas as suposições fornecidas para direcionar seus investimentos.

Os resultados bastante interessantes deste fundo de hedge me ensinaram duas coisas:

  1. Os conjuntos são frequentemente vistos como uma boa maneira de fazer previsões no mercado de ações.
  2. Boas previsões exigem mais conjuntos do que estou disposto a me construir ...

Se você quiser experimentar, visite: https://numer.ai/ Não, não sou afiliado a eles, provavelmente não passaria meus dias on-line se estivesse conectado a um fundo de hedge que emprega milhares de pessoas , mas pagando apenas aqueles que fornecem resultados mensuráveis ​​:)

A comunidade numer.ai tem um fórum onde eles discutem sua abordagem, para que você possa aprender com outras pessoas que estão tentando fazer o mesmo.

Pessoalmente, acho que qualquer pessoa com um bom algoritmo vai mantê-lo muito, muito secreto.

Beyer
fonte
1

Você deve tentar redes neurais do tipo GMDH. Sei que alguns pacotes comerciais bem-sucedidos para previsão do mercado de ações o estão usando, mas mencione isso apenas nas profundezas da documentação. Em poucas palavras, é uma rede neural iterativa multicamada, portanto você está no caminho certo.

BrutForce
fonte
0

Eu acho que os modelos ocultos de markov são populares no mercado de ações. O mais importante a ser lembrado é que você deseja um algoritmo que preserve o aspecto temporal dos seus dados.

Roronoa Zoro
fonte