Tuesday 27 February 2018

Negociação de opções de aprendizagem de máquinas


Jesse Spaulding.


Como fiz $ 500k com aprendizado de máquina e HFT (negociação de alta freqüência)


Esta publicação detalhará o que fiz para fazer aprox. 500k de negociação de alta freqüência de 2009 a 2010. Desde que eu estava negociando completamente de forma independente e não estou mais executando meu programa, eu estou feliz em contar tudo. Minha negociação foi principalmente em contratos de futuros Russel 2000 e DAX.


A chave para o meu sucesso, eu acredito, não estava em uma equação financeira sofisticada, mas sim no projeto de algoritmo geral que uniu muitos componentes simples e a aprendizagem de máquinas usadas para otimizar a máxima rentabilidade. Você ganhou não precisa conhecer qualquer terminologia sofisticada aqui porque, quando eu configurei meu programa, tudo foi baseado na intuição. (O curso de aprendizado de máquina incrível da Andrew Ng não estava ainda disponível - por favor, se você clicar nesse link, você será levado ao 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 negociações por dia (meio e meio, curto) e nunca entrou em posições de mais de alguns contratos por vez. Isso significava que a sorte aleatória de qualquer comércio em particular era muito rápida. O resultado foi que nunca perdi mais de US $ 2000 em um dia e nunca tive um mês perdedor:


(EDITAR: estes números são depois de pagar comissões)


E aqui é um gráfico para dar uma sensação de variação diária. Observe que isso exclui os últimos 7 meses porque - à medida que os números pararam de subir - eu perdi minha motivação para inseri-los.


Antes de configurar meu programa de negociação automatizado I & rsquo; d tinha 2 anos de experiência como um & ldquo; manual & rdquo; comerciante do dia. Isso foi de volta em 2001 - foram os primeiros dias do comércio eletrônico e houve oportunidades para & ldquo; scalpers & rdquo; para ganhar dinheiro. Eu 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 significou ser rápido, ser disciplinado e possuir boas habilidades de reconhecimento de padrões intuitivas. Eu consegui fazer cerca de US $ 250 mil, pagar meus empréstimos estudantis e ter dinheiro restante. Ganhar!


Nos próximos cinco anos, eu lançaria duas startups, pegando algumas habilidades de programação ao longo do caminho. Não seria até o final de 2008 que eu voltaria a negociar. Com o dinheiro escorrendo da venda da minha primeira inicialização, a negociação ofereceu esperanças de algum dinheiro rápido enquanto eu descobri minha próxima jogada.


Em 2008 eu estava & ldquo; manualmente & rdquo; dia comercializando futuros usando o software chamado T4. Eu estava desejando algumas teclas de atalho de entrada de pedidos personalizadas, então, depois de descobrir que a T4 tinha uma API, assumi o desafio de aprender C # (a linguagem de programação necessária para usar a API) e segui adiante e me criei algumas teclas rápidas.


Depois de ficar com os pés molhados com a API, logo tive aspirações maiores: queria ensinar o computador a trocar por mim. A API forneceu um fluxo de dados de mercado e uma maneira fácil de enviar ordens para a troca - tudo o que eu tinha que fazer era criar a lógica no meio.


Abaixo está uma captura de tela de uma janela de negociação T4. O que foi legal é que, quando trabalhei, consegui assistir o comércio de computadores nesta mesma interface. Ver as ordens reais que aparecem dentro e fora (por si com meu dinheiro real) foram emocionantes e assustadoras.


O design do meu algoritmo.


Desde o início, meu objetivo era configurar um sistema de forma que eu pudesse estar razoavelmente confiante. Eu ganharei dinheiro antes de fazer qualquer transação ao vivo. Para realizar isso, eu precisava construir uma estrutura de simulação de negociação que, com a maior precisão possível, simulasse a negociação ao vivo.


Embora a negociação no modo ao vivo exigisse o processamento de atualizações de mercado transmitidas através da API, o modo de simulação exigia a leitura de atualizações de mercado a partir de um arquivo de dados. Para coletar esses dados, configurei a primeira versão do meu programa para simplesmente conectar-se à API e registrar as atualizações do mercado com timestamps. Acabei usando 4 semanas de dados de mercado recentes para treinar e testar meu sistema.


Com um quadro básico no local, eu ainda tinha a tarefa de descobrir como criar um sistema comercial lucrativo. Como se verifica, meu algoritmo seria dividido em dois componentes distintos, que eu explorarei por sua vez:


Previsão de movimentos de preços; e fazer negócios lucrativos.


Previsão de movimentos de preços.


Talvez um componente óbvio de qualquer sistema comercial seja capaz de prever onde os preços se moverão. E o meu não foi exceção. Eu definei o preço atual como a média da oferta interna e oferta interna e eu estabeleci o objetivo de prever onde o preço seria nos próximos 10 segundos. Meu algoritmo precisaria apresentar esta previsão momento a momento ao longo do dia de negociação.


Criando & amp; indicadores de otimização.


Eu criei um punhado de indicadores que provaram ter uma habilidade significativa para prever movimentos de preços de curto prazo. Cada indicador produziu um número que era positivo ou negativo. Um indicador era útil se, com maior frequência, um número positivo correspondesse com o mercado subindo e um número negativo correspondia ao mercado descer.


Meu sistema me permitiu determinar rapidamente a capacidade preditiva de qualquer indicador, então eu consegui experimentar muitos indicadores diferentes para ver o que funcionou. Muitos dos indicadores tinham variáveis ​​nas fórmulas que os produziam e consegui encontrar os valores ótimos para essas variáveis, fazendo comparações lado a lado dos resultados obtidos com valores variáveis.


Os indicadores que foram mais úteis foram todos relativamente simples e foram baseados em eventos recentes no mercado que negociei, bem como os mercados de títulos correlacionados.


Fazendo previsões de movimento de preço exato.


Ter indicadores que simplesmente previam um movimento de preços para cima ou para baixo não era suficiente. Eu precisava saber exatamente quanto o movimento do preço era previsto por cada valor possível de cada indicador. Eu precisava de uma fórmula que convertesse um valor indicador para uma previsão de preços.


Para realizar isso, rastreei os movimentos de preços previstos em 50 baldes que dependiam do alcance em que o valor do indicador caiu. Isso produziu previsões únicas para cada balde que eu então consegui representar no Excel. Como você pode ver, a variação esperada do preço aumenta à medida que o valor do indicador aumenta.


Com base em um gráfico como esse, consegui fazer uma fórmula para ajustar a curva. No começo eu fiz isso & ldquo; curve fitting & rdquo; manualmente, mas logo escrevi algum código para automatizar esse processo.


Observe que nem todas as curvas indicadoras tiveram a mesma forma. Observe também que os baldes foram distribuídos logaritticamente de modo a espalhar os dados de forma uniforme. Finalmente, note que os valores de indicadores negativos (e as respectivas previsões de preços descendentes correspondentes) foram invertidos e combinados com os valores positivos. (Meu algoritmo tratado de forma ascendente e exata exatamente o mesmo.)


Combinando indicadores para uma única previsão.


Uma coisa importante a considerar era que cada indicador não era totalmente independente. Eu não poderia simplesmente resumir todas as previsões que cada indicador faz individualmente. A chave era descobrir o valor preditivo adicional que cada indicador tinha além do que já estava previsto. Isso não era muito difícil de implementar, mas isso significava que se eu fosse & ldquo; curve fitting & rdquo; vários indicadores ao mesmo tempo eu tive que ter cuidado; mudar um afetaria as previsões de outro.


A fim de & ldquo; curve fit & rdquo; Todos os indicadores ao mesmo tempo eu configurei o otimizador para passar apenas 30% do caminho para as novas curvas de previsão com cada passagem. Com este salto de 30%, descobri que as curvas de previsão se estabilizariam dentro de algumas passagens.


Com cada indicador agora nos dando a previsão de preço adicional de ñsquo; eu poderia simplesmente adicioná-los para produzir uma previsão única de onde o mercado seria em 10 segundos.


Por que a previsão de preços não é suficiente.


Você pode pensar que com essa vantagem no mercado eu estava dourado. Mas você precisa ter em mente que o mercado é composto por lances e ofertas - não é apenas um preço de mercado. O sucesso na negociação de alta freqüência se resume a obter bons preços e não é tão fácil.


Os seguintes fatores tornam difícil a criação de um sistema lucrativo:


Com cada troca eu tinha que pagar comissões para o meu corretor e a troca. O spread (diferença entre oferta mais alta e oferta mais baixa) significava que, se eu fosse simplesmente comprar e vender aleatoriamente, eu estaria perdendo uma tonelada de dinheiro. A maior parte do volume do mercado eram outros bots que só executariam um comércio comigo se achassem que tinham alguma vantagem estatística. Ver uma oferta não garantiu que eu pudesse comprá-la. No momento em que minha ordem de compra chegou ao intercâmbio, era muito possível que essa oferta tivesse sido cancelada. Como um pequeno jogador do mercado, não havia nenhuma maneira de eu competir sozinho na velocidade.


Construindo uma simulação de negociação completa.


Então eu tive uma estrutura que me permitiu backtest e otimizar indicadores. Mas eu tinha que ir além disso - eu precisava de uma estrutura que me permitisse fazer backtest e otimizar um sistema comercial completo; um onde eu estava mandando ordens e entrando em posições. Neste caso, I & rsquo; d seja otimizado para P & amp; L total e, em certa medida, P & amp; L médio por comércio.


Isso seria mais complicado e, de certa forma, impossível modelar exatamente, mas eu fiz o melhor que pude. Aqui estão algumas das questões que eu tive que lidar com:


Quando um pedido foi enviado ao mercado em simulação, tive que modelar o tempo de atraso. O fato de meu sistema ter visto uma oferta não significava que pudesse comprá-lo imediatamente. O sistema enviaria o pedido, espere aproximadamente 20 milissegundos e, em seguida, apenas se a oferta ainda fosse considerada como um comércio executado. Isso foi inexato porque o tempo de atraso real foi inconsistente e não relatado. Quando eu coloquei lances ou ofertas, tive que olhar para o fluxo de execução comercial (fornecido pela API) e usá-los para avaliar quando minha ordem teria sido executada contra. Para fazer isso, tive que rastrear a posição do meu pedido na fila. (É um sistema de primeira saída em primeiro lugar). Mais uma vez, não consegui fazer isso perfeitamente, mas fiz uma melhor aproximação.


Para refinar a simulação de execução do meu pedido, fiz os meus arquivos de log da negociação ao vivo através da API e comparei-os aos arquivos de log produzidos por negociação simulada do mesmo período. Eu consegui minha simulação até o ponto de ser bastante preciso e, para as partes que eram impossíveis de modelar exatamente, me assegurei pelo menos de produzir resultados estatisticamente similares (nas métricas que achava importantes).


Faz negócios lucrativos.


Com um modelo de simulação de ordem no local, agora eu poderia enviar ordens no modo de simulação e ver uma P & amp; L simulada. Mas como saberia o meu sistema quando e onde comprar e vender?


As previsões de movimento de preços 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ço na oferta e oferta. Estes incluíram um nível acima da oferta interna (para um pedido 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 fosse superior a um certo limite que significaria que meu sistema deveria ter uma oferta / oferta ativa - abaixo do limite, então todas as ordens ativas deveriam ser canceladas. Com base nisso, não era incomum que meu sistema iria mostrar uma oferta no mercado e, em seguida, cancelá-lo imediatamente. (Embora eu tentei minimizar isso, como é irritante, como diabos para quem olha a tela com olhos humanos - inclusive eu.)


Os escores do nível de preços foram calculados com base nos seguintes fatores:


A previsão do movimento do preço (que discutimos anteriormente). O nível de preços em questão. (Os níveis internos significaram que foram necessárias maiores previsões de movimento de preços). O número de contratos na frente do meu pedido na fila. (Menos foi melhor.) O número de contratos por trás do meu pedido na fila. (Mais foi melhor.)


Essencialmente, esses fatores serviram para identificar & ldquo; safe & rdquo; lugares para oferecer / oferecer. A previsão de movimento de preço por si só não era adequada porque não explicava o fato de que ao colocar uma oferta eu não estava preenchido automaticamente - eu só cheguei se alguém me vendesse lá. A realidade era que o simples fato de alguém me vender a um certo preço alterou as probabilidades estatísticas do comércio.


As variáveis ​​utilizadas nesta etapa estavam todas sujeitas a otimização. Isso foi feito exatamente da mesma maneira que otimizei variáveis ​​nos indicadores de movimento de preços, exceto neste caso eu estava otimizando a linha de fundo P & amp; L.


Ao negociar como seres humanos, muitas vezes temos poderosas emoções e desvios que podem levar a decisões menos do que ótimas. Claramente, 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 negociação, é muito comum ouvir a conversa sobre o preço no qual alguém é longo ou curto, como se isso pudesse afetar a futura tomada de decisões. Embora isso tenha alguma validade como parte de uma estratégia de redução de risco, ele realmente não tem influência no futuro dos eventos no mercado. Portanto, meu programa ignorou completamente essa informação. É o mesmo conceito que ignorar custos irrecuperáveis. Ir a curto vs. sair de uma posição longa - Normalmente, um comerciante teria critérios diferentes que determinam onde vender uma posição longa versus onde ficar curto. No entanto, da minha perspectiva de algoritmos não havia motivo para fazer uma distinção. Se o meu algoritmo esperava que uma venda de movimento descendente fosse uma boa idéia, independentemente de ser atualmente longa, curta ou plana. A & ldquo; dobrando para cima & rdquo; estratégia - Esta é uma estratégia comum em que os comerciantes comprarão mais ações no caso de o comércio original ir contra elas. Isso resulta em um preço de compra médio menor e significa que quando (ou se) o estoque se virar, você estará configurado para fazer o seu dinheiro de volta em nenhum momento. Na minha opinião, esta é realmente uma estratégia horrível, a menos que você seja o Warren Buffet. Você está enganado para pensar que você está indo bem porque a maioria de seus negócios serão vencedores. O problema é quando você perde você perder grande. O outro efeito é que dificilmente julgar se você realmente tem uma vantagem no mercado ou está apenas tendo sorte. Ser capaz de monitorar e confirmar que o meu programa de fato teve uma vantagem foi um objetivo importante.


Uma vez que meu algoritmo tomou decisões do mesmo modo, independentemente de onde ele entrou em um comércio ou se fosse atualmente longo ou curto, ocasionalmente sentava-se (e aceitou) alguns grandes negócios perdidos (além de alguns grandes negócios vencedores). Mas, você não deveria pensar que não havia nenhum gerenciamento de riscos.


Para gerenciar o risco, apliquei um tamanho máximo de posição de 2 contratos por vez, ocasionalmente acumulado em dias de alto volume. Eu também tive um limite máximo de perda diária para proteger contra quaisquer condições de mercado inesperadas ou um erro no meu software. Esses limites foram aplicados no meu código, mas também no backend através do meu corretor. Como aconteceu, nunca encontrei problemas significativos.


Desde o momento em que comecei a trabalhar no meu programa, demorei cerca de 6 meses antes de chegar ao ponto de rentabilidade e começar a executá-lo ao vivo. Embora seja justo, uma quantidade significativa de tempo foi aprender uma nova linguagem de programação. Enquanto trabalhava para melhorar o programa, vi maiores lucros para cada um dos próximos quatro meses.


Todas as semanas, eu treinaria o sistema com base nas 4 semanas anteriores de dados. Eu achei que isso atingiu o equilíbrio certo entre a captura de tendências comportamentais recentes do mercado e garantir que meu algoritmo tivesse dados suficientes para estabelecer padrões significativos. À medida que o treinamento começou a tomar mais e mais tempo, eu o separei para que ele possa ser executado por 8 máquinas virtuais usando o Amazon EC2. Os resultados foram então agrupados na minha máquina local.


O ponto alto da minha negociação foi em outubro de 2009, quando eu fiz quase 100k. Depois disso, continuei a gastar os próximos quatro meses tentando melhorar meu programa, apesar da diminuição do lucro a cada mês. Infelizmente, neste ponto, acho que eu implementei todas as minhas melhores idéias, porque nada que tentei pareceu ajudar muito.


Com a frustração de não poder fazer melhorias e não ter um senso de crescimento, comecei a pensar em uma nova direção. Eu ed 6 empresas diferentes de comércio de alta freqüência para ver se eles estão interessados ​​em comprar meu software e me contratando para trabalhar para eles. Ninguém respondeu. Eu tive algumas idéias de inicialização novas que queria trabalhar, então eu nunca segui.


UPDATE - Posteci isso no Hacker News e tem tido muita atenção. Eu só quero dizer que não defendo ninguém tentando fazer algo assim agora. Você precisaria de uma equipe de pessoas realmente inteligentes com uma variedade de experiências para ter alguma esperança de competir. Mesmo quando eu estava fazendo isso, eu acreditava que era muito raro que os indivíduos conseguissem sucesso (embora eu tivesse ouvido falar de outros).


Há um comentário no topo da página que menciona "estatísticas manipuladas" e se refere a mim como um investidor de varejo & ldquo; rdquo; que os quants gostariam de escolher com entusiasmo & rdquo ;. Este é um comentário bastante infeliz que simplesmente não é baseado na realidade. Configurando isso de lado há alguns comentários interessantes: news. ycombinator / item? Id = 4748624.


UPDATE # 2 - I & rsquo; postou um FAQ de seguimento que responde algumas perguntas comuns que eu recebi dos comerciantes sobre esta publicação.


Delhideviant gostou disto.


Oi, sou Jesse, fundador da Thinklab. Eu vivo e toco em São Francisco. Você encontrou minha casa na web ... Bem-vindo!


Aprendizado de máquinas para negociação.


Oferecido no Georgia Tech como CS 7646.


Programa Nanodegree.


Engenheiro de Aprendizagem de Máquinas.


Faça modelos preditivos.


Acelere sua carreira com a credencial que o acompanha rapidamente ao sucesso do trabalho.


Sobre este curso.


Este curso apresenta os alunos aos desafios do mundo real de implementar estratégias de negociação baseadas em aprendizado de máquinas, incluindo os passos algorítmicos da coleta de informações para pedidos de mercado. O foco é sobre como aplicar abordagens de aprendizado de máquina probabilística para decisões de negociação. Consideramos abordagens estatísticas como regressão linear, KNN e árvores de regressão e como aplicá-las a situações reais de negociação de ações.


Custo do curso.


Aprox. 4 meses.


Nível de habilidade.


Incluído no curso.


Rich Learning Content.


Ensinado por profissionais da indústria.


Comunidade de apoio ao aluno.


Junte-se ao caminho da grandeza.


Este curso gratuito é o seu primeiro passo para uma nova carreira com o Programa Nanodegree do Engenheiro de Aprendizado de Máquinas.


Curso gratuito.


Aprendizado de máquinas para negociação.


Melhore o seu conjunto de habilidades e aumente a sua hirabilidade através de uma aprendizagem inovadora e independente.


Programa Nanodegree.


Engenheiro de Aprendizagem de Máquinas.


Acelere sua carreira com a credencial que o acompanha rapidamente ao sucesso do trabalho.


Leads do curso.


Tucker Balch.


Arpan Chakraborty.


O que você aprenderá.


Este curso é composto por três mini-cursos:


Mini-curso 1: manipulação de dados financeiros no Python Mini-curso 2: Investimento computacional Mini-curso 3: Algoritmos de Aprendizado de Máquinas para Negociação.


Cada mini-curso consiste em cerca de 7 a 10 lições curtas. As tarefas e os projetos são intercalados.


Estudantes da OMS em queda de 2015: haverá dois testes - um meio de meio após mini-curso 2 e um exame final.


Pré-requisitos e requisitos.


Os estudantes devem ter fortes habilidades de codificação e alguma familiaridade com os mercados de ações. Nenhuma experiência financeira ou de aprendizado de máquina é assumida.


Observe que este curso atende estudantes que se concentram em ciência da computação, bem como estudantes de outras especialidades, como engenharia de sistemas industriais, gerenciamento ou matemática que tenham experiências diferentes. Todos os tipos de alunos são bem-vindos!


Os tópicos ML podem ser "revisar" para estudantes de CS, enquanto peças de finanças serão revisadas para estudantes de finanças. No entanto, mesmo se você tiver experiência nesses tópicos, você achará que os consideramos de uma maneira diferente da que você já viu antes, em particular com o objetivo de implementar para negociação.


A programação será principalmente em Python. Utilizaremos inúmeras bibliotecas numéricas como NumPy e Pandas.


Por que tomar este curso.


No final deste curso, você deve ser capaz de:


Compreender as estruturas de dados utilizadas para negociação algorítmica. Saiba como construir software para acessar dados de capital vivo, avaliá-lo e tomar decisões comerciais. Compreenda 3 algoritmos de aprendizagem de máquina populares e como aplicá-los a problemas comerciais. Compreenda como avaliar o desempenho de um algoritmo de aprendizagem de máquina para dados de séries temporais (dados de preço de estoque). Saiba como e por que as técnicas de mineração de dados (aprendizagem em máquina) falham. Construa um sistema de software comercializado que usa dados diários atuais.


Algumas limitações / restrições:


Usamos dados diários. Este não é um curso HFT, mas muitos dos conceitos aqui são relevantes. Nós não interagimos (negociamos) diretamente com o mercado, mas vamos gerar alocações de capital que você poderia negociar se quisesse.


O que eu ganho?


Vídeos de instrutor Aprenda fazendo exercícios Ensinados por profissionais da indústria.


Cursos relacionados.


Aprendizado de máquinas: Aprendizagem não supervisionada.


AI baseada no conhecimento: sistemas cognitivos.


Informática de saúde na nuvem.


Big Data Analytics em Saúde.


Implantando um cluster Hadoop.


Construção e Validação de Modelos.


Cursos populares.


Content Marketing Essentials.


Marketing.


Soluções de login sem senha para iOS.


Programas em destaque.


Somente na Udacidade.


Programas.


O negócio.


"Nanodegree" é uma marca registrada da Udacity. &cópia de; 2011 & ndash; 2017 Udacity, Inc.


Udacity não é uma universidade credenciada e não conferimos graus.


The Financial Hacker.


Uma nova visão sobre negociação algorítmica.


Negociação de opções algorítmicas 3.


Neste artigo, analisaremos uma estratégia de negociação de opções reais, como as estratégias que codificamos para os clientes. Este, no entanto, é baseado em um sistema de uma carteira de negociação. Como mencionado anteriormente, os livros de troca de opções geralmente contêm sistemas que realmente funcionam. o que não pode ser dito sobre o dia comercial ou livros de negociação forex. O sistema que nós examinaremos aqui é realmente capaz de produzir lucros. Mesmo lucros extremos, já que aparentemente nunca perde. Mas também é óbvio que seu autor nunca o testou novamente. Continue lendo & # 8220; Algorithmic Options Trading 3 & # 8221;


Hacking de um sistema HFT.


Comparado com algoritmos de aprendizado de máquina ou processamento de sinal de estratégias de negociação convencionais, os sistemas de alta freqüência comercial podem ser surpreendentemente simples. Eles não precisam tentar prever os preços futuros. Eles já conhecem os preços futuros. Ou melhor, eles sabem os preços que estão no futuro para outros participantes do mercado mais lentos. Recentemente, obtivemos alguns contratos para simulação de sistemas HFT para determinar o seu potencial de lucro e latência máxima. Este artigo trata de testar os sistemas HFT do hacker & # 8217; s s. Continue lendo & # 8220; Hacking a HFT system & # 8221;


Negociação de Opções Algoríticas, Parte 2.


Nesta segunda parte da série de negociação de Opções Algorítmicas, analisaremos mais de perto os retornos das opções. Especialmente em combinar diferentes tipos de opções para obtenção de curvas de lucro e risco personalizadas. Os comerciantes de opções conhecem combinações com nomes engraçados como "Iron Condor" e # 8221; ou & # 8220; Butterfly & # 8221 ;, mas você não está limitado a eles. Com alguns truques, você pode criar instrumentos financeiros artificiais de qualquer propriedade desejada & # 8211; por exemplo & # 8220; Opções binárias & # 8221; com fator de pagamento de mais de 100%. Continue lendo & # 8220; Algorithmic Options Trading, Part 2 & # 8221;


Bye Yahoo, e obrigado por todos os peixes.


Apenas uma publicação rápida à luz de um evento muito recente. Usuários de funções financeiras de R, MatLab, Python ou Zorro ficaram surpresas nos últimos dias. Scripts e programas baseados em dados de preços históricos de repente não funcionaram mais. E nosso fornecedor de dados de preço histórico gratuito favorito, Yahoo, agora responde sobre qualquer acesso à sua API desta maneira:


Comércio Algoritmico de Opções, Parte 1.


Apesar dos muitos recursos interessantes das opções, os comerciantes privados raramente se aproveitam (claro que eu estou falando aqui de opções sérias, e não de opções binárias). Talvez as opções sejam impopulares devido à sua reputação de ser complexas. Ou devido à sua falta de suporte pela maioria das ferramentas de software de negociação. Ou devido às etiquetas de preço das poucas ferramentas que os suportam e dos dados históricos que você precisa para negociação algorítmica. Qualquer que seja o # 8211; recentemente fizemos vários contratos de programação para sistemas de negociação de opções, e fiquei surpreso que mesmo sistemas simples pareciam produzir lucros relativamente consistentes. Especialmente as opções de venda aparecem mais lucrativas do que a negociação / convencional & # 8217; instrumentos. Este artigo é o primeiro de uma mini-série sobre ganhar dinheiro com negociação de opções algorítmicas. Continue lendo & # 8220; Algorithmic Options Trading, Part 1 & # 8221;


Melhores estratégias 5: um sistema de aprendizado de máquina a curto prazo.


O tempo para a 5ª e última parte da série Build Better Strategies. Na parte 3, discutimos o processo de desenvolvimento de um sistema baseado em modelo e, consequentemente, concluiremos a série com o desenvolvimento de um sistema de mineração de dados. Os princípios da mineração de dados e da aprendizagem mecânica foram o tema da parte 4. Para o nosso exemplo de negociação a curto prazo, usaremos um algoritmo de aprendizado profundo, um autoencoderado empilhado, mas funcionará da mesma maneira com muitas outras máquinas algoritmos de aprendizagem. Com as ferramentas de software de hoje, apenas são necessárias 20 linhas de código para uma estratégia de aprendizado de máquina. Vou tentar explicar todas as etapas em detalhes. Continue lendo & # 8220; Better Strategies 5: Um Sistema de Aprendizado de Máquinas de Curto Prazo & # 8221;


Get Rich Slowly.


A maioria dos sistemas de negociação são do tipo get-rich-quick. Eles exploram ineficiências temporárias do mercado e visam retornos anuais na área de 100%. Eles exigem supervisão e adaptação regular às condições do mercado, e ainda têm uma vida útil limitada. Sua expiração é muitas vezes acompanhada por grandes perdas. Mas e se você ainda tenha arrebatado alguns ganhos bonitos e agora quiser estacionar em um refúgio mais seguro? Coloque o dinheiro sob o travesseiro? Pegue no banco? Dê para um hedge funds? Obviamente, tudo isso vai contra um código de honra do algo trader & # 8217; s. Aqui é uma alternativa. Continue lendo & # 8220; Get Rich Slowly & # 8221;


Opções binárias: Scam ou Opportunity?


Estamos recentemente recebendo mais e mais contratos para codificar estratégias de opções binárias. O que nos dá uma consciência um pouco ruim, uma vez que essas opções são amplamente entendidas como um esquema para separar os comerciantes ingênuos de seu dinheiro. E seus corretores não fazem realmente nenhuma boa impressão no primeiro aspecto. Alguns são regulamentados em Chipre sob um endereço falso, outros não são regulados. Eles espalham histórias fabricadas sobre grandes lucros com robôs ou EAs. Eles dizem manipular suas curvas de preço para impedir que você vença. E se você ainda faz, alguns se recusam a pagar e eventualmente desaparecem sem rastro (mas com seu dinheiro). Aquelas são as histórias que você ouve sobre corretores de opções binárias. As opções binárias são apenas fraudes? Ou eles oferecem uma oportunidade oculta que até mesmo seus corretores geralmente não estão conscientes? Continue lendo & # 8220; Opções binárias: Scam ou Opportunity? & # 8221;


Construa melhores estratégias! Parte 4: Aprendizado de máquinas.


Deep Blue foi o primeiro computador que ganhou um campeonato mundial de xadrez. Isso foi em 1996 e levou 20 anos até que outro programa, o AlphaGo, pudesse derrotar o melhor jogador Go humano. Deep Blue era um sistema baseado em modelo com regras de xadrez hardwired. O AlphaGo é um sistema de mineração de dados, uma rede neural profunda treinada com milhares de jogos Go. Hardware não melhorado, mas um avanço no software foi essencial para o passo de vencer os melhores jogadores de xadrez para vencer os melhores jogadores Go.


Nesta 4ª parte da mini-série, analisaremos a abordagem de mineração de dados para o desenvolvimento de estratégias comerciais. Este método não se preocupa com os mecanismos de mercado. Ele apenas verifica curvas de preços ou outras fontes de dados para padrões preditivos. Aprendizagem de máquina ou "Inteligência Artificial" e # 8221; nem sempre está envolvido em estratégias de mineração de dados. Na verdade, o mais popular & # 8211; e surpreendentemente lucrativo & # 8211; O método de mineração de dados funciona sem redes neurais sofisticadas ou máquinas de vetor de suporte. Continue lendo & # 8220; Construa melhores estratégias! Parte 4: Aprendizado de Máquinas & # 8221;


Construa melhores estratégias! Parte 3: o processo de desenvolvimento.


Esta é a terceira parte da série Build Better Strategies. Na parte anterior, discutimos as 10 ineficiências do mercado mais exploradas e deram alguns exemplos de suas estratégias de negociação. Nesta parte, analisaremos o processo geral de desenvolvimento de um sistema de negociação baseado em modelo. Como praticamente qualquer coisa, você pode fazer estratégias de negociação em (pelo menos) duas maneiras diferentes: "É a maneira ideal, e é o caminho real. Começamos com o processo de desenvolvimento ideal, dividido em 10 etapas. Continue lendo & # 8220; Construa melhores estratégias! Parte 3: O Processo de Desenvolvimento & # 8221;


Prezado Corretores & # 8230;


Seja qual for o software que usamos para negociação automatizada: todos precisamos de alguma conexão intermediária para o algoritmo para receber cotações de preços e fazer negócios. Aparentemente, uma tarefa simples. E quase todos os corretores o suportam através de um protocolo como o FIX, através de uma plataforma automatizada, como o MT4 ™, ou através de uma API de intermediário específica. Mas se você acha que pode conectar rapidamente o seu software de negociação a uma API de corretores, você não vai ter uma surpresa ruim. Prezados corretores & # 8211; por favor, leia esta postagem e tente tornar as vidas dos hackers & # 8217; s e do codificador um pouco mais fáceis! Continue lendo & # 8220; Dear Brokers & # 8230; & # 8221;


Construa melhores estratégias! Parte 2: Sistemas baseados em modelos.


Os sistemas de comércio vêm em dois sabores: baseado em modelos e mineração de dados. Este artigo trata de estratégias baseadas em modelos. Mesmo quando os algoritmos básicos não são complexos, desenvolvê-los adequadamente têm dificuldades e dificuldades (caso contrário, qualquer um poderia fazê-lo). Uma ineficiência significativa do mercado dá um sistema apenas uma vantagem relativamente pequena. Qualquer pequeno erro pode transformar uma estratégia vencedora em uma perda. E você não perceberá isso necessariamente no backtest. Continue lendo & # 8220; Construa melhores estratégias! Parte 2: Model-Based Systems & # 8221;


Melhores Testes com Oversampling.


Quanto mais dados você usa para testar ou treinar sua estratégia, menos tendências afetarão o resultado do teste e mais precisas serão o treinamento. O problema: os dados de preços sempre são escassos. Ainda mais curto quando você deve deixar de lado alguma parte para testes fora da amostra. Estender o teste ou o período de treinamento até o passado nem sempre é uma solução. Os mercados dos anos 90 ou 1980 eram muito diferentes dos atuais, então seus dados de preços podem causar resultados enganosos.


Neste artigo, descreverei um método simples para produzir mais negócios para testar, treinar e otimizar a partir da mesma quantidade de dados de preços. O método é testado com um sistema de ação de preço baseado em padrões de preços de dados minerados. Continue lendo & # 8220; Better Tests with Oversampling & # 8221;


Construa melhores estratégias!


Basta postagens de blog, documentos e livros abordam como otimizar e testar os sistemas de negociação. Mas há poucas informações sobre como chegar a esse sistema em primeiro lugar. As estratégias descritas muitas vezes parecem ter aparecido fora do ar. Um sistema de negociação exige algum tipo de epifania? Ou há uma abordagem sistemática para desenvolvê-la?


Esta publicação é a primeira de uma pequena série na qual eu tentarei uma maneira metódica de construir estratégias de negociação. A primeira parte aborda os dois principais métodos de desenvolvimento estratégico, com hipóteses de mercado e com um estudo de caso do Franco Suíço. Continue lendo & # 8220; Construa melhores estratégias! & # 8221;


O índice de sangue frio.


Você desenvolveu um novo sistema de negociação. Todos os testes produziram resultados impressionantes. Então você começou a viver. E foram baixados em US $ 2000 após 2 meses. Ou você tem uma estratégia que funcionou durante 2 anos, mas, no entanto, entrou em uma redução aparentemente infinita. As situações são muito familiares para qualquer comerciante de algo. E agora? Continuar com sangue frio ou puxar os freios em pânico?


Várias razões podem causar uma estratégia para perder dinheiro desde o início. Já pode ter expirado desde que a ineficiência do mercado desapareceu. Ou o sistema é inútil e o teste falsificado por algum viés que sobreviveu a todos os verificações da realidade. Ou é uma redução normal que você só precisa se sentar. Neste artigo, proponho um algoritmo para decidir muito cedo ou não abandonar um sistema em tal situação. Continue lendo & # 8220; The Cold Blood Index & # 8221;


Eu contratou um codificador de contrato.


Você é um comerciante com ambições sérias de usar métodos algorítmicos. Você já tem uma idéia para ser convertido em um algoritmo. O problema: você não sabe ler ou escrever código. Então você contrata um codificador de contrato. Um cara que pagou pela entrega de um script que você pode colocar na sua plataforma MT4, Ninja, TradeStation ou Zorro. Parabéns, agora você é um comerciante algorítmico. Basta iniciar o script e aguardar o dinheiro para rolar. & # 8211; Isso realmente funciona? Resposta: depende. Continue lendo & # 8220; Contratei um codificador de contrato & # 8221;


É & # 8220; Scalping & # 8221; Irracional?


Os clientes geralmente pedem estratégias que operam em prazos muito curtos. Alguns são possivelmente inspirados pelo & # 8220; eu acabei de fazer $ 2000 em 5 minutos e # 8221; histórias em fóruns de comerciantes. Outros ouviram falar de alta freqüência de negociação: quanto maior a freqüência, melhor deve ser a negociação! Os desenvolvedores Zorro foram incomodados por anos até que finalmente implementaram histórico de carimbos e intervalos de milissegundos. Recursos totalmente inúteis? Ou tem uma negociação de curto prazo, de fato, algumas vantagens quantificáveis? Um experimento para examinar essa matéria produziu um resultado surpreendente. Continue lendo & # 8220; Is & # 8220; Scalping & # 8221; Irrational? & # 8221;


Ferramentas do Hacker & # 8217; s.


Para realizar nossos experimentos de hacking financeiro (e para obter os frutos financeiros do nosso trabalho), precisamos de algumas máquinas de software para pesquisa, teste, treinamento e algoritmos financeiros de negociação ao vivo. Nenhuma plataforma de software existente hoje é realmente até todas essas tarefas. Então, você não tem escolha senão reunir o seu sistema a partir de diferentes pacotes de software. Felizmente, dois são normalmente suficientes. I & # 8217; usarei Zorro e R para a maioria dos artigos neste blog, mas também ocasionalmente examinará outras ferramentas. Continue lendo & # 8220; Hacker & # 8217; s Tools & # 8221;


Boosting Strategies with MMI.


Agora vamos repetir o nosso experimento com as 900 estratégias de negociação de tendências, mas desta vez com trades filtradas pelo Market Meanness Index. Em nosso primeiro experimento, encontramos muitas estratégias lucrativas, algumas com altos fatores de lucro, mas nenhuma delas passou pelo Reality Check da White. Então, todos eles provavelmente falharam no comércio real, apesar dos seus ótimos resultados no backtest. Desta vez, esperamos que o MMI melhore a maioria dos sistemas ao filtrar negócios em situações de mercado que não sejam tendências. Continue lendo & # 8220; Boosting Strategies with MMI & # 8221;


O índice de significância do mercado.


Este indicador pode melhorar & # 8211; às vezes até o dobro & # 8211; a expectativa de lucro dos sistemas de tendência. O índice de significância do mercado diz se o mercado está atualmente se movendo para dentro ou para fora de um & # 8220; tendências & # 8221; regime. Pode assim evitar perdas por sinais falsos de indicadores de tendência. É um algoritmo puramente estatístico e não baseado em volatilidade, tendências ou ciclos da curva de preços. Continue lendo & # 8220; The Market Meanness Index & # 8221;


Dezessete métodos de comércio que eu realmente entendi.


Quando comecei com o comércio técnico, senti como entrar na cena do alquimista medieval. Uma grande quantidade de métodos de comércio estranhos e centenas de indicadores técnicos e padrões de velas de sorte prometeu vislumbrar o futuro, se apenas de ativos financeiros. Eu me perguntava # 8211; se um único deles realmente funcionasse, por que você precisaria de todo o resto? E como você pode prever o preço do amanhã, desenhando círculos, ângulos, morcegos ou borboletas em um gráfico? Continue lendo & # 8220; dezessete Métodos de Comércio que eu não entendo realmente e # 8221;


White & # 8217; s Reality Check.


Esta é a terceira parte da série de artigos Trend Experiment. Agora queremos avaliar se os resultados positivos da tendência testada de 900 seguindo as estratégias são reais, ou apenas causados ​​por Data Bing Mining. Mas o que é o Data Mining Bias, afinal? E o que é o mesmo controle de realidade de White & # 8217; s? Continue lendo & # 8220; Reality Check & # 8217; White & # 8217; s Reality Check & # 8221;


A experiência da tendência.


Esta é a segunda parte da série de artigos da experiência de tendências, envolvendo 900 sistemas e 10 suportes diferentes # 8220; # 8221; ou "low-lag" e # 8221; indicadores para descobrir se a tendência realmente existe e pode ser explorada por um sistema algorítmico simples. Quando você faz essa experiência, você normalmente possui algumas expectativas sobre o resultado, como: Continue lendo & # 8220; The Trend Experiment & # 8221;


Indicadores de Tendências.


O método de comércio mais comum é apelidado & # 8216; indo com a tendência # 8216 ;. Embora não seja completamente claro como se pode seguir a tendência sem saber de antemão, a maioria dos comerciantes acredita que a & # 8216; tendência & # 8217; existe e pode ser explorado. & # 8216; Trend & # 8217; é suposto se manifestar em curvas de preço como uma espécie de impulso ou inércia que continua um movimento de preços assim que começou. Este efeito de inércia não aparece em curvas de caminhada aleatórias. Continue lendo & # 8220; Tendência Indicadores & # 8221;


Dinheiro e como obtê-lo.


Ao contrário da crença popular, o dinheiro não é bom. É criado de nada pelos bancos que o emprestam. Portanto, para cada lote de dinheiro recém-criado, a mesma quantidade de dívida. Você está destruindo o dinheiro ao reembolsar seus créditos. Uma vez que isso exige uma soma maior devido ao interesse e ao interesse composto, e como o dinheiro também é retirado permanentemente da circulação por acumulação, toda a oferta monetária deve crescer constantemente. Nunca deve encolher. Se ainda assim, como na crise econômica de 1930, os inadimplentes, falhas bancárias e falências são o resultado. O sistema monetário é, portanto, um esquema Ponzi clássico. Continue lendo & # 8220; Money and How to Get It & # 8221;


Nanalyze.


Em artigos anteriores, nós definimos alguns dos termos que estão sendo lançados ultimamente como o "# learning machine" # 8221; e & # 8220; inteligência artificial & # 8220 ;. Essas tecnologias disruptivas mudarão em breve o mundo como o conhecemos. Enquanto alguns especialistas prevêem que estávamos a alguns anos de distância de um computador que poderia vencer um especialista em humanos em & # 8220; Go & # 8221 ;, essa conquista foi anunciada recentemente. Se um & # 8220; aprendizagem profunda & # 8221; O programa agora pode vencer um jogo que tem mais movimentos possíveis do que os átomos no universo conhecido, então o que está nos impedindo de desencadeá-lo no mercado de ações e fazer milhões?


A idéia de usar computadores para negociar estocas não é nova. A negociação algorítmica (também conhecida como trading ou troca de caixa preta, que é um subconjunto de algo trading) tem sido em torno de mais de uma década e rapidamente ganhou popularidade. Aqui é um olhar no comércio algorítmico como uma porcentagem do volume do mercado:


Fonte: Morton Glantz, Robert Kissell. Modelagem de risco multi-ativos: técnicas para uma economia global em uma era de comércio eletrônico e algorítmico.


Se essa tendência continuar, então isso significa que hoje mais de 90% da negociação está sendo conduzida por programas de computador. Uma coisa a notar sobre o comércio algorítmico é que ele foi movendo-se na direção de tempos de espera mais curtos e curtos. O comércio de alta freqüência (HFT) é um subconjunto de negociação algorítmica em que as ações são compradas e depois vendidas em frações de segundo. Esta estratégia é uma forma de arbitragem em que o algoritmo HFT detecta uma discrepância de preços e, em seguida, capitaliza rapidamente. Como seria de esperar, os lucros comerciais da HFT estão se tornando menores e menores, mas o volume de negócios ainda está dominando o mercado global:


Agora que sabemos sobre o comércio algorítmico e HFT, apenas como a aprendizagem de máquina ou aprendizado profundo entra em jogo? Para responder a esta pergunta, a variável importante a ter em conta é a duração. Enquanto HFT e algo trading realizam trades de curta duração, torna-se muito mais difícil capturar alpha # 8221; quando você começa a aumentar o prazo. A realidade é que alguns dos maiores fundos de hedge do mundo já estão em todo este espaço e estão capturando alfa em muitas durações há muito tempo usando a máquina de aprendizado.


No início do ano passado, a Bridgewater Associates, que possui US $ 150 bilhões em ativos sob gestão (AUM), iniciou uma nova unidade de inteligência artificial liderada por David Ferrucci, que liderou o desenvolvimento do Watson da IBM. Depois de trabalhar na IBM por 17 anos, ele foi escalfado pela Bridgewater em 2012.


Outra empresa chamada Renaissance Technologies tem US $ 65 bilhões em AUM e é dito ter o # melhor departamento de física e matemática no mundo # 8221 ;. O Medallion Fund no Renaissance, executado principalmente para funcionários da empresa, tem um dos melhores recordes em investir história tendo retornado + 35% anualizado em 20 anos. Os dois co-CEOs do Renaissance foram contratados pela IBM Research em 1993, onde trabalhavam em programas de reconhecimento de idiomas.


Com US $ 32 bilhões sob gestão, o Two Sigma Investments é conhecido pelo uso da AI e da aprendizagem de máquinas como parte fundamental de sua estratégia. Um co-fundador fez seu PHD em inteligência artificial no MIT e o outro foi um medalhista internacional de prata da Olimpíada Matemática. Ser um profissional de finanças não é um requisito para trabalhar nesta empresa.


Enquanto hedge funds, como esses 3, são pioneiros no uso da aprendizagem de máquinas para estratégias de negociação de ações, há também algumas startups nesse espaço. A Binatix é uma empresa de comércio de aprendizado profundo que saiu do modo furtivo em 2014 e afirma ser bem lucrativa depois de ter usado sua estratégia há mais de três anos. Aidyia é um fundo de hedge baseado em Hong Kong lançado em 2015 que negocia em ações dos EUA e faz todos os negócios de ações usando inteligência artificial sem necessidade de intervenção humana. Sentient, outra empresa de aprendizado profundo que discutimos antes, desenvolveu um comerciante de inteligência artificial que foi bem sucedido o suficiente para que eles considerem girar para fora como uma empresa comercial ou empresa de gerenciamento de ativos.


Se houver uma inicialização que seja promissora neste espaço, você pode apostar que os 3 fundos hedge bem estabelecidos que discutimos sabem sobre isso. Se você tivesse um algoritmo de aprendizagem de máquina que gerasse alfa, você diria ao mundo sobre isso? Mais provável que não. Mas então, como você aumentaria o capital necessário para tirar algum dinheiro sério da sua estratégia? Empresas como a Bridgewater podem ser tão ágeis quanto qualquer arranque e ao mesmo tempo ter $ 150 bilhões em capital para jogar. É difícil competir se você for uma tentativa de tentar financiar. Se você estiver procurando por investidores, você precisa divulgar o que você está fazendo. A palavra viaja rapidamente. Não é difícil ver fundos de hedge como o talento de caça furtiva de Bridgewater de startups de AI que estão tentando jogar neste espaço e rapidamente descobrindo o que eles estão fazendo.


Para que os investidores de varejo se aproveitem da aprendizagem de máquinas para negociação de ações, você tem algumas direções a serem tomadas. Para investidores de varejo de patrimônio líquido ultra alto, você pode investir seu dinheiro em um dos fundos de hedge usando AI como Bridgewater ou Renaissance. Para aqueles de nós que não temos grandes quantidades de capital, podemos aguardar que as empresas de aprendizado profundo, como a Sentient, sejam públicas ou sejam adquiridas e depois invistam nesses veículos. Nós estaremos atentos a este espaço porque, francamente, é simplesmente fascinante.


Se você pagar mais de US $ 4,95 no comércio, você está pagando demais. Ally Invest é um dos corretores de taxas mais baixas ao redor, então você gasta menos dinheiro em taxas de transação e mais em ações. Com mais de 30 transações por trimestre ele cai ainda mais baixo para US $ 3,95 no comércio. Abra uma conta e comece a negociar hoje.


Publicado: 14 de abril de 2016.


5 ETFs e fundos usando AI para Seleção de estoque.


Stitch conserta um IPO de Inteligência Artificial?


A Warning About & # 8220; Artificial Intelligence Stocks & # 8221;


Você disse: negociação algorítmica (também conhecida como trading ou troca de caixa preta)


Só queria salientar que nem todas as trocas comerciais são a caixa preta.


Obrigado pelo esclarecimento David! Observamos que no artigo.


existe uma ETF que permite aos investidores acessar essas tecnologias hoje! NYSE listou o símbolo do ticker & # 8216; BUZ & # 8217 ;. Saiba mais em buzzindexes.


Obrigado pelo comentário Jamie! Essa foi uma ótima entrevista que você teve na Squawk Box, apresentando o BUZ ETF.


Obrigado pelas cabeças!


Assine o Weekly Digest.


Assine o Nanalyze Weekly Digest.


Assine nosso Nanalyze Weekly Digest para receber um resumo de todos os artigos por semana.


Nunca usaremos o seu para nada além de lhe enviar excelentes artigos sobre investir em tecnologias disruptivas.

No comments:

Post a Comment