Construindo um sistema de negociação
Sistemas de Negociação: Projetando Seu Sistema - Parte 1.
A seção anterior deste tutorial analisou os elementos que compõem um sistema de negociação e discutiu as vantagens e desvantagens de usar um sistema desse tipo em um ambiente de negociação ao vivo. Nesta seção, construímos esse conhecimento examinando quais mercados são especialmente adequados para o sistema de negociação. Vamos, então, dar uma olhada mais profunda nos diferentes gêneros de sistemas de negociação.
O mercado acionário é provavelmente o mercado mais comum para o comércio, especialmente entre os novatos. Nessa arena, grandes jogadores como Warren Buffett e Merrill Lynch dominam, e as estratégias tradicionais de investimento em valor e crescimento são, de longe, as mais comuns. No entanto, muitas instituições investiram significativamente na concepção, desenvolvimento e implementação de sistemas de negociação. Investidores individuais estão aderindo a essa tendência, embora lentamente.
A grande quantidade de ações disponíveis permite que os investidores testem sistemas em muitos tipos diferentes de ações - tudo, desde ações de balcão extremamente voláteis (OTC) a blue chips não voláteis.
A eficácia dos sistemas de negociação pode ser limitada pela baixa liquidez de algumas ações, especialmente as questões de balcão e folha-de-rosa.
As comissões podem consumir lucros gerados por negócios bem-sucedidos e podem aumentar as perdas. OTC e ações de folha-de-rosa freqüentemente incorrem em comissões adicionais.
Os principais sistemas de negociação utilizados são aqueles que buscam valor - ou seja, sistemas que usam parâmetros diferentes para determinar se um título está subvalorizado em comparação com seu desempenho passado, seus pares ou o mercado em geral.
O mercado de câmbio, ou forex, é o maior e mais líquido mercado do mundo. Os governos, bancos e outras grandes instituições do mundo negociam trilhões de dólares no mercado forex todos os dias. A maioria dos traders institucionais no forex depende de sistemas de negociação. O mesmo vale para os indivíduos no forex, mas alguns negócios são baseados em relatórios econômicos ou pagamentos de juros.
A liquidez neste mercado - devido ao enorme volume - torna os sistemas de negociação mais precisos e eficazes.
Não há comissões neste mercado, apenas se espalha. Portanto, é muito mais fácil fazer muitas transações sem aumentar os custos.
Em comparação com a quantidade de ações ou mercadorias disponíveis, o número de moedas a negociar é limitado. Mas por causa da disponibilidade de "pares de moedas exóticas" - isto é, moedas de países menores - o intervalo em termos de volatilidade não é necessariamente limitado.
Os principais sistemas de negociação utilizados no forex são aqueles que seguem as tendências (um ditado popular no mercado é "a tendência é seu amigo"), ou sistemas que compram ou vendem em breakouts. Isso ocorre porque os indicadores econômicos geralmente causam grandes movimentos de preços de uma só vez.
Os mercados de ações, forex e commodities oferecem negociação de futuros. Este é um veículo popular para o sistema de negociação por causa da maior quantidade de alavancagem disponível e da maior liquidez e volatilidade. No entanto, esses fatores podem cortar os dois lados: eles podem amplificar seus ganhos ou amplificar suas perdas. Por esta razão, o uso de futuros é geralmente reservado para os operadores avançados de sistemas individuais e institucionais. Isso ocorre porque os sistemas de negociação capazes de capitalizar no mercado futuro exigem uma customização muito maior, usam indicadores mais avançados e demoram muito mais para serem desenvolvidos.
Cabe ao investidor individual decidir qual mercado é mais adequado ao sistema de negociação - cada um tem suas próprias vantagens e desvantagens. A maioria das pessoas está mais familiarizada com os mercados de ações e essa familiaridade facilita o desenvolvimento de um sistema de negociação. No entanto, o forex é comumente pensado para ser a plataforma superior para executar sistemas de negociação - especialmente entre os comerciantes mais experientes. Além disso, se um comerciante decidir capitalizar o aumento da alavancagem e volatilidade, a alternativa de futuros estará sempre aberta. Em última análise, a escolha está nas mãos do desenvolvedor do sistema.
O método mais comum de negociação do sistema é o sistema de acompanhamento de tendências. Em sua forma mais fundamental, esse sistema simplesmente espera por um movimento significativo de preços, depois compra ou vende nessa direção. Este tipo de sistema espera que esses movimentos de preços mantenham a tendência.
Média móvel de sistemas.
Frequentemente usado em análise técnica, uma média móvel é um indicador que simplesmente mostra o preço médio de um estoque durante um período de tempo. A essência das tendências é derivada dessa medida. A maneira mais comum de determinar a entrada e a saída é um cruzamento. A lógica por trás disso é simples: uma nova tendência é estabelecida quando o preço cai acima ou abaixo de sua média histórica de preço (tendência). Aqui está um gráfico que representa tanto o preço (linha azul) quanto o MA de 20 dias (linha vermelha) da IBM:
O conceito fundamental por trás desse tipo de sistema é semelhante ao de um sistema de média móvel. A ideia é que, quando uma nova alta ou baixa é estabelecida, é mais provável que o movimento do preço continue na direção da fuga. Um indicador que pode ser usado na determinação de fugas é um simples Bollinger Band & reg; sobreposição. Bollinger Bands & reg; mostra médias de preços altos e baixos, e breakouts ocorrem quando o preço atinge as margens das bandas. Aqui está um gráfico que traça o preço (linha azul) e Bollinger Bands & reg; (linhas cinza) da Microsoft:
Desvantagens dos sistemas de acompanhamento de tendências:
Tomada de Decisão Empírica - Ao determinar as tendências, há sempre um elemento empírico a considerar: a duração da tendência histórica. Por exemplo, a média móvel poderia ser nos últimos 20 dias ou nos últimos cinco anos, portanto, o desenvolvedor deve determinar qual é a melhor para o sistema. Outros fatores a serem determinados são os altos e baixos médios em sistemas de fuga.
Natureza atrasada - As médias móveis e os sistemas de fuga estarão sempre atrasados. Em outras palavras, eles nunca podem atingir a parte superior ou inferior de uma tendência. Isso inevitavelmente resulta em uma perda de lucros potenciais, que às vezes podem ser significativos.
Wipsaw Effect - Entre as forças do mercado que são prejudiciais ao sucesso dos sistemas de acompanhamento de tendências, este é um dos mais comuns. O efeito whipsaw ocorre quando a média móvel gera um sinal falso - ou seja, quando a média cai apenas no intervalo, então, de repente, inverte a direção. Isso pode levar a perdas massivas, a menos que técnicas eficazes de interrupção de perdas e gerenciamento de risco sejam empregadas.
Mercados Sideways - Sistemas de acompanhamento de tendências são, por natureza, capazes de ganhar dinheiro apenas em mercados que realmente fazem tendência. No entanto, os mercados também se movem para os lados, permanecendo dentro de um determinado intervalo por um longo período de tempo.
Pode ocorrer extrema volatilidade - Ocasionalmente, os sistemas de acompanhamento de tendências podem experimentar extrema volatilidade, mas o profissional deve manter seu sistema. A incapacidade de fazer isso resultará em falha garantida.
Basicamente, o objetivo do sistema de tendência de contração é comprar na baixa mais baixa e vender na máxima alta. A principal diferença entre este e o sistema de acompanhamento de tendência é que o sistema de tendência contrária não é autocorretivo. Em outras palavras, não há tempo definido para sair de posições, e isso resulta em um potencial de queda ilimitado.
Tipos de sistemas de tendência contrária.
Muitos tipos diferentes de sistemas são considerados sistemas de contra-tendência. A ideia aqui é comprar quando o momentum em uma direção começa a desaparecer. Isso é mais frequentemente calculado usando osciladores. Por exemplo, um sinal pode ser gerado quando os stochastics ou outros indicadores de força relativa caem abaixo de certos pontos. Existem outros tipos de sistemas de negociação de tendência de contração, mas todos eles compartilham o mesmo objetivo fundamental - comprar baixo e vender alto.
Tomada de Decisão Ética - Por exemplo, um dos fatores que o desenvolvedor do sistema deve decidir são os pontos nos quais os indicadores de força relativa desaparecem.
Volatilidade Extrema Pode Ocorrer - Esses sistemas também podem experimentar alguma volatilidade extrema, e a incapacidade de manter o sistema apesar dessa volatilidade resultará em falha garantida.
Downside Ilimitado - Como mencionado anteriormente, existe um potencial de downside ilimitado porque o sistema não é autocorretor (não há tempo definido para sair de posições).
Os principais mercados para os quais os sistemas de negociação são adequados são os mercados de ações, forex e futuros. Cada um desses mercados tem suas vantagens e desvantagens. Os dois principais gêneros de sistemas de negociação são os sistemas de acompanhamento de tendência e de contra-tendência. Apesar de suas diferenças, os dois tipos de sistemas, em seus estágios de desenvolvimento, exigem uma tomada de decisão empírica por parte do desenvolvedor. Além disso, esses sistemas estão sujeitos a extrema volatilidade e isso pode exigir alguma resistência - é essencial que o operador do sistema mantenha seu sistema durante esses períodos. Na próxima parte, daremos uma olhada mais de perto em como projetar um sistema de negociação e discutir alguns dos softwares que os operadores de sistema usam para facilitar suas vidas.
Construindo Sistemas de Negociação.
Construir sistemas de negociação lucrativos é possível, mas difícil. Estamos aqui para ajudar você!
É verdade. Construir um sistema de negociação lucrativo é muito difícil. Eu não vou sugarcoat isso. É um projeto difícil em que a maioria de suas ideias não funciona. Para piorar a situação, você é bombardeado com publicidade enganosa, declarações confusas e simplesmente informações ruins.
Aprender uma linguagem de computador para construir um sistema é ótimo, mas isso não é suficiente para construir um sistema de sucesso. A combinação de alguns indicadores técnicos com uma ordem de compra e a adição de paradas finais não o tornarão um sistema de negociação lucrativo. Você precisará de uma abordagem organizada e executar etapas específicas para criar um sistema comercial bem-sucedido. Muitas vezes, essas informações são difíceis de localizar, já que a maioria das informações na Web é voltada para promessas ultrajantes de enriquecimento rápido, curvas de patrimônio que prometem um passeio tranquilo até a renda semanal e vendas de alta pressão. Em suma, dentro do campo do desenvolvimento de sistemas, existe muito barulho, propaganda e desinformação que podem levá-lo ao erro.
Então, como você cria um sistema comercial bem sucedido? Primeiro, certifique-se de entender o básico. Se você é novo no desenvolvimento de sistemas ou se não está negociando e ganhando dinheiro na negociação de sistemas, provavelmente é um novato. Eu sugiro que você vá até a Página de Introdução, para revisar o material e começar sua jornada rumo ao sucesso. Você precisa de uma base sólida para construir!
Se você leu todo o material, Página de Introdução, você deve ter uma boa ideia do que precisa ser feito. Nesta seção, cobrimos mais tópicos em detalhes. Alguns desses tópicos incluem otimização adequada e evitar ajustes de cura. Outros incluem técnicas de teste, formas de evitar marcas, dimensionamento de posição, como acessar vários prazos e como combinar sistemas diferentes em uma estratégia.
Guias Rápidos na Construção de Sistemas Rentáveis!
Evitando o ajuste de curvas e otimização adequada.
Uma maneira de evitar o ajuste de curvas é seguir as etapas deste guia gratuito, Otimização sem ajuste de curva. Isso lhe dará etapas muito simples, mas poderosas, para ajudar a evitar a adaptação de curvas.
Usando dois períodos de tempo para impulsionar os retornos.
Essa técnica pode transformar um sistema de negociação medíocre em algo incrível. Aprender a programar sua estratégia para aproveitar vários prazos é uma obrigação!
O guia essencial para o edifício.
Sistemas que funcionam!
Neste guia passo-a-passo de mais de 100 páginas, você aprende os passos apropriados para construir um sistema de negociação lucrativo. Você descobre muitas das armadilhas a serem evitadas e como construir adequadamente um sistema robusto. Exemplo de código fonte incluído!
Ferramentas para ajudar seus sistemas de compilação.
Construa modelos exclusivos de negociação de arbitragem para ações e futuros!
Uma revolução na construção de modelos de negociação de fuga adaptativa!
Construa modelos clássicos de negociação de intervalo aberto intra-dia em minutos.
Otimização adequada e ajuste de curva.
Uma das maiores preocupações com a construção de sistemas de negociação é evitar o que é comumente chamado de ajuste de curva. É aqui que você constrói um sistema que parece ótimo no backtest histórico, mas morre completamente quando você passa para o mercado fora da amostra ou ao vivo. Isto é frequentemente devido à otimização inadequada, muitas regras e / ou introdução de qualquer número de vieses no backtest.
Backtesting adequado.
Copyright © 2011-2018 pela Capital Evolution LLC. - projetado por prosperar temas | Powered by WordPress.
Sistemas de Negociação: Construindo um Sistema.
Até agora, discutimos os componentes básicos dos sistemas de negociação, os critérios que eles devem cumprir e algumas das muitas decisões empíricas que um projetista de sistemas deve tomar. Nesta seção, examinaremos o processo de construção de um sistema de negociação, as considerações que precisam ser feitas e alguns pontos importantes a serem lembrados.
Dados - Como o projetista do sistema deve usar um extensivo backtesting, o histórico de preços no passado é essencial para a construção de um sistema de negociação. Esses dados podem ser integrados ao software de desenvolvimento de sistemas comerciais ou como um feed de dados separado. Os dados ao vivo são geralmente fornecidos por uma taxa mensal, enquanto os dados antigos podem ser obtidos gratuitamente.
Colocar negociações automaticamente - Isso geralmente requer permissão do final do corretor, porque uma conexão constante deve estar em vigor entre o seu software e a corretora. As negociações devem ser executadas imediatamente e a preços exatos para garantir a conformidade. Para que o seu lugar no software seja negociado por você, tudo o que você precisa fazer é inserir o número da conta e a senha, e tudo o mais é feito automaticamente. Por favor, note que o uso deste recurso é estritamente opcional.
Depois que o teste de retorno é executado, é gerado um relatório que descreve as especificidades dos resultados. Esse relatório geralmente inclui lucro, número de negociações com êxito / não, dias consecutivos inativos, número de negociações e muitas outras coisas que podem ser úteis ao tentar determinar como solucionar problemas ou melhorar o sistema. Finalmente, o software geralmente cria um gráfico mostrando o crescimento do investimento ao longo do período de tempo testado.
2. Design - O design é o conceito por trás do seu sistema, a maneira em que os parâmetros são usados para gerar um lucro ou perda. Você implementa essas regras e parâmetros, programando-os. Às vezes, essa programação pode ser feita automaticamente por meio de uma interface gráfica do usuário. Isso permite que você crie regras sem aprender uma linguagem de programação. Aqui está um exemplo de um sistema cross-over de média móvel:
Se SMA (20) CrossUnder EMA (13), em seguida, sair;
O sistema é criado simplesmente digitando as regras na janela e salvando-as. Referências para as diferentes funções disponíveis (por exemplo, osciladores e outros) podem ser encontradas clicando no ícone do livro. A maioria dos softwares terá uma referência semelhante disponível no próprio programa ou no site. Depois de criar as regras desejadas e codificar o sistema, basta salvar o arquivo. Então você pode colocá-lo em uso selecionando-o na tela principal.
Com qual mercado eu quero negociar? Qual período de tempo devo usar? Qual a série de preços que devo usar? Qual subconjunto de ações devo usar para teste?
Tenha em mente que os sistemas de negociação devem consistentemente lucrar em muitos mercados. Ao personalizar muito o período de tempo e a série de preços, você pode manchar os resultados e produzir resultados incomuns.
Execute vários backtests em diferentes períodos de tempo e certifique-se de que os resultados sejam consistentes e satisfatórios.
5. Repetir - Repetição é necessária. Continue trabalhando no sistema até que você possa lucrar consistentemente na maioria dos mercados e condições. Há sempre eventos imprevistos que ocorrem assim que um sistema é ativado. Aqui estão alguns fatores que freqüentemente causam resultados distorcidos:
Custos de transação - Certifique-se de que você está usando a comissão real e alguns extras para contabilizar os preenchimentos imprecisos (diferença entre os preços de compra e venda). Em outras palavras, evite derrapagens! (Para revisar o que é isso e como ocorre, consulte a seção anterior deste tutorial.)
Estes seis passos dão uma visão geral de todo o processo de construção de um sistema de negociação. Na próxima seção, vamos nos basear nesse conhecimento e analisar mais profundamente a solução de problemas e a modificação.
Começando: Construindo um Sistema de Negociação Totalmente Automatizado.
Nos últimos 6 meses, tenho focado no processo de construção da pilha completa de tecnologia de um sistema de negociação automatizado. Eu me deparei com muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorised e Event driven). Na minha jornada para construir um backtester orientado a eventos, veio a minha surpresa que o que você iria acabar é perto de toda a pilha de tecnologia necessária para construir uma estratégia, fazer backtest e executar a execução ao vivo.
Meu maior problema ao enfrentar o problema foi a falta de conhecimento. Procurei em muitos lugares uma introdução à construção da tecnologia ou um blog que me orientasse. Eu encontrei alguns recursos que vou compartilhar com vocês hoje.
Para iniciantes:
Para os leitores novatos em negociações quantitativas, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: Como construir seu próprio negócio de comércio algorítmico. Este livro é o básico. Na verdade, é o primeiro livro que li sobre negociação quantitativa e mesmo assim achei muito básico, mas há algumas notas que você deve 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-automatizadas e totalmente automatizadas.
Um sistema semi-automatizado é adequado se você quiser fazer algumas transações por semana. Ernie recomenda usar o Matlab, R ou até mesmo o Excel. Eu usei todas as 3 plataformas e este é o meu conselho:
Saltar do Matlab, custou muito dinheiro e só consegui acesso aos laboratórios da universidade. Não há muito material de treinamento como blogs ou livros que ensinem como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode utilizar para aprender como construir uma estratégia. Meu blog favorito cobrindo o tópico é: QuantStratTradeR é executado por Ilya Kipnis. É mais provável que o Microsoft Excel inicie onde você não tem experiência em programação. Você pode usar o Excel para negociações semi-automáticas, mas isso não vai funcionar quando se trata de construir a pilha completa de tecnologias.
Estrutura semiautomática pg 81.
Sistemas de negociação totalmente automatizados são para quando você deseja colocar automaticamente as negociações com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, o QuantConnect também usa o C #, o QuantStart orienta o leitor através da construção em Python, o Quantopian usa o Python, o HFT provavelmente usará o C ++. Java também é popular.
Estrutura de negociação completamente automatizada página 84.
Passo 1: Conseguir um bom começo.
Faça o Programa Executivo em Algorithmic Trading oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Teria me poupado cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam através de cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de um de seus slides usados na apresentação:
Você também pode usar essa estrutura geral ao avaliar outros sistemas de negociação automáticos.
No momento em que escrevo, estou apenas na terceira semana de palestras, mas estou confiante de que um praticante será capaz de construir uma estratégia comercial totalmente automatizada que poderia, com um pouco de refinamento, ser transformada no começo de um fundo de hedge 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.
Blog de Michael Hallsmore, quantstart & amp; livro “Negociação Algorítmica Bem Sucedida”
Este livro tem seções dedicadas à construção de um robusto backtester orientado a eventos. Ele orienta o leitor através de vários capítulos que explicarão sua escolha de idioma, os diferentes tipos de backtesting, a importância do backtesting orientado a eventos e como codificar o backtester.
Michael introduz o leitor às diferentes classes necessárias em um projeto orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de títulos. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.
Nota: Você precisará comprar o livro dele: “Successful Algorithmic Trading”, seu blog deixa de fora muita informação.
Passo 3: Volte para o TuringFinance.
O programa EPAT Reading “Successful Algorithmic Trading” & amp; codificando um backtester em um idioma diferente de sua escolha.
Você deve ir para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em seu post 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 este post muito técnico e tem algumas ótimas idéias que você deve incorporar em sua própria arquitetura.
Uma captura de tela de seu post.
Etapa 4: Estude os sistemas de negociação de código aberto.
4.1) Quantopian.
Escusado será dizer que Quantopian deve ser adicionado a esta lista e tenho vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de idioma). Quantopian tem muitas vantagens, mas as que mais se destacam 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 amo como eles hospedam a QuantCon!
Quantopian é os líderes de mercado neste campo e é amado por todos os quants! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:
“O Zipline é o nosso mecanismo de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de código no Github e contribuir com solicitações de pull para o projeto. Há 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 o QuantConnect, eles fornecem um mecanismo completo de negociação algorítmica de código aberto. Aqui está um link.
Você deve dar uma olhada no código deles, estudá-lo, & amp; dê-lhes louvor. Eles são competição de quantopianos.
Eu gostaria de aproveitar esta oportunidade para agradecer à equipe da QuantConnect por me deixar escolher o cérebro deles e pelo serviço brilhante que eles oferecem.
Aqui está um link para sua documentação:
Observações finais:
Espero que este guia ajude os membros da comunidade. Eu gostaria de ter essa percepção 6 meses atrás quando comecei a codificar nosso sistema.
Eu gostaria de falar com a comunidade e perguntar: “Que bons cursos de negociação algorítmica você conhece?” Eu gostaria de escrever um post que analise o tópico e forneça uma classificação. Há alguma recomendação para criar um sistema de negociação totalmente automatizado que você gostaria de adicionar a este post?
Compartilhar isso:
Compartilhe esta entrada.
Você pode gostar também.
Bom artigo. Eu gostaria de ter cerca de 6 meses atrás. Eu uso QuantConnect porque eu sou um programador C #. Eu achei muito conveniente para poder baixar o teste de Lean e voltar localmente. Vasculhar seu código também é valioso. Eles também fizeram um acordo com a Tradier para negociações de US $ 1. Isso ajuda muito. Eu não sou tão saliente sobre os spreads e a execução do Tradier. O IB pode ser melhor para isso.
Vou dar uma olhada no curso que você mencionou.
Você não mencionou Quantocracy ou RBloggers. Ambos são recursos muito valiosos.
O que você usa para mapear os resultados dos testes de volta? Eu registro OHLC e valores de indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar resultados. Eu gostaria de poder apontar um pacote de gráficos para um arquivo de dados e tê-lo apenas ir.
Você já tem um fornecedor de fluxo de ticks?
Eu tenho um pensamento sobre sistemas orientados 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ê começa uma corretora envolvida, então eu tenho sonhado com um sistema mais streaming seguindo os princípios da programação funcional.
& # 8211; Injest um fluxo de carrapato ou bar.
& # 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; Receba de volta um sinal.
& # 8211; Envie para o corretor para executar.
Então, em um fluxo separado.
& # 8211; Receba de volta uma resposta do corretor.
O problema, claro, é o estado. Eu tenho margem suficiente para fazer o trade? O que tem no meu portfólio? Como está se saindo? Geralmente, o broker api pode ser consultado para descobrir essas coisas, mas isso leva tempo e é assíncrono. Eu também estou olhando para extensões de Rx. Dessa forma, o sistema pode reagir a mudanças no sistema através do padrão observável.
Eventos são ótimos para cliques do mouse. Não é tão bom para processamento transacional de alto volume.
Esta é exatamente a abordagem que eu fiz com minhas próprias coisas. Essencialmente eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é acionada por eventos para falar com o intermediário (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter estado do corretor, ou armazená-lo internamente atualizá-lo quando você receber um preenchimento de volta. 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 incorretos ou atrasos). Parte disso depende da rapidez com que você negocia. A menos que você esteja negociando muito rapidamente, em seguida, pausar se você tiver um conflito de estado, ou você está incerto do estado, é melhor do que prosseguir sem conhecer o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.
Em relação a quase tudo o que você pediu, você está próximo da resposta em Reative Extension (Rx).
Com Rx indo de carrapatos para velas é trivial.
Indo de velas para indicadores é trivial.
Compor indicadores de outros indicadores é trivial.
Compor posições de indicadores é trivial.
Compor portfólios (como realizados ao longo do tempo) a partir de posições é trivial.
Simular o Modelo de Risco é trivial.
Voltar teste ou negociação ao vivo é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.
A execução é trivial.
A implementação é possível em tudo, de C # a F #, a JavaScript e C ++ em código quase idêntico.
A otimização é feita rapidamente porque o Rx puramente funcional é amplamente paralisável para a GPU.
É verdade que a otimização e a alimentação do efeito da otimização contínua de volta ao back-test não é trivial, mas, dado que é não-trivial de qualquer maneira, eu vou deixar que isso deslize 😉
Puramente Funcional (ou próximo a ele) Rx é, na minha opinião, a única maneira de lidar com a infra-estrutura desse problema.
Eu 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 pegar o sistema que eu quero usar e automatizá-lo. Ao automatizá-lo, quero dizer, não quero olhar para ele. Vou dar uma olhada nos resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2016, seja preciso muito esforço para tomar um conjunto de regras e executar essas regras no meu corretor.
Eu sugiro inscrever-se com o Quantopian e, em seguida, encontrar alguém dentro da comunidade para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma de corretores IB e serão totalmente automatizados.
Deixe-me dizer, porém, que eu acho que você deve monitorá-lo de perto, e não apenas esquecê-lo para o & # 8221 ;.
Construindo Sistemas de Negociação Algorítmica: A Jornada do Comerciante de Data Mining para Simulação de Monte Carlo para Live Trading, + Website.
Descrição.
Na construção de sistemas de negociação algorítmica: a jornada de um comerciante da mineração de dados à Simulação de Monte Carlo até o treinamento ao vivo, o galardoado trader Kevin Davey compartilha seus segredos para o desenvolvimento de sistemas comerciais que geram retornos de três dígitos. Com explicação e demonstração, Davey o orienta passo a passo em todo o processo de geração e validação de uma ideia, estabelecendo pontos de entrada e saída, testando sistemas e implementando-os em negociação ao vivo. Você encontrará regras concretas para aumentar ou diminuir a alocação de um sistema, e regras para quando abandonar um. O site complementar inclui o simulador Monte Carlo de Davey e outras ferramentas que lhe permitirão automatizar e testar suas próprias idéias comerciais.
Uma abordagem puramente discricionária à negociação geralmente se divide no longo prazo. Com dados de mercado e estatísticas facilmente disponíveis, os investidores estão cada vez mais optando por empregar um sistema de negociação automatizado ou algorítmico - o suficiente para que as negociações algorítmicas respondam agora pela maior parte do volume de negociações de ações. Construir Algorithmic Trading Systems ensina como desenvolver seus próprios sistemas com um olho para as flutuações do mercado e a impermanência do algoritmo mais eficaz.
Aprenda os sistemas que geraram retornos de três dígitos no Campeonato de Negociação da Copa do Mundo Desenvolva uma abordagem algorítmica para qualquer ideia de negociação usando software de prateleira ou plataformas populares Teste seu novo sistema usando dados de mercado históricos e atuais Dados de mercado de mina para tendências estatísticas pode formar a base de um novo sistema.
Os padrões de mercado mudam e os resultados do sistema também. O desempenho passado não é garantia de sucesso futuro, portanto, a chave é desenvolver continuamente novos sistemas e ajustar os sistemas estabelecidos em resposta às tendências estatísticas em evolução. Para os comerciantes individuais que procuram o próximo passo em frente, a Building Algorithmic Trading Systems fornece orientação especializada e conselhos práticos.
Sobre o autor.
KEVIN J. DAVEY é um operador profissional e um desenvolvedor de sistemas de alto desempenho. Ele gerou retornos anuais de três dígitos de 148%, 107% e 112% em três campeonatos consecutivos da Copa do Mundo de Futures Trading & # 174; usando sistemas de negociação algorítmica. Seu site, kjtradingsystems, fornece sistemas de negociação, sinais de negociação e orientação. Ele escreve extensivamente em publicações do setor, como Futures Magazine e Active Trader, e foi apresentado como "" Market Master "" no livro Os Princípios Universais do Comércio de Sucesso, de Brent Penfold (Wiley, 2010). Um engenheiro aeroespacial e MBA por experiência, Davey é um operador independente há mais de 20 anos. Davey continua a negociar em tempo integral e a desenvolver estratégias de negociação algorítmica.
Permissões.
Solicite permissão para reutilizar o conteúdo deste site.
Sobre o autor xi.
PARTE I UMA VIAGEM DO TRADER 7.
CAPÍTULO 1 O nascimento de um comerciante 9.
CAPÍTULO 2 Bastante é suficiente 15.
CAPÍTULO 3 Campeonato da Copa do Mundo de Futuros Trading Triumph 23.
CAPÍTULO 4 Transformando o salto para o tempo integral 33.
PARTE II SEU SISTEMA DE NEGOCIAÇÃO 41.
CAPÍTULO 5 Testando e Avaliando um Sistema de Negociação 43.
CAPÍTULO 6 Análise Preliminar 53.
CAPÍTULO 7 Análise detalhada 61.
CAPÍTULO 8 Projetando e Desenvolvendo Sistemas 71.
PARTE III DESENVOLVER UMA ESTRATÉGIA 77.
CAPÍTULO 9 Desenvolvimento de Estratégia & # 8212; Metas e Objetivos 79.
CAPÍTULO 10 Idéia de Negociação 83.
CAPÍTULO 11 Vamos falar sobre dados 93.
CAPÍTULO 12 Teste limitado 103.
CAPÍTULO 13 Análise aprofundada dos testes / caminhada / forward 115.
CAPÍTULO 14 Análise e Incubação de Monte Carlo 129.
CAPÍTULO 15 Diversificação 133.
CAPÍTULO 16 Dimensionamento de Posição e Gestão de Dinheiro 139.
CAPÍTULO 17 Documentando o Processo 147.
PARTE IV CRIANDO UM SISTEMA 153.
CAPÍTULO 18 Metas, testes iniciais e testes de adiantamento 155.
CAPÍTULO 19 Ensaio e Incubação de Monte Carlo 163.
PARTE V CONSIDERAÇÕES ANTES DE VIVER 175.
CAPÍTULO 20 Conta e tamanho da posição 177.
CAPÍTULO 21 Negociação Psicológica 187.
CAPÍTULO 22 Outras considerações antes de ir viver 195.
PARTE VI MONITORANDO UMA ESTRATÉGIA AO VIVO.
CAPÍTULO 23 Ins e Outs de Monitorar uma Estratégia ao Vivo 205.
CAPÍTULO 24 Tempo Real 219.
PARTE VII CONTOS DE CUIDADO 233.
CAPÍTULO 25 Delírios da grandeza 235.
APÊNDICE Um exemplo de troca de macacos, Easy Language Code 247.
APÊNDICE B Euro Night Strategy, Formato de Linguagem Fácil da TradeStation 255.
APÊNDICE C Estratégia do Dia do Euro, Formato de Linguagem Fácil da TradeStation 259.
Construindo Sistemas de Negociação Vencedores com Tradestation, + Website, 2ª Edição.
George Pruitt, John R. Hill, Michael Russak (Prefácio por)
Descrição.
O mercado de ações está em constante evolução e, juntamente com o novo cenário econômico global, os comerciantes precisam repensar radicalmente a maneira como eles fazem negócios em casa e no exterior. Entre em Building Winning Trading Systems, Second Edition, a nova encarnação do texto estabelecido sobre como tirar o máximo proveito do mundo comercial. Com a tecnologia agora um elemento difundido de todos os aspectos da negociação, a questão tornou-se como criar um novo sistema que atenda às demandas do clima financeiro alterado e como fazê-lo funcionar.
Dando voz à questão sobre todos os comerciantes e os lábios do investidor, o livro pergunta: "Como podemos construir um sistema comercial que seja primordial para nossos mercados cada vez mais estressados?" "A resposta? Estabelecer sistemas mecânicos de negociação que removem a emoção humana da equação e formam a base de um plano de negociação completo e com maior agilidade, características que são mais importantes do que nunca, dado o ritmo cinético dos mercados.
Apresenta uma estratégia totalmente nova para sistemas de negociação que mostrará aos traders como criar sistemas que funcionarão no século XXI. O conselho de especialistas da altamente respeitada autoridade comercial, George Pruitt. Inclui um novo website com código TradeStation atualizado e mostra como usar o mundo melhor plataforma de software de investimento para desenvolver e utilizar sistemas de negociação que realmente funcionem.
Mais uma vez abrindo caminho para os comerciantes que querem se adaptar ao seu ambiente, a Building Winning Trading Systems, a Second Edition, combina expertise em design de indicadores e construção de sistemas em um volume indispensável.
Sobre o autor.
GEORGE PRUITT é diretor de pesquisa para a revista Futures Truth. Ele escreveu para a revista Futures e teve sua pesquisa publicada pelo Wall Street Journal e pelo Barron's. Pruitt é bacharel em ciência da computação pela Universidade da Carolina do Norte em Asheville e co-programou o software de testes Excalibur. Ele já codificou mais de 1.000 metodologias diferentes de negociação e é coautor do The Ultimate Trading Guide (Wiley).
JOHN R. HILL é presidente e fundador da revista Futures Truth, um periódico líder que analisa e avalia os sistemas de negociação. Ele possui mestrado em engenharia química pela The Ohio State University e co-autor do The Ultimate Trading Guide (Wiley).
Permissões.
Solicite permissão para reutilizar o conteúdo deste site.
CAPÍTULO 1 Fundamentos & # 8212; O que é EasyLanguage? 1.
Variáveis e Tipos de Dados 2.
Operadores e Expressões 4.
TradeStation 2000i vs TradeStation 9.0 7.
CAPÍTULO 2 Estrutura do programa EasyLanguage 33.
Programação estruturada 33.
Cabeçalho do programa 34.
Módulo de cálculo: MyRSIsystem 35.
CAPÍTULO 3 Estruturas de controle de programas 41.
Ramificação condicional com If-Then 41.
Ramificação condicional com If-Then-Else 45.
Estruturas de controle repetitivo 50.
CAPÍTULO 4 Técnicas de análise da TradeStation 55.
Estudos PaintBar e ShowMe 62.
CAPÍTULO 5 Medição do desempenho do sistema de negociação e otimização do sistema 79.
Relatório de síntese da TradeStation 82.
Análise de comércio 90.
Otimização Old School Style 95.
CAPÍTULO 6 Estratégias de Negociação que Funcionam (ou a Grande Maldita.
Capítulo sobre Estratégias de Negociação) 127.
A estratégia de negociação do rei Keltner 128.
The Bollinger Bandit Trading Strategy 131.
A estratégia de negociação do termostato 134.
A estratégia Dynamic Break Out II 141.
O Super Combo Day Trading Strategy 147.
The Ghost Trader Trading Strategy 165.
A estratégia de negociação do Money Manager 168.
Estratégias de Negociação de Bônus.
CAPÍTULO 7 Depuração e saída 175.
Erros lógicos versus sintaxe 176.
Depuração com a Declaração de impressão e o registro de impressão 176.
Depuração com o Depurador incorporado 178.
Criador de Tabelas 184.
CAPÍTULO 8 TradeStation como ferramenta de pesquisa 191.
Compromisso do Relatório dos Comerciantes 191.
CAPÍTULO 9 Usando os gráficos de alteração percentual da TradeStation para acompanhar o desempenho relativo 211.
Trabalhando com os Gráficos de Mudança de Percentagem 213.
CAPÍTULO 10 Opções: Introdução e Estratégias 219.
Parte A: Primeiros passos com a negociação de opções 219.
Parte B: Estratégias e Negociações com Opções da Vida Real 242.
CAPÍTULO 11 Entrevistas com os desenvolvedores 251.
APÊNDICE A Trade Code 2000i Source Code of Select.
Comments
Post a Comment