Algorithmic trading system example


Negociação algorítmica para imbecis Estou de volta com algo completamente diferente para este artigo Este é sobre negociação algorítmica como na escrita de um algoritmo de negociação que automaticamente fará negócios em seu nome em mercados de câmbio. Por que o comércio algorítmico Este é um blog de programação de jogos Eu ouço você chorar. Bem, até agora eu tenho falado quase exclusivamente sobre algoritmos e técnicas no desenvolvimento de jogos, mas na verdade eu não sou apenas um programador de jogos que algoritmos de todos os tipos me interessam e mais do que sempre estou interessado em pequenos detalhes que fazem sistemas complexos funcionarem, e finanças é completamente cheio de pequenos detalhes e jargão soando impenetrável. Mas, na verdade, é realmente muito simples de configurar e escrever seu primeiro algoritmo. Todo o software é totalmente gratuito, quase todos os corretores têm uma conta de livre prática, então a barreira de entrada é basicamente zero. Quem é este artigo destinado a Este artigo é destinado a programadores que sempre foram curiosos sobre finanças e algoritmos de negociação, mas nunca olhei para ele em grande detalhe. Perigo, Will Robinson, PERIGO É claro que deve ser declarado que seria uma péssima idéia deixar seus primeiros algoritmos rodarem em uma conta viva, porque você perderá muito dinheiro. Então, por favor, não faça isso. Basta usar uma conta de negociação em papel para começar e fazer o back-test usando o Strategy Tester, sobre o qual falarei mais tarde. Antecedentes Faz sentido começar com uma visão geral de como o comércio financeiro e, em particular, a negociação de moeda realmente funciona. Na sua essência, a negociação é sobre uma troca de um ativo por uma certa quantia de dinheiro, o comprador ganha o ativo e o vendedor ganha o preço de venda. Os ativos envolvidos podem ser quase qualquer coisa, os mais populares são ações e ações, moeda estrangeira, ouro, prata etc. A chave é que o comprador só quer pagar uma certa quantia e o vendedor quer ganhar uma certa quantia, e muitas vezes valores não correspondem. Se você pegar esse exemplo simples de duas partes tentando fazer uma troca e extrapolar para dezenas de milhares de pessoas trocando o mesmo ativo, você precisa de alguma maneira de gerenciar o sistema para que todos os compradores e vendedores envolvidos tenham uma visão clara de todas as partes interessadas. preço ou oferta de compra, a fim de obter o melhor negócio. O que você acaba com é o que é chamado de Order Book, que é simplesmente uma lista de todos os compradores. Os preços das ofertas e todos os vendedores Ask preços (às vezes também chamados de preços de oferta). Um exemplo de livro de encomendas, este é o eur / bitcoins. Acima está um exemplo do que é um livro de encomendas para um activo em particular, neste caso o seu bitcoin está a ser vendido por Euros. Você pode ver claramente o que os compradores estão dispostos a pagar (à esquerda) e o que os vendedores estão dispostos a vender (à direita). Outra quantidade importante listada é a quantidade a ser vendida ou comprada, isso é auto-explicativo realmente simplesmente a quantidade do ativo que está sendo oferecido para venda ou compra. Você notará que os preços Ask são sempre mais altos que os preços Bid. Isso faz sentido logicamente, porque se os valores fossem os mesmos, ou se os preços de Ask fossem mais baixos do que os preços Bid, a troca já teria ocorrido e as entradas teriam sido removidas do livro de ofertas (supondo que as quantidades fossem as mesmas em ambos os lances) e pergunta). Isso nos leva nitidamente ao primeiro bit do jargão. O spread. O Spread O spread é simplesmente a diferença entre o menor preço Ask e o maior lance. Ele representa o custo de negociação - se você quisesse comprar e depois vender logo em seguida, acabaria pagando o custo do spread pela conveniência de uma transação instantânea, o que nos leva à nossa próxima definição. Ordens de mercado. Ordens do mercado Uma ordem de mercado é uma transação que ocorre instantaneamente. Para que isso seja possível, o preço de compra deve ser igual ao mais baixo Pergunte na carteira de pedidos (para uma compra) e para uma venda, o preço de venda deve ser igual ao preço mais alto da Proposta. Obviamente, não faz sentido comprar e depois vender instantaneamente porque você sempre estará perdendo dinheiro (o spread) em cada um deles. Quando você coloca uma ordem de mercado, você geralmente tem alguma idéia de que o preço vai se mover a seu favor antes de você, então coloque a ordem oposta para fechar o negócio. Ordens limitadas As encomendas no livro de encomendas são todas as encomendas limitadas, os preços de compra desejados (que estão sempre abaixo do melhor preço Ask) e os preços de venda (que estão sempre acima do melhor preço Bid). Depois de algum tempo (embora, talvez nunca em casos extremos) um pedido será enviado, o qual satisfará o comprador ou o vendedor no topo da carteira de pedidos e o negócio será preenchido. As pessoas que colocam ordens limitadas ficam felizes em esperar até que o mercado se mova a seu favor antes mesmo de fazer um acordo - embora isso nunca possa acontecer, ou pode acontecer muito rapidamente. Movendo os preços Então, exatamente como os preços se movem em primeiro lugar Em um sentido muito real, o valor de um determinado ativo é definido diretamente pelo preço mínimo que alguém está disposto a vender ou pelo preço máximo que alguém está disposto a pagar. A parte superior do livro de pedidos contém esses valores, como já aprendemos, então é tentador pensar que só isso definiria o preço e, portanto, seria trivial controlar artificialmente o valor de um ativo colocando cuidadosamente as ordens de limite na carteira de pedidos. No entanto, há uma complicação relacionada à quantidade do pedido. A quantidade de uma ordem define sua importância ao definir o valor de um ativo, a razão para isso é sua longevidade. Quanto maior a quantidade de um pedido, maior a probabilidade de existir na carteira de pedidos - imagine alguém fazendo um pedido para vender um milhão de maçãs a 0,25 por maçã (o preço mais barato). Este pedido provavelmente permanecerá na carteira por muito mais tempo do que alguém tentando vender 10 maçãs. Assim, esta enorme encomenda para vender maçãs a preços baixos começa a tirar todo o comércio dos vendedores menores, a única opção é tentar minar a enorme encomenda e vender ainda mais barato, digamos, 0,24 por maçã (ou podem esperar, claro, mas isso pode demorar muito). Eventualmente, outra grande encomenda para vender surgirá e reduzirá a ordem original, fazendo com que os preços caiam ainda mais. Eventualmente todos estes grandes pedidos serão completamente preenchidos e os preços começarão a se estabilizar novamente para níveis nominais, embora eles não possam voltar para onde estavam. Um ótimo exemplo de como grandes encomendas podem mudar de preço foi no crash do bitcoin de 19/6/2011 - alguém invadiu a maior bolsa de bitcoin, a MtGox, roubou uma grande quantidade de bitcoins e tentou vendê-los no mesmo site. Os preços passaram de 18 USD / bitcoin para praticamente 0 em questão de minutos. Isso aconteceu porque o bitcoin ainda é uma moeda bastante ilíquida, de modo que grandes volumes podem movimentar os preços substancialmente mais do que em outros mercados mais líquidos. Excluindo falhas como a mostrada acima, ao longo da vida de um ativo, o movimento de preços está acontecendo em várias escalas diferentes. Pedidos realmente grandes impulsionam as grandes tendências, seguidos por pedidos menores que impulsionam as tendências médias e os pequenos pedidos que impulsionam a ação imediata do preço. Esse comportamento é o que dá ao mercado um fractal como a natureza. Natureza de mercado parecida com o fractal Acima você pode ver um exemplo disso (novamente em USD vs GOLD), onde as principais tendências são marcadas pela linha amarela, as tendências médias são mostradas pela linha branca e tendências imediatas mostradas em azul. As tendências médias causadas pelos pedidos menores retornam ao principal preço de tendência causado pelos maiores pedidos, e assim por diante. Mandlebrot estudou a natureza fractal das séries de preços em detalhes. Um mercado de tendências O que eu acabei de descrever acima é a base para um mercado de tendências - onde os preços estão se movendo fortemente em uma direção geral. Isso é causado quando ocorre uma sequência de eventos semelhante ao descrito acima, mas em grande escala. Muitas vezes isso pode ser desencadeado por algum tipo de fator externo, como notícias dizem que há uma reportagem que liga maçãs para reduzir o QI, então a maioria dos vendedores vai querer se livrar de seus estoques de maçãs rapidamente porque ninguém estará comprando , então eles vendem a um preço mais baixo e outros vendedores se juntam e isso se transforma em uma tendência de preços mais baixos. Os preços do ouro começaram a crescer fortemente após a crise financeira de 2008 A crise financeira de 2008 desencadeou essa tendência no preço do ouro, uma vez que as pessoas perderam a confiança nos meios tradicionais de investimento. Um Mercado de Longo Alcance Um mercado abrangente é aquele em que os preços oscilam entre vários níveis diferentes (de novo de um modo semelhante ao fractal), mas não necessariamente em qualquer direção geral clara ascendente ou descendente. O GBP vs USD é um mercado historicamente diversificado devido à natureza inter-relacionada das duas economias. O par de moedas estrangeiras GBPUSD é um mercado historicamente diversificado devido às economias interrelacionadas dos dois países, embora ultimamente tenha estado em forte tendência descendente devido ao libra enfraquecendo. Mercados de câmbio Os mercados de câmbio ou os mercados de Forex funcionam negociando pares de moedas, por exemplo, você pode negociar GBP / USD e os preços seriam listados em libras (moeda base) por dólar (moeda de cotação). A maneira como os indivíduos obtêm acesso a esses mercados é através de um corretor. Um corretor é um intermediário entre os usuários finais e a Rede de Comunicações Eletrônicas que conecta todos os grandes bancos de investimento, hedge e fundos de pensão em conjunto e é o meio pelo qual eles fazem suas negociações. Os corretores fornecem aos usuários acesso ao comércio em troca de taxas, que podem ser um encargo fixo por volume negociado, ou simplesmente ficarão ocultos dentro do spread (os corretores simplesmente adicionarão sua comissão aos preços de compra e venda para que os usuários que fizerem um pedido de venda preços aumentados por uma pequena quantidade que é então tomada pelo corretor como lucro). Há muitos corretores diferentes em operação, todos com seus próprios benefícios e desvantagens que você deve avaliar - compare coisas como qual corretor sem comissão tem os spreads mais baixos, que é regulado pelas autoridades financeiras ou que fornece a melhor conexão com a ECN (alguns são nem sequer conectado em tudo). A plataforma mais popular que os usuários usam e os brokers suportam é chamada de MetaTrader 4 e é o que eu vou falar no restante deste artigo, por causa de sua relativa facilidade de uso, seu suporte difundido e sua linguagem de programação tipo C MQL4 que fornece acesso API a todas as funcionalidades do MetaTrader 4 (MT4 a partir de agora). Exemplo de corretor de forex (afiliado) Os mercados de Forex acessíveis ao usuário são um pouco diferentes em sua operação do que o que descrevi até agora neste artigo, principalmente porque você nunca acaba possuindo o ativo que você está comprando. Isso parece um pouco estranho porque quebra a realidade - como você pode vender algo que você nunca possuiu, por exemplo Bem no Forex você pode Cada compra deve ser fechada com uma venda e cada venda deve ser fechada com uma compra, então você sempre acaba possuir a moeda base, nunca a moeda de cotação. Isto tem vantagens e desvantagens. A desvantagem é que impede certos algoritmos de negociação de serem possíveis - por exemplo, você não pode executar um algoritmo de Market-Maker em um corretor Forex, porque você tem que fechar todos os negócios com o comércio oposto. O mais próximo que você pode fazer é o que é chamado de negociação em grade, mas eu vou entrar nessas técnicas diferentes em um artigo posterior. A vantagem do Forex é que você pode ganhar dinheiro em um mercado de baixa tendência, porque você pode vender alta e, em seguida, comprar de volta quando os preços são baixos, isto é o que é referido como Shorting. MetaTrader 4 A interface MT4 parece assustadora no começo, mas é realmente muito simples. Interface de usuário MT4 A parte principal da exibição é ocupada pelos preços de cotação do par de moedas escolhido, com os símbolos de par de moeda disponíveis mostrados em um painel à esquerda, o navegador (para escolher scripts, indicadores e algoritmos) sob esse e - na minha configuração - o testador de estratégias na parte inferior. É importante observar que os preços de cotação mostrados nos gráficos em MT4 representam apenas os preços de lance mais altos do livro de ordens para um determinado par de moedas. A carteira de pedidos completa não está disponível para visualização. Você só tem acesso ao topo do livro de pedidos no painel de Controle do Mercado, à esquerda. O MT4 fornece muitos indicadores internos, que são pequenos programas que executam dados de série de preços e produzem algo visual sobre os preços. Um exemplo simples seria o indicador de Média Móvel, que mostra uma média das séries de preços com um determinado período (número de amostras) mostrado em vermelho. As médias móveis ajudam a suavizar o ruído em uma série de preços e tornam a tendência geral mais clara à custa da adição de atraso. Indicador de média móvel Os quadros de tempo MT4 fornecem um número de períodos de tempo diferentes através dos quais é possível visualizar séries de preços de um símbolo específico: M1, M5, M15, M30, H1, H4, D1, W1 e MN. M1 a M30 são minutos, H1 a H4 são horas, D1 é dias e MN é meses. Cada unidade individual dessas séries temporais é chamada de Barras. Vários tempos diferentes disponíveis A razão para fornecer tantas visões diferentes de uma série de preços é que ela ajuda os comerciantes a avaliar as tendências de longo prazo, médio prazo e curto prazo em uma moeda. Em geral, os intervalos de tempo mais baixos também contêm o maior nível de ruído definido como trocas que obscurecem a tendência geral, e é por isso que muitos operadores profissionais lidam apenas com prazos H4 ou superiores que são muito mais fáceis de ler e não fazer. requerem tempos de reação de raio. Deve ficar claro que o que esses quadros de tempo representam são, de fato, uma visão normalizada das séries de preços. Na realidade, as negociações não ocorrem em intervalos regularmente espaçados no tempo, elas ocorrem como e quando. Portanto, o que você vê no MT4 é, na verdade, uma visão interpolada da ação do preço real. Além dos preços de lance no MT4, você também tem acesso a preços em aberto, preços altos, preços baixos e preços de fechamento, às vezes chamados de OHLC. Este é um artefato da normalização da série de preços, porque os preços foram normalizados em barras, é lógico que os comerciantes gostariam de saber qual era o preço inicial da barra (Open), onde estavam os pontos altos e baixos e o que o último preço no bar foi (fechar). Todas essas informações podem ser codificadas nos gráficos de preços como velas. Duas velas em um gráfico, uma de alta, uma baixa No diagrama acima, a vela da esquerda é colorida de preto para indicar um movimento de alta e a vela da direita é branca, indicando um movimento de baixa. Muitas velas em um gráfico de preços. Termos de negociação em baixa e em alta: um mercado em alta (ou candle) é aquele que está ou subiu de preço, enquanto um mercado de baixa é aquele que caiu de preço. Um tick (na terminologia MQL4) é uma única alteração no preço do lance e é a maior resolução possível de visualizar a ação do preço. Não há nenhuma série de preço de exibição de ticks padrão no MT4, embora o painel do Market Watch tenha um gráfico de ticks que você pode usar para ver as alterações recebidas. Os carrapatos são mais interessantes quando se trata de escrever um algoritmo. Pips e pipetas Um pip é 0,0001 unidades da moeda de cotação, que costumava ser a unidade mais baixa possível até que alguns corretores introduzissem as pipetas que são dez vezes menores novamente, que são atualmente a menor unidade. Um ponto no MT4 é a menor unidade possível da moeda de cotação. O que isto é realmente depende do que seu corretor suporta, mas, por exemplo, em corretor de 5 dígitos Oanda, um ponto é 0,00001 em EUR / USR e 0,001 em USD / JPY. A parte mais interessante do MT4 para programadores é a linguagem MQL4. Eu sugiro que você dê uma olhada na excelente documentação e material de referência fornecidos no mql4: A linguagem é semelhante ao C e tem alguns tipos básicos embutidos, como duplos, ints e matrizes, mas nenhum tipo complexo como estruturas ou classes. No MT4 você pode escrever indicadores personalizados e algoritmos de negociação personalizados, aos quais eles se referem como Expert Advisors, ou EAs. Vamos começar com a nossa primeira EA Clique com o botão direito na árvore Expert Advisors no Navegador e escolha Criar. Certifique-se de que o Expert Advisor esteja selecionado e, em seguida, escolha Avançar. Dê a você um nome inspirador, como HelloWorld e clique em Concluir. Você deve então ser apresentado com o MetaEditor (que é onde você fará toda a sua programação) contendo o esqueleto para o seu primeiro EA que deve ser semelhante a este: Existem pontos óbvios de inicialização / desinicialização que são chamados de MT4 quando o programa é executado pela primeira vez. quando ele desliga. E o ponto de entrada start () que é chamado uma vez por tick. Vamos adicionar algo simples para começar a usar um exemplo do tipo Hello World. Basta alterar a função start () para o seguinte: Em seguida, pressione o botão Compile e você deverá ter uma saída na parte inferior da tela, que diz: Compilando HelloWorld. mq4. 0 erro (s), 0 warning (s) Agora, volte para a interface principal do MT4 e escolha View-Strategy Tester no menu principal. O testador de estratégias é onde você gastará muito do seu tempo como criador de algoritmos de negociação, permitindo que você teste sua estratégia programada em relação a dados de séries de preços anteriores em qualquer um dos prazos desejados. Isso é chamado de back-testing e é uma ferramenta de economia de tempo e depuração totalmente inestimável que permite testar a lucratividade de sua estratégia de negociação. Você deve então ser apresentado com um painel que se parece com isso na parte inferior da interface MT4: O testador de estratégias Se o Hello World não estiver selecionado no primeiro menu suspenso, clique nele e selecione-o. Agora pressione o grande botão Iniciar no canto inferior direito e, em seguida, clique na guia rotulado Diário, você deve ter saída semelhante a esta: Se o fizer, parabéns Você acabou de escrever o seu primeiro algoritmo de negociação embora no sentido mais frouxo possível, pois não comércio. Eu cobri uma enorme quantidade de chão neste artigo, então deve haver muito para afundar seus dentes. Próxima vez vou falar sobre a programação de operações comerciais reais e até mesmo cobrir algumas estratégias de negociação comuns Até a próxima vez, divirta-se Oi ive começou a negociar eu dobrei meu demo acc on plus im muito bom nisso como isso é mais fácil do que commodities etc evreyone está sempre procurando uma vantagem id amor para construir um também ive apenas downlaoded mt4 a partir daqui o que isso ajudaria com o quão longe pode ir ie como o jp morgan goldsachs usar ou é impossível que uma empresa lucrou 287 de 288 dias usando um algorythim eu posso fazer um como thteres N como faço para começar se eu tenho e em matemática e em Inglês eu pegar as coisas realmente rápido que você sabe onde eu posso aprender isso e colocar o algo juntos etc eu tenho 30k sentou-se pronto para Eu vou aconselhar extrema cautela, as empresas que têm algoritmos de negociação bem sucedidos como você descreve têm exércitos de PHDs em finanças quantitativas que projetam seus algoritmos. Também não estão usando o MT4, eles estarão negociando diretamente usando software e hardware personalizados muito caros que estão fora do nosso alcance. O melhor conselho é encontrar algo mais seguro para fazer com o seu 30k, porque a negociação forex é extremamente arriscada. Interessante que você é um programador de videogames fazendo finanças. I8217m no mesmo barco exato. Eu fiz uma demonstração do jogo que você pode baixar do meu site com física de boneca de pano, etc, etc. I8217m agora está escrevendo um sistema de negociação de rede neural que roda exclusivamente no MT4 no momento. Aqui está uma imagem do editor da rede neural: cseditor. png. De qualquer forma, é engraçado porque seu artigo é tão novo e eu tenho feito malabarismos com redes neurais e física de jogos por mais de um ano. O pensamento de I8217d lhe diz que temos muito em comum, ha Quão interessante é que as redes neurais permitem que seus algoritmos se adaptem à dinâmica do mercado? O problema recorrente que parece ter é o ajuste excessivo de um algoritmo a um ano ou tempo específico. de ano. Eu adoraria ver algo escrito sobre redes neurais e comércio algorítmico. Bem, o meu não, pelo menos, haha. Eu sei que qualquer robô não seria tão bom quanto um robô sem um loop de feedback (controle de sistemas dinâmicos). Então, basicamente, idealmente, você quer uma rede neural de base que tenha sido treinada e, então, provavelmente queira treiná-la com um pequeno intervalo de tempo com dados atuais (possivelmente como parte do loop de ticks no MT4). Isso tudo está na minha cabeça e nem mesmo tenho certeza se vai funcionar, mas agora estou testando o EA8217s para o EURUSD e o USDCHF. Eu tenho que fazer o outro grande 4: GBPUSD, USDJPY, AUDUSD e USDCAD. Basicamente, domino o problema que você está descrevendo treinando minha rede neural nos últimos quatro anos. Eu tenho uma hipótese que se você sobrecarregar sua rede neural com dados, é FORÇADO generalizar. Não foi isso que nos ensinaram em Caltech82, mas aprendemos a pegar de 10 a 20 dos dados e a não treinar com ele, mas usá-lo para verificar os outros 80-90. No entanto, gosto de gráficos como os seguintes: gráfico suave. Eu espero que ela generalize (talvez seja a lei dos grandes números em que penso), dado que ela tem apenas 14 neurônios por camada intermediária e apenas uma camada intermediária (além da camada de entrada e da camada externa). Eu não tenho nenhuma referência à mão, mas meu processo é este: alimentar um número igual de exemplos de comércio e não-comércio como ponto de partida e depois usar a rede neural que você obtém. Em seguida, passe e reforce-o com exemplos positivos e negativos que considere adequados. Não sou um negociante ousado, então tenho mais exemplos negativos do que exemplos positivos. O diabo maldito ainda consegue negociar muito embora e certificando-se de que os negócios corretos podem ser difíceis. Meu stop loss está em 350 PIPS atualmente, ha Anyway, me avise se você tiver mais alguma dúvida. Parece algo interessante que eu definitivamente quero investigar. Uma palavra de cautela, porém, seu gráfico (embora impressionante) poderia ser enganoso devido aos dados ruins do tick 8211 Eu tive uma experiência semelhante, onde um algoritmo meu fez mais de 2 milhões em um ano (com 8216n / a8217 back-teste de qualidade como a sua está aparecendo), mas assim que obtive dados tick-by-tick trabalhando no MT4, acabei com um algoritmo que não era nem um pouco lucrativo. Para obter dados tick by tick, faça o download do TickStory Lite: Em seguida, você precisará encontrar seus símbolos e fazer o download dos dados. Diga ao tick-story onde está a sua instalação MT4, e depois escreva proteja os dados do histórico no tester / history e então apenas inicie o MT4 a partir da opção de menu no tick-story, pois isso corrige o. exe para que o MT4 possa usar os dados do tick. Espero que ajude Hmm. bacana. I8217m vou tentar e deixar você saber meus resultados. Eu recebo meus dados do eSignal (5m é o que eu uso). Eu não sei como obter dados da história de carrapatos mudaria qualquer coisa, mas eu deixaria você saber. I8217m atualmente baixando os últimos 4 anos de dados (demorando para sempre). Na verdade, ele vem do banco de dados Dukascopy8217s, mas o tickstory permite que você obtenha esses dados exportados para o MT4. I8217d muito interessado em ouvir seus resultados depois de configurar 99 dados de back-test de qualidade Ok, os resultados estão dentro (infelizmente, eu não pude esperar por 4 anos de dados, então fui com 1 ano). Você pode vê-lo aqui. Parece que ainda funciona, graças a Deus vou obter mais dados durante a noite e tente novamente, eu postarei os resultados. Ah, isso é ótimo. Ainda bem que seus resultados ainda são positivos. Esse gráfico é impressionante fator de lucro enorme. IMO a única coisa para trabalhar é reduzir esse empate82308282d gostaria de ver os resultados por mais de um ano também. Sim, meu pai diz a mesma coisa. Ele gosta da precisão, mas o empate 8230 que maldito empate, lol. Redes neurais são coisas legais. Eles basicamente ajudam você a encontrar uma função dada um vetor de entrada e (geralmente) uma saída booleana (YES / NO). Quanto mais camadas você colocar nelas, mais complexas serão as árvores de decisão de árvore binária que elas criam (se eu não me engano). Uma das minhas aulas na Caltech nos perguntaram como o número de camadas afeta a rede neural e, é claro, nunca vi a solução, mas acho que quanto mais camadas você tiver, mais setores no espaço de solução das funções que você cobre. De qualquer forma, a coisa toda ainda é mágica para mim. Eu uso isso como uma caixa preta. Deixe-me saber se você precisar de ajuda. Não é tão difícil assim. Aqui está o que minha interface parece: classe CSNeuralNet público: CSNeuralNet (u32 numInputs, u32 numMiddleLayers, u32 neuronsPerMiddleLayer, escalar maxWeight) CSNeuralNet (s8 filename) CSNeuralNet (raiz MEHXMLNode) inline MEHArray ampGetDomainScale () inline CRITICALSECTION ampGetCriticalSection () escalar GetError () escalar ForwardFeed (MEHArray ampinputs) void BackPropagate (escalar desejadoOutput, escalar learnRate) void Print (app CSApp) void SaveToFile (s8 filename) void SaveToExternalXML (MEHXMLFile ampxml, raiz MEHXMLNode) void MakeHeaderXML (MEHArray ampattrib) void LoadFromXML (raiz MEHXMLNode) void MakeLayers (u32 numInputs, u32 numMiddleLayers, u32 neuronsPerMiddleLayer, escalar maxWeight) CRITICALSECTION mcs MEHArray mlayers MEHArray mdomainScale s8 mnumInputsTxt1024 s8 mnumMiddleLayersTxt1024 s8 mmiddleLayerNeuronsTxt1024 As principais funções que você precisa são uma função de avanço de feed e propagação reversa (ou aprendizado). Quando você avança, você começa na entrada e trabalha na saída. Então você calcula o erro da saída e propaga o erro usando gradientes de erro. Acontece que, uma vez que a função de ativação em cada nó é uma função hiperbólica (geralmente), a derivada está prontamente disponível (que é todo o gradiente de erro). Então você basicamente integra o gradiente de erro com um intervalo de tempo (eles chamam isso de taxa de aprendizado) e você é feito com 1 8220epoch8221 ou ciclo. O nível de aprendizado é baseado em quantas épocas você passa, mas eu basicamente tenho uma verificação que verifica se os resultados são os esperados para todos os pontos de dados de teste e that8217s quando paro de executar épocas. De qualquer forma, mais uma vez, eu te imploro para descobrir sobre isso sozinho, mas se você precisar de ponteiros, me avise. Eu desenvolvi uma rede neural há 2 anos em minha universidade que podia aumentar e diminuir o tamanho automaticamente para se adaptar à função e ao modelo. Ainda estou tentando entender quais informações você está usando para treinar sua rede neural. Qual é a entrada e saída durante a fase de treinamento Como entrada, minha rede neural pode pegar qualquer domínio. Mas o truque é: como você o treina Quais devem ser as entradas de uma rede neural? O MetaTrader é uma ótima ferramenta se a estratégia que você gostaria de negociar se basear em indicadores e gráficos técnicos. No entanto, hoje em dia, é cada vez mais difícil encontrar uma estratégia de negociação de sucesso baseada exclusivamente em indicadores técnicos. Na minha opinião, as estratégias mais bem sucedidas são hoje baseadas em fatos econômicos e / ou eficiências de mercado conhecidas. AlgoTrader é uma Plataforma de Negociação Algorítmica baseada em Java que permite o desenvolvimento, simulação e execução de múltiplas estratégias em paralelo. O Software de Negociação automatizado pode negociar Forex, Opções, Futuros, Ações e Mercadorias em qualquer mercado. O sistema é baseado em Processamento de Eventos Complexos (CEP) e Processamento de Fluxo de Eventos (ESP). O CEP é uma técnica muito boa para começar a negociação algorítmica. Com essa tecnologia, a Análise de Dados de Mercado e a Geração de Sinais baseados no tempo são codificadas em declarações EPL (semelhantes a SQL), enquanto ações procedurais como a colocação de um pedido são codificadas em código Java simples. A combinação dos dois fornece uma abordagem de melhor dos dois mundos e acomoda estratégias que são predominantemente baseadas no tempo e, portanto, não podem ser programadas com linguagens de programação procedurais tradicionais. Algumas das características do sistema: 8211 3 diferentes GUI8217s 8211 Diferentes Interfaces Broker (Nativo e Fix) 8211 Suporte para personalizado Derivative Spreads 8211 Vários algoritmos de execução embutidos 8211 Suporte para Forex, Opções, Futuros, Ações, Commodities, etc. 8211 Funcionalidades multi-conta Amplitude Multi-Módulo Estratégias 8211 Automated Forex Hedging amp Opções Pricing Engine Existem duas versões disponíveis do AlgoTrader: 8211 Uma versão open source que você pode baixar de graça 8211 Uma versão comercial (com suporte e serviços profissionais) Whao. Que artigo educativo e informativo para um manequim como eu. Ansioso para a parte 2. Welldone Paul, eu gosto de você simplificou a análise do mercado forex. Alguém sabe onde eu também posso aprender sobre como escrever estratégias automatizadas para a plataforma currenex ou utilizando a API FIX I8217ll até aprecio um livro sobre ele ou, melhor ainda, um tutor. Sobre o autor Um veterano da indústria de games de dez anos, sete dos quais na Sony Computer Entertainment Europe, ele teve papéis técnicos importantes em títulos AAA como o Bafta Award Winning Little Big Planet (PSP), 24: The Game (PS2) ), efeitos especiais trabalham em Heavenly Sword (PS3), alguns gráficos in-show na versão da BBC do Robot Wars, o programa de TV, bem como alguns projetos mais obscuros. Agora co-CEO da Wildbunny, ele é capaz de se soluçar simplesmente por tossir. 1NobNQ88UoYePFi5QbibuRJP3TtLhh65Jp Posts em Destaque Tutoriais com código para comprar Meus produtos MetaTrader 5Resposta curta: Introdução ao Algorithmic Trading with Heikin-Ashi. Guia curto que leva você de iniciante a quase quant. Ele fornece um ambiente de desenvolvimento gratuito, mostra como criar um indicador técnico e como criar uma estratégia de negociação automatizada. Neste post do Quora, eu tenho um detalhamento maior de como começar. Resposta mais longa: Para se tornar verdadeiramente proficiente no desenvolvimento de estratégias de negociação algorítmica, você precisará de algum conhecimento básico. Isso pode ser percebido ao longo do tempo e não é crucial ter todo o conhecimento do mercado dominado antes de começar. Aprendendo os Mercados Há toneladas de recursos para isso, e é exatamente por isso que você deve ter um pouco de cuidado com os livros que escolhe pegar e ler. A resposta dos auxiliares tem um colapso de alguns grandes livros. Entre em minha sala de troca por Alexander Eldar - primeiro livro fantástico para qualquer um novo ao comércio. O Dr. Alexander Elder preenche a lacuna entre os fundamentos do mercado e se torna lucrativo com a exploração de indicadores técnicos. Além disso, aqui está uma lista de leitura agregada em PDF com uma lista completa de livros, vídeos, cursos e fóruns de negociação. Aprenda a programar Eu recomendo Python ou MATLAB, embora o Python seja mais versátil. O MATLAB é muito poderoso e usado por quant quant de lojas para pesquisa e desenvolvimento de estratégias de negociação. Além disso, se você está vindo de qualquer tipo de academia, provavelmente já está exposto ao MATLAB. Aprenda Python - Um tutorial interativo em Python destinado a qualquer um aprender a linguagem de programação. Exemplos vivos de código podem ser executados e testados diretamente no seu navegador. Guia de Início Rápido do MATLAB - Introdução on-line rápida e completa ao MATLAB com muitos exemplos de código para obter o apoio. Introdução mais intuitiva e direta do MATLAB disponível. Obtenha uma plataforma de negociação Sou preconceituoso e recomendo a Quantiacs, uma plataforma gratuita de código aberto para Python e MATLAB com dados históricos. O tutorial relacionado abaixo pressupõe que você esteja usando o Quantiacs e forneça o código criado para ele, mas as lições aprendidas também devem ser aplicáveis ​​a qualquer outra plataforma. Primeiras coisas primeiro, você vai precisar instalar a caixa de ferramentas Quantiacs. Este é um processo relativamente simples que deve levar apenas alguns minutos. Você tem a opção de usar Python ou MATLAB e, a menos que você já esteja investindo em apenas um, recomendo baixar e instalar ambos. Vá instalar a caixa de ferramentas. Introdução à caixa de ferramentas Quantiacs Dê uma olhada na estrutura de um exemplo de sistema de negociação aqui em Python e aqui no MATLAB. Os principais componentes de qualquer algoritmo Quantiacs são as configurações, mercados e posições. Tanto para o MATLAB quanto para o Python, seu algoritmo de negociação reside em apenas um arquivo que segue esse modelo geral. Para um detalhamento da caixa de ferramentas, visite aqui. Saiba mais sobre a caixa de ferramentas aqui. deve ser bem direto. Este post 1 do Quora tem uma análise detalhada de todas as melhores práticas para realmente testar seu algoritmo após e durante o desenvolvimento. As sugestões incluem o uso de análise de avanço, testes dentro da amostra e fora da amostra e como medir o desempenho em geral. Neste post 2 do Quora, eu escrevi alguns dos desafios que você enfrenta na construção de sistemas de negociação automatizados que geralmente não são explicitamente conhecidos até que você comece. Isso inclui garantir vantagem, como contabilizar os custos de capital e de negociação, e como não ser destruído pelos profissionais negociando contra você. Os perigos do ajuste de curvas Apenas uma nota lateral para avisar sobre a armadilha comum do desenvolvimento da estratégia de quantificação é excessiva. Uma estratégia de ajuste de curva é aquela que foi otimizada tão bem que se encaixa perfeitamente no desempenho passado dos mercados. O resultado final é que ele falhará completamente com a ação do preço futuro e com os eventos do mercado. Overfitting produzirá resultados fantásticos de backtesting de estratégias de negociação irrealistas e não rentáveis. Geralmente, ele gira em torno de parâmetros variáveis, como o período de uma média móvel, até que o desempenho dos algoritmos de negociação melhore significativamente. Embora a otimização de estratégias em si seja uma prática válida, ela deve ser executada com cuidado para evitar o overfitting. Aqui está o overfitting pode fazer - pode levar essa estratégia de negociação não rentável: E torná-lo uma incrível: Esta estratégia otimizada nunca iria funcionar no mundo real. No momento em que a data de início do backtest é removida por alguns anos, toda a margem de mercado percebida evapora. Caçar arbitrariamente por bons resultados de backtesting é uma prática perigosa e não produzirá estratégias verdadeiramente lucrativas. (Atenção: Eu trabalho na Quantiacs) Uma vez que você está pronto para ganhar dinheiro como um quant, você pode participar do mais recente concurso de negociação automatizado Quantiacs, com um total de 2.250.000 em investimentos disponíveis: Você pode competir com os melhores? middot Not for Reproduction Minha jornada como um quant levou-me a ler um vasto número de livros disponíveis sobre este assunto. Cheguei à conclusão de que, embora existam muitos bons livros por aí que realmente ajudam você a obter informações úteis, há ainda mais livros que são apenas material de marketing puro jogado pelas gargantas do leitor ignorante. Abaixo estão as minhas recomendações de livros, categorizadas com base em diferentes aspectos do negócio que você pode estar interessado em entender. Noções básicas: Para o leigo que é novo neste campo e quer um avanço. 1) Inside the Black Box por Rishi Narang - Ótimo livro para um avanço em todos os diferentes aspectos da negociação quântica. Informações muito gerais, mas amplamente escovas através de todos os aspectos do negócio. 2) Quantitative Trading por Ernie Chan - livro perfeito para começar em todos os conceitos básicos com detalhes sobre backtesting e algumas estratégias simples para começar com. Programação: Depende de qual plataforma você deseja usar. Há toneladas de livros e tutoriais on-line disponíveis em cada linguagem de programação. Recomendo o seguinte em Python e Java. 1) Aprendendo Python por Mark Lutz - Abrange os conceitos básicos de python. Bom para você começar. 2) Head First Java por Kathy Sierra - Grande livro sobre JAVA, desde básico até avançado. Microestrutura do Mercado: Antes de aprender qualquer coisa sobre estratégias de algoritmos, é muito importante entender como o comércio funciona e como os diferentes stakeholders interagem uns com os outros para criar um mercado. Negociação e Trocas por Larry Harris - Abrange a microestrutura do mercado em profundidade. Um deve ler antes de mergulhar em estratégias para obter uma boa compreensão dos mercados. Estratégias: Bons livros sobre estratégias de natureza variada (Momentum, Trend Following, Pairs Trading, Gregos etc). Eu também categorizei esses livros com base no tipo de estratégia em que os livros se concentram. 1) Algorithmic Trading de Ernie Chan - Um livro mais avançado de Ernie, com várias estratégias interessantes para experimentar e fazer backtest. Muita boa teoria explicando os conceitos básicos por trás da existência de diferentes tipos de mercado behaivour e como capturá-los. 2) Mechanical Trading Systems por Richard Weissman - Ótimo livro para estratégias. Abrange uma infinidade de estratégias de momentum e de reversão à média em vários períodos de tempo, juntamente com os resultados do backtested. 3) Seguindo a tendência por Andreas Clenow - Eu considero este livro, uma das melhores leituras sobre o tópico da Trend Following, uma estratégia de negociação muito popular. 4) Pairs Trading por Ganapathy Vidyamurthy - Muito bom livro sobre uma estratégia de negociação popular conhecida como Pairs Trading. 5) Como Ganhar Dinheiro em Ações por William O Neil - Uma excelente leitura sobre um modelo quântico muito interessante baseado em fundamentos, chamado CANSLIM. Estratégias de Opções: Abordo estratégias de opções sob um tópico diferente, considerando que elas são muito mais complexas em comparação com ações / futuros. 1) Options Volatility and Pricing por Sheldon Natenberg - Um dos melhores livros sobre opções para um iniciante, indo do básico até os gregos e negociação de volatilidade. 2) A Bíblia de Estratégias de Opções por Guy Cohen - Bom livro para obter velocidade em todas as configurações de opções diferentes e seus gregos específicos. 3) Volatility Trading da Euan Sinclair - Livro muito avançado e aprofundado sobre o conceito de Volatility Trading. Eu acredito que seja o melhor sobre este assunto. Gerenciamento de Riscos: O aspecto mais importante da negociação quântica, que é frequentemente negligenciado. Posição de dimensionamento por Van Tharp - uma jóia de um livro que explica a idéia de gerenciamento de risco e gerenciamento de dinheiro usando técnicas diferentes. Meu conselho para um comerciante de algo que amadurece seria pesquisar completamente antes de ir viver com uma estratégia. Considere-se um gerente de risco, em vez de um gerente de dinheiro. Gerir o risco vem em primeiro lugar, depois vem o retorno. 21.2k Visualizações middot Ver Upvotes middot Não Aplicável para Todos Direitos Autorais: I039m não um quant ou algo comerciante eu mesmo. Eu ajudei muitas pessoas a melhorar na negociação de algoritmos (engenheiro de cliente da Quantopian). Aqui estão algumas coisas que eu vi da minha experiência: Leia Aqui estão dois livros que eu vi muito recomendados. Vou lhe dar o título e o motivo. Negociação Algorítmica: Estratégias Vencedoras e Sua Justificativa de Ernie Chan abrange todo o piso térreo desde o início até as estratégias algorítmicas mais avançadas. Literalmente, isso vai levar você de “Eu não tenho idéia de que tipo de estratégia eu poderia usar” para “Ok, eu tenho a escolha entre momentum, par de negociação, estratégias de reversão à média. O que é melhor para o meu portfólio e metas agora mesmo - não estou brincando, este é um bom livro introdutório e a bibliografia te levará para onde você precisa ir. Python para análise de dados. Este é menos específico para negociação de algo, mas eu acho que você vai estar usando algum tipo de sistema baseado em código e, honestamente, o Python é o caminho mais fácil e simples. Comece a praticar Os melhores operadores de algoritmos que eu já vi são aqueles que criaram muitos algoritmos. Mexer, tentando, falhando. Estas são todas as coisas que ajudam você a criar suas estratégias desde a infância até possíveis sistemas geradores alfa. Eu principalmente conheço duas fontes onde as pessoas obtêm sua prática (mais uma vez, eu trabalho na Quantopian): Zipline, que é uma Biblioteca de Troca de Algoritmos Python de código aberto que qualquer um pode usar. Ele também alimenta o mecanismo backtester por trás do Quantopian, o que me leva ao próximo ponto Quantopian, que fornece a plataforma, os dados e o IDE para você testar suas estratégias em Python e executá-las com dinheiro real se achar que tem algo. A desvantagem é que você terá que aprender os métodos de API específicos do Quantopian. De cabeça para baixo é que não há muito o que aprender e há uma tonelada de tutoriais para ajudá-lo. Ponha seu dinheiro por trás disso Pegue pequenas quantias e de fato coloque um pouco de pele no jogo. O backtesting e tal é bom, mas você pensará diferente quando tiver algo a perder. Feynman tem uma boa citação sobre isso: “Eu poderia fazer isso, mas eu não, 039 - o que é apenas outra maneira de dizer que você não pode. - Apenas dizendo que seu algoritmo PODE ganhar dinheiro é diferente do que realmente ganhar dinheiro. Então, se você falhar, aprenda com isso e repita o processo. Se você vencer, seja cauteloso que um dia você pode falhar. - Apenas algumas observações de ver as pessoas passarem pelo processo várias vezes. 16,5k Visualizações middot Ver Upvotes middot Não para reprodução Eu recomendaria começar com os conceitos básicos de análise técnica. Alguns livros que eu achei útil (na seguinte ordem): entrar em minha sala de negociação: um guia completo para negociação por Alexander Elder - adequado como um primeiro livro para alguém completamente novo para negociação. Análise Técnica dos Mercados Financeiros: Um Guia Abrangente sobre Métodos de Negociação e Aplicações por John J. Murphy - Apresenta ao leitor uma ampla gama de técnicas usadas na análise técnica, um bom ponto de partida antes de escolher mais direção. No lado da programação eu recomendaria começar com uma plataforma onde o comerciante pode implementar várias estratégias em um ambiente fornecido. Essas plataformas são TradeStation ou NinjaTrader, por exemplo. Essas plataformas têm muitos recursos incorporados, por exemplo, gráficos, conexões de corretor, etc., de modo que são relativamente fáceis de aprender e convenientes de usar. Se alguém chegou a este nível, então eu acredito que ele já é capaz de decidir se a negociação é para ele ou não e se sim, então que direção ele pretende tomar. Mais adiante, será necessário que o trader estude cuidadosamente e use uma linguagem de programação. Por exemplo. C, C, C ou Java, para citar alguns. Então, será necessário estabelecer metodologias e abordagens próprias de negociação, que técnicas usar, como usá-las e como aperfeiçoá-las para estar à frente das outras. Este é um assunto amplo e complexo e todas as diferentes técnicas não podem ser incluídas em um único guia. Se alguém está definitivamente procurando por um guia de um livro, eles podem tentar ir para a Amazon e digitar "negociação algorítmica" na pesquisa (amazon / s / refnbs.). Isso trará alguns bons livros dedicados ao assunto. Eu nunca li nada disso, mas pelo que me lembro, com base nos comentários, alguns deles introduzem um determinado método e orientam passo a passo como implementá-lo. Independentemente do caminho que você tomar, esteja preparado para que, no final, você tenha que fazer sua própria pesquisa, implementar suas próprias idéias e colocar o trabalho extra necessário para se tornar um profissional bem-sucedido. 15.3k Visualizações middot View Upvotes middot Não para a reprodução Aqui está a lista de livros Este livro delineia o ciclo completo de validação de uma ideia de negociação, teste, medição, otimização de estratégias de negociação. Ele inclui muitas grandes idéias e indicações sobre cada passo do processo. Eu gostaria de ter lido o livro muito antes, e há muito poucos momentos em que li algo que pensei ter criado para mim mesmo. E então há mais algumas técnicas avançadas que nunca escrevi lá. Este é um dos primeiros livros que li sobre os tópicos, o que é bastante simples de entender e abrange os pontos mais importantes. Muito boa introdução Li este livro recentemente, depois de ter seguido Ernie em Quora, para ser honesto, não li o livro inteiro, mas escolhi os tópicos que interessavam em It039s, um bom complemento para os dois livros acima, o que explica alguns tópicos melhores do que os dois acima. . Se você quiser saber mais sobre determinados tópicos em negociação algorítmica, minha experiência é que você deve ler vários livros de diferentes autores, mesmo sobre o mesmo assunto. Não há um único livro que cubra tudo, mas cada livro dá-lhe alguma coisa. Eu tenho uma longa lista de livros pendentes para escrever, mas acho que os três acima devem ser mais do que suficientes para você começar. Só quero adicionar, existem alguns sites e livros sobre esses tópicos realmente querem vender serviços ou software, o conteúdo desses livros são realmente apenas material de marketing. Mas os livros que eu listei acima são verdadeiramente educacionais. Os autores são tão bons que colocam material de qualidade no livro. 2,8k Visualizações middot Ver Upvotes middot Não para ReproduçãoBásico de Negociação Algorítmica: Conceitos e Exemplos Carregando o player. Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo. O comércio algorítmico (negociação automatizada, negociação de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e freqüência impossíveis para uma negociação. comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. Suponha que um comerciante siga estes critérios comerciais simples: Compre 50 ações de uma ação quando sua média móvel de 50 dias ultrapassar a média móvel de 200 dias Venda ações da ação quando sua média móvel de 50 dias ficar abaixo da média móvel de 200 dias Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para obter mais informações sobre médias móveis, consulte: Médias Móveis Simples Faça Tendências se Destacar.) O comércio de algo oferece os seguintes benefícios: Negociações realizadas com os melhores preços possíveis Posicionamento de pedido comercial instantâneo e preciso (com altas chances de execução nos níveis desejados) Cronometrou correta e instantaneamente, para evitar mudanças significativas nos preços Custos de transação reduzidos (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplas condições de mercado Risco reduzido de erros manuais na colocação das negociações Backtest o algoritmo, baseado em dados históricos e em tempo real Possibilidade de erros cometidos por comerciantes humanos com base em fatores emocionais e psicológicos A maior parte da negociação de algoritmos atuais é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em múltiplos mercados e múltiplas decisões. parâmetros, com base em instruções pré-programadas. (Para mais informações sobre negociação de alta frequência, consulte: Estratégias e segredos de empresas de negociação de alta frequência) A negociação de algo é usada em muitas formas de atividades de negociação e investimento, incluindo: investidores de médio a longo prazo ou empresas compradoras (fundos de pensão). , fundos mútuos, seguradoras) que adquirem ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, especuladores e arbitradores) se beneficiam da execução automatizada do comércio, além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos (seguidores de tendências, pares de operadores, fundos de hedge etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente. O comércio algorítmico fornece uma abordagem mais sistemática ao comércio ativo do que métodos baseados na intuição ou instinto de um comerciante humano. Estratégias de Negociação Algorítmica Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas na negociação de algoritmos: As estratégias de negociação algorítmica mais comuns seguem as tendências das médias móveis. fugas do canal. movimentos do nível de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis. que são fáceis e simples de implementar através de algoritmos sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para obter mais informações sobre estratégias de negociação de tendências, consulte: Estratégias simples para capitalização de tendências.) Comprar uma ação listada dupla a um preço menor em um mercado e simultaneamente vendê-la a um preço maior em outro mercado oferece o diferencial de preço como lucro livre de risco ou arbitragem. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preço e colocar as ordens permite oportunidades lucrativas de maneira eficiente. Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os traders algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente antes do rebalanceamento do fundo de índice. Tais negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços. Muitos modelos matemáticos comprovados, como a estratégia de negociação delta-neutral, que permitem negociar em combinação de opções e sua segurança subjacente. onde as negociações são feitas para compensar os deltas positivos e negativos, de modo que o delta da carteira seja mantido em zero. A estratégia de reversão à média baseia-se na ideia de que os preços altos e baixos de um ativo são um fenômeno temporário que revertem para seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de sua faixa definida. A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem para o mercado, determinados dinamicamente, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao Preço Médio Ponderado pelo Volume (VWAP), beneficiando, assim, no preço médio. A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre um horário de início e de término. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado. Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A estratégia de etapas relacionadas envia pedidos em uma porcentagem definida pelo usuário de volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge níveis definidos pelo usuário. A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço das ações se mover favoravelmente e diminuirá quando o preço das ações se mover negativamente. Existem algumas classes especiais de algoritmos que tentam identificar os acontecimentos do outro lado. Esses algoritmos de farejamento, usados, por exemplo, por um criador de mercado do lado da venda, possuem a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie ao preencher os pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.) Requisitos técnicos para negociação algorítmica A implementação do algoritmo usando um programa de computador é a última parte, com o backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. São necessários: conhecimento de programação de computadores para programar a estratégia de negociação exigida, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de colocação. A capacidade e a infraestrutura para fazer backtest do sistema, uma vez construídas, antes de entrar em operação em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo Aqui está um exemplo abrangente: Royal Dutch Shell (RDS) está listada em Amsterdã Bolsa de Valores de Londres (AEX) e Bolsa de Valores de Londres (LSE). Vamos construir um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes: AEX negocia em Euros, enquanto LSE negocia em Libras Esterlinas Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguida pelas duas bolsas negociando simultaneamente pelas próximas horas e depois negociando apenas na LSE durante a última hora como AEX fecha Podemos explorar a possibilidade de negociação de arbitragem sobre as ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes Um programa de computador que pode ler os preços atuais de mercado Feeds de preço de LSE e AEX A Taxa de câmbio GBP-EUR Capacidade de colocação de pedidos que pode encaminhar a ordem para a troca correta Capacidade de teste retroativo em feeds de preços históricos O programa de computador deve executar o seguinte: Ler o feed de preço recebido do estoque RDS de ambas as trocas Usando as taxas de câmbio disponíveis . converter o preço de uma moeda para outra Se houver uma discrepância de preço grande o suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a ordem de compra na troca de preço mais baixo e na ordem de venda em câmbio mais caro. desejado, o lucro da arbitragem seguirá simples e fácil No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se o seu negócio de compra é executado, mas o comércio não é vendido, pois os preços de venda mudam no momento em que o seu pedido chega ao mercado. Você acabará se sentando com uma posição aberta. tornando a sua estratégia de arbitragem sem valor. Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação. A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante ir para a automação auxiliado por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algo podem criar oportunidades lucrativas. Uma medida da parte ativa de uma força de trabalho da economia. A taxa de participação refere-se ao número de pessoas que são. Todo o estoque de moeda e outros instrumentos líquidos em uma economia do país a partir de um momento específico. A oferta de dinheiro. 1. Em geral, uma situação de igualdade. A paridade pode ocorrer em muitos contextos diferentes, mas sempre significa duas coisas. Uma classificação de ações negociadas quando um dividendo declarado pertence ao vendedor e não ao comprador. Um estoque será. Uma unidade que é igual a 1/100 de 1 e é usada para denotar a alteração em um instrumento financeiro. O ponto base é comumente. O regulamento do Federal Reserve Board que rege as contas de caixa do cliente eo montante de crédito que as corretoras e corretoras.

Comments