Automação sem lágrimas.
Publicado em Automated Trader Magazine Issue 19 Q4 2018.
Literalmente, milhares de comerciantes em todo o mundo usam o Excel TM para desenvolver e gerenciar seus modelos de negociação mecânica. Mas até agora, o fosso infranqueável tem sido uma maneira à prova de balas para automatizar esses modelos para simulação em tempo real e negociação ao vivo. Gary Stone, Chief Strategy Officer e Howard Stone, Product / Business para a Tradebook API no Bloomberg Tradebook descrevem a solução ideal.
Enquanto os usuários do poder do Excel TM são comuns nos mercados financeiros, de modo algum todos esses usuários também são programadores da VBA. Como resultado, um grande segmento da comunidade comercial foi desprotegido pela falta de qualquer maneira simples de automatizar modelos mecânicos que eles estão executando no Excel. Os modelos podem cuspir sinais de entrada e saída do Excel, mas o processo sempre exigiu que o comerciante clique manualmente para fazer os pedidos necessários. A alternativa de contratar um programador para automatizar o modelo usando o VBA ou outro idioma imediatamente se depara com a interface comerciante / programador onde os mal-entendidos e os erros freqüentemente abundam.
Produtividade competitiva mais rápida.
Isso não é apenas uma questão de conveniência e evita custos de programação / mal-entendidos. Nos mercados financeiros de hoje, onde fazer mais com menos não é uma opção, isso também é sobre produtividade, gerenciamento de riscos e (em última instância) vantagem competitiva:
&touro; À medida que mais comerciantes têm acesso a mais poder de fogo computacional, a expectativa de vida de muitas idéias comerciais está diminuindo de forma apreciável, pois muitos comerciantes podem facilmente divulgar as mesmas oportunidades alfa. Há dez anos, um modelo comercial robusto pode capturar ineficiências por vários anos. Hoje, o desempenho de um modelo inicialmente lucrativo geralmente começa a decair em questão de meses, semanas ou até dias. Isso coloca um prêmio sobre a capacidade de uma organização comercial manter uma linha de produção de novos modelos e - uma vez testado completamente - implantá-los no mercado o mais rápido possível.
&touro; Quando usado de forma inteligente, a automação comercial pode gerar maior produtividade. O indivíduo que pode automatizar a execução e gestão do comércio tem tempo adicional para pesquisar e desenvolver novos modelos comerciais. Para os comerciantes que não têm acesso a uma equipe de programação dedicada, o Excel possui muitas ferramentas para facilitar esse processo de desenvolvimento sem aprofundar o VBA. A chave é ter o tempo para fazer isso, que a automação oferece. Como resultado, a operação comercial como um todo é capaz de maximizar seu capital intelectual disponível e trabalhar de forma mais eficiente.
&touro; Embora seja comum que os comerciantes afirmem que seus modelos são sem parâmetro, geralmente há pelo menos um parâmetro em algum lugar da lógica que pode ser otimizado. Muitas vezes, o valor do parâmetro que é o mais estável e tem os valores adjacentes mais estáveis no teste de amostra do Excel é aquele que é selecionado para negociação ao vivo. No entanto, pequenas mudanças no comportamento do mercado podem tornar esta uma escolha sub-ótima em tempo real. A automação de um modelo de negociação oferece uma alternativa - a saber, a negociação simultânea de uma gama de valores de parâmetros de melhor desempenho, a fim de reduzir o risco de otimização. As considerações de fluxo de trabalho significam que esse cenário não é viável para um comerciante humano, mas uma solução automática do Excel pode fazer funcionar a luz dele.
O sucesso dessas oportunidades exige uma ferramenta de automação transparente para o comerciante, não envolve programação pesada e tem um fluxo de trabalho intuitivo. A maneira óbvia de conseguir isso é um componente do Excel que faz conexões automatizadas nos bastidores entre os modelos comerciais e os mercados necessários, sem a necessidade de o comerciante se preocupar com nenhum dos encanamentos subjacentes. Então, tudo o que ele / ela tem a fazer é selecionar uma estratégia de sua lista de modelos comerciais pré-construídos, escolher o mercado desejado e o tamanho da posição, clicar em "Executar" e permitir que o componente de automação cuide de todas as entradas e saídas.
O truque aqui é conseguir isso sem interromper o fluxo de trabalho existente do comerciante. Se um comerciante estiver acostumado a executar seus modelos mecânicos em uma GUI do Excel que eles já construíram, eles não querem perder tempo aprendendo um novo layout. Portanto, qualquer componente de automação precisa estar em um formato que pode ser descartado de forma transparente em uma pasta de trabalho existente do Excel. Em seguida, ele é executado invisivelmente no fundo monitorando o status dos modelos mecânicos existentes do comerciante e sempre que uma dessas bandeiras uma condição de compra / venda executa o (s) pedido (s) necessário (s).
A automatização simples do Excel obviamente tem muito a oferecer onde as encomendas são de um tamanho improvável que criem impacto no mercado. No entanto, para pedidos maiores ou mercados ilíquidos, um elemento de execução algorítmica adicional é desejável. Então, ao invés de apenas especificar uma simples compra ou venda como resposta a um sinal comercial, o comerciante também pode selecionar um algoritmo de execução adequado para lidar com a ordem.
Um benefício adicional aqui é que a capacidade do Excel de aniquilar afirmações 'if' permite um maior nível de sofisticação. Uma cadeia de instruções 'if' pode ser usada para escolher automaticamente o algoritmo de execução mais apropriado para um sinal comercial particular. Por exemplo: "Se um modelo comercial A marcar uma ordem para o mercado B antes do horário C e o tamanho da ordem é menor do que D, use a execução Algo X - use Algo Y".
Segregação e sobreposição.
No contexto da automação comercial, a capacidade do Excel para executar múltiplas instâncias de si apresenta outras oportunidades. Por exemplo, modelos de negociação para tipos de mercado individuais (como ações, futuros ou FX) podem ser executados em instâncias separadas do Excel.
Do ponto de vista de um comerciante, isso é ergonomicamente mais fácil do que ter que virar entre diferentes cadernos de trabalho ou planilhas na mesma instância do Excel, a fim de monitorar a atividade. Uma vantagem adicional é que uma instância separada do Excel pode ser executada que lida apenas com a sobreposição de gerenciamento de riscos, monitorando as outras instâncias.
Você tem certeza sobre isso?
Uma inflexibilidade potencial com a automação de modelos de negociação mecânica no Excel relaciona-se a decidir se uma condição pode ser verdadeira instantaneamente (ou seja, os modelos reagem a cada novo ponto de dados) ou se ele apenas responde aos valores ao fechar um comprimento de barra predefinido (como 5 ou 10 minutos).
A vida real não é tão conveniente - um único blip acima de um nível alvo pode não oferecer a confirmação de sinal que um comerciante exige, enquanto que esperar pelo fechamento de uma barra de 10 minutos pode ver a oportunidade alfa perdida. Portanto, é necessário que qualquer componente de automação comercial do Excel ofereça funcionalidade de confirmação baseada em tempo, por exemplo: "A condição de entrada longa passou de falso para verdadeiro e permaneceu verdadeira por 35 segundos".
Essa funcionalidade também permite que a força do sinal comercial seja aliada ao tamanho da posição. Por exemplo, para cada unidade de tempo definida, uma condição de entrada ou saída permanece verdadeira, pode ser considerada mais forte e um número adicional de contratos ou compartilhamentos podem ser comprados / vendidos automaticamente.
Ser capaz de construir e testar modelos de teste de teste no Excel e, em seguida, implantá-los automaticamente na negociação ao vivo é um enorme benefício para qualquer usuário de poder do Excel. No entanto, ele ainda omite um passo vital - o comércio em tempo real simulado (ou papel).
A peça final da quebra-cabeças de automatização comercial do Excel é capaz de realizar este tipo de negociação simulada e, depois de concluída satisfatoriamente, mudar imediatamente para a produção ao vivo, sem necessidade de re-codificação ou reedicionamento.
Conclusão.
A automação de modelos comerciais no Excel pode oferecer valor em vários níveis. Além das vantagens genéricas de produtividade, fluxo de trabalho e gerenciamento de riscos, a ferramenta de automação correta pode transformar o Excel em um completo desenvolvimento integrado, testes e ambiente de negociação automatizado / algorítmico.
Por sinal, se você está procurando essa ferramenta - é chamado Tradebook Order Builder.
O Bloomberg Tradebook é um corretor de agências global que oferece algoritmos de negociação avançados e acesso direto ao mercado para mais de 60 mercados mundiais de patrimônio, futuros e opções e 41 pares de moedas em nosso mercado de câmbio. Muitos comerciantes criaram modelos de avaliação, investimento e estratégia de negociação em várias aplicações e nutre-os o Bloomberg Professional & reg; API de dados de serviço. Agora, usando a mesma conectividade que a API de dados da Bloomberg, os comerciantes podem integrar suas estratégias com a API de Pedidos de alto desempenho da Bloomberg Tradebook e conectar suas estratégias à via de execução eletrônica.
Nada neste documento constitui uma oferta ou solicitação de uma oferta para comprar ou vender qualquer garantia ou outro instrumento financeiro ou constitui qualquer conselho de investimento ou recomendação de qualquer garantia ou outro instrumento financeiro. O BLOOMBERG TRADEBOOK acredita que a informação aqui obtida foi obtida a partir de fontes confiáveis, mas não garante sua precisão.
Comunicado pela Bloomberg Tradebook Europe Limited, registrado em Inglaterra e amp; País de Gales n. ° 3556095, autorizado e regulamentado pela Autoridade dos Serviços Financeiros do Reino Unido nº 187492. Esta comunicação é dirigida apenas a pessoas que tenham experiência profissional nos investimentos que podem ser negociados nos sistemas e certas organizações de alto patrimônio líquido. Disponível em todos os países e só é oferecido onde a autorização foi obtida.
Bloomberg Tradebook LLC membro da FINRA (finra) / SIPC / NFA. O Bloomberg Tradebook do Brasil é o representante da Bloomberg Tradebook LLC no Brasil registrado no BACEN. Bloomberg Tradebook Services LLC, Bloomberg Tradebook Austrália PTY LTD ABN 36 091 542 077 ACN 091 542 077, Bloomberg Tradebook Do Brasil LTDA., Bloomberg Tradebook Canada Empresa Membro da CIPF, Bloomberg Tradebook Limited, Bloomberg Tradebook Hong Kong Limited o primeiro ATS autorizado pela SFC-AFU 977, Bloomberg Tradebook Japan Limited, membro da JSDA / JIPF, Bloomberg Trading Services Japan LTD, Bloomberg Tradebook Singapore Pte Ltd Company No. 200104338R, Bloomberg Trading Services (Singapura) Pte Ltd Company No. 200101232G. Bloomberg Tradebook Bermuda LTD, licenciada para conduzir Negócios de Investimento pela Autoridade Monetária das Bermudas.
BLOOMBERG, BLOOMBERG PROFESSIONAL, BLOOMBERG TRADEBOOK são marcas registradas e marcas de serviço da Bloomberg Finance L. P ("BFLP"), uma parceria limitada da Delaware ou suas subsidiárias. O Bloomberg Tradebook é fornecido por uma subsidiária da BLP, Bloomberg Tradebook LLC e suas afiliadas e está disponível no BPS.
Fazendo isso.
Figura 1: folha de cálculo do Construtor de Pedidos do Comércio com uma variedade de pedidos em vários estados.
Figura 2: Folha de cálculo do Construtor de Pedidos de Comércio com ordens em estado de avaliação que esperam ser acionadas por um modelo de negociação em média móvel.
Adicione sua empresa ao AlgoWorld.
Itens Populares.
Direitos autorais e cópia; Automated Trader Ltd 2017 - Estratégias | Conformidade | Tecnologia.
RSI Trading Strategy Game.
Backtest uma estratégia de negociação RSI simples com esta planilha de internet conectada e # 8211; Jogue um jogo de troca de estoque de fantasia!
A planilha transfere preços históricos para o seu ticker escolhido e alguns disparadores da VBA compram ou vendem pontos quando o índice de força relativa (RSI) sobe acima ou cai abaixo dos valores definidos pelo usuário.
Obtenha o link no final deste artigo.
A lógica de negociação não é sofisticada ou complexa (ela é descrita em maior detalhe abaixo).
Mas você pode usar princípios semelhantes para desenvolver e reforçar estratégias aprimoradas. Por exemplo, você pode codificar um esquema que use vários indicadores (como ATR ou o oscilador estocástico) para confirmar as tendências antes de disparar pontos de compra / venda.
Antes de perguntar, deixe-me deixar algumas coisas claras sobre a planilha.
Não é uma estratégia de negociação realista, nenhum custo de transação ou outros fatores estão incluídos, o VBA demonstra como você pode codificar um algoritmo de backtesting simples e # 8211; sinta-se à vontade para aprimorá-lo, rasgá-lo ou simplesmente geek.
Mas, o mais importante, é um jogo & # 8211; Mude os parâmetros, tente novas ações e divirta-se! Por exemplo, a planilha calcula a taxa de crescimento anual composta do seu pote de investimento; tente obter esse número o mais alto possível.
A planilha permite que você defina.
um ticker de ações, uma data de início e uma data de término, uma janela do RSI, o valor do RSI acima do qual você quer vender uma fração do seu estoque o valor do RSI abaixo do qual deseja vender uma fração do seu estoque a fração de ações para compre ou venda em cada comércio a quantia de dinheiro que você possui no dia 0 o número de ações a comprar no dia 0.
Depois de clicar em um botão, alguns VBA começam a atacar atrás das cenas e.
Baixe os preços históricos das ações entre a data de início e a data de término do Yahoo, calcula o RSI para cada dia entre o início e a data de término (removendo, é claro, a janela RSI inicial) no dia 0 (que & # 8217; s no dia anterior ao início? negociação) compra uma quantidade de ações com seu pote de caixa a partir do dia 1 em diante, vende uma fração definida de ações se RSI sobe acima de um valor pré-definido ou compra uma fração de ações se o RSI cai abaixo de um valor pré-definido calcula o taxa de crescimento anual composta, tendo em conta o valor do pote original de caixa, o valor final do caixa e das ações e o número de dias de negociação.
Tenha em mente que, se o RSI desencadeia uma venda, a lógica deve desencadear uma compra antes que uma venda possa ser acionada novamente (e vice-versa). Ou seja, você pode ter dois gatilhos de venda ou dois disparadores de compra seguidos.
Você também obtém uma parcela do preço fechado, do RSI e dos pontos de compra / venda.
Você também obtém um enredo de sua riqueza total de fantasia cresce ao longo do tempo.
Os pontos de compra / venda são calculados com a seguinte VBA & # 8211; Seguir a lógica é fácil.
Veja o resto do VBA no Excel (há muitos para aprender)
Se você estiver devidamente cafeinizado, você poderia melhorar a VBA para empregar outros indicadores para confirmar pontos comerciais; Por exemplo, você pode desencadear pontos de venda somente se RSI subir acima de 70 e MACD cai abaixo da linha de sinal.
8 pensamentos sobre & ldquo; RSI Trading Strategy Game & rdquo;
Esta calculadora implica que quanto mais perto você definir os indicadores de compra / venda para 50, maior será a riqueza final. Isso pode ser exemplificado pela inserção dos seguintes parâmetros. É possível que isso seja incoreto?
Stock Ticker VTI.
Data de início 16-Nov-09.
Data final 15-Nov-14.
Venda acima RSI 50.1.
Compre abaixo RSI 49.9.
% para comprar / vender em cada comércio 40.
# Ações para comprar no dia 0 17.
Pot of Cash no dia 0 1000.
No Excel para Mac, a seguinte declaração no GetData produz um erro de compilação:
Para cada C em ThisWorkbook. Connections.
O VBA funciona em um Mac se você comentar essas linhas?
Eu testei a planilha no Excel 2018 e 2018 no Windows 8 e está bem.
Eu exclui essas linhas e pareceu funcionar corretamente. Obrigado.
O RSI não corrige para as divisões.
Esse programa também funciona bem nos negócios do dia?
Eu apreciarei se alguém vai compartilhar sua experiência.
Obrigado samir, isso é realmente uma coisa excelente. Como você configuraria as macros para que você possa testar a estratégia sobre um universo de ações em vez de apenas uma?
Esta pergunta não tem uma resposta simples. Você precisa passar algum tempo modificando o VBA.
No comments:
Post a Comment