Monday 11 December 2017

Trading system machine learning no Brasil


Escrito 238w atrás Upvoted por Vladimir Novakovski começou Quora máquina de aprendizagem da equipe, 2017-2017.Primeiro, você se concentrar em reunir o máximo de dados possível e colocar em uma única forma de tabela grande Isso seria dados de preços históricos Talvez aumentar este com artigos de jornal, Mensagens de blog, registros de segundo virou vetores de contagem de palavras, etc, usando técnicas de processamento de linguagem natural Você, então, treinar um algoritmo supervisionado para comprar vender decisão Algoritmos adequados são regressão logística mais rápido e florestas aleatórias mais precisas normalmente Existem outros, Árvores de decisão, redes neurais de 3 camadas, mas estas não oferecem uma boa precisão como florestas aleatórias e, muitas vezes, mais lentamente, ou tão rapidamente quanto a regressão logística. Na minha opinião, a melhor escolha seria simplesmente regressão logística ea melhor implementação seria Wabbit vowpal - extremamente rápido, pode lidar com enormes quantidades de dados - 1 terabyte por hora em uma máquina, mais rápido ainda em cluster - e abrir assim Urce Isso também permite que você veja claramente quais indicadores colunas na tabela são predictive. You também pode adicionar artigos de jornal etc diretamente como texto para isso usando o truque de hashing Isso também é implementado em vapal wabbit também, e assim você pode lidar muito Grandes artigos de texto de forma livre em uma única linha também. Tendo feito o acima para o ponto que você não pode mais coletar mais fontes de dados, é hora de passar para o estágio de engenharia de características Você já fez algumas dessas quando você fez nlp Mas você estava usando técnicas padrão - ou seja, não acho que inventar seus próprios métodos. Há duas opções neste momento - manual e automático. Normalmente, as pessoas neste momento inventar suas próprias características Isso é o que os comerciantes gastam a maior parte do seu tempo fazendo - as chamadas estratégias ou regras Estas são testadas contra os dados - chamado backtesting. Outro método, mais recente, authomatic também recentemente tornou-se disponível - sem supervisão de aprendizagem profunda Unsupervised aprendizagem existia antes, mas era de t Ele raso variedade e não funcionou bem na prática profundas redes neurais de aprendizagem usando autoencoders é um novo método inventado há apenas 6 anos que funciona muito bem Este artigo é uma demonstração dele. Essencialmente, jogando lotes de computadores para o problema, é Possível formar estratégias automaticamente Quanto maior a rede neural, melhor ele faz - mas, conseqüentemente, mais computadores são necessários Isso na minha opinião, porém, é melhor mais barato do que tentar contratar muito criativo analítico de trabalho duro people.18k Views View Upvotes Not Para a reprodução. Estou realmente no início de fazer o meu sistema de comércio automatizado, a resposta à sua pergunta é como você quer ganhar dinheiro, você quer daytrade ou comprar e segurar ao longo do tempo, quais são suas métricas vai ser para Considerando um bom investimento de comércio Você precisa saber sobre o mercado que você vai servir, no seu caso o mercado de ações Se você está indo para fazer um algoritmo de aprendizagem para rotas de transporte rodoviário você deve saber o poss Você pode obter todas as respostas no mundo, mas a menos que você é um codificador muito inteligente que pode ter em quase infinate variáveis ​​e descrever a sua importância e relação uns com os outros . Os dados também são uma consideração, quantas ações você está indo para controlar Que tipo de dados que você precisa Estes feeds serão executados em milhares de meses potencialmente. Depois de descer este caminho para o ano passado, é um grande trabalho e barreira à entrada Você precisa obter o conhecimento e blueprint sua estratégia.4 2k Views View Upvotes Não para Reprodução. Tad Slaff estudou na Universidade de Colorado Boulder. Here é um simples passo-a-passo simples Guia sobre como usar um Algoritmo de aprendizado de máquina para o comércio É uma visão geral básica e deve dar-lhe a informação que você precisa para construir o seu own.5k Views View Upvotes Não para Reproduction. This post irá detalhar o que eu fiz para fazer aproximadamente 500k de negociação de alta freqüência de 2009 a 2010 Desde que eu era t Rading completamente de forma independente e não estou mais executando o meu programa estou feliz em dizer tudo Meu negócio foi principalmente em Russel 2000 e contratos de futuros DAX. A chave para o meu sucesso, creio eu, não estava em uma equação financeira sofisticada, mas sim no algoritmo global Design que amarrou muitos componentes simples e usou aprendizado de máquina para otimizar para rentabilidade máxima Você ganhou t necessidade de conhecer qualquer terminologia sofisticada aqui, porque quando eu configurar o meu programa era tudo baseado na intuição Andrew Ng s incrível aprendizagem máquina curso ainda não estava disponível - Btw se você clicar nesse link você vai ser levado para o meu projeto atual CourseTalk, um site de revisão para MOOCs. Primeiro, eu só quero demonstrar que o meu sucesso não foi simplesmente o resultado da sorte Meu programa fez 1000-4000 comércios por dia meia longa , Meio curto e nunca entrou em posições de mais de alguns contratos de cada vez Isso significou a sorte aleatória de qualquer um determinado comércio média fora muito rápido O resultado foi que eu nunca perdeu mor E de 2000 em um dia e nunca teve um mês perdedor. EDIT Estes números são depois de pagar commissions. And aqui uma carta para dar-lhe uma noção da variação diária Note isso exclui os últimos 7 meses porque - como os números pararam de subir - eu perdi a minha motivação para entrar them. My background. Prior comércio Para a criação do meu programa de negociação automatizado Eu d tinha 2 anos de experiência como um dia comerciante manual Esta foi de volta em 2001 - foi os primeiros dias de comércio eletrônico e houve oportunidades para scalpers para fazer bom dinheiro só posso descrever o que eu estava fazendo Como semelhante a jogar um jogo de vídeo jogo com uma suposta vantagem Ser bem sucedido significava ser rápido, ser disciplinado e ter um bom intuitivo reconhecimento de padrões habilidades que eu era capaz de fazer em torno de 250k, pagar os meus empréstimos estudantis e ter dinheiro sobrando Win. Over Os próximos cinco anos eu iria lançar duas startups, pegando algumas habilidades de programação ao longo do caminho Não seria até o final de 2008 que eu iria voltar a negociação Com o dinheiro a correr baixo da venda da minha primeira inicialização, Negociação ofereceu esperanças de algum dinheiro rápido, enquanto eu descobri o meu próximo movimento. Em 2008, eu estava manualmente dia de futuros de negociação usando o software chamado T4 eu estava querendo alguns hotkeys de entrada de pedidos personalizados, então depois de descobrir T4 tinha uma API, eu assumi o desafio De aprender C a linguagem de programação necessária para usar a API e fui em frente e construiu-me algumas hotkeys. After ficando meus pés molhados com a API eu logo tinha maiores aspirações que eu queria ensinar o computador para o comércio para mim A API forneceu tanto um fluxo de Dados de mercado e uma maneira fácil de enviar ordens para a troca - tudo o que eu tinha a fazer era criar a lógica no middle. Below é uma imagem de uma janela de negociação T4 O que era legal é que quando eu tenho o meu programa de trabalho eu era capaz de Assistir o comércio de computador nesta mesma interface mesmo Observando ordens reais popping dentro e fora por si com o meu dinheiro real foi emocionante e assustador. O design do meu algoritmo. Desde o início meu objetivo era configurar um sistema tal que eu poderia ser razoavelmente Co Nfident Eu d fazer o dinheiro antes de fazer sempre todos os comércios vivos Para conseguir isto eu necessitei construir uma estrutura de simulação negociando que - como exatamente como possível - simular a negociação viva. Enquanto negociando no modo vivo exigido atualizações de mercado processando fluidas através da API, Necessário ler atualizações de mercado de um arquivo de dados Para coletar esses dados eu configurar a primeira versão do meu programa para simplesmente ligar à API e registro de atualizações do mercado com timestamps acabei usando 4 semanas de dados de mercado recente para treinar e testar o meu sistema em . Com um quadro básico no lugar eu ainda tinha a tarefa de descobrir como fazer um sistema de comércio rentável Como se vê que o meu algoritmo iria dividir em dois componentes distintos, que eu vou explorar em turn. Predicting movimentos de preços e. Making rentável Movimentos de preços de previsão. Talvez um componente óbvio de qualquer sistema de negociação é ser capaz de prever onde os preços vão se mover e mina não foi nenhuma exceção Eu defini a corrente Preço como a média da oferta interna e oferecer dentro e eu definir o objetivo de prever onde o preço seria nos próximos 10 segundos Meu algoritmo precisaria chegar a essa previsão momento a momento durante todo o dia de negociação. Criando otimização Eu criei um punhado dos indicadores que provaram ter uma abilidade significativa de prever movimentos do preço a curto prazo Cada indicador produziu um número que era positivo ou negativo Um indicador era útil se mais frequentemente do que não um número positivo correspondeu com o mercado que vai acima E um número negativo correspondeu com o mercado indo para baixo. Meu sistema me permitiu determinar rapidamente o quanto a capacidade de previsão de qualquer indicador tinha assim que eu era capaz de experimentar com um monte de indicadores diferentes para ver o que funcionou Muitos dos indicadores tinham variáveis ​​nas fórmulas Que os produziu e pude encontrar os valores ótimos para essas variáveis, fazendo comparações lado a lado dos resultados obtidos com valores variáveis. Dicators que foram mais úteis foram todos relativamente simples e foram baseados em eventos recentes no mercado que eu estava negociando, bem como os mercados de valores correlacionados. Fazer previsões de preço exato movimento. Tendo indicadores que simplesmente previu um movimento de preços para cima ou para baixo wasn t suficiente Eu precisava saber exatamente quanto movimento de preço foi previsto por cada valor possível de cada indicador que eu precisava de uma fórmula que iria converter um valor indicador para uma previsão de preço. Para isso, eu segui o preço previsto movimentos em 50 baldes que dependiam do intervalo que O valor do indicador caiu em Este produzido único previsões para cada balde que eu era então capaz de gráfico no Excel Como você pode ver a mudança de preço esperado aumenta à medida que o valor do indicador aumenta. Com base em um gráfico como este, eu era capaz de fazer uma fórmula Para ajustar a curva No começo eu fiz essa curva de ajuste manualmente, mas eu logo escreveu algum código para automatizar este processo. Note que nem todas as curvas indicador tinha o mesmo s Hape Observe também que os baldes foram logaritmicamente distribuídos de modo a espalhar os pontos de dados de forma uniforme Finalmente note que os valores dos indicadores negativos e suas correspondentes predições de preços para baixo foram invertidos e combinados com os valores positivos Meu algoritmo tratada para cima e para baixo exatamente os mesmos indicadores de agrupamento para um único Uma coisa importante a considerar era que cada indicador não era inteiramente independente Eu não poderia simplesmente somar todas as previsões que cada indicador fez individualmente A chave era descobrir o valor preditivo adicional que cada indicador tinha além do que já estava previsto Isto Não era difícil de implementar, mas isso significava que se eu estava ajustando a curva vários indicadores, ao mesmo tempo, eu tinha que ser cuidadoso alterando uma seria efeito as previsões de outro. A fim de curva se encaixam todos os indicadores ao mesmo tempo eu Configurar o otimizador para passo apenas 30 do caminho para as novas curvas de previsão com cada passagem Com este salto 30 eu encontrei Que as curvas de previsão se estabilizariam dentro de poucas passagens. Com cada indicador agora dando-nos a sua previsão de preço adicional eu poderia simplesmente adicioná-los para produzir uma única previsão de onde o mercado estaria em 10 segundos. Por que prever os preços não é suficiente. Você pode pensar que com essa vantagem no mercado eu era dourado Mas você precisa ter em mente que o mercado é composto de lances e ofertas - não é apenas um preço de mercado O sucesso na negociação de alta freqüência vem para baixo para obter bons preços e Não é fácil. Os seguintes fatores fazem a criação de um sistema rentável difícil. Com cada comércio eu tive que pagar comissões a meu corretor ea troca. A diferença da propagação entre o lance o mais elevado ea oferta mais baixa significou que se eu fosse simplesmente comprar e Vender aleatoriamente eu d estar perdendo uma tonelada de money. Most do volume de mercado foi outros bots que só iria executar um comércio comigo se eles pensaram que tinham alguma edge. Seeing estatística uma oferta não garantia que eu poderia comprá-lo Pelo Tempo minha ordem de compra chegou à troca era muito possível que essa oferta teria sido cancelled. As um jogador de mercado pequeno não havia nenhuma maneira que eu poderia competir em velocidade alone. Building uma simulação de negociação completa. Então eu tinha um quadro que me permitiu Para backtest e otimizar indicadores Mas eu tinha que ir além disso - eu precisava de uma estrutura que me permitiria backtest e otimizar um sistema de comércio completo onde eu estava enviando ordens e ficando em posições Neste caso eu d ser otimização para PL total e Em certa medida média PL por trade. This seria mais complicado e de alguma forma impossível de modelar exatamente, mas eu fiz o melhor que pude Aqui estão alguns dos problemas que eu tive que lidar com. Quando uma ordem foi enviada para o mercado em simulação Eu tive que modelar o tempo do lag O fato que meu sistema viu uma oferta não significou que poderia o comprar imediatamente O sistema emitiria a ordem, espere aproximadamente 20 milissegundos e então somente se a oferta era ainda lá foi considerado como um Comércio executado Isso foi inexato, porque o tempo de atraso real foi inconsistente e unreported. When eu coloquei ofertas ou ofertas eu tive que olhar para o fluxo de execução de comércio fornecido pela API e usá-los para medir quando a minha ordem teriam sido executados contra Para fazer isso direito eu Tinha que rastrear a posição da minha ordem na fila É um sistema first-in first-out Mais uma vez, eu não poderia fazer isso perfeitamente, mas fiz uma melhor aproximação. Para refinar a minha simulação de execução de ordem o que fiz foi pegar meus arquivos de log de Live trading através da API e compará-los a arquivos de log produzidos por negociação simulada a partir do mesmo período de tempo exato eu era capaz de obter a minha simulação para o ponto que era bastante preciso e para as peças que eram impossíveis de modelo, Pelo menos produzir resultados que foram estatisticamente semelhantes nas métricas que eu pensei que eram importantes. Fazendo negócios rentáveis. Com um modelo de simulação de ordem no lugar eu poderia agora enviar ordens no modo de simulação e ver um PL simulado Mas como seria m Y sistema saber quando e onde comprar e vender. As previsões de movimento de preço foram um ponto de partida, mas não toda a história O que eu fiz foi criar um sistema de pontuação para cada um dos 5 níveis de preços sobre a oferta e oferta Estes incluíam um nível acima do interior Lance para uma ordem de compra e um nível abaixo da oferta interna para uma ordem de venda. Se a pontuação em qualquer nível de preço determinado estava acima de um certo limite que significaria meu sistema deve ter uma oferta de oferta ativa lá - abaixo do limiar então qualquer ordens ativas Deve ser cancelado Com base nisso, não era incomum que meu sistema iria flash um lance no mercado, em seguida, cancelá-lo imediatamente Embora eu tentei minimizar isso como ele é irritante como o diabo para quem está olhando para a tela com os olhos humanos - incluindo me. The Os níveis de preços foram calculados com base nos seguintes fatores. A previsão de movimento de preço que discutimos anteriormente. O nível de preço em questão Os níveis internos significavam maiores previsões de movimento de preços. O número de contratos na frente do meu Ordem na fila Menos foi better. The número de contratos por trás da minha ordem na fila Mais foi better. Essentially estes fatores serviram para identificar lugares seguros para oferecer oferta A previsão de movimento de preços por si só não era adequada, porque não conta para o fato de que Ao colocar uma oferta eu não estava automaticamente preenchido - só fiquei preenchido se alguém me vendeu lá A realidade era que o mero fato de alguém vender para mim em um determinado preço mudou as probabilidades estatísticas do comércio. As variáveis ​​usadas nesta etapa Foram todos sujeitos a otimização Isso foi feito da mesma maneira que eu otimizado variáveis ​​nos indicadores de movimento de preço, exceto neste caso eu estava otimizando para linha de fundo P L. O que o meu programa ignorado. Quando negociação como seres humanos que muitas vezes têm poderosas emoções e Preconceitos que podem levar a decisões menos do que o ideal Claramente eu não queria codificar esses preconceitos Aqui estão alguns fatores que meu sistema ignorou. O preço que uma posição foi inserida - Em um escritório de comércio é bastante comum Para ouvir a conversa sobre o preço em que alguém é longo ou curto como se isso deve afetar sua tomada de decisão futura Embora isso tenha alguma validade como parte de uma estratégia de redução de risco que realmente não tem qualquer influência sobre o curso futuro dos eventos no mercado Portanto, O programa ignorou completamente esta informação É o mesmo conceito que ignorando custos afundados. Vendo curto vs saindo de uma posição longa - tipicamente um comerciante teria diferentes critérios que determina onde vender uma posição longa versus onde ir curto No entanto a partir de minha perspectiva de algoritmos havia Nenhuma razão para fazer uma distinção Se o meu algoritmo esperava uma venda para baixo movimento foi uma boa idéia, independentemente de se ele estava atualmente longo, curto ou flat. A dobrar estratégia - Esta é uma estratégia comum onde os comerciantes vão comprar mais ações no evento Que há comércio original vai contra eles Isso resulta em seu preço médio de compra sendo menor e isso significa quando ou se o estoque gira em torno de você vai ser configurado para fazer o seu Ey de volta em nenhum momento Na minha opinião, esta é realmente uma estratégia horrível a menos que você re Warren Buffet Você está enganado em pensar que você está fazendo bem, porque a maioria de seus comércios serão vencedores O problema é quando você perde você perde grande O outro efeito é Torna difícil julgar se você realmente tem uma vantagem no mercado ou estão apenas ficando sortudos Ser capaz de monitorar e confirmar que o meu programa, de facto, ter uma vantagem foi um objetivo importante. Desde o meu algoritmo tomou decisões da mesma maneira, independentemente de onde Ele entrou em um comércio ou se era atualmente longo ou curto que ocasionalmente sentar e tomar algumas grandes operações perdedoras, além de alguns grandes negócios vencedor Mas, você shouldn t acho que não havia nenhuma gestão de risco. Para gerenciar o risco eu reforçado um máximo Tamanho de posição de 2 contratos de cada vez, ocasionalmente bumped up em dias de alto volume Eu também tinha um limite máximo de perda diária para proteger contra quaisquer condições de mercado inesperado ou um bug no meu software Estes limites foram aplicados no meu código bu T também no back-end através do meu corretor Como aconteceu eu nunca encontrei qualquer problems. Running significa o algoritmo. Desde o momento em que eu comecei a trabalhar no meu programa que me levou cerca de 6 meses antes que eu comecei a ponto de rentabilidade e começou a executá-lo Ao vivo Embora para ser justo uma quantidade significativa de tempo estava aprendendo uma nova linguagem de programação Como eu trabalhei para melhorar o programa eu vi aumento de lucros para cada um dos próximos quatro meses. Cada semana eu retrain meu sistema baseado no valor de 4 semanas anteriores de Os dados que eu encontrei este golpeou o contrapeso direito entre capturar tendências comportamentais recentes do mercado e segurar meu algoritmo tiveram bastante dados para estabelecer testes padrões significativos Como o treinamento começou a tomar mais e mais tempo eu o separei para que pudesse ser executado por 8 máquinas virtuais usando amazon EC2 Os resultados foram então coalesced na minha máquina local. O ponto alto da minha negociação foi de outubro de 2009, quando eu fiz quase 100k Depois disso eu continuei a passar os próximos quatro meses t Rying para melhorar meu programa apesar do lucro diminuído cada mês Infelizmente por este ponto eu supor que eu implementei todas minhas melhores idéias porque nada que eu tentei parecer ajudar muito. Com a frustração de não poder fazer melhorias e de não ter um sentido do crescimento eu Comecei a pensar em uma nova direção Eu enviei um e-mail a 6 empresas de negociação de alta freqüência diferentes para ver se eles estariam interessados ​​em comprar o meu software e contratar-me para trabalhar para eles Ninguém respondeu que eu tinha algumas novas idéias de inicialização que eu queria trabalhar,.UPDATE - Eu postei isso no Hacker News e ele tem recebido muita atenção Eu só quero dizer que eu não defendo ninguém tentando fazer algo parecido com eles agora Você precisaria de uma equipe de pessoas realmente inteligentes com uma gama de experiências Para ter qualquer esperança de competir Mesmo quando eu estava fazendo isso eu acredito que era muito raro para os indivíduos para alcançar o sucesso, embora eu tinha ouvido falar de others. There é um comentário no topo da página que menciona manipulado sta Tistics e refere-se a mim como um investidor de varejo que quants would gleefully pick off Este é um comentário um pouco lamentável que s simplesmente não baseado na realidade Definição que de lado há alguns comentários interessantes. UPDATE 2 - Eu ve postou um FAQ que responde Algumas perguntas comuns que eu recebi de comerciantes sobre esta mensagem. O SPDR SP 500 ETF SPY é um dos produtos ETF amplamente negociados no mercado, com cerca de 200 bilhões em ativos e volume de negócios médio de pouco menos de 200 milhões de ações diariamente A probabilidade de ser capaz de desenvolver um sistema de comércio de fazer dinheiro usando informações publicamente disponíveis pode parecer ser slim-to-none Então, para nos dar uma chance de lutar, vamos nos concentrar em uma tentativa de prever o movimento noturno no SPY, usando Dados da sessão do dia anterior. Além dos preços altos e baixos abertos da sessão do dia anterior, selecionamos uma série de outras variáveis ​​plausíveis para construir o vetor de características que vamos usar Em nosso modelo de aprendizagem de máquina. O volume diário. O preço de fechamento do dia anterior s. Os 200 dias, 50 dias e 10 dias médias móveis do preço de fechamento. Os preços de 252 dias de alta e baixa da série SPY. We Tentará construir um modelo que preveja o retorno overnight da ETF, ou seja, o t 1 - C t C t. Neste exercício usamos dados diários desde o início da série SPY até o final de 2017 para construir o modelo, Que vamos testar em dados fora da amostra a partir de janeiro de 2017-agosto de 2017 Em um contexto de alta freqüência uma quantidade considerável de tempo seria gasto avaliando, limpeza e normalização dos dados Aqui nós enfrentamos muito menos problemas desse tipo Normalmente um Seria padronizado os dados de entrada para equalizar a influência de variáveis ​​que podem ser medidas em escalas de muito diferentes ordens de grandeza. Mas neste exemplo todas as variáveis ​​de entrada, com exceção do volume, são medidas na mesma escala e assim a padronização é discutivelmente Em primeiro lugar, os dados incluídos na amostra são E usou-se para criar um conjunto de treinamento de regras que mapeiam o vetor de característica para a variável de interesse, o retorno de um dia para o outro. Em Mathematica 10 Wolfram introduziu um conjunto de algoritmos de aprendizagem de máquina que incluem regressão, vizinho mais próximo, redes neurais e florestas aleatórias, Com funcionalidade para avaliar e selecionar a melhor técnica de aprendizado da máquina. Essas facilidades tornam muito simples a criação de um classificador ou modelo de previsão usando algoritmos de aprendizado de máquina, como este exemplo de reconhecimento de escrita. Criamos um modelo preditivo no treinamento SPY, permitindo que o Mathematica Escolha o melhor algoritmo de aprendizagem da máquina. Há uma série de opções para a função Predict que pode ser usada para controlar a seleção de recursos, o tipo de algoritmo, o tipo de desempenho eo objetivo, em vez de simplesmente aceitar os padrões, como fizemos aqui. Nosso modelo de aprendizagem da máquina, nós carregamos os dados fora da amostra de janeiro de 2017 a agosto de 2017 e criamos um conjunto de testes. Em seguida, criar um objeto PredictionMeasurement, usando o modelo vizinho mais próximo que pode ser usado para análise posterior. Não há muita dispersão nas previsões do modelo, que todos têm valor positivo Uma técnica comum em tais casos é subtrair a média de cada uma das previsões E nós podemos igualmente padronizá-los dividindo pelo desvio padrão. O scatterplot de real contra a previsão de retornos overnight em SPY olha agora como este. Há ainda uma falta óbvia da dispersão nos valores da previsão, comparados aos retornos de noite do real, que nós Poderia retificar por padronização Em qualquer caso, parece haver uma pequena relação não linear entre a previsão e os valores reais, o que mantém algumas esperanças de que o modelo ainda pode ser útil. Da Previsão para Trading. There são vários métodos de implantação de um modelo de previsão No contexto da criação de um sistema de negociação A rota mais simples, que iremos tomar aqui, é aplicar um gate de limiar e converter as previsões filtradas diretamente Em um sinal de negociação Mas outras abordagens são possíveis, por exemplo, combinando as previsões de vários modelos para criar um conjunto de previsão. Usando as previsões como entradas para um modelo de programação genética. Alimentando as previsões na camada de entrada de um modelo de rede neural projetado especificamente para gerar Em vez de previsões. Neste exemplo, vamos criar um modelo de negociação através da aplicação de um filtro simples para as previsões, escolhendo apenas os valores que excedem um limite especificado Este é um truque padrão usado para isolar o sinal no modelo a partir do Ruído de fundo Vamos aceitar apenas os sinais positivos que excedem o nível de limiar, criando um sistema de negociação apenas longo, ou seja, ignorar as previsões que caem abaixo do nível de limiar Nós compramos SPY no fechamento quando a previsão excede o limiar e sair de qualquer posição longa em No dia seguinte s aberto Esta estratégia produz os seguintes resultados pro-forma. O sistema tem algumas características bastante atraentes, incluindo uma taxa de vitória De mais de 66 e um CAGR de mais de 10 para o período fora da amostra. Obviamente, esta é uma ilustração muito básica que gostaríamos de fator em comissões de negociação, ea derrapagem incorridos entrar e sair posições no pós - e pré - Por outro lado, mal começamos a arranhar a superfície em termos das variáveis ​​que poderiam ser consideradas para inclusão no vetor de características e que podem aumentar o poder explicativo do modelo No entanto, este exemplo simples deve ser suficiente para dar ao leitor um gosto do que está envolvido na construção de um modelo de negociação preditiva usando algoritmos de aprendizado de máquina. Em outras palavras, na verdade, este é apenas o início de um longo e árduo processo de investigação.

No comments:

Post a Comment