Tuesday 13 February 2018

Codificação automatizada do sistema de negociação


Prós e contras de sistemas de negociação automatizados.
Os comerciantes e os investidores podem transformar regras de entrada, saída e gerenciamento de dinheiro precisas em sistemas de negociação automatizados que permitem aos computadores executar e monitorar os negócios. Uma das maiores atrações da automação de estratégia é que pode tirar parte da emoção fora da negociação, uma vez que os negócios são automaticamente colocados assim que determinados critérios forem atendidos. Este artigo apresentará os leitores e explicará algumas das vantagens e desvantagens, bem como as realidades, dos sistemas de negociação automatizados. (Para leitura relacionada, veja The Power Of Program Trades.)
O que é um sistema de negociação automatizado?
Os sistemas de negociação automatizados, também denominados sistemas mecânicos de negociação, negociação algorítmica, negociação automatizada ou negociação de sistemas, permitem que os comerciantes estabeleçam regras específicas para ambas as entradas comerciais e saídas que, uma vez programadas, podem ser executadas automaticamente através de um computador. As regras de entrada e saída comercial podem ser baseadas em condições simples, como um crossover médio móvel, ou podem ser estratégias complicadas que requerem uma compreensão abrangente da linguagem de programação específica para a plataforma de negociação do usuário ou a experiência de um programador qualificado. Os sistemas de negociação automatizados normalmente exigem o uso de software que esteja vinculado a um corretor de acesso direto, e quaisquer regras específicas devem ser escritas na linguagem proprietária dessa plataforma. A plataforma TradeStation, por exemplo, usa a linguagem de programação EasyLanguage; A plataforma NinjaTrader, por outro lado, utiliza a linguagem de programação NinjaScript. A Figura 1 mostra um exemplo de uma estratégia automatizada que desencadeou três negociações durante uma sessão de negociação. (Para leitura relacionada, veja Comércio Global e Mercado Moeda.)
[Os sistemas de negociação automatizada podem usar muitos indicadores técnicos diferentes para definir pontos de entrada e saída. O Curso de Análise Técnica da Investopedia fornece uma visão geral detalhada desses indicadores técnicos e padrões de gráficos que os comerciantes podem usar ao criar sistemas de negociação automatizados.]
Algumas plataformas de negociação possuem "assistentes" de construção de estratégias que permitem aos usuários fazer seleções a partir de uma lista de indicadores técnicos comumente disponíveis para construir um conjunto de regras que podem ser negociadas automaticamente. O usuário poderia estabelecer, por exemplo, que um longo comércio será inserido uma vez que a média móvel de 50 dias cruza acima da média móvel de 200 dias em um gráfico de cinco minutos de um instrumento comercial específico. Os usuários também podem inserir o tipo de ordem (mercado ou limite, por exemplo) e quando o comércio será acionado (por exemplo, no fechamento da barra ou aberto da próxima barra), ou use as entradas padrão da plataforma. Muitos comerciantes, no entanto, optam por programar seus próprios indicadores e estratégias personalizados ou trabalhar em estreita colaboração com um programador para desenvolver o sistema. Embora isso geralmente requer mais esforço do que usar o assistente da plataforma, ele permite um grau de flexibilidade muito maior e os resultados podem ser mais gratificantes. (Infelizmente, não existe uma estratégia de investimento perfeita que garanta o sucesso. Para mais informações, consulte Usando Indicadores Técnicos para Desenvolver Estratégias de Negociação.)
Uma vez que as regras foram estabelecidas, o computador pode monitorar os mercados para encontrar oportunidades de compra ou venda com base nas especificações da estratégia comercial. Dependendo das regras específicas, assim que uma negociação for inserida, serão gerados automaticamente quaisquer pedidos de perdas de proteção de paradas, paradas de trânsito e metas de lucro. Em mercados em movimento rápido, esta entrada de ordem instantânea pode significar a diferença entre uma pequena perda e uma perda catastrófica no caso de o comércio se mover contra o comerciante.
Vantagens de Sistemas de Negociação Automatizados.
Há uma longa lista de vantagens em ter um computador monitorando os mercados para oportunidades comerciais e executar os negócios, incluindo:
Minimize Emoções. Os sistemas de negociação automatizados minimizam as emoções ao longo do processo de negociação. Ao manter as emoções sob controle, os comerciantes normalmente têm um tempo mais fácil de aderir ao plano. Uma vez que as ordens comerciais são executadas automaticamente uma vez que as regras comerciais foram cumpridas, os comerciantes não poderão hesitar ou questionar o comércio. Além de ajudar os comerciantes que têm medo de "puxar o gatilho", o comércio automatizado pode conter aqueles que estão aptos a vender demais - comprando e vendendo em todas as oportunidades percebidas.
Capacidade de Backtest. Backtesting aplica as regras de negociação aos dados históricos do mercado para determinar a viabilidade da idéia. Ao projetar um sistema de negociação automatizada, todas as regras precisam ser absolutas, sem espaço para interpretação (o computador não pode fazer suposições - é preciso dizer exatamente o que fazer). Os comerciantes podem tomar esses conjuntos precisos de regras e testá-los em dados históricos antes de arriscar dinheiro em negociação ao vivo. O backtesting cuidadoso permite aos comerciantes avaliar e afinar uma idéia comercial e determinar a expectativa do sistema - o valor médio que um comerciante pode esperar para ganhar (ou perder) por unidade de risco. (Oferecemos algumas dicas sobre este processo que podem ajudar a repor suas estratégias de negociação atuais. Para mais informações, consulte Backtesting: Interpreting the Past.)
Preserve Discipline. Como as regras comerciais são estabelecidas e a execução comercial é executada automaticamente, a disciplina é preservada mesmo em mercados voláteis. A disciplina é muitas vezes perdida devido a fatores emocionais, como o medo de sofrer uma perda, ou o desejo de obter um pouco mais de lucro de um comércio. O comércio automatizado ajuda a garantir que a disciplina seja mantida porque o plano de negociação será seguido exatamente. Além disso, o erro piloto é minimizado, e uma ordem para comprar 100 ações não será inserida incorretamente como uma ordem para vender 1.000 ações.
Alcançar Consistência. Um dos maiores desafios na negociação é planejar o comércio e negociar o plano. Mesmo que um plano de negociação tenha o potencial de ser rentável, os comerciantes que ignoram as regras estão alterando a expectativa de que o sistema teria tido. Não existe um plano de negociação que ganhe 100% do tempo - as perdas são parte do jogo. Mas as perdas podem ser psicologicamente traumatizantes, então um comerciante que tem duas ou três negociações perdidas em uma fila pode decidir ignorar o próximo comércio. Se esse próximo comércio fosse um vencedor, o comerciante já havia destruído qualquer expectativa do sistema. Os sistemas de negociação automatizados permitem que os comerciantes obtenham consistência ao negociar o plano. (É impossível evitar o desastre sem regras de negociação. Para mais informações, veja 10 Passos para construir um Plano de Negociação vencedor.)
Velocidade de entrada de pedido aprimorada. Uma vez que os computadores respondem imediatamente às mudanças nas condições do mercado, os sistemas automatizados são capazes de gerar ordens assim que os critérios comerciais forem atendidos. Entrar ou sair de um comércio alguns segundos antes pode fazer uma grande diferença no resultado do comércio. Assim que uma posição é inserida, todos os outros pedidos são gerados automaticamente, incluindo perdas protetoras de parada e metas de lucro. Os mercados podem se mover rapidamente, e é desmoralizante ter um comércio atingindo o objetivo de lucro ou superar um nível de perda de parada - antes que as ordens possam ser inseridas. Um sistema de negociação automatizado evita que isso aconteça.
Desvantagens e Realidades dos Sistemas Automatizados de Negociação.
Os sistemas de negociação automatizados possuem muitas vantagens, mas existem algumas quedas e realidades a que os comerciantes devem estar cientes.
Falhas mecânicas. A teoria por trás do comércio automatizado faz com que pareça simples: configurar o software, programar as regras e assisti-lo comercializar. Na realidade, no entanto, a negociação automatizada é um método sofisticado de negociação, mas não infalível. Dependendo da plataforma de negociação, uma ordem comercial pode residir em um computador - e não em um servidor. O que isso significa é que, se uma conexão com a Internet for perdida, um pedido pode não ser enviado ao mercado. Também pode haver uma discrepância entre os "negócios teóricos" gerados pela estratégia e o componente da plataforma de entrada de pedidos que os transforma em trades reais. A maioria dos comerciantes deve esperar uma curva de aprendizado ao usar sistemas de negociação automatizados, e geralmente é uma boa idéia começar com pequenos tamanhos comerciais enquanto o processo é refinado.
Monitoramento. Embora seja ótimo ligar o computador e sair para o dia, os sistemas de negociação automatizados requerem monitoramento. Isso é devido ao potencial de falhas mecânicas, como problemas de conectividade, perdas de energia ou falhas no computador, e às peculiaridades do sistema. É possível que um sistema de negociação automatizado experimente anomalias que possam resultar em ordens erradas, ordens faltantes ou pedidos duplicados. Se o sistema for monitorado, esses eventos podem ser identificados e resolvidos rapidamente.
Os comerciantes têm a opção de executar seus sistemas de negociação automatizados através de uma plataforma de negociação baseada no servidor, como o Strategy Runner. Essas plataformas freqüentemente oferecem estratégias comerciais para venda, um assistente para que os comerciantes possam projetar seus próprios sistemas ou a capacidade de hospedar sistemas existentes na plataforma baseada no servidor. Por uma taxa, o sistema de negociação automatizado pode pesquisar, executar e monitorar negócios - com todos os pedidos que residem em seu servidor, resultando em entradas de pedidos potencialmente mais rápidas e confiáveis.
Embora seja atraente por uma variedade de fatores, os sistemas automáticos de negociação não devem ser considerados um substituto para negociações cuidadosamente executadas. Falhas mecânicas podem acontecer e, como tal, esses sistemas requerem monitoramento. As plataformas baseadas em servidor podem fornecer uma solução para comerciantes que desejam minimizar os riscos de falhas mecânicas. (Para leitura relacionada, veja Day Trading Strategies For Beginners.)

Codificação de sistemas de negociação.
Por Justin Kuepper.
Como são criados sistemas de negociação automatizados?
Este tutorial se concentrará nas segunda e terceira partes deste processo, onde suas regras são convertidas em um código que seu software comercial pode entender e usar.
Vantagens e desvantagens.
Um sistema automatizado leva a emoção e ocupado - trabalhe fora da negociação, o que permite que você se concentre em melhorar sua estratégia e regras de gerenciamento de dinheiro. Uma vez que um sistema lucrativo é desenvolvido, não requer nenhum trabalho de sua parte até que ele quebre, ou as condições do mercado exigem uma mudança. Desvantagens:
Se o sistema não estiver corretamente codificado e testado, grandes perdas podem ocorrer muito rapidamente. Às vezes, é impossível colocar certas regras em código, o que dificulta o desenvolvimento de um sistema de negociação automatizado. Neste tutorial, você aprenderá como planejar e projetar um sistema de negociação automatizado, como traduzir esse design para o código que seu computador irá entender, como testar seu plano para garantir um desempenho ótimo e, finalmente, como colocar seu sistema em uso.

codificação do sistema de negociação automatizado
Esta página é patrocinada pela Wisdom Trading, sistemas de negociação de futuros e corretor de mercado global. Eles oferecem sistemas de negociação todos codificados para seus clientes e executam Trading Blox, o que representa um grande pedaço do código neste site.
Biblioteca de códigos.
O código comercial do sistema é divulgado em várias postagens, pode ser uma boa idéia consolidá-las em um só lugar (aqui) antes que tudo se torne um pouco complicado!
Eu também escrevo mensalmente para a revista Análise Técnica de Stocks e Commodities (TASC) na seção Dicas de comerciantes (principalmente Código Trading Blox).
Encontre tudo abaixo para sua leitura:
& # 8212; Revista TASC Traders & # 8217; Dicas & # 8212;
TASC Traders Tips (abril de 2010): indicador de tendência de preço de volume modificado no Excel.
No artigo "Indicador de tendência do preço do volume modificado" nesta edição, o autor David Hawkins discute uma modificação do indicador de tendência do preço do volume (VPT), ​​já baseado no indicador de volume no balanço desenvolvido originalmente por Joseph Granville.
Em Suavização do Bollinger% b & # 8221; artigo, o autor Sylvain Vervoort explica como remover o ruído do indicador tradicional de% b, usado para identificar pontos de viragem claros e divergências.
Em "Trading Indexes With The Hull Moving Average" nessa edição, o autor Max Gardner explica como usar a média móvel de Hull para o tempo de mercado a longo prazo.
Teste de Bootstrap para análise de significância estatística de back-testing.
Implementação do teste bootstrap conforme descrito no livro de David Aronson # 8217: Análise Técnica Baseada em Evidência (link amazônico)
& # 8212; CSI Unfair Advantage API & # 8212;
RetrieveBackAdjustedContract2 API documentação da função.
Guia de referência sobre esta função essencial, tirada do documento CSI API.
Recuperar contrato de futuros ajustado de volta.
Algum código de exemplo em C # usando a API para acessar uma das funções mais importantes para recuperar qualquer contrato de futuros com qualquer tipo de ajuste de retorno oferecido pela CSI.
Extrator de Contratos Individuais CSI.
Uma utilidade para extrair contratos individuais do banco de dados Advantage Unfair da CSI & # 8217; em arquivos de texto simples.
& # 8212; Trading Blox & # 8212;
Variação no clássico filtro de portfólio MACD, usando o indicador Moving Median em vez da média móvel padrão para a média rápida.
Indicador Vortex Original.
Implementação do indicador Vortex.
Indicadores Vortex e AVX aprimorados e sistema AVX.
O indicador de Vortex original teve uma falha (manobra de abertura para mercados não-Forex) e não usou uma média móvel exponencial para suavização. Esta é a minha versão melhorada com um sistema de reversão básico que o usa para entradas / saídas.
link para publicação original | link para arquivo zip (contendo: Vortex Indicator & # 038; arquivo de bloco auxiliar AVX (tbx), bloco de saída de entrada AVX (tbx), sistema AVX (tbs))
Implementa um filtro que permite rejeitar / aceitar negócios com base no nível de volatilidade em comparação com os níveis históricos.
Implementação Walk-Forward do modelo de espaço de alavancagem de Vince & # 8217; s.
Utiliza o pacote LSPM R (por Josh Ulrich) em uma abordagem progressiva para permitir uma metodologia de teste de teste adaptativo.
O e-ratio é uma maneira prática de avaliar a borda de um componente específico de um sistema sem ter que testar o sistema como um todo (ou seja, a borda do sinal de entrada apenas).
link para publicação original (inclui todos os trechos de código e lógica necessários)
& # 8212; TradersStudio & # 8212;
cálculo do e-ratio para o sistema Donchian Channel Breakout.
Este código contém o código genérico necessário para calcular o e-ratio, bem como uma implementação para aplicar o cálculo a um sinal Donchian Channel Breakout.
link para publicação original | link para o arquivo zip (contendo o código TS do Indicador do Canal Donchian, o Código TS do Relatório de comércio personalizado, o código do TS do sistema de compra, o código TS do TS, o macro do e-ratio do Excel (arquivo de texto), o exemplo da pasta de trabalho do Excel)
Atualizações gratuitas.
Posts Populares.
Procure o blog Au. Tra. Sy.
Global Futures Broker.
Au. Tra. Sy blog, Systematic Trading, pesquisa e desenvolvimento, com um sabor de Trend Following.
Descargo de responsabilidade: o desempenho passado não é necessariamente indicativo de resultados futuros. O comércio de futuros é complexo e apresenta o risco de perdas substanciais; Como tal, pode não ser adequado para todos os investidores. O conteúdo deste site é fornecido apenas como informação geral e não deve ser tomado como conselho de investimento. Todo o conteúdo do site, não deve ser interpretado como uma recomendação para comprar ou vender qualquer instrumento financeiro ou de segurança, ou para participar de qualquer estratégia de negociação ou de investimento específica. As idéias expressas neste site são apenas as opiniões do autor. O autor pode ou não ter uma posição em qualquer instrumento financeiro ou estratégia acima referida. Qualquer ação que você toma como resultado de informações ou análises neste site é, em última análise, sua exclusiva responsabilidade.
RESULTADOS DE DESEMPENHO HIPOTÉTICOS TEM MUITAS LIMITAÇÕES INERENTES, ALGUNS DESCRITOS ABAIXO. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VOCE OU POSSIBILIDADE DE ALCANÇAR LUCROS OU PERDAS SIMILARES ÀOS MOSTRADOS; POR FAVOR, HÁ DIFERENÇAS FREQUENTEMENTE SHARP ENTRE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E OS RESULTADOS REAIS REALIZADOS POR TODOS OS PROGRAMAS DE NEGOCIAÇÕES PARTICULARES. UMA DAS LIMITAÇÕES DOS RESULTADOS DE DESEMPENHO HIPOTÉTICOS É QUE ESTÃO GERALMENTE PREPARADAS COM O BENEFÍCIO DE HINDSIGHT. ADICIONALMENTE, A NEGOCIAÇÃO HIPOTÉTICA NÃO IMPORTA RISCOS FINANCEIROS, E NENHUM GRUPO DE NEGOCIAÇÃO HIPOTÉTICA PODE COMPLETAMENTE CONTA PARA O IMPACTO DO RISCO FINANCEIRO DE NEGOCIAÇÃO REAL. POR EXEMPLO, A CAPACIDADE DE PERDER OU DE ADESIVAR A UM PROGRAMA DE NEGOCIAÇÃO ESPECÍFICO EM ESPIRRO DE PERDAS DE NEGOCIAÇÃO SÃO PONTOS MATERIAIS QUE PODEM IGUALMENTE AFETAR EFECTUAR RESULTADOS REAIS DE NEGOCIAÇÃO. HÁ NOMBROSOS OUTROS FATORES RELACIONADOS COM OS MERCADOS EM GERAL OU NA EXECUÇÃO DE QUALQUER PROGRAMA ESPECÍFICO DE NEGOCIAÇÃO QUE NÃO PODE SER TOTALMENTE COMPTABILIZADO NA PREPARAÇÃO DE RESULTADOS DE DESEMPENHO HIPOTÉTICOS E TODOS OS QUE PODEMOS ADVERSAMENTE EFECTUAR OS RESULTADOS DE NEGOCIAÇÃO.
ESTAS TABELAS DE DESEMPENHO E RESULTADOS SÃO HIPOTÉTICOS DE NATUREZA E NÃO REPRESENTA NEGOCIAÇÕES EM CONTAS REAIS.

Começando: Construindo um Sistema de Negociação Totalmente Automatizado.
Nos últimos 6 meses, fiquei focado no processo de construção da pilha de tecnologia completa de um sistema de negociação automatizado. Eu encontrei muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorizado e Evento conduzido). Na minha jornada de construção de um backtester dirigido por um evento, surpreendi que o que você acabasse fosse perto da pilha de tecnologia completa necessária para construir uma estratégia, testá-la e executar a execução ao vivo.
O meu maior problema ao abordar o problema foi a falta de conhecimento. Olhei em muitos lugares para uma introdução à construção da tecnologia ou um blog que me guiaria. Encontrei alguns recursos que vou compartilhar com você hoje.
Para iniciantes:
Para os leitores novos para negociação quantitativa, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: como construir seu próprio negócio de negociação algorítmica. Este livro é o básico. Na verdade, é o primeiro livro que eu li em negociação quantitativa e, mesmo assim, achei muito básico, mas há algumas notas que você deveria tomar.
Da página 81-84 Ernie escreve sobre como no nível de varejo uma arquitetura de sistema pode ser dividida em estratégias semi-automáticas e totalmente automatizadas.
Um sistema semi-automatizado é adequado se você deseja fazer alguns negócios por semana. Ernie recomenda o uso de Matlab, R ou mesmo do Excel. Utilizei todas as 3 plataformas e este é o meu conselho:
Saltei Matlab, custou muito dinheiro e eu só consegui acesso aos laboratórios universitários. Não há muito material de treinamento como blogs ou livros que irão ensinar-lhe como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode usar para aprender a construir uma estratégia. Meu blog favorito abordando o tópico é: QuantStratTradeR executado por Ilya Kipnis. O Microsoft Excel é provavelmente o local onde você iniciará se você não tiver experiência de programação. Você pode usar o Excel para negociação semi-automatizada, mas não vai fazer o truque quando se trata de construir a pilha de tecnologia completa.
Quadro semi-automático pg 81.
Sistemas de negociação totalmente automatizados são para quando você deseja colocar negócios automaticamente com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, QuantConnect também usa C #, QuantStart anda pelo leitor através da construção dele em Python, Quantopian usa Python, HFT provavelmente usará C ++. Java também é popular.
Estrutura de negociação totalmente automatizada pg 84.
Passo 1: Obter uma vantagem.
Faça o Programa Executivo em Negociação Algorítmica oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Isso me salvaria cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam por cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de uma das suas lâminas utilizadas na apresentação:
Você também pode usar esse quadro geral ao avaliar outros sistemas de negociação automática.
No momento da escrita, estou apenas na terceira semana de palestras, mas estou confiante de que um profissional poderá construir uma estratégia de negociação totalmente automatizada que, com um pouco de polonês, possa ser transformada em um hedge fund quantitativo .
Nota: o curso não está focado na construção da pilha de tecnologia.
Etapa 2: codifique um backtester baseado em eventos básicos.
O blog de Michael Hallsmore e o quantstart & amp; livro "Negociação Algorítmica de Sucesso"
Este livro possui seções dedicadas à construção de um backtester dirigido por eventos robustos. Ele dirige o leitor através de uma série de capítulos que irão explicar sua escolha de linguagem, os diferentes tipos de backtesting, a importância do backtesting dirigido a eventos e como codificar o backtester.
Michael apresenta o leitor às diferentes classes necessárias em um design orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de valores mobiliários. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.
Nota: Você precisará comprar seu livro: "Successful Algorithmic Trading", seu blog deixa para fora muita informação.
Passo 3: Vire a TuringFinance.
O programa EPAT Leitura "Successful Algorithmic Trading" & amp; codificando um backtester em um idioma diferente da sua escolha.
Você deve se mudar para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em sua publicação, ele descreve a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42010 e padrão de descrição de arquitetura de engenharia de software.
Eu achei esta publicação muito técnica e tem algumas ótimas idéias que você deve incorporar na sua própria arquitetura.
Uma captura de tela de sua postagem.
Passo 4: Estudar sistemas de comércio aberto.
4.1) Quantopian.
Escusado será dizer que Quantopian deve ser adicionado a esta lista e estou com vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de linguagem). Quantopian tem muitas vantagens, mas as que melhoram para mim são as seguintes:
Fácil de aprender Python Acesso gratuito a muitos conjuntos de dados Uma grande comunidade e competições Eu adoro como eles hospedam QuantCon!
Quantopian é líder de mercado neste campo e é amado por quants por toda parte! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:
"Zipline é o nosso motor de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de códigos no Github e contribuir com solicitações de envio para o projeto. Existe um grupo do Google disponível para procurar ajuda e facilitar discussões ".
Aqui está um link para sua documentação:
4.2) QuantConnect.
Para aqueles que não estão familiarizados com a QuantConnect, eles fornecem um mecanismo de troca algorítmica de código aberto completo. Aqui está um link.
Você deve dar uma olhada em seu código, estudá-lo, & amp; dar-lhes elogios. Eles são competição de Quantopians.
Gostaria de aproveitar esta oportunidade para agradecer a equipe da QuantConnect por me deixar escolher seu cérebro e pelo brilhante serviço que eles fornecem.
Aqui está um link para sua documentação:
Observações finais:
Espero que este guia ajude os membros da comunidade. Eu queria ter essa visão 6 meses atrás, quando comecei a codificar nosso sistema.
Gostaria de chegar à comunidade e perguntar: "Quais bons cursos de negociação algorítmica você conhece?" Eu gostaria de escrever uma publicação que analisa o tópico e fornece uma classificação. Existem recomendações para a construção de um sistema de negociação totalmente automatizado que você gostaria de adicionar a esta publicação?
Compartilhar isso:
Compartilhe essa entrada.
Você pode gostar também.
Bom artigo. Eu gostaria de ter tido cerca de 6 meses atrás. Eu uso QuantConnect porque sou um programador C #. Achei muito conveniente poder fazer o download do teste Lean e back test localmente. Rummaging através do seu código também é valioso. Além disso, eles cortaram um acordo com a Trader por negócios de US $ 1. Isso ajuda muito. Não sou tão saliente sobre spreads e execução da Trader. O IB pode ser melhor para isso.
Vou dar uma olhada no curso que você mencionou.
Você não mencionou a Quantocracy ou RBloggers. Ambos são recursos muito valiosos.
O que você usa para traçar resultados de testes de volta? Eu logro os valores do OHLC e do indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar os resultados. Gostaria de apontar um pacote de gráficos para um arquivo de dados e simplesmente ir.
Você ainda possui um fornecedor de caixas de seleção?
Tenho um pensamento sobre os sistemas dirigidos a eventos. O problema com os eventos é que eles são assíncronos e latentes. Parece que eles são inevitáveis ​​assim que você obtém uma corretora envolvida, então eu tenho sonhado com um sistema de streaming mais seguindo os princípios da programação funcional.
& # 8211; Injeste um fluxo de tiquetaque ou barra.
& # 8211; Execute-o através de um processo de cálculo de indicadores, execução de análise ou ML, e assim por diante.
& # 8211; Retornar um sinal.
& # 8211; Envie-o para o corretor para executar.
Em seguida, em um fluxo separado.
& # 8211; Receba uma resposta do corretor.
O problema, é claro, é o estado. Tenho margem suficiente para fazer o comércio? O que está no meu portfólio? Como está funcionando? Normalmente, o corretor api pode ser consultado para descobrir essas coisas, mas leva tempo e é assíncrono. Eu também estou olhando extensões Rx. Dessa forma, o sistema pode reagir às mudanças no sistema através do padrão observável.
Os eventos são ótimos para cliques no mouse. Não é tão bom para processamento transacional de alto volume.
Esta é exatamente a abordagem que tomei com minhas próprias coisas. Essencialmente, eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é conduzida a eventos para falar com o corretor (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter o estado do corretor, ou armazená-lo internamente, atualizando-o quando você receber um preenchimento. Isso significa que há momentos em que você não conhece seu estado ou quando as duas fontes de estado estão potencialmente em conflito (dados ruins ou atrasos). Parte disso depende da rapidez com que você troca. A menos que você esteja negociando com muita rapidez, então, pausando se você tiver um conflito de estado, ou você está incerto de estado, é melhor do que prosseguir sem saber o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.
Quanto a quase tudo o que você pediu, você está perto da resposta em Reactive Extension (Rx).
Com Rx indo de tiques para velas é trivial.
Passar de Velas para Indicadores é trivial.
Indicadores de composição de outros indicadores é trivial.
Escrever Posições de Indicadores é trivial.
Composição de Portfolios (como realizada ao longo do tempo) das Posições é trivial.
Simular o modelo de risco é trivial.
Back testing ou trading live é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.
Executar é trivial.
A implementação é possível em tudo, desde C # até F # para JavaScript para C ++ em código quase idêntico.
A otimização é feita rapidamente porque o Rx puramente funcional é massivamente paralisável ao GPU.
É certo que a otimização e alimentação do efeito da otimização contínua de volta ao teste de back-back não é trivial, mas dado que não é trivial de qualquer maneira, eu irei deixar esse slide 😉
Puramente funcional (ou perto dela) A Rx é, na minha opinião, a única maneira de abordar a infraestrutura desse problema.
Conheço o sistema que quero negociar. Eu não quero programar ou aprender algo que alguém já conhece. Então, quem posso contratar para levar o sistema que eu quero usar e automatizá-lo. Por automatizar isso, quero dizer, eu não quero olhar para ele. Eu vou olhar os resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2016, tanto esforço precisa seguir um conjunto de regras e ter essas regras executadas no meu corretor.
Eu sugeriria inscrever-se com o Quantopian e depois encontrar alguém dentro da comunidade lá para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma IB Brokers e ser totalmente automatizado.
Deixe-me dizer, porém, que acho que você deve monitorá-lo de perto, e não apenas "esqueça-o para" # 8221 ;.

No comments:

Post a Comment