Quantstart forex


Sistemas Inteligentes de Negociação Algorítmica.


A negociação algorítmica é o uso de algoritmos de computador para tomar decisões de negociação automaticamente, enviar pedidos e gerenciar esses pedidos após o envio. Os sistemas de negociação algorítmica são melhor compreendidos usando uma arquitetura conceitual simples que consiste em três componentes que lidam com diferentes aspectos do sistema de negociação algorítmica, ou seja, o manipulador de dados, o manipulador de estratégia e o manipulador de execução de negociação. Esses componentes mapeiam um por um com a definição acima mencionada de negociação algorítmica. Neste artigo, estendemos essa arquitetura para descrever como alguém poderia construir sistemas de negociação algorítmica mais inteligentes.


Sistema conceitual de negociação algorítmica.


O que significa para um sistema ser mais inteligente? No contexto do comércio algorítmico, mediremos a inteligência pelo grau em que o sistema é autoadaptável e autoconsciente. Mas antes de chegarmos a isso, vamos elaborar os três componentes da arquitetura conceitual do sistema de negociação algorítmica.


Componente de Dados.


Os sistemas de negociação algorítmica podem usar dados estruturados, dados não estruturados ou ambos. Os dados são estruturados se estiverem organizados de acordo com alguma estrutura pré-determinada. Os exemplos incluem planilhas, arquivos CSV, arquivos JSON, XML, bancos de dados e estruturas de dados. Os dados relacionados ao mercado, como preços entre dias, preços no final do dia e volumes de transações, geralmente estão disponíveis em um formato estruturado. Dados financeiros econômicos e da empresa também estão disponíveis em um formato estruturado. Duas boas fontes de dados financeiros estruturados são o Quandl e o Morningstar.


Os dados não são estruturados se não estiverem organizados de acordo com estruturas pré-determinadas. Exemplos incluem notícias, mídias sociais, vídeos e áudio. Esse tipo de dado é inerentemente mais complexo de processar e geralmente requer análise de dados e técnicas de mineração de dados para analisá-lo. O uso corrente de notícias e dados de redes sociais como o Twitter e o Facebook no comércio deu origem a ferramentas mais poderosas capazes de dar sentido a dados não estruturados. Muitas dessas ferramentas fazem uso da inteligência artificial e, em particular, das redes neurais.


Componente do modelo.


Um modelo é a representação do mundo exterior como é visto pelo sistema Algorithmic Trading. Os modelos financeiros geralmente representam como o sistema de comércio algorítmico acredita que os mercados funcionam. O objetivo final de qualquer modelo é usá-lo para fazer inferências sobre o mundo, ou neste caso os mercados. A coisa mais importante a lembrar aqui é a citação de George E. P Box "todos os modelos são essencialmente errados, mas alguns são úteis".


Modelos podem ser construídos usando um número de metodologias e técnicas diferentes, mas fundamentalmente eles estão essencialmente fazendo uma coisa: reduzir um sistema complexo a um conjunto de regras tratáveis ​​e quantificáveis ​​que descrevem o comportamento desse sistema sob diferentes cenários. Algumas abordagens incluem, mas não se limitam a, modelos matemáticos, sistemas lógicos simbólicos e difusos, árvores de decisão, conjuntos de regras de indução e redes neurais.


Modelos matemáticos.


O uso de modelos matemáticos para descrever o comportamento dos mercados é chamado de finanças quantitativas. A maioria dos modelos financeiros quantitativos trabalha com base nas premissas inerentes de que os preços (e retornos) de mercado evoluem ao longo do tempo de acordo com um processo estocástico, em outras palavras, os mercados são aleatórios. Esta tem sido uma suposição muito útil que está no centro de quase todos os modelos de precificação de derivativos e alguns outros modelos de avaliação de segurança.


Essencialmente, a maioria dos modelos quantitativos argumenta que os retornos de qualquer título são guiados por um ou mais fatores aleatórios de risco de mercado. O grau em que os retornos são afetados por esses fatores de risco é chamado de sensibilidade. Por exemplo, os retornos de uma carteira bem diversificada podem ser impulsionados pelo movimento de taxas de juros de curto prazo, várias taxas de câmbio e os retornos no mercado de ações global. Esses fatores podem ser medidos historicamente e usados ​​para calibrar um modelo que simula o que esses fatores de risco poderiam fazer e, por extensão, quais poderiam ser os retornos sobre o portfólio. Para mais informações, consulte Random Walks Down Wall Street.


Caminhos de Preço Simulados de Monte Carlo para o Ativo Subjacente.


Modelos lógicos simbólicos e difusos.


A lógica simbólica é uma forma de raciocínio que envolve essencialmente a avaliação de predicados (declarações lógicas construídas a partir de operadores lógicos como AND, OR e XOR) para true ou false. A lógica fuzzy relaxa a restrição binária true ou false e permite que qualquer predicado dado pertença ao conjunto de predicados true e or false em diferentes graus. Isso é definido em termos de funções de associação definidas.


No contexto dos mercados financeiros, as entradas nesses sistemas podem incluir indicadores que devem se correlacionar com os retornos de qualquer título. Esses indicadores podem ser quantitativos, técnicos, fundamentais ou de outra natureza. Por exemplo, um sistema lógico difuso pode inferir a partir de dados históricos que se a média móvel ponderada exponencialmente de cinco dias for maior ou igual à média móvel exponencialmente ponderada de dez dias, então há uma probabilidade de sessenta e cinco por cento de a ação subir nos próximos cinco dias.


Uma abordagem de mineração de dados para identificar essas regras a partir de um determinado conjunto de dados é chamada de indução de regra. Isso é muito semelhante à indução de uma árvore de decisão, exceto pelo fato de que os resultados geralmente são mais legíveis para humanos.


Modelos de árvore de decisão.


As árvores de decisão são semelhantes às regras de indução, exceto que as regras são estruturas na forma de uma árvore (geralmente binária). Na ciência da computação, uma árvore binária é uma estrutura de dados de árvore na qual cada nó tem no máximo dois filhos, que são referidos como o filho esquerdo e o filho direito. Nesse caso, cada nó representa uma regra de decisão (ou limite de decisão) e cada nó filho é outro limite de decisão ou um nó terminal que indica uma saída.


Existem dois tipos de árvores de decisão: árvores de classificação e árvores de regressão. As árvores de classificação contêm classes em seus resultados (por exemplo, comprar, manter ou vender), enquanto as árvores de regressão contêm valores de resultado para uma variável específica (por exemplo, -2,5%, 0%, + 2,5%, etc.). A natureza dos dados usados ​​para treinar a árvore de decisão determinará que tipo de árvore de decisão é produzida. Algoritmos usados ​​para produzir árvores de decisão incluem C4.5 e Programação Genética.


Assim como na indução de regras, as entradas em um modelo de árvore de decisão podem incluir quantidades para um determinado conjunto de fatores fundamentais, técnicos ou estatísticos, os quais se acredita que impulsionam os retornos de títulos.


Modelos de rede neural.


As redes neurais são quase certamente o modelo de aprendizado de máquina mais popular disponível para os comerciantes algorítmicos. As redes neurais consistem em camadas de nós interconectados entre entradas e saídas. Nós individuais são chamados de perceptrons e lembram uma regressão linear múltipla, exceto pelo fato de que eles alimentam algo chamado de função de ativação, que pode ou não ser não-linear. Em redes neurais não recorrentes, os perceptrons são organizados em camadas e as camadas são conectadas com outras. Existem três tipos de camadas, a camada de entrada, a (s) camada (s) oculta (s) e a camada de saída. A camada de entrada receberia os insumos normalizados que seriam os fatores esperados para conduzir os retornos do título e a camada de saída poderia conter classificações de compra, retenção, venda ou resultados prováveis ​​de valor real, como retornos em caixas. As camadas ocultas essencialmente ajustam as ponderações nessas entradas até que o erro da rede neural (como ela é executada em um backtest) seja minimizado. Uma interpretação disso é que as camadas ocultas extraem características salientes nos dados que têm poder preditivo em relação às saídas. Para uma explicação muito mais detalhada das redes neurais, consulte este artigo.


Além desses modelos, há uma série de outros modelos de tomada de decisão que podem ser usados ​​no contexto de negociação algorítmica (e mercados em geral) para fazer previsões sobre a direção dos preços de títulos ou, para leitores quantitativos, fazer previsões sobre o probabilidade de qualquer movimento em um preço de ações.


A escolha do modelo tem um efeito direto no desempenho do sistema Algorithmic Trading. O uso de vários modelos (conjuntos) mostrou melhorar a precisão da previsão, mas aumentará a complexidade da implementação. O modelo é o cérebro do sistema de negociação algorítmica. Para tornar o sistema de negociação algorítmica mais inteligente, o sistema deve armazenar dados sobre todos os erros cometidos historicamente e adaptar os modelos internos de acordo com essas mudanças. De certa forma, isso constituiria autoconsciência (de erros) e auto-adaptação (calibração contínua do modelo). Dito isto, isso certamente não é um terminador!


Componente de Execução.


O componente de execução é responsável por passar pelas negociações que o modelo identifica. Esse componente precisa atender aos requisitos funcionais e não funcionais dos sistemas de negociação algorítmica. Por exemplo, a velocidade da execução, a frequência com que as negociações são realizadas, o período durante o qual as negociações são realizadas e o método pelo qual as ordens de negociação são roteadas para a troca precisam ser suficientes. Qualquer implementação do sistema de negociação algorítmica deve ser capaz de satisfazer esses requisitos. Neste artigo, proponho uma arquitetura aberta para sistemas de negociação algorítmica que, acredito, atende a muitos dos requisitos.


Componente Monitor.


A inteligência artificial aprende usando funções objetivas. Funções objetivas são geralmente funções matemáticas que quantificam o desempenho do sistema de negociação algorítmica. No contexto das finanças, as medidas de retorno ajustado ao risco incluem o índice de Treynor, o índice de Sharpe e o índice de Sortino. O componente do modelo no sistema de negociação algorítmica seria "solicitado" a maximizar uma ou mais dessas quantidades. O desafio com isso é que os mercados são dinâmicos. Em outras palavras, os modelos, a lógica ou as redes neurais que funcionavam antes podem parar de funcionar com o tempo. Para combater isso, o sistema de negociação algorítmica deve treinar os modelos com informações sobre os próprios modelos. Esse tipo de autoconsciência permite que os modelos se adaptem a ambientes em mudança. Penso nesta auto-adaptação como uma forma de calibração contínua de modelos para combater mudanças no regime de mercado.


Conclusão.


O Algorithmic Trading tornou-se muito popular na última década. Atualmente, é responsável pela maioria dos negócios realizados globalmente pelas bolsas e é atribuído ao sucesso de alguns dos fundos de hedge de melhor desempenho do mundo, principalmente o da Renaissance Technologies. Dito isto, ainda há muita confusão e erros em relação ao que é Algorithmic Trading e como isso afeta as pessoas no mundo real. Até certo ponto, o mesmo pode ser dito da Inteligência Artificial.


Demasiadas vezes, a investigação sobre estes tópicos centra-se exclusivamente no desempenho e esquecemos que é igualmente importante que os investigadores e profissionais construam modelos conceptuais e teóricos mais fortes e mais rigorosos, sobre os quais podemos avançar neste campo nos próximos anos. Quer queiramos ou não, os algoritmos moldam nosso mundo moderno e nossa confiança neles nos dá a obrigação moral de continuamente procurar compreendê-los e aperfeiçoá-los. Deixo-vos com um vídeo intitulado "Como os Algoritmos moldam o nosso mundo", de Kevin Slavin.


Como os algoritmos moldam nosso mundo.


História anterior


Usando a programação genética para evoluir estratégias de negociação.


Próxima história.


Imperfeição Perfeita, Modelos Baseados em Agentes.


26 de setembro de 2015.


Eu escrevi alguns softwares GA básicos que negociam mercado de ações de forma lucrativa. É código aberto - código disponível no github. Mais informações aqui - genotick.


26 de setembro de 2015.


Obrigado por compartilhar, os resultados parecem bastante promissores :). Eu não me importaria de fazer um comentário sobre isso em algum momento, se você está aberto à idéia?


20 de outubro de 2015.


Certo. Estou lentamente adicionando mais ajuda ao programa e algumas informações disponíveis lá. Se você precisar de mais ajuda / explicação, me avise preferível via email.


Envie um comentário.


Cancelar resposta.


Siga Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


A Quantocracia é o melhor agregador de blogs de finanças quantitativas com links para novas análises publicadas todos os dias.


NMRQL é o fundo de hedge quantitativo do qual faço parte. Usamos o aprendizado de máquina para tentar vencer o mercado.


Pioneiro na negociação de amanhã.


Pesquise, faça backtest e negocie seus investimentos.


Inscreva-se gratuitamente.


Como funciona?


Construir Algoritmos em um IDE do Navegador


Usando estratégias de modelo e dados livres.


Projetar e testar sua estratégia em nossos dados gratuitos e, quando estiver pronto, implantá-lo ao vivo para sua corretora. Codifique em várias linguagens de programação e aproveite nosso cluster de centenas de servidores para executar seu backtest para analisar sua estratégia em ações, FX, CFD, opções ou mercados de futuros.


O QuantConnect é a próxima revolução na negociação de quant, combinando computação em nuvem e acesso aberto a dados.


Velocidade Incomparável.


Aproveite o nosso farm de servidores para velocidades institucionais do seu computador desktop. Você pode repetir suas ideias mais rapidamente do que nunca.


Biblioteca de dados maciça.


Fornecemos uma enorme biblioteca de dados de resolução de 400TB, cobrindo as ações, opções, futuros, fundamentos, CFD e Forex dos EUA desde 1998.


Execução de Classe Mundial.


Nossos algoritmos de negociação ao vivo estão localizados ao lado dos servidores de mercado da Equinix (NY7) para uma execução rápida, segura e rápida para os mercados.


Tem ótimas ideias? Vamos testar! Comece seu algoritmo.


Qualidade profissional, biblioteca de dados abertos.


Crie estratégias com nossa biblioteca de dados cuidadosamente organizada, abrangendo os mercados globais, desde o tick até a resolução diária. Os dados são atualizados quase diariamente para que você possa fazer backtest nos dados mais recentes possíveis e com o viés de sobrevivência livre.


Oferecemos dados sobre as ações da Equities desde janeiro de 1998 para cada símbolo negociado, totalizando mais de 29.000 ações. O preço é fornecido pelo QuantQuote.


Além do que, além do mais; temos dados fundamentais da Morning Star para os mais populares 8.000 símbolos para mais de 900 indicadores desde 1998.


Crypto, Forex & amp; CFD.


Nós lideramos o mundo com negociações algorítmicas de criptografia no GDAX, além de oferecer 100 contratos de moeda e 70 de CFD cobrindo todas as grandes economias fornecidas pela FXCM e pela OANDA. Todos os dados estão disponíveis na resolução do tick, começam em abril de 2007 e são atualizados diariamente.


Oferecemos dados sobre cotações e negociação de futuros de janeiro de 2009 até o presente, para todos os contratos negociados em CME, COMEX e GLOBEX. Os dados são atualizados semanalmente e são fornecidos pelo AlgoSeek.


Oferecemos negociações e cotações de opções até baixa resolução, para todas as opções negociadas na ORPA desde 2007, cobrindo milhões de contratos. Os dados são atualizados dentro de 48 horas e são fornecidos pelo AlgoSeek.


Transfira dados FX e CFD gratuitamente - Explore a nossa biblioteca de dados Inscreva-se hoje.


Colaboração em equipe.


Encontre novos amigos na comunidade e colabore com nosso recurso de codificação de equipe! Compartilhe projetos e veja o código deles instantaneamente enquanto eles digitam. Você pode até conceder acesso ao vivo e controlar o algoritmo ao vivo em conjunto. Use nossas mensagens instantâneas internas para encontrar futuros membros da equipe para juntar forças!


Propriedade Intelectual Segura.


Nosso foco é fornecer a melhor plataforma de negociação algorítmica possível e proteger sua valiosa propriedade intelectual. Nós sempre seremos um provedor de infraestrutura e tecnologia primeiro. Quando você estiver pronto para negociação ao vivo, ficaremos felizes em ajudá-lo a executar seu corretor de escolha.


Executar através de corretoras líderes.


Nós nos integramos a corretoras líderes mundiais para fornecer a melhor execução e taxas mais baixas para a comunidade.


OPÇÕES DE FUTUROS DE EQUITY FOREX.


US $ 1 MÍNIMO, US $ 0,005 / COMPARTILHAR.


Um corretor interativo da indústria fornece acesso ao mercado de ações, futuros e opções, tudo com uma conta e algumas das taxas mais baixas do setor.


De & libra; 0,07 por lote.


Com baixo spread e acesso direto ao mercado, o FXCM fornece acesso ao FX com taxas transparentes, excelentes preenchimentos e um baixo depósito de abertura.


Taxas de spread.


Fundada em 1995, a OANDA fornece acesso a FX e CFD com taxas baseadas em spread cobrindo todos os principais mercados globais.


Negociar moedas de criptografia.


Troque Bitcoin, Etherum e LiteCoin em uma bolsa baseada nos EUA totalmente regulamentada.


FOREX CFD EQUITY CRYPTO.


Negociação de papel.


Com QuantConnect & trade; Paper Trading, você pode simular condições do mercado ao vivo, taxas de modelagem e preenchimentos de pedidos para testar sua estratégia antes de colocá-la em operação.


Corrupção líder mundial em comércio de execução ao vivo.


Corretoras Suportadas.


Graças aos nossos parceiros de corretagem, podemos oferecer livre negociação ao vivo para os corretores FXCM Brokerage e OANDA Brokerage, permitindo que você backtest e negocie sua estratégia inteiramente de graça.


Estratégias dirigidas por eventos.


Projetar um algoritmo não poderia ser mais fácil. Existem apenas duas funções necessárias e nós cuidamos de tudo! Você acabou de inicializar () sua estratégia e lidar com os eventos de dados solicitados.


Você pode criar novos indicadores, classes, pastas e arquivos com um compilador C # completo baseado na web e auto-completar. Estamos empenhados em oferecer a melhor experiência de design de algoritmo possível.


Aproveite seu potencial.


Opção em usuários pode ter suas estratégias apresentadas aos clientes de hedgefund em um painel de estratégia profissional transparente. As estratégias são validadas pelo backtesting e live trading do QuantConnect, dando a você uma revisão neutra de código de terceiros.


Hedgefunds interessados ​​podem contatá-lo diretamente através da QuantConnect para lhe oferecer emprego ou financiamento para sua estratégia!


Junte-se a nossa comunidade.


Temos uma das maiores comunidades de comércio quantitativo do mundo, construindo, compartilhando e discutindo estratégias por meio de nossa comunidade. Converse com algumas das mentes mais brilhantes do mundo enquanto exploramos novos domínios da ciência, matemática e finanças.


Sistemas Inteligentes de Negociação Algorítmica.


A negociação algorítmica é o uso de algoritmos de computador para tomar decisões de negociação automaticamente, enviar pedidos e gerenciar esses pedidos após o envio. Os sistemas de negociação algorítmica são melhor compreendidos usando uma arquitetura conceitual simples que consiste em três componentes que lidam com diferentes aspectos do sistema de negociação algorítmica, ou seja, o manipulador de dados, o manipulador de estratégia e o manipulador de execução de negociação. Esses componentes mapeiam um por um com a definição acima mencionada de negociação algorítmica. Neste artigo, estendemos essa arquitetura para descrever como alguém poderia construir sistemas de negociação algorítmica mais inteligentes.


Sistema conceitual de negociação algorítmica.


O que significa para um sistema ser mais inteligente? No contexto do comércio algorítmico, mediremos a inteligência pelo grau em que o sistema é autoadaptável e autoconsciente. Mas antes de chegarmos a isso, vamos elaborar os três componentes da arquitetura conceitual do sistema de negociação algorítmica.


Componente de Dados.


Os sistemas de negociação algorítmica podem usar dados estruturados, dados não estruturados ou ambos. Os dados são estruturados se estiverem organizados de acordo com alguma estrutura pré-determinada. Os exemplos incluem planilhas, arquivos CSV, arquivos JSON, XML, bancos de dados e estruturas de dados. Os dados relacionados ao mercado, como preços entre dias, preços no final do dia e volumes de transações, geralmente estão disponíveis em um formato estruturado. Dados financeiros econômicos e da empresa também estão disponíveis em um formato estruturado. Duas boas fontes de dados financeiros estruturados são o Quandl e o Morningstar.


Os dados não são estruturados se não estiverem organizados de acordo com estruturas pré-determinadas. Exemplos incluem notícias, mídias sociais, vídeos e áudio. Esse tipo de dado é inerentemente mais complexo de processar e geralmente requer análise de dados e técnicas de mineração de dados para analisá-lo. O uso corrente de notícias e dados de redes sociais como o Twitter e o Facebook no comércio deu origem a ferramentas mais poderosas capazes de dar sentido a dados não estruturados. Muitas dessas ferramentas fazem uso da inteligência artificial e, em particular, das redes neurais.


Componente do modelo.


Um modelo é a representação do mundo exterior como é visto pelo sistema Algorithmic Trading. Os modelos financeiros geralmente representam como o sistema de comércio algorítmico acredita que os mercados funcionam. O objetivo final de qualquer modelo é usá-lo para fazer inferências sobre o mundo, ou neste caso os mercados. A coisa mais importante a lembrar aqui é a citação de George E. P Box "todos os modelos são essencialmente errados, mas alguns são úteis".


Modelos podem ser construídos usando um número de metodologias e técnicas diferentes, mas fundamentalmente eles estão essencialmente fazendo uma coisa: reduzir um sistema complexo a um conjunto de regras tratáveis ​​e quantificáveis ​​que descrevem o comportamento desse sistema sob diferentes cenários. Algumas abordagens incluem, mas não se limitam a, modelos matemáticos, sistemas lógicos simbólicos e difusos, árvores de decisão, conjuntos de regras de indução e redes neurais.


Modelos matemáticos.


O uso de modelos matemáticos para descrever o comportamento dos mercados é chamado de finanças quantitativas. A maioria dos modelos financeiros quantitativos trabalha com base nas premissas inerentes de que os preços (e retornos) de mercado evoluem ao longo do tempo de acordo com um processo estocástico, ou seja, os mercados são aleatórios. Esta tem sido uma suposição muito útil que está no centro de quase todos os modelos de precificação de derivativos e alguns outros modelos de avaliação de segurança.


Essencialmente, a maioria dos modelos quantitativos argumenta que os retornos de qualquer título são guiados por um ou mais fatores aleatórios de risco de mercado. O grau em que os retornos são afetados por esses fatores de risco é chamado de sensibilidade. Por exemplo, os retornos de uma carteira bem diversificada podem ser impulsionados pelo movimento de taxas de juros de curto prazo, várias taxas de câmbio e os retornos no mercado de ações global. Esses fatores podem ser medidos historicamente e usados ​​para calibrar um modelo que simula o que esses fatores de risco poderiam fazer e, por extensão, quais poderiam ser os retornos do portfólio. Para mais informações, consulte Random Walks Down Wall Street.


Caminhos de Preço Simulados de Monte Carlo para o Ativo Subjacente.


Modelos lógicos simbólicos e difusos.


A lógica simbólica é uma forma de raciocínio que envolve essencialmente a avaliação de predicados (declarações lógicas construídas a partir de operadores lógicos como AND, OR e XOR) para true ou false. A lógica fuzzy relaxa a restrição binária true ou false e permite que qualquer predicado dado pertença ao conjunto de predicados true e or false em diferentes graus. Isso é definido em termos de funções de associação definidas.


No contexto dos mercados financeiros, as entradas nesses sistemas podem incluir indicadores que devem se correlacionar com os retornos de qualquer título. Esses indicadores podem ser quantitativos, técnicos, fundamentais ou de outra natureza. Por exemplo, um sistema lógico difuso pode inferir a partir de dados históricos que se a média móvel exponencialmente ponderada de cinco dias for maior ou igual à média móvel exponencialmente ponderada de dez dias, então há uma probabilidade de sessenta e cinco por cento de que a ação subirá. nos próximos cinco dias.


Uma abordagem de mineração de dados para identificar essas regras a partir de um determinado conjunto de dados é chamada de indução de regra. Isso é muito semelhante à indução de uma árvore de decisão, exceto pelo fato de que os resultados geralmente são mais legíveis para humanos.


Modelos de árvore de decisão.


As árvores de decisão são semelhantes às regras de indução, exceto que as regras são estruturas na forma de uma árvore (geralmente binária). Na ciência da computação, uma árvore binária é uma estrutura de dados de árvore na qual cada nó tem no máximo dois filhos, que são referidos como o filho esquerdo e o filho direito. Nesse caso, cada nó representa uma regra de decisão (ou limite de decisão) e cada nó filho é outro limite de decisão ou um nó terminal que indica uma saída.


Existem dois tipos de árvores de decisão: árvores de classificação e árvores de regressão. As árvores de classificação contêm classes em seus resultados (por exemplo, comprar, manter ou vender), enquanto as árvores de regressão contêm valores de resultado para uma variável específica (por exemplo, -2,5%, 0%, + 2,5%, etc.). A natureza dos dados usados ​​para treinar a árvore de decisão determinará que tipo de árvore de decisão é produzida. Algoritmos usados ​​para produzir árvores de decisão incluem C4.5 e Programação Genética.


Assim como na indução de regras, as entradas em um modelo de árvore de decisão podem incluir quantidades para um determinado conjunto de fatores fundamentais, técnicos ou estatísticos, os quais se acredita que impulsionam os retornos de títulos.


Modelos de rede neural.


As redes neurais são quase certamente o modelo de aprendizado de máquina mais popular disponível para os comerciantes algorítmicos. As redes neurais consistem em camadas de nós interconectados entre entradas e saídas. Nós individuais são chamados de perceptrons e lembram uma regressão linear múltipla, exceto pelo fato de que eles alimentam algo chamado de função de ativação, que pode ou não ser não-linear. Em redes neurais não recorrentes, os perceptrons são organizados em camadas e as camadas são conectadas com outras. Existem três tipos de camadas, a camada de entrada, a (s) camada (s) oculta (s) e a camada de saída. A camada de entrada receberia os insumos normalizados que seriam os fatores esperados para conduzir os retornos do título e a camada de saída poderia conter classificações de compra, retenção, venda ou resultados prováveis ​​de valor real, como retornos em caixas. As camadas ocultas essencialmente ajustam as ponderações nessas entradas até que o erro da rede neural (como ela é executada em um backtest) seja minimizado. Uma interpretação disso é que as camadas ocultas extraem características salientes nos dados que possuem poder preditivo em relação às saídas. Para uma explicação muito mais detalhada das redes neurais, consulte este artigo.


Além desses modelos, há uma série de outros modelos de tomada de decisão que podem ser usados ​​no contexto de negociação algorítmica (e mercados em geral) para fazer previsões sobre a direção dos preços de títulos ou, para leitores quantitativos, fazer previsões sobre o probabilidade de qualquer movimento em um preço de ações.


A escolha do modelo tem um efeito direto no desempenho do sistema Algorithmic Trading. O uso de vários modelos (conjuntos) mostrou melhorar a precisão da previsão, mas aumentará a complexidade da implementação. O modelo é o cérebro do sistema de negociação algorítmica. Para tornar o sistema de negociação algorítmica mais inteligente, o sistema deve armazenar dados sobre todos os erros cometidos historicamente e adaptar os modelos internos de acordo com essas mudanças. De certa forma, isso constituiria autoconsciência (de erros) e auto-adaptação (calibração contínua do modelo). Dito isto, isso certamente não é um terminador!


Componente de Execução.


O componente de execução é responsável por passar pelas negociações que o modelo identifica. Esse componente precisa atender aos requisitos funcionais e não funcionais dos sistemas de negociação algorítmica. Por exemplo, a velocidade da execução, a frequência com que as negociações são realizadas, o período durante o qual as negociações são realizadas e o método pelo qual as ordens de negociação são roteadas para a troca precisam ser suficientes. Qualquer implementação do sistema de negociação algorítmica deve ser capaz de satisfazer esses requisitos. Neste artigo, proponho uma arquitetura aberta para sistemas de negociação algorítmica que, acredito, atende a muitos dos requisitos.


Componente Monitor.


A inteligência artificial aprende usando funções objetivas. Funções objetivas são geralmente funções matemáticas que quantificam o desempenho do sistema de negociação algorítmica. No contexto das finanças, as medidas de retorno ajustado ao risco incluem o índice de Treynor, o índice de Sharpe e o índice de Sortino. O componente do modelo no sistema de negociação algorítmica seria "solicitado" a maximizar uma ou mais dessas quantidades. O desafio com isso é que os mercados são dinâmicos. Em outras palavras, os modelos, a lógica ou as redes neurais que funcionavam antes podem parar de funcionar com o tempo. Para combater isso, o sistema de negociação algorítmica deve treinar os modelos com informações sobre os próprios modelos. Esse tipo de autoconsciência permite que os modelos se adaptem a ambientes em mudança. Penso nesta auto-adaptação como uma forma de calibração contínua de modelos para combater mudanças no regime de mercado.


Conclusão.


O Algorithmic Trading tornou-se muito popular na última década. Atualmente, é responsável pela maioria dos negócios realizados globalmente pelas bolsas e é atribuído ao sucesso de alguns dos fundos de hedge de melhor desempenho do mundo, principalmente o da Renaissance Technologies. Dito isto, ainda há muita confusão e erros em relação ao que é Algorithmic Trading e como isso afeta as pessoas no mundo real. Até certo ponto, o mesmo pode ser dito da Inteligência Artificial.


Demasiadas vezes, a investigação sobre estes tópicos centra-se exclusivamente no desempenho e esquecemos que é igualmente importante que os investigadores e profissionais construam modelos conceptuais e teóricos mais fortes e mais rigorosos, sobre os quais podemos avançar neste campo nos próximos anos. Quer queiramos ou não, os algoritmos moldam nosso mundo moderno e nossa confiança neles nos dá a obrigação moral de continuamente procurar entendê-los e aperfeiçoá-los. Deixo-vos com um vídeo intitulado "Como os Algoritmos moldam o nosso mundo", de Kevin Slavin.


Como os algoritmos moldam nosso mundo.


História anterior


Usando a programação genética para evoluir estratégias de negociação.


Próxima história.


Imperfeição Perfeita, Modelos Baseados em Agentes.


26 de setembro de 2015.


Eu escrevi alguns softwares GA básicos que negociam mercado de ações de forma lucrativa. É código aberto - código disponível no github. Mais informações aqui - genotick.


26 de setembro de 2015.


Obrigado por compartilhar, os resultados parecem bastante promissores :). Eu não me importaria de fazer um comentário sobre isso em algum momento, se você está aberto à idéia?


20 de outubro de 2015.


Certo. Estou lentamente adicionando mais ajuda ao programa e algumas informações disponíveis lá. Se você precisar de mais ajuda / explicação, me avise preferível via email.


Envie um comentário.


Cancelar resposta.


Siga Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


A Quantocracia é o melhor agregador de blogs de finanças quantitativas com links para novas análises publicadas todos os dias.


NMRQL é o fundo de hedge quantitativo do qual faço parte. Usamos o aprendizado de máquina para tentar vencer o mercado.


Forex estratégias de negociação quantitativa.


Participe do portal de associação privada da Quantcademy que atende à crescente comunidade de comerciantes de varejo de quantum. Você encontrará um grupo de comerciantes quânticos bem informados e com a mesma mentalidade, prontos para responder às suas perguntas mais prementes sobre negociação de quant.


Confira meu ebook sobre quant trading onde eu ensino como construir estratégias de trading sistemáticas lucrativas com ferramentas Python, do zero.


Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas Bayesianas, com Python e R.


Por Michael Halls-Moore em 26 de março de 2013.


Neste artigo, vou apresentar alguns dos conceitos básicos que acompanham um sistema de negociação quantitativo de ponta a ponta. Espera-se que este post atenda a dois públicos-alvo. O primeiro será indivíduos tentando obter um emprego em um fundo como um comerciante quantitativo. A segunda será pessoas que desejam tentar montar seu próprio negócio de comércio algorítmico "de varejo".


A negociação quantitativa é uma área extremamente sofisticada de finanças quânticas. Pode levar uma quantidade significativa de tempo para obter o conhecimento necessário para passar uma entrevista ou construir suas próprias estratégias de negociação. Não só isso, mas requer extensa experiência em programação, pelo menos em uma linguagem como MATLAB, R ou Python. No entanto, à medida que a frequência de negociação da estratégia aumenta, os aspectos tecnológicos tornam-se muito mais relevantes. Assim, estar familiarizado com o C / C ++ será de suma importância.


Um sistema de negociação quantitativo consiste em quatro componentes principais:


Identificação Estratégica - Encontrando uma estratégia, explorando uma vantagem e decidindo sobre a frequência de negociação Backtesting da estratégia - Obtendo dados, analisando o desempenho da estratégia e removendo vieses Sistema de Execução - Vinculando a uma corretora, automatizando a negociação e minimizando custos de transação tamanho da aposta "/ critério de Kelly e psicologia de negociação.


Começaremos dando uma olhada em como identificar uma estratégia de negociação.


Identificação de estratégia.


Todos os processos de negociação quantitativos começam com um período inicial de pesquisa. Este processo de pesquisa engloba encontrar uma estratégia, verificando se a estratégia se encaixa em um portfólio de outras estratégias que você pode estar executando, obtendo quaisquer dados necessários para testar a estratégia e tentando otimizar a estratégia para retornos mais altos e / ou menor risco. Você precisará levar em conta suas próprias necessidades de capital se administrar a estratégia como um operador de "varejo" e como os custos de transação afetarão a estratégia.


Ao contrário da crença popular, é bastante simples encontrar estratégias lucrativas por meio de várias fontes públicas. Os acadêmicos publicam regularmente resultados teóricos de negociação (embora, em sua maioria, sejam brutos dos custos de transação). Os blogs de finanças quantitativas discutirão as estratégias em detalhes. Os jornais de comércio delinearão algumas das estratégias empregadas pelos fundos.


Você pode questionar por que os indivíduos e as empresas estão interessados ​​em discutir suas estratégias lucrativas, especialmente quando sabem que outras pessoas "que estão ocupando o mercado" podem impedir que a estratégia funcione a longo prazo. A razão está no fato de que eles não costumam discutir os parâmetros exatos e os métodos de ajuste que eles realizaram. Essas otimizações são a chave para transformar uma estratégia relativamente medíocre em uma altamente lucrativa. Na verdade, uma das melhores maneiras de criar suas próprias estratégias únicas é encontrar métodos semelhantes e, em seguida, realizar seu próprio procedimento de otimização.


Aqui está uma pequena lista de lugares para começar a procurar ideias estratégicas:


Muitas das estratégias que você irá analisar se encaixarão nas categorias de reversão à média e tendência / momento. Uma estratégia de reversão à média é aquela que tenta explorar o fato de que existe uma média de longo prazo em uma "série de preços" (como o spread entre dois ativos correlatos) e que desvios de curto prazo dessa média acabarão sendo revertidos. Uma estratégia de momentum tenta explorar tanto a psicologia do investidor quanto a grande estrutura de fundos, "pegando carona" em uma tendência de mercado, que pode ganhar impulso em uma direção e seguir a tendência até que ela se reverta.


Outro aspecto extremamente importante da negociação quantitativa é a frequência da estratégia de negociação. A negociação de baixa frequência (LFT) geralmente se refere a qualquer estratégia que detenha ativos por mais de um dia de negociação. Correspondentemente, a negociação de alta frequência (HFT) geralmente se refere a uma estratégia que mantém ativos intraday. Negociação de frequência ultra-alta (UHFT) refere-se a estratégias que mantêm ativos na ordem de segundos e milissegundos. Como profissionais de varejo, HFT e UHFT certamente são possíveis, mas apenas com conhecimento detalhado da "pilha de tecnologia" e da dinâmica do livro de pedidos. Não vamos discutir esses aspectos em grande medida neste artigo introdutório.


Uma vez que uma estratégia, ou conjunto de estratégias, tenha sido identificada, ela agora precisa ser testada quanto à lucratividade nos dados históricos. Esse é o domínio do backtesting.


Backtesting de estratégia.


O objetivo do backtesting é fornecer evidências de que a estratégia identificada por meio do processo acima é lucrativa quando aplicada a dados históricos e fora da amostra. Isso define a expectativa de como a estratégia funcionará no "mundo real". No entanto, backtesting não é garantia de sucesso, por várias razões. É talvez a área mais sutil do comércio quantitativo, uma vez que implica inúmeros vieses, que devem ser cuidadosamente considerados e eliminados, tanto quanto possível. Discutiremos os tipos comuns de polarização, incluindo viés de antecipação, viés de sobrevivência e viés de otimização (também conhecido como viés de "espionagem de dados"). Outras áreas de importância dentro do backtesting incluem a disponibilidade e a limpeza de dados históricos, levando em consideração custos de transação realistas e decidindo sobre uma plataforma robusta de backtesting. Discutiremos os custos de transação na seção Sistemas de Execução abaixo.


Uma vez que uma estratégia tenha sido identificada, é necessário obter os dados históricos através dos quais realizar testes e, talvez, refinamento. Há um número significativo de fornecedores de dados em todas as classes de ativos. Seus custos geralmente variam de acordo com a qualidade, profundidade e pontualidade dos dados. O ponto de partida tradicional para os comerciantes de quantia iniciais (pelo menos no nível de varejo) é usar o conjunto de dados gratuito do Yahoo Finance. Não vou me debruçar muito sobre fornecedores aqui, em vez disso, gostaria de me concentrar nas questões gerais ao lidar com conjuntos de dados históricos.


As principais preocupações com dados históricos incluem exatidão / limpeza, viés de sobrevivência e ajuste para ações corporativas, como dividendos e desdobramentos:


Precisão pertence à qualidade geral dos dados - se contém algum erro. Às vezes, os erros podem ser fáceis de identificar, como com um filtro de pico, que detecta "picos" incorretos nos dados de séries temporais e os corrige. Em outras ocasiões, podem ser muito difíceis de detectar. Muitas vezes é necessário ter dois ou mais provedores e, em seguida, verificar todos os seus dados uns contra os outros. O viés de sobrevivência é muitas vezes uma "característica" de conjuntos de dados gratuitos ou baratos. Um conjunto de dados com viés de sobrevivência significa que ele não contém ativos que não estão mais sendo negociados. No caso de ações, isso significa ações excluídas / falidas. Esse viés significa que qualquer estratégia de negociação de ações testada em tal conjunto de dados provavelmente terá um desempenho melhor do que no "mundo real", já que os "vencedores" históricos já foram pré-selecionados. As ações corporativas incluem atividades "logísticas" realizadas pela empresa, que geralmente causam uma mudança na função de etapa do preço bruto, que não deve ser incluída no cálculo dos retornos do preço. Ajustes para dividendos e desdobramentos são os culpados comuns. Um processo conhecido como ajuste de costas é necessário para ser realizado em cada uma dessas ações. É preciso ter muito cuidado para não confundir uma divisão de ações com um verdadeiro ajuste de retorno. Muitos traders foram pegos por uma ação corporativa!


Para realizar um procedimento de backtest, é necessário usar uma plataforma de software. Você tem a escolha entre softwares backtest dedicados, como o Tradestation, uma plataforma numérica como o Excel ou o MATLAB ou uma implementação personalizada completa em uma linguagem de programação como Python ou C ++. Eu não vou me demorar muito em Tradestation (ou similar), Excel ou MATLAB, como eu acredito em criar uma pilha de tecnologia interna completa (por razões descritas abaixo). Um dos benefícios disso é que o software de backtest e o sistema de execução podem ser totalmente integrados, mesmo com estratégias estatísticas extremamente avançadas. Para as estratégias de HFT, em particular, é essencial usar uma implementação personalizada.


Ao fazer o backtest de um sistema, é preciso ser capaz de quantificar o desempenho do mesmo. As métricas "padrão da indústria" para estratégias quantitativas são o rebaixamento máximo e o Índice de Sharpe. O rebaixamento máximo caracteriza a maior queda de ponta a ponta na curva de patrimônio da conta em um determinado período de tempo (geralmente anual). Isso é mais frequentemente citado como uma porcentagem. As estratégias de LFT tenderão a ter rebaixamentos maiores do que as estratégias de HFT, devido a vários fatores estatísticos. Um backtest histórico mostrará o último drawdown máximo, que é um bom guia para o futuro desempenho de drawdown da estratégia. A segunda medida é o Índice de Sharpe, que é definido heuristicamente como a média dos retornos excedentes dividida pelo desvio padrão desses retornos excedentes. Aqui, os retornos excedentes referem-se ao retorno da estratégia acima de um benchmark pré-determinado, como o S & P500 ou um Tesouro de 3 meses. Note-se que o retorno anualizado não é uma medida normalmente utilizada, pois não leva em conta a volatilidade da estratégia (ao contrário do Índice de Sharpe).


Uma vez que uma estratégia tenha sido testada novamente e seja considerada livre de vieses (na medida em que isso seja possível!), Com um bom Sharpe e rebaixamentos minimizados, é hora de construir um sistema de execução.


Sistemas de Execução.


Um sistema de execução é o meio pelo qual a lista de negociações geradas pela estratégia é enviada e executada pelo intermediário. Apesar do fato de que a geração de comércio pode ser semi ou totalmente automatizada, o mecanismo de execução pode ser manual, semi-manual (ou seja, "um clique") ou totalmente automatizado. Para estratégias de LFT, técnicas manuais e semi-manuais são comuns. Para as estratégias de HFT, é necessário criar um mecanismo de execução totalmente automatizado, que muitas vezes será fortemente acoplado ao gerador de comércio (devido à interdependência entre estratégia e tecnologia).


As principais considerações ao criar um sistema de execução são a interface com a corretora, a minimização dos custos de transação (incluindo comissão, derrapagem e spread) e a divergência de desempenho do sistema ao vivo do desempenho do backtested.


Há muitas maneiras de interagir com uma corretora. Eles variam de chamar seu corretor por telefone até uma Application Programming Interface (API) de alto desempenho totalmente automatizada. O ideal é que você queira automatizar a execução de seus negócios o máximo possível. Isso libera você para se concentrar em mais pesquisas, bem como permitir que você execute várias estratégias ou mesmo estratégias de maior frequência (na verdade, HFT é essencialmente impossível sem execução automatizada). O software comum de backtesting descrito acima, como MATLAB, Excel e Tradestation, é bom para estratégias mais simples e de menor frequência. No entanto, será necessário construir um sistema de execução interno escrito em uma linguagem de alto desempenho, como C ++, para fazer qualquer HFT real. Como uma anedota, no fundo em que eu costumava trabalhar, tínhamos um "ciclo de negociação" de 10 minutos, onde baixávamos novos dados de mercado a cada 10 minutos e depois executávamos negociações com base nessas informações no mesmo período de tempo. Isso estava usando um script Python otimizado. Para qualquer coisa que se aproxime de dados de frequência de minutos ou segundos, acredito que C / C ++ seria mais ideal.


Em um fundo maior, muitas vezes não é o domínio do comerciante de quantificação para otimizar a execução. No entanto, em pequenas lojas ou empresas de HFT, os comerciantes são os executores e, portanto, um conjunto de habilidades muito mais amplo é geralmente desejável. Tenha isso em mente se você deseja ser empregado por um fundo. Suas habilidades de programação serão tão importantes, se não mais, do que suas estatísticas e talentos econométricos!


Outra questão importante que cai sob a bandeira da execução é a minimização dos custos de transação. Geralmente, há três componentes nos custos de transação: Comissões (ou impostos), que são as taxas cobradas pela corretora, pela bolsa e pela SEC (ou órgão regulador governamental similar); escorregamento, que é a diferença entre o que você pretendia que seu pedido fosse preenchido versus o que foi realmente preenchido; spread, que é a diferença entre o preço de compra / venda do título negociado. Observe que o spread NÃO é constante e depende da liquidez atual (ou seja, disponibilidade de ordens de compra / venda) no mercado.


Os custos de transação podem fazer a diferença entre uma estratégia extremamente lucrativa com um bom índice de Sharpe e uma estratégia extremamente não lucrativa com um índice de Sharpe terrível. Pode ser um desafio prever corretamente os custos de transação de um backtest. Dependendo da frequência da estratégia, você precisará acessar os dados históricos do câmbio, que incluirão dados de ticks para preços de compra / venda. Equipes inteiras de quantos são dedicadas à otimização da execução nos fundos maiores, por esses motivos. Considere o cenário em que um fundo precisa descarregar uma quantidade substancial de negociações (das quais as razões para isso são muitas e variadas!). Ao "despejar" tantas ações no mercado, elas rapidamente deprimirão o preço e podem não obter uma execução ideal. Daí algoritmos que "gotejam feed" ordens para o mercado existem, embora o fundo corre o risco de derrapagem. Além disso, outras estratégias "atacam" essas necessidades e podem explorar as ineficiências. Este é o domínio da arbitragem da estrutura do fundo.


A última grande questão para os sistemas de execução diz respeito à divergência de desempenho da estratégia do desempenho do backtested. Isso pode acontecer por vários motivos. Já analisamos o viés de look-ahead e o viés de otimização em profundidade, ao considerar os backtests. No entanto, algumas estratégias não facilitam o teste desses vieses antes da implantação. Isso ocorre em HFT mais predominantemente. Pode haver bugs no sistema de execução, bem como a própria estratégia de negociação que não aparece em um backtest, mas aparece no live trading. O mercado pode ter sido sujeito a uma mudança de regime após a implantação de sua estratégia. Novos ambientes regulatórios, mudanças no sentimento do investidor e fenômenos macroeconômicos podem levar a divergências na forma como o mercado se comporta e, consequentemente, na rentabilidade de sua estratégia.


Gerenciamento de riscos.


A peça final do quebra-cabeça de negociação quantitativa é o processo de gerenciamento de risco. "Risco" inclui todos os vieses anteriores que discutimos. Isso inclui risco de tecnologia, como servidores co-localizados na central de repente desenvolvendo um mau funcionamento do disco rígido. Isso inclui risco de corretagem, como o corretor estar falido (não tão louco quanto parece, dado o recente susto com a MF Global!). Em suma, abrange quase tudo o que poderia interferir com a implementação comercial, dos quais existem muitas fontes. Livros inteiros são dedicados à gestão de risco para estratégias quantitativas, então eu não tentarei elucidar todas as possíveis fontes de risco aqui.


A gestão de risco também abrange o que é conhecido como alocação de capital ideal, que é um ramo da teoria de portfólio. Esse é o meio pelo qual o capital é alocado a um conjunto de estratégias diferentes e aos negócios dentro dessas estratégias. É uma área complexa e depende de algumas matemáticas não triviais. O padrão da indústria pelo qual a alocação ótima de capital e a alavancagem das estratégias estão relacionadas é chamado de critério de Kelly. Como este é um artigo introdutório, não vou me alongar em seu cálculo. O critério de Kelly faz algumas suposições sobre a natureza estatística dos retornos, que muitas vezes não são verdadeiros nos mercados financeiros, de modo que os operadores geralmente são conservadores quando se trata da implementação.


Outro componente fundamental do gerenciamento de riscos é lidar com o próprio perfil psicológico. Existem muitos vieses cognitivos que podem surgir na negociação. Embora isso seja reconhecidamente menos problemático com negociação algorítmica se a estratégia for deixada em paz! Um viés comum é o da aversão à perda, em que uma posição perdedora não será fechada devido à dor de ter que perceber uma perda. Da mesma forma, os lucros podem ser tomados muito cedo porque o medo de perder um lucro já ganho pode ser muito grande. Outro viés comum é conhecido como viés de recência. Isso se manifesta quando os operadores enfatizam demais os eventos recentes e não a longo prazo. Então, é claro, há o par clássico de preconceitos emocionais - medo e ganância. Estes podem muitas vezes levar a sub ou sobre-alavancagem, o que pode causar blow-up (ou seja, o título da conta indo para zero ou pior!) Ou lucros reduzidos.


Como pode ser visto, o comércio quantitativo é uma área extremamente complexa, embora muito interessante, de financiamento quantitativo. Eu literalmente arranhei a superfície do tópico neste artigo e já está ficando bastante longo! Livros e documentos inteiros foram escritos sobre questões para as quais eu só dei uma ou duas sentenças. Por esse motivo, antes de se candidatar a cargos quantitativos de negociação de fundos, é necessário realizar uma quantidade significativa de estudo de base. No mínimo, você precisará de um extenso conhecimento em estatística e econometria, com muita experiência em implementação, por meio de uma linguagem de programação como MATLAB, Python ou R. Para estratégias mais sofisticadas no final de frequência mais alta, seu conjunto de habilidades é provável para incluir a modificação do kernel do Linux, C / C ++, programação de montagem e otimização de latência de rede.


Se você estiver interessado em tentar criar suas próprias estratégias de negociação algorítmica, minha primeira sugestão seria se programar bem. Minha preferência é construir o máximo possível de dados capturados, backtester de estratégia e sistema de execução. Se o seu próprio capital está em jogo, não dormiria melhor à noite sabendo que você testou completamente o seu sistema e está ciente de suas armadilhas e problemas específicos? Terceirizar isso para um fornecedor, enquanto potencialmente economiza tempo a curto prazo, pode ser extremamente caro a longo prazo.


Apenas começando com negociação quantitativa?


3 razões para subscrever a lista de e-mail QuantStart:


1. Quantas lições de negociação.


Você terá acesso instantâneo a um curso gratuito de 10 partes por e-mail, repleto de dicas e sugestões para ajudá-lo a começar a fazer negociações quantitativas!


2. Todo o conteúdo mais recente.


Toda semana eu lhe enviarei um resumo de todas as atividades no QuantStart, assim você nunca mais perderá um post.


Dicas de negociação de quantias reais e acionáveis ​​sem disparates.


Junte-se a mais de 10.000 membros ativos que recebem o.


Você encontrou as informações que você precisa sobre o tópico Forex estratégias de negociação quantitativa?


Fórum Forex.


Fórum Italiano do Mundo de Forex online, con tanti consigli su vindo guadagnare col Forex!


NEGOCIAÇÃO - METODI QUANTITATIVI.


NEGOCIAÇÃO - METODI QUANTITATIVI.


Questo thread nasce dall'incoraggiamento di Carlo che dopo un caloroso benvenuto mi ha spinto a scrivere questi primi post introduttivi.


Nella mia presentazione ho evidenziato come (almeno per me) il trading quantitativo sia andato pian piano sostituendo a negociação basal principalmente sull'analisi tecnica (ação de preço em primis).


O meu contributo para o seu contributo (compatibilidad con i miei tempi) in mode costruttivo al forum, e spero che nepacnere una serena e proficua colaboración con tutti coloro interessati ad approfondire questo tipo di approccio ai mercati.


Iniziamo a chiarire cosa intendo por "trading quantitativo": TQ.


Por TQ, na base de um banco de dados, uma quantificabili de valori in maniera oggettiva.


Non si studia il grafico, non si cercano padrao di analisi tecnica, non si cercano incroci tr indicatori disegnati, ma si opera using dei valori quantitatitivi di uno o di una combinazione di strumenti.


Una volta stabilite le regole. l'operativita 'e' assolutamente oggettiva.


La soggettivita 'riguarda solo il buon senso (inédita in una posizione se dopo 1 ora c'e' una notizia riguardante i tassi di interest o un Non-Farm Payroll)


Por que mi riguarda evito (e consiglio di evitare) lo scalping.


Lasmamo lo escalpelamento e negociação de alta frequência (HFT) é um processo permeável tecnicamente operacional.


Non vedo che senso abbia apriz posizioni in cui (por tarifa paga) pago 1 pip por spread por guadagnarne 4 o 5. è vem pagare una tassa de 20% -25% su ogni trade. il gioco não vale a candela.


Cerchiamo invece delle operazioni in cui i costi operativi siano quantomeno margini sul bilancio della trade.


Por exemplo, pagam 1,2 anche 5 pips di spread su un operazione che ce ne fa portare a casa 200/400 rappresenta un percentual assolutamente marginale nell'economia dell'operazione.


Por cui primo consiglio. operare con Time Frame quanto piu 'alto possibile. proprio por minimizzare l'incidenza delle spese di operativita '.


Secondo punto. Diferenziamo!


A responsabilidade e a incapacidade de realizar um trabalho só podem ser resolvidos (por exemplo, o EURUSD) e o lavorano solo su quello.


Uno dei requisiti principa per operare sui mercati finanziari è quello di differenziare, e allora. differenziamo!


Abbiamo un universo di strumenti tra i quali scegliere. useziamo tutte le frecce a nostra disposizione, creiamoci una posizione equilibrata, diversificata, non ridondante (iniile riempire il portafoglio di strumenti tra loro correlati!)


Abysmo o FOREX, gli indici, le commodities, ETF, ETC, ETN, certificados de investimento, obbligazioni, conti deposito !! Sfruttiamo tutti questi strumenti!


Se possivel creiamoci un portafoglio di breve, uno di medio e uno di lungo termine!


Ogni portafoglio avra 'una propria gestione separi a permetterà di coprire diversa esigenze e diversa fasi di mercato.


Insomma, non incaponiamoci a voler longe negociação solo sul povero eurodollaro. i nostri broker mettono a disposizione un universo di strumenti tradabili. combiniamoli, creiamoci diversi portafogli e gestiamoli!


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Confiança não vem de estar certo todas as vezes; vem de sobreviver às muitas ocasiões de estar errado.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Ti ringrazio, un saluto.


por essere sicuro quando se trata de negociar quantitativo ti riferisci um DeMark, Connors, Raschke e compagni?


Cioè gestori che (por dirla alla wikipedia) "cujas decisões de negociação são guiadas por modelos desenvolvidos a partir de pesquisa científica e análise matemática."


Negociação Ciao e Buon.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Confiança não vem de estar certo todas as vezes; vem de sobreviver às muitas ocasiões de estar errado.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Se não sai perdere, lascia perdere.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


Riferimenti de solo do dei de Che mi hai chiesto de solo. e se devo citare dei modelli. meglio citare i migliori.


um corretor de qualidade (magari con diversi strumenti tradabili) ed Excel vanno piu 'che bene.


Stiamo solo tentando di avere un approccio "diversificato" agli strumenti finanziari. niente di trascendentale o troppo complicato.


Nulla che non si possa fare con metodo, dati, qualité tabella e qualche calcolo.


Poi ci sara 'magari il tempo and the volontà di approfondire e sviluppare il discorso a livelli più "complessi" ma, ripeto, per qui mi riguarda, al moments nulla di più qualche chiacchiera sulla diversificazione e un un approccio "un po' piu 'oggettivo "al mercato.


Re: NEGOCIAÇÃO - METODI QUANTITATIVI.


allora, proviamo a vedere se riusciamo a sviluppare una semplice ltda a ci permetta di gestire un piccolo portafoglio.


Abbiamo detto che incaponiirs un solo strument potrebbe essere deleterio e the uno dei cardini degli investimenti and 'la diversificazione.


Bem. Proviamo um diversificare.


Ogni settimana possiamo mettere em campo solo 5 giocatori.


Cosa fa un buon allenatore?


Mette in campo i giocatori migliori e quelli che sono piu 'in forma.


No potenciômetro fare una cosa simile. .


Solitamente eu nostri corretor ci mettono um disposizione una trentina di strumenti con espalhou non mostruosi.


Dicemo che vogliamo provare a crearci un portafoglio.


Cosa potremmo tarifa?


ATENÇÃO STO SEMPLIFICANDO !! Il discorso sarebbe molto piu 'complesso ed articolato. Questo e 'solo un esempio.


elementare per mostrare come s piu 'operare sui mercati senza stare ad impazzire notte e giorno con l'analisi tecnica e grafica. E 'solo un.


modo por prover um approccio diverso ai mercati e una spinta a DIFFERENZIARE GLI INVESTIMENTI.


Diciamo che vogliamo controlare il nostro portafoglio una volta al mese e vorremmo sfruttare eventuali trend di circa 3/6 mesi.


Potremmo stilare una classifica dei cross a disposizione, ordinandoli per performance (ROC, o momentum, per esempio).


Em cima, na lista de saran, eu cruzo com o negrume 3 mesi hanno avuto una performance migliore (i giocatori piu 'forti) e no fondo all lista quelli che.


hanno avuto la desempenho peggiore.


Una volta ottentuta questa classifica, punteremo sul fatto che il trend dei migliori continuerà ancora per un certo periodo (il.


nostro orizzonte temporale personale).


A questo punto metteremo in portafoglio i primi 5 strumenti in classifica.


Qui ci sarebbe da aprire una parentesi (lunghissima ) per studiare i pesi di ogni singolo strumento nel nostro portafoglio, volatilita', correlazioni,


tipo di strumento, etc. ma come vi dicevo sto SEMPLIFICANDO e andremmo fuori tema al momento ;-)


Alla fine del mese vado a stilare ancora una volta la classifica di performance della rosa di strumenti.


Vedro' che alcuni avranno modificato posizione (per esempio il quarto sara' passato secondo, il primo sarà passato terzo e cosi' via).


Alcuni saranno usciti dalla top five (e usciranno dal nostro portafoglio. ). Buoni giocatori ma forse troppo stanchi . per tornare alla nostra similitudine sportiva.


Altri invece saranno entrati nei primi 5 (stelle emergenti ? ) ed entreranno nel nostro portafoglio.


Su alcuni avro' subito delle perdite (probabilmente quelli che sono usciti dalla top five) su altri avro' in essere un guadagno (probabilmente sul quarto passato secondo, etc).


Ma al momento non mi interessa. quello che devo fare e' seguire con disciplina questa metodologia nei mesi successivi.


Il vantaggio di un sistema simile a questo e' che e' assolutamente oggettivo, non ci sono target price o stop loss da decidere (se non un hard stop loss, per evitare cigni neri e crolli importanti), basta ribilanciare il portafoglio ogni mese.


A voi stabilire orizzonti temporali, identificare strumenti da utilizzare, valutare correlazioni e volatilita', decidere se creare un portaglio solo long o anche short, eventuali stop loss, etc.


A voi aguzzare l'ingegno per varianti sempre piu' fantasiose ed efficaci.


A voi studio di scenari WHAT IF.. e backtesting (se volete).


Insomma, io ho buttato il sasso nello stagno con questo primo approccio. Altri (con i miei tempi ) ne seguiranno . se interessati.


Per ora spero di avervi fatto riflettere su un nuovo approccio e sull'importanza della DIVERISIFICAZIONE (lo avevo gia' detto ? )


QuantStrat TradeR.


Negociação, QuantStrat, R e mais.


Um sistema de negociação de martelo & # 8212; Demonstração de Ordens Limitadas Baseadas em Indicadores Customizados no Quantstrat.


Então, várias semanas atrás, eu decidi ouvir em um webinar (e eu mesmo vou dar uma usando quantstrat em 3 de setembro para Big Mike's Trading, veja o link). Entre algumas dessas conversações, havia um sistema de negociação chamado de "Trend Turn Trade Take Profit", e "# 8221; system. Este é o sistema dele:


Defina uma tendência de alta como um SMA10 acima de um SMA30.


Defina um recuo como um SMA5 abaixo de um SMA10.


Defina um martelo como uma vela com uma sombra superior a menos de 20% da sombra inferior e um corpo com menos de 50% da sombra inferior. Entre na parte alta do martelo, com o limitador de perda na parte inferior do martelo e um terço adicional na faixa. A meta de lucro é de 1,5 a 1,7 vezes a distância entre a entrada e o preço de parada.


Adicionalmente (não testado aqui) foi o padrão de engorduramento de alta, que é um padrão de duas barras com as condições de um dia de baixa seguido por um dia de subida no qual a abertura do dia de subida foi menor que o fim do dia de descida, e o fechamento do dia up foi maior que o dia anterior, com a parada definida como a mínima do padrão e a meta de lucro no mesmo local.


Esse sistema foi anunciado como sendo correto em cerca de 70% do tempo, com negociações cujas vitórias foram 1,6 vezes maiores do que as perdas, então decidi investigar.


O lado positivo deste post, além de investigar o sistema de outra pessoa, é que ele me permitirá demonstrar como criar pedidos mais detalhados com o quantstrat. O melhor ponto de venda para o quantstrat, na minha opinião, é que ele fornece uma estrutura para fazer praticamente qualquer coisa que você queira, desde que você saiba como fazê-lo (não é trivial). Em qualquer caso, a coisa mais importante a tirar dessa estratégia é que é possível criar alguns pedidos personalizados interessantes com alguma sintaxe diferenciada.


Aqui está a sintaxe para esta estratégia:


Eu adicionei uma regra adicional para a estratégia em que, se a tendência se inverte (SMA10 & lt; SMA30), para sair do comércio.


First off, let's take a closer look at the entry and exit rules.


As regras usadas aqui usam alguns novos conceitos que eu não usei em posts anteriores. Em primeiro lugar, o argumento de orderset coloca todas as ordens dentro de uma ordem definida como um mecanismo de cancelamento de outra. Em seguida, a sintaxe order. price funciona de forma semelhante à sintaxe de dados de mercado na especificação de indicadores & # 8212; EG add. indicator(strategy. st, name=”SMA”, arguments=list(x=quote(Cl(mktdata)), etc…), except this time, it specifies a certain column in the market data (which is, in fact, what Cl(mktdata) does, or HLC(mktdata), and so on), but also, the [timestamp] syntax is necessary so it knows what specific quantity in time is being referred to.


Para pedidos take-profit, como você deseja vender acima do mercado ou comprar abaixo do mercado, o tipo correto de pedido (ou seja, o argumento ordertype) é uma ordem de limite. Com stop-loss ou trailing stops (não mostrados aqui), uma vez que você deseja vender abaixo do mercado ou comprar acima do mercado, o ordertype correto é uma ordem stoplimit.


Finalmente, a regra que eu adicionei (a saída SMA) na verdade melhora o desempenho da estratégia (eu queria dar a esse sistema o benefício da dúvida).


Aqui estão os resultados, com a estratégia alavancada até 0,1 pctATR (as estratégias usuais que testo variam entre 0,02 e 0,04):


Em suma, olhando para as estatísticas do comércio, este sistema está "longe" do que foi anunciado. Na verdade, aqui está a curva de capital.


Tudo, menos espetacular, nos últimos anos, e é por isso que suponho que era gratuito distribuí-lo em um webinar. No geral, no entanto, os últimos anos têm acabado de ver os S & amp; P apenas continuarem a alcançar essa estratégia. No final do dia, é um sistema altamente inexpressivo na minha opinião, e eu não vou explorar os outros aspectos dele ainda mais. No entanto, como um exercício em mostrar algumas características diferenciadas do quantstrat, acho que este foi um esforço que valeu a pena.


Obrigado pela leitura.


Compartilhar isso:


Relacionado


Pós-navegação.


11 pensamentos sobre & ldquo; Um sistema de negociação de martelo & # 8212; Demonstrando Ordens Limitadas Baseadas em Indicadores Personalizados em Quantstrat & rdquo;


Eu poderia interpretar os resultados dos últimos 7 anos (o que é muito curto para mim) como trabalhando MUITO eficazmente em limitar as perdas quando você está preocupado que você está perto do topo de um mercado em alta ou em um mercado de urso.


Uma análise diferente em que você aplicou mais tarde no mercado de touro seria interessante.


Eu pensaria em aplicá-lo agora depois de ter desfrutado de vários anos de bons retornos.


Um bom ponto, Alan, mas de todos os sistemas que eu troquei, nenhum deles teve suas curvas de patrimônio apenas cague fora o modo que isto tem. Quanto aos últimos sete anos, a questão é que os ETFs não voltam tão longe, e hesito em usar os preços ajustados das ações, devido aos dividendos serem computados quando o sistema pode não ter uma posição para receber o dividendo, mas, por outro lado, você tem a questão dos desdobramentos, e assim por diante.


Além disso, suponho que meus padrões para sistemas de negociação também possam ser mais rigorosos. Se um sistema perde mais do que 5% em qualquer ano, isso já é um sinal preocupante para mim.


See, the way I approach trading systems isn’t that they’re supposed to hit home runs so much as consistently bat singles, aka have a good Sharpe ratio and good return to drawdown metrics.


A bad system is a bad system, but a system, even with low absolute returns, but great return for risk can be leveraged to meet the appropriate return/risk appetite.


Oi Ilya, como posso acessar barras anteriores no indicador?


por exemplo, eu quero construir o indicador fractal de Bill Williams, que precisa procurar 5 barras para construí-lo.


Eu sei como fazer referência a barra atual (como você tem no seu exemplo acima), mas como eu olho para trás?


Eu cam em R e quantstrat e todos os outros módulos neste contexto recentemente e também assisti ao seu webinar Big Mike, que foi muito útil.


Related to this post, I am not interested in the strategy itself, but what I need for my backtests is to have stop-limit orders at the high of the candle (just as here) and a stop loss at the low of a candle.


Eu apliquei o seu exemplo ao estoque da maçã e verifiquei muitas trocas manualmente e o que eu vi é o seguinte problema:


& # 8211; Se nos próximos dias o Open for maior do que o anterior dias High (então existe um intervalo) então o sistema continuará comprando este novo preço aberto, que é muito alto & # 8221; e, em alguns casos, é ainda maior do que o preço de take-profit. The system then buys for the higher price, and sells the next day for the lower take profit price, therefore making a loss. É assim que as ordens de limite de parada devem funcionar? I would expect that it the open is already above the stop limit order price, that the order is not executed but changed into a pending limit order at least and only triggers, if the price goes back down. Não tendo nenhum dado intradiário disponível, eu esperaria, portanto, que o quantstrat só entrasse na posição comprada se não houvesse hiato ou somente quando o mercado caísse em outro dia depois, sem que qualquer condição de saída fosse desencadeada antes disso.


& # 8211; Outro problema que eu não tenho certeza ainda é como, se a vela após a vela de sinal tiver uma alta mais alta e uma baixa mais baixa, portanto, acertar a ordem de entrada e saída (stop loss) no mesmo dia . Então não está claro se, na realidade, o mercado subiu primeiro, acionando a entrada longa e depois caiu para vender com uma perda, ou se o nível baixo foi atingido primeiro, cancelando o sinal completamente e, portanto, não entrando em nenhuma negociação. todos.


Eu estou querendo saber se e como eu posso usar o quantstrat para lidar com ambas as situações.


1. não entrar no mercado se o preço exato de compra não for visto.


2. defining a way to deal with ambigious situations. Isso poderia ser para tratar esses casos sempre como perda de 100% ou como perda de 50% etc.


Another problem I have not found a way yet is how I can calculate the order sizing based on the stop-loss price, so to say, having a fixed amoung of money at stake with each trade. Mas isso é outra história. Também como a margem de negociação poderia ser simulada (o que significa: bloqueio de parte do capital se abrir um negócio, mas não 100% como para operações de ações reais)


Obrigado pelo seu conselho, se você tiver algum!


Em limites de parada: eles têm uma definição muito estrita, que está no seu limite ou ultrapassa seu limite. Quantstrat não vai ler sua mente. O que você pode querer fazer é colocar em algum tipo de ordem de saída automática, se houver uma lacuna.


Em relação à alavancagem / margem: você pode dimensionar seus negócios como quiser. O capital inicial não tem efeito sobre isso, a menos que você o vincule diretamente ao seu tamanho do pedido. Veja minha função de dimensionamento de pedidos ATR no início do meu blog para inspiração de como fazer isso.


Thanks for the super fast reply. Eu entendo o modelo de ordem stoplimit de quantstrat agora. Eu estou tentando simular o que eu faria na realidade da melhor forma possível.


Eu na verdade, porém, sobre uma ordem de saída automática que imediatamente sairia da posição novamente, no entanto, parece não haver uma quantstrat imediatamente no & # 8211; the exit is only on the next day, so prices could have moved significantly until then.


Portanto, seu comentário me faz pensar que eu poderia querer dividir artificialmente cada linha de dados em duas linhas, com a primeira tendo apenas O = H = L = C = aberta da barra real, e a segunda como a barra real. Dado que quantstrat é um próximo sistema de comércio de barras, eu poderia então em tais barras gerar as ordens de entrada reais para o dia seguinte. Eu importo meus sinais como valores VERDADEIROS / FALSOS junto com os dados de OHLC de um sistema externo, portanto não sou dependente de cálculos de indicadores relacionados a preços.


É claro que eu não espero que um software leia minha mente. Tenho certeza de que o que eu quero fazer é 100% descritível e sem ambigüidade, para que possa ser modelado.


Se você acha que isso faz sentido, eu ficarei feliz em descrever essa abordagem (depois de descobrir isso haha) e publicá-la em algum lugar, se ela for utilizável em geral.


Eu observei seu webnar e estava tentando reproduzir seu código, mas tenho algum problema durante o & # 8220; applyStrategy & # 8221 ;. Acho que digitei algo errado durante o meu script. Você tem o script para comparação? Eu tentei ver todos os tipos e eu encontrei dois deles, mas ainda não funcionou. Quando corro, & # 8220; sair & # 8221; tornar-se vazio e não simular os negócios.


Obrigado pela sua atenção.


Verifique os seus casos, e leia o & # 8220; Nuts and Bolts of Quantstrat & # 8221; Series. Muitas partes móveis diferenciam maiúsculas de minúsculas.


Foi outro erro de digitação, obrigado pela sua resposta e continue com o bom trabalho. Seu blog é incrível e eu estou aprendendo muito. Continue postando!

Comments

Popular Posts