Saturday 14 October 2017

High Frequency Trading System Design


Negociação Algorítmica Como estratégias de negociação algorítmica, incluindo estratégias de negociação de alta freqüência (HFT), têm crescido mais generalizada nos mercados de valores dos EUA, o potencial dessas estratégias para impactar negativamente o mercado ea estabilidade da empresa também cresceu. As empresas membros da FINRA que se engajam em estratégias algorítmicas estão sujeitas às regras da SEC e da FINRA que regem suas atividades de negociação, incluindo a Norma FINRA 3110 (Supervisão). Um programa razoável de supervisão e controle pode não evitar todas as possíveis falhas. No entanto, existem várias práticas eficazes de supervisão e controle que as empresas podem empregar para reduzir a probabilidade e mitigar o impacto de problemas futuros. Essas práticas, incluindo as seguintes: avaliação geral de risco e empresa de resposta deve realizar uma revisão holística de sua atividade de negociação e considerar a implementação de um comitê interdisciplinar para avaliar e reagir à evolução dos riscos associados com estratégias algorítmicas. As empresas de desenvolvimento e implementação de SoftwareCode devem também concentrar esforços no desenvolvimento de estratégias algorítmicas e em como essas estratégias são testadas e implementadas. Teste de Software e Validação de Sistema O teste de estratégias algorítmicas antes de ser colocado em produção é um componente essencial de políticas e procedimentos eficazes. Sistemas de Negociação As empresas devem desenvolver suas políticas e procedimentos para incluir a revisão da atividade de negociação após uma estratégia algorítmica ter sido implementada ou modificada. Conformidade Assegurar que haja uma comunicação eficaz entre a equipe de compliance e o pessoal responsável pelo desenvolvimento da estratégia algorítmica é um elemento-chave de políticas e procedimentos eficazes. Você encontrou o que você estava procurando Você tem sugestões para como tornar esta página melhor Dizer ao nosso webmaster. You039d Conhecer melhor sua terminologia de negociação de alta freqüência O aumento do interesse dos investidores em alta freqüência de negociação (HFT) importante para os profissionais da indústria para Chegar à velocidade com a terminologia HFT. Uma série de termos de HFT têm suas origens na indústria de sistemas de rede de computadores, o que é de se esperar dado que a HFT é baseada em arquitetura de computador incrivelmente rápida e software de última geração. Nós discutimos brevemente abaixo de 10 termos chaves de HFT que nós acreditamos que são essenciais para ganhar uma compreensão do assunto. Localizando computadores pertencentes a empresas de HFT e comerciantes proprietários nas mesmas instalações onde estão alojados os servidores de computadores de troca. Isso permite que as empresas HFT acessem os preços das ações uma fração de segundo antes do resto do público investidor. A co-localização tornou-se um negócio lucrativo para os intercâmbios, que cobram às empresas HFT milhões de dólares pelo privilégio de acesso de baixa latência. Como Michael Lewis explica em seu livro Flash Boys, a enorme demanda de co-localização é uma das principais razões pelas quais algumas bolsas de valores expandiram seus data centers substancialmente. Enquanto o antigo edifício da Bolsa de Valores de Nova York ocupava 46.000 pés quadrados, o data center da NYSE Euronext em Mahwah, Nova Jersey, é quase nove vezes maior, com 398.000 pés quadrados. Flash Trading Um tipo de negociação de HFT em que uma troca irá mostrar informações sobre as ordens de compra e venda de participantes do mercado para as empresas HFT por algumas frações de segundo antes que a informação seja disponibilizada ao público. Flash trading é controversa porque as empresas HFT pode usar essa borda de informações para o comércio à frente das ordens pendentes, que pode ser interpretado como front running. O senador Charles Schumer havia instado a Securities and Exchange Commission, em julho de 2009, a proibir o comércio flash, afirmando que criou um sistema de duas camadas onde um grupo privilegiado recebeu tratamento preferencial, enquanto os investidores varejistas e institucionais foram colocados em uma desvantagem injusta e privados de Um preço justo para suas transações. O tempo decorrido desde o momento em que um sinal é enviado para o seu recebimento. Uma vez que a menor latência é igual a uma velocidade mais rápida, os comerciantes de alta frequência gastam pesadamente para obter o hardware, o software e as linhas de dados mais rápidos para executar as encomendas o mais rapidamente possível e ganhar uma vantagem competitiva na negociação. O maior determinante da latência é a distância que o sinal tem que percorrer, ou o comprimento do cabo físico (normalmente fibra óptica) que transporta dados de um ponto a outro. Desde a luz em um vácuo viaja em 186.000 milhas por segundo ou 186 milhas prt milissegundo, uma empresa de HFT com seus servidores co-localizado dentro de uma troca teria uma latência muito menor e, portanto, uma vantagem comercial de uma empresa rival localizado milhas de distância. Curiosamente, um intercâmbio co-localização clientes recebem a mesma quantidade de comprimento do cabo, independentemente de onde eles estão localizados dentro das instalações de câmbio, de modo a garantir que eles têm a mesma latência. Remuneração de liquidez A maioria dos câmbios adotou um modelo de tomada de decisão para subsidiar a provisão de liquidez de ações. Neste modelo, os investidores e os comerciantes que colocam em ordens limite normalmente recebem um pequeno desconto da bolsa por ocasião da execução de suas ordens, porque eles são considerados como tendo contribuído para a liquidez no estoque, ou seja, eles são os fabricantes de liquidez. Inversamente, aqueles que colocam em ordens de mercado são considerados como tomadores de liquidez e são cobrados uma taxa modesta pela troca de suas ordens. Enquanto os descontos são tipicamente frações de um centavo por ação, eles podem adicionar até quantidades significativas sobre os milhões de ações negociadas diariamente por comerciantes de alta freqüência. Muitas empresas HFT empregar estratégias de negociação especificamente concebidos para capturar o máximo de descontos de liquidez possível. Matching Engine O algoritmo de software que forma o núcleo de um sistema de comércio de trocas e combina continuamente ordens de compra e venda, uma função previamente realizada por especialistas no pregão. Uma vez que o mecanismo correspondente corresponde a compradores e vendedores para todas as ações, é de vital importância para garantir o bom funcionamento de uma troca. O mecanismo de correspondência reside nos computadores de troca e é a principal razão pela qual as empresas HFT tentam estar tão perto dos servidores de troca quanto possível. Refere-se à tática de entrar pequenas encomendas comercializáveis ​​geralmente para 100 partes, a fim de aprender sobre grandes ordens ocultas em piscinas escuras ou trocas. Enquanto você pode pensar em ping como sendo análogo a um navio ou submarino enviar sinais de sonar para detectar obstruções próximas ou embarcações inimigas, no contexto HFT, ping é usado para encontrar presas escondidas. Heres how-buy-side empresas usam sistemas de negociação algorítmica para quebrar grandes encomendas em muito menores e alimentá-los constantemente no mercado, de modo a reduzir o impacto do mercado de grandes encomendas. Para detectar a presença de encomendas tão grandes, as empresas HFT colocam lances e ofertas em lotes de 100 ações para cada ação listada. Uma vez que uma empresa obtém um ping (ou seja, a ordem HFTs pequeno é executado) ou uma série de pings que alerta o HFT para a presença de uma grande ordem buy-side, ele pode se envolver em uma atividade de comércio predatória que garante um quase livre de risco Lucro à custa do buy-sider, que vai acabar recebendo um preço desfavorável para a sua grande ordem. Pinging foi comparado a baiting por alguns jogadores influentes do mercado, uma vez que seu único objetivo é atrair instituições com grandes ordens para revelar sua mão. Ponto de Presença O ponto em que os comerciantes se conectam a uma troca. A fim de reduzir a latência, o objetivo das empresas de HFT é chegar o mais próximo possível do ponto de presença. Veja também Co-location. Predatory Trading Práticas de negociação empregadas por alguns comerciantes de alta freqüência para fazer quase livre de risco lucros à custa dos investidores. No livro de Lewis, a troca de IEX. Que procura combater alguns dos shaders HFT pratcices, identifica três atividades que constituem comércio predatório: arbitragem de mercado lento ou arbitragem de latência, em que um comerciante de alta freqüência arbitra diferenças de preços minuciosas de ações entre as várias bolsas. Corrida eletrônica dianteira, que envolve uma empresa HFT corrida à frente de uma grande ordem de cliente em uma troca, recolhendo todas as ações em oferta em várias outras bolsas (se é uma ordem de compra) ou bater todos os lances (se é uma venda Ordem) e, em seguida, virando-se e vendê-los para (ou comprá-los) o cliente e embolsar a diferença. A arbitragem de desconto envolve a atividade de HFT que tenta capturar descontos de liquidez oferecidos pelas bolsas sem realmente contribuir para a liquidez. Ver também Liquidity Rebates. Processador de Informações sobre Títulos A tecnologia usada para coletar dados de cotação e comércio de diferentes bolsas, agrupar e consolidar esses dados e disseminar continuamente cotações de preços em tempo real e negociações para todas as ações. O SIP calcula a Melhor Oferta e Oferta Nacional (NBBO) para todos os estoques, mas devido ao grande volume de dados que ele tem para lidar, tem um período de latência finito. Uma latência SIPs no cálculo da NBBO é geralmente maior do que a das empresas HFT (por causa dos computadores latters mais rápido e co-location), e é essa diferença na latência estimada por Lewis para ocasionalmente chegar até 25 milissegundos que está no Atividade predatória de HFT. Nasdaq OMX Group e NYSE Euronext cada executar um SIP em nome das 11 trocas na Tecnologia de Roteadores Inteligentes dos EUA que determina a quais trocas ordens ou negócios são enviados. Os roteadores inteligentes podem ser programados para enviar pedaços de grandes encomendas (depois que eles são divididos por um algoritmo de negociação) para obter a execução de comércio rentável. Um roteador inteligente como um roteador seqüencial de baixo custo pode direcionar uma ordem para um pool escuro e, em seguida, para uma troca (se não for executada no primeiro) ou para uma troca onde é mais provável receber um desconto de liquidez. A linha de fundo HFT tem vindo a fazer ondas e ruffling penas (para usar uma metáfora mista) nos últimos anos. Mas, independentemente da sua opinião sobre o comércio de alta freqüência, familiarizar-se com esses termos HFT deve permitir-lhe melhorar a sua compreensão deste tema controverso. O valor de mercado total do dólar de todas as partes em circulação de uma companhia. A capitalização de mercado é calculada pela multiplicação. Frexit curto para quotFrancês exitquot é um spin-off francês do termo Brexit, que surgiu quando o Reino Unido votou. Uma ordem colocada com um corretor que combina as características de ordem de parada com as de uma ordem de limite. Uma ordem de stop-limite será. Uma rodada de financiamento onde os investidores comprar ações de uma empresa com uma avaliação menor do que a avaliação colocada sobre a. Uma teoria econômica da despesa total na economia e seus efeitos no produto e na inflação. A economia keynesiana foi desenvolvida. A detenção de um activo numa carteira. Um investimento de carteira é feito com a expectativa de ganhar um retorno sobre ele. Este post irá detalhar o que eu fiz para fazer aprox. 500k de negociação de alta freqüência de 2009 a 2010. Desde que eu estava negociando completamente independente e não estou mais executando o meu programa Irsquom feliz em dizer tudo. Minha negociação foi principalmente em contratos de futuros Russel 2000 e DAX. A chave para o meu sucesso, creio eu, não estava em uma equação financeira sofisticada, mas sim no design de algoritmos globais que uniram muitos componentes simples e usaram o aprendizado de máquinas para otimizar para obter a máxima rentabilidade. Você não precisa saber qualquer terminologia sofisticada aqui, porque quando eu configurar o meu programa era tudo baseado na intuição. (Andrew Ngrsquos curso de aprendizagem de máquina incrível ainda não estava disponível - btw se você clicar nesse link yoursquoll 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 de sorte. Meu programa fazia 1000-4000 comércios por dia (metade de comprimento, meio curto) e nunca entrou em posições de mais de alguns contratos de cada vez. Isto significou a sorte aleatória de qualquer um comércio particular média fora bastante rápido. O resultado foi que eu nunca perdi mais do que 2000 em um dia e nunca tive um mês perdedor: (EDIT Estes números são depois de pagar comissões) E herersquos um gráfico para lhe dar uma noção da variação diária. Observe isso exclui os últimos 7 meses porque - como os números pararam de subir - eu perdi a minha motivação para entrar neles. Meu fundo de negociação Antes de configurar o meu programa de negociação automatizado Irsquod tinha 2 anos de experiência como um comerciante do dia ldquomanualrdquo. Isso foi em 2001 - foram os primeiros dias do comércio eletrônico e houve oportunidades para ldquoscalpersrdquo para fazer bom dinheiro. Eu só posso descrever o que eu estava fazendo como semelhante a jogar um jogo de vídeo de jogo com uma borda suposto. Ser bem sucedido significava ser rápido, ser disciplinado, e ter uma boa intuitiva reconhecimento de padrões de habilidades. Eu era capaz de fazer cerca de 250k, pagar meus empréstimos estudantis e ter dinheiro sobrando. Win Durante 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 voltaria à negociação. Com o dinheiro correndo baixo da venda da minha primeira inicialização, o comércio ofereceu esperanças de algum dinheiro rápido, enquanto eu descobri o meu próximo movimento. Em 2008 eu estava ldquomanuallyrdquo dia negociação futuros usando software chamado T4. Irsquod 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 construí algumas teclas de atalho. Depois de ficar com os pés molhados com o API eu logo tinha maiores aspirações: Eu queria ensinar o computador para o comércio para mim. A API forneceu um fluxo de dados de mercado e uma maneira fácil de enviar ordens para a troca - tudo que eu tinha a 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 eu tenho o meu programa de trabalho que eu era capaz de assistir o comércio de computadores sobre esta mesma interface. Assistindo ordens reais popping dentro e fora (por si com o meu dinheiro real) foi emocionante e assustador. O projeto do meu algoritmo Desde o início o meu objetivo era configurar um sistema tal que eu poderia ser razoavelmente confiante Irsquod ganhar dinheiro antes de fazer qualquer comércios ao vivo. Para conseguir isso eu precisava construir uma estrutura de simulação de negociação que - o mais exatamente possível - simular a negociação ao vivo. Enquanto a negociação no modo ao vivo requeria atualizações do mercado de processamento transmitidas através da API, o modo de simulação exigia a leitura de atualizações do mercado a partir de um arquivo de dados. Para coletar esses dados eu configurar a primeira versão do meu programa para simplesmente se conectar à API e registrar atualizações de mercado com timestamps. Acabei usando 4 semanas de dados de mercado recentes para treinar e testar meu sistema. Com um quadro básico no lugar, eu ainda tinha a tarefa de descobrir como fazer um sistema comercial rentável. Como se vê, meu algoritmo se dividiria em dois componentes distintos, que a Irsquoll exploraria por sua vez: Prever movimentos de preços e fazer negócios lucrativos Prever movimentos de preços Talvez um componente óbvio de qualquer sistema de negociação seja ser capaz de prever onde os preços se moverão. E a minha não foi exceção. Eu defini o preço atual como a média do lance interno e oferta interna e eu definir o objetivo de prever onde o preço seria nos próximos 10 segundos. Meu algoritmo precisaria vir acima com esta predição momento-a-momento durante todo o dia de negociação. Criando um amplificador de otimização de indicadores Eu criei um punhado de indicadores que provou ter uma capacidade significativa para prever os movimentos de preços de curto prazo. Cada indicador produziu um número que era positivo ou negativo. Um indicador foi útil se mais frequentemente do que um número positivo correspondeu com o mercado subindo e um número negativo correspondeu com o mercado vai para baixo. Meu sistema me permitiu determinar rapidamente quanto a capacidade de previsão de qualquer indicador tinha assim que eu era capaz de experimentar com um monte de diferentes indicadores para ver o que funcionou. Muitos dos indicadores tinham variáveis ​​nas fórmulas que os produziram e pude 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 eu estava negociando, bem como os mercados de títulos correlacionados. Fazer previsões exatas de movimento de preços Tendo indicadores que simplesmente previam um movimento de preços para cima ou para baixo não era suficiente. Eu precisava saber exatamente quanto movimento de preço foi previsto por cada valor possível de cada indicador. Eu precisava de uma fórmula que converteria um valor indicador para uma previsão de preço. Para conseguir isso, eu segui os movimentos de preço previsto em 50 baldes que dependiam do intervalo em que o valor do indicador caíra. Isso produziu previsões únicas para cada balde que eu era capaz de representar no Excel. Como você pode ver a mudança esperada do preço aumenta enquanto 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 este ldquocurve fittingrdquo manualmente mas eu logo escrevi algum código para automatizar este processo. Note que nem todas as curvas indicadoras tinham a mesma forma. Observe também que os baldes foram logaritmicamente distribuídos de modo a espalhar os pontos de dados uniformemente. Por último, note que os valores dos indicadores negativos (e as respectivas previsões de preços descendentes correspondentes) foram invertidos e combinados com os valores positivos. (Meu algoritmo tratado acima e abaixo exatamente o mesmo.) Combinando indicadores para uma única previsão 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. Isso não era difícil de implementar, mas isso significava que, se eu fosse ldquocurve fittingrdquo múltiplos indicadores, ao mesmo tempo, eu tinha que ser cuidadoso alterando um efeito que as previsões de outro. A fim de ldquocurve fitrdquo 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 de 30, descobri que as curvas de previsão se estabilizariam em poucas passagens. Com cada indicador agora dando itrsquos preço adicional previsão eu poderia simplesmente adicioná-los para produzir uma única previsão de onde o mercado seria 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 - itrsquos 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 itrsquos não é tão fácil. Os seguintes fatores tornam a criação de um sistema rentável difícil: com cada comércio eu tive que pagar comissões tanto para o meu corretor ea troca. A propagação (diferença entre a oferta mais alta ea oferta mais baixa) significava que se eu fosse simplesmente comprar e vender aleatoriamente Irsquod estar perdendo uma tonelada de dinheiro. A maioria do volume de mercado era outros bots que só executariam um comércio comigo se eles pensassem que tinham alguma vantagem estatística. Vendo uma oferta não garantia que eu poderia comprá-lo. Até o momento a minha ordem de compra chegou à troca era muito possível que essa oferta teria sido cancelada. Como um jogador de mercado pequeno não havia nenhuma maneira que eu poderia competir na velocidade sozinho. Construindo uma simulação de negociação completa Então eu tinha 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 backtest e otimizar um sistema de comércio completo onde eu estava enviando ordens e ficando em posições. Neste caso, a Irsquod estará a optimizar para a PampL total e, em certa medida, para a PampL média por transacção. Isso 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 de latência. O fato de meu sistema ter visto uma oferta não significava que poderia comprá-la imediatamente. O sistema enviaria a ordem, aguardar aproximadamente 20 milissegundos e então somente se a oferta ainda era lá foi considerado como um comércio executado. Isso era inexato porque o tempo de atraso real era inconsistente e não declarado. Quando eu coloquei lances ou ofertas que 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 teria sido executado contra. Para fazer isso, eu tinha que rastrear a posição da minha encomenda na fila. (Itrsquos um sistema first-in first-out.) Novamente, eu couldnrsquot fazer isso perfeitamente, mas eu fiz uma melhor aproximação. Para refinar minha simulação de execução de ordem o que fiz foi pegar meus arquivos de log de negociação ao vivo pela API e compará-los com arquivos de log produzidos por negociação simulada do mesmo período de tempo. Eu era capaz de obter a minha simulação para o ponto que era bastante preciso e para as partes que eram impossíveis de modelar exatamente eu fiz certo para, 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 PampL simulado. Mas como o meu sistema saberia 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ços sobre a oferta e oferta. Estes incluíam um nível acima da oferta interna (para uma ordem de compra) e um nível abaixo da oferta interna (para uma ordem de venda). Se a pontuação em qualquer dado nível de preço estava acima de um determinado limite que significaria meu sistema deve ter um bidoffer ativo lá - abaixo do limiar, em seguida, quaisquer ordens ativas devem ser canceladas. Com base nisso, não era incomum que meu sistema pudesse mostrar um lance no mercado e imediatamente cancelá-lo. (Embora eu tentei minimizar isso como itrsquos irritante como heck para quem olha para a tela com olhos humanos - incluindo-me.) Os níveis de preços foram calculados com base nos seguintes fatores: A previsão de movimento de preços (que discutimos anteriormente). O nível de preços em questão. (Os níveis internos significavam que eram necessárias maiores previsões de movimento de preços.) O número de contratos na frente da minha ordem na fila. (Menos foi melhor.) O número de contratos por trás da minha ordem na fila. (Mais era melhor.) Essencialmente esses fatores serviram para identificar ldquosaferdquo lugares para bidoffer. A previsão de movimento de preço por si só não era adequada porque não contava o fato de que ao colocar uma oferta eu não estava automaticamente preenchido - só fiquei preenchido se alguém me vendesse lá. A realidade era que o mero fato de alguém vender a mim a um certo preço mudou as probabilidades estatísticas do comércio. As variáveis ​​utilizadas nesta etapa foram todas sujeitas a otimização. Isso foi feito da mesma maneira como eu otimizado variáveis ​​nos indicadores de movimento de preços, exceto neste caso eu estava otimizando para linha de fundo PampL. O que meu programa ignorou Ao negociar como seres humanos, muitas vezes temos emoções poderosas e preconceitos que podem levar a decisões menos do que 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 itrsquos bastante comum para ouvir 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, meu programa ignorou completamente essas informações. Itrsquos o mesmo conceito como ignorando custos irrecuperáveis. Indo 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, da minha perspectiva de algoritmos, não havia razão para fazer uma distinção. Se o meu algoritmo esperava um movimento para baixo vender era uma boa idéia, independentemente de se ele era atualmente longo, curto ou plano. A ldquodoubling uprdquo estratégia - Esta é uma estratégia comum, onde os comerciantes vão comprar mais ações no caso em que há comércio original vai contra eles. Isso resulta em seu preço médio de compra sendo menor e significa quando (ou se) o estoque gira em torno de yoursquoll ser 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ê Warren Buffet. Yoursquore 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 é que torna difícil julgar se você realmente tem uma vantagem no mercado ou estão apenas ficando com sorte. Ser capaz de monitorar e confirmar que o meu programa de fato tinha uma vantagem era um objetivo importante. Desde que meu algoritmo tomou decisões da mesma maneira, independentemente de onde ele entrou em um comércio ou se ele estava atualmente longo ou curto que ocasionalmente sentar em (e tomar) algumas grandes operações perdedoras (além de algumas grandes tradições vencedoras). Mas, você shouldnrsquot pensar lá wasnrsquot qualquer gestão de risco. Para gerenciar o risco eu reforcei um tamanho de posição máximo de 2 contratos de cada vez, ocasionalmente batido 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 inesperadas ou um bug no meu software. Estes limites foram aplicados no meu código, mas também no back-end através do meu corretor. Como aconteceu eu nunca encontrei problemas significativos. Executando 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 ao ponto de rentabilidade e começou a executá-lo ao vivo. Embora para ser justo uma quantidade significativa de tempo foi aprender 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 que eu reciclar meu sistema com base no valor de 4 semanas anteriores de dados. Eu encontrei este golpeou o contrapeso direito entre capturar tendências comportamentais recentes do mercado e segurar meu algoritmo teve bastante dados para estabelecer testes padrões significativos. Como o treinamento começou a tomar mais e mais tempo que eu dividi-lo para que ele poderia ser realizado 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 outubro de 2009, quando eu fiz quase 100k. Depois disso, continuei a passar os próximos quatro meses tentando melhorar meu programa, apesar do lucro diminuído a cada mês. Infelizmente por este ponto eu acho que Irsquod implementou todas as minhas melhores idéias porque nada que eu tentei parecia ajudar muito. Com a frustração de não ser capaz de fazer melhorias e não ter um senso de crescimento eu comecei a pensar em uma nova direção. Eu enviei um email a 6 diferentes empresas de negociação de alta freqüência para ver se theyrsquod estar interessado em comprar o meu software e contratar-me para trabalhar para eles. Ninguém respondeu. Eu tinha algumas novas idéias de inicialização que eu queria trabalhar, então eu nunca segui. UPDATE - Eu publiquei isso no Hacker News e ele tem recebido muita atenção. Eu só quero dizer que eu não defendo alguém tentando fazer algo parecido 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 outros.) Há um comentário no topo da página que menciona estatísticas manipuladas e refere-se a mim como um ldquoretail investorrdquo que quants Ldquogleefully escolher offrdquo. Este é um comentário bastante infeliz thatrsquos simplesmente não baseado na realidade. Colocando isso de lado therersquos alguns comentários interessantes: news. ycombinatoritemid4748624 UPDATE 2 - Irsquove postou um follow-up FAQ que responde algumas perguntas comuns Irsquove recebeu de comerciantes sobre este post.

No comments:

Post a Comment