Monday 16 April 2018

Software forex quant


Forex quant software
- ações, opções, futuros, moedas, cestas e instrumentos sintéticos personalizados são suportados.
- múltiplos feeds de dados de baixa latência suportados (velocidade de processamento em milhões de mensagens por segundo em terabytes de dados)
- C # e estratégia baseada em backtesting e otimização.
- Execução de vários corretores suportada, sinais comerciais convertidos em pedidos FIX.
- QuantDEVELOPER - framework e IDE para estratégias de negociação desenvolvimento, depuração, backtesting e otimização, disponível como um plug-in do Visual Studio.
- QuantDATACENTER - permite gerenciar um data warehouse histórico e capturar dados de mercado em tempo real ou de baixa latência de provedores e trocas.
- QuantENGINE - permite implantar e executar estratégias pré-compiladas.
- multi-ativos, dados de latência de vários períodos, múltiplos corretores suportados.
- OpenQuant - C # e VisualBasic sistema de nível de backtesting e negociação, multi-ativos, testes de nível intradiário, otimização, WFA etc., vários corretores e feeds de dados suportados.
- QuantTrader - ambiente de comércio de produção.
- QuantBase - gerenciamento centralizado de dados.
- QuantRouter - roteamento de dados e pedidos.
- solução multi-ativos, múltiplos feeds de dados suportados, banco de dados suporta qualquer tipo de RDBMS fornecendo uma interface JDBC, e. Oracle, Microsoft SQL Server, Sybase, MySQL etc.
- os clientes podem usar o IDE para rotear sua estratégia em Java, Ruby ou Python, ou podem usar sua própria estratégia IDE.
- Execução de vários corretores suportada, sinais comerciais convertidos em pedidos FIX.
- solução multi-ativos (forex, opções, futuros, ações, ETFs, commodities, instrumentos sintéticos e spreads de derivativos personalizados, etc.), vários feeds de dados são suportados.
- estrutura para desenvolvimento de estratégias de negociação, depuração, backtesting e otimização.
- Execução de vários corretores suportados, sinais comerciais convertidos em pedidos FIX (IB, JPMorgan, FXCM etc.)
- dados diários e intradiários (estoques de nós por 43 + anos, futuros por mais de 61 anos)
- Prático para sinais baseados em preços de backtesting (análise técnica), suporte para a linguagem de programação EasyLanguage.
- apoiando ações e ETFs dos EUA, futuros, índices dos EUA, ações alemãs, índices alemães, forex.
- US $ 249,95 mensalmente para não profissionais (plataforma de software Tradestation somente, sem corretagem)
- $ 299,95 mensalmente para profissionais (apenas plataforma de software de tradestation, sem corretagem)
- suporte a estratégias diárias / intradias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados, análise multi-threaded, gráficos 3D, análise WFA etc.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- link direto para eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, qualquer feed compatível com DDE, MS, txtfiles e mais (Yahoo Finance.)
- backtesting e trading do sistema de nível de portfólio, multi-ativos, teste de nível intradiário, otimização, visualização, etc.
- permite a integração R, negociação automática na linguagem de script Perl com todas as funções subjacentes escritas em C nativo, preparadas para co-localização do servidor.
- Suporte nativo FXCM e Interactive Brokers.
- Suporte de estratégias diárias / intradiárias, teste de nível de portfólio e otimização - melhor para testes baseados em preços de backtesting (análise técnica), C # scripting - extensões de software suportadas - manipulação de feeds de dados, execução de estratégia, etc.
- Dados de Axioma ou de terceiros.
- análise fatorial, modelagem de risco, análise do ciclo do mercado.
- melhor para testes de backtesting baseados em preços (análise técnica), suporte a estratégias diárias / intradiárias, teste de nível de portfólio e otimização.
- Turtle Edition - motor de backtesting, gráficos, relatórios, testes EoD.
- Professional Edition - editor de sistema mais, análise progressiva, estratégias intradiárias, testes multi-threaded etc.
- Pro Plus Edition - mais gráficos de superfície 3D, scripts etc.
- Builder Edition - IB API, depurador etc.
- Edição profissional $ 1.990.
- Pro Plus Edition $ 2.990.
- Builder Edition $ 3.990.
- suportando estratégias diárias / intradiárias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados etc.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- link direto para Interactive Brokers, MB Trading, TD Ameritrade, FXCM e outros.
- dados de arquivos de texto, eSignal, Google Finance, Yahoo finance, IQFeed e outros.
- funcionalidade avançada - arrendamento de US $ 50 / mês ou licença de vida de US $ 995.
- melhor para sinais baseados em preços de backtesting (análise técnica), suporte a estratégias diárias / intradias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados.
- Suporta C # e Visual Basic.
- link direto para Interactive Brokers, IQFeed, txtfiles e muito mais (Yahoo Finance.)
- alugar $ 50 por mês.
- suporte a estratégias diárias / intradias, teste de nível de portfólio e otimização, gráficos, visualização, relatórios personalizados.
- sinais técnicos e também fundamentais, suporte multi-ativos.
- $ 595 para a versão premium (suporte a vários provedores de dados e corretores)
- suporte a estratégias diárias / intradiárias, testes de nível de portfólio e otimização.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- dados de compilação de ações, futuros e divisas (ações diárias dos EUA a partir de 1990, futuros diários de 31 anos, forex a partir de 1983 etc.)
- usa o idioma MQL4, usado principalmente para negociar o mercado forex.
- Suporta vários corretores de Forex e feeds de dados.
- suporta o gerenciamento de várias contas.
- suporte a estratégias diárias / intradiárias, testes de nível de portfólio e otimização.
- melhor para sinais baseados em preços de backtesting (análise técnica), suporte para a linguagem de programação EasyLanguage.
- Suporta múltiplos feeds de dados (Bloomberg, Thomson Reuters, CSI, CQG, eSignal, etc.), suporte direto para vários corretores (Interactive Brokers etc.)
- Vida útil multidatos $ 1.497.
- Multicharts Pro $ 9,900 (Bloomberg & Thomson Reuters, alimentação de dados, etc.)
- estoques e ETFs dos EUA (diariamente)
- dados fundamentais pontuais desde 1999.
- estratégias longas / curtas, sinais orientados por preços / fundamentais.
- "Gerente" - $ 199 / mês - completa a funcionalidade.
- Este produto é para uso de comerciantes / pesquisadores de baixa, média e alta freqüência. Todos os cálculos são feitos usando dados de mercado de alta freqüência que beneficiam comerciantes / pesquisadores de baixa e alta freqüência.
- backtesting intradía, gerenciamento de risco de portfólio, previsão e otimização a cada preço segundo, minutos, horas, fim de dia. Entradas do modelo totalmente controláveis.
- Fontes de dados de marca de mercado 8k + desde 2012 (ações, índices e ETFs negociados no NASDAQ). Os clientes também podem carregar seus próprios dados de mercado (por exemplo, ações chinesas).
- 40 + métricas do portfólio (VaR, ETL, alfa, beta, razão de Sharpe, razão Omega, etc.)
- suporta R, Matlab, Java e Python.
- 10 + otimizações de portfólio.
- Preços de ações dos EUA (diariamente / intradía), desde 1998, dados da QuantQuote.
- dados forex da FXCM.
- apoiando Trader & Interactive Brokers para negociação ao vivo.
- Preços de ações e ETF dos EUA (diariamente / intradiário), desde 2002.
- dados fundamentais da Morningstar (mais de 600 métricas)
- apoiando Interactive Brokers para negociação ao vivo.
- simples de usar, estratégias de alocação de ativos, dados desde 1992.
- Momento de série temporal e estratégias de média móvel em ETFs.
- Estratégias simples de escolha de estoque de Momentum e Simple Value.
- dados de até 25 anos para 49 ações Futures e S & P500.
- caixa de ferramentas em Python e Matlab.
- Quantiacs hospeda competições de negociação algorítmica com investimentos variando de 500k a 1 milhão de dólares
- Backtest em dois cliques.
- Navegue na biblioteca de estratégias, ou crie e otimize sua estratégia.
- Comércio de papel, negociação automatizada e em tempo real s.
- Dados FX (Forex / Moeda) em pares principais, voltando para 2007.
- negociação ao vivo compatível com qualquer corretor que esteja usando o Metatrader 4 como seu backend.
- fatores de equidade múltipla com valores de referência alfa sobre bench-cap, múltiplos universos de investimento e filtros de gerenciamento de risco.
- estratégias de alocação de ativos backtests, mistura de alocação de ativos e seleção de fator em um portfólio.
- US $ 50 / mês ou US $ 480 / ano - universidades de investimento mais amplas dos EUA, ações do Reino Unido e da UE, estratégias de alocação de ativos.
- mais de 10 000 estoques dos EUA, dados até 20 anos de história.
- critérios técnicos fundamentais +.
- US $ 50 por mês - funcionalidade completa.
- instalações eficazes de armazenamento e armazenamento de dados, instalações gráficas para análise de dados, facilmente estendidas através de pacotes.
- extensões recomendadas - quantstrat, Rmetrics, quantmod, quantlib, PerformanceAnalytics, TTR, portfólio, portfolioSim, backtest, etc.
- computação paralela e GPU, backtesting e otimização, amplas possibilidades de integração, etc.
- os usuários podem usar o VBA para criar estratégias para o BacktestingXL Pro, o conhecimento do VBA é opcional, os usuários podem construir regras de negociação em uma planilha usando códigos de teste de teste padrão pré-fabricados.
- suporta piramide, limitação de posição curta / longa, cálculo de comissão, rastreamento de patrimônio, controle extra-monetário, customização de preço de compra / venda.
- relatórios múltiplos de desempenho / risco.
- extensões recomendadas - pandas (Python Data Analysis Library), pyalgotrade (Python Algorithmic Trading Library), Zipline, ultrafinanças, etc.
- permite que o usuário misture vários ETF / opções / futuros / fatores de equidade com alfa comprovada sobre benchmarks de mercado.
- $ 149 / mo - opção livre + opções de seleção, estratégias de futuros, estratégias vix.
- ferramenta de backtesting baseada em nível básico de nível básico para testar a força relativa e estratégias de média móvel em ETFs.
- estoques dos EUA, dados da ValueLine de 1986 a 2014.
- preço e dados fundamentais, 1700 ações, teste mensal de granularidade.

Forex quant software
OpenQuant é uma plataforma de desenvolvimento de sistema de negociação automatizada (ATS) projetada em torno do conhecido SmartQuant Financial Data Analysis and Trading Framework. A estrutura está em desenvolvimento desde 1997 e atualmente é usada por instituições financeiras líderes em todo o mundo.
Recursos OpenQuant.
- O OpenQuant é desenvolvido no topo do quadro de negociação institucional líder.
- linguagens de desenvolvimento de estratégias reais: C # e VisualBasic.
- sem scripts. OpenQuant sempre executa código compilado, fornecendo o melhor desempenho possível.
- backtesting e negociação do sistema de nível de portfólio.
- classes de ativos múltiplos (ações, futuros, opções, ETF, FOREX)
- contabilidade e simulações multi-moeda.
- arquitetura verdadeiramente orientada para eventos. Não existe um loop de backtesting "for" artificial. As estratégias são executadas no modo de simulação exatamente da mesma forma que elas são executadas no modo de negociação ao vivo.
- múltiplos sistemas de negociação.
- backtesting intradiário e negociação automatizada com dados de tick.
- aprofundamento do mercado e suporte ao livro de pedidos.
- barras de tempo, marca, volume e alcance.
- suporte a vários quadros de tempo.
- Biblioteca de análise técnica com mais de cem indicadores.
- indicadores definidos pelo usuário.
- biblioteca de matemática financeira e análise quantitativa (preço derivativo, volatilidade implícita, etc.)
- biblioteca de álgebra linear (operações vetoriais e matriciais)
- otimização de estratégia, incluindo otimização estocástica.
- Backtesting e simulações de alto desempenho, até 10.000.000 + carrapatos por segundo e mais com motor de dados de QuantServer incorporado.
- ordens de mercado, stop, limite, stop limite. Grupos OCA (One Cancels All). Grupos OCA simulados internamente para corretores que não suportam OCA nativamente.
- Gerenciamento direto de pedidos: Enviar, Cancelar, Substituir pedidos.
- autoexecution, roteamento de pedidos, suporte FIX, mecanismo incorporado QuickFIX. Comutação de um clique da simulação para o modo de negociação ao vivo.
Suporte de dados e corretores suportados.
IB, PATS, TAL, ESIGNAL, Foton Trader, MB Trading, TAQ, YAHOO, Google, CSI, Open Tick, IQ Feed, QuoteTracker, Genesis Securities, Nordic Stock Exchange, Open E Cry, New Edge, Morgan Stanley, TT X_Trader via Adaptador TT FIX e XTAPI, CQG FIX, Lightspeed, HotSpot FIX, Currenex FIX, FIX Integral, DB (Deutsche Bank) FIX, suporte a provedores genéricos FIX.
AlfaDirect, ItInvest, QUIK, OSL FIX, QUIK FIX, Finam TRANSAQ, Plaza II.
Uma interface aberta para desenvolver plugins personalizados de dados e provedores de execução.
OpenQuant Demo Download.
Baixe a versão de avaliação de 30 dias do OpenQuant.
OpenQuant Community and Support.
Você pode discutir o OpenQuant no SmartQuant Public Forums.
OpenQuant Flash Video Tutorials.
Vídeo 1 - Este vídeo demonstra como executar uma estratégia de demonstração no modo de simulação e como visualizar e analisar a saída do Startegy.
Vídeo 2 - Este vídeo demonstra como criar um instrumento, importar dados históricos para este instrumento a partir de um arquivo de texto usando Import Vizard e como visualizar e analisar dados importados.
Vídeo 3 - Este vídeo demonstra como configurar propriedades de instrumentos (estoque e futuros) para solicitar e monitorar o feed de dados em tempo real da Interactive Brokers.
Vídeo 4 - Este vídeo demonstra como desenvolver um código de estratégia simples que monitore e imprima dados comerciais e de barras de Interactive Brokers em tempo real.
Vídeo 5 - Este vídeo demonstra como baixar definições de instrumentos, monitorar dados em tempo real e executar pedidos com Open E Cry.
Vídeo 6 - Este vídeo demonstra como baixar definições de instrumentos e dados de mercado históricos com o OpenTick.
Vídeo 7 - Este vídeo demonstra como se conectar à TT XTrader API / TTSIM (dados de mercado e execução de pedidos).
Vídeo 8 - Este vídeo demonstra como se conectar ao TT FIX Adapter / TTSIM (dados de mercado e execução de pedidos).
Vídeo 9 - Este vídeo demonstra como monitorar dados em tempo real e executar pedidos com o MB Trading.
Vídeo 10 - Este vídeo demonstra como capturar dados de tick e barra em tempo real da base de dados históricos do mercado IB para OpenQuant.
Vídeo 11 - Este vídeo demonstra como usar as funcionalidades do scanner de mercado do OpenQuant.
Vídeo 12 - Este vídeo demonstra como depurar estratégias do OpenQuant com o Microsoft Visual Studio.

Escolhendo o software de negociação algorítmica correto.
Ao usar o comércio algorítmico, os comerciantes confiam no seu dinheiro suado para o software comercial que eles usam. O software certo é muito importante para assegurar a execução efetiva e precisa dos pedidos comerciais. O software defeituoso, ou um sem os recursos necessários, pode levar a grandes perdas. Este artigo analisa as principais coisas a considerar para escolher o software certo para negociação algorítmica. (Para mais, veja: Noções básicas de negociação algorítmica: conceitos e exemplos.)
[O software de negociação algorítmica depende de uma compreensão profunda da análise técnica. Afinal, os indicadores técnicos são frequentemente utilizados como insumos para esses sistemas de negociação. O Curso de Análise Técnica da Investopedia fornece uma visão geral aprofundada sobre como identificar padrões, tendências, sinais e indicadores técnicos que impulsionam o comportamento dos preços. Com mais de cinco horas de vídeo sob demanda, exercícios e conteúdo interativo, você aprenderá todas as principais formas de análise técnica e estudos de caso de acesso mostrando como eles são usados.]
Um Quick Primer para Algorithmic Trading.
Um algoritmo é definido como um conjunto específico de instruções passo a passo para completar uma tarefa específica. Seja o jogo de computador simples, ainda viciante, como o Pac-Man ou uma planilha que oferece grande número de funções, cada programa segue um conjunto específico de instruções com base em um algoritmo subjacente.
O comércio algorítmico é o processo de usar um programa de computador que segue um conjunto definido de instruções para colocar uma ordem comercial. O objetivo do programa de negociação algorítmica é identificar dinamicamente oportunidades rentáveis ​​e colocar os negócios para gerar lucros a uma velocidade e freqüência que é impossível combinar por um comerciante humano. Dadas as vantagens de uma maior precisão e velocidade de execução relâmpago, as atividades comerciais baseadas em algoritmos de computador ganharam enorme popularidade. (Para mais, veja: Os prós e os contras dos sistemas de negociação automatizados.)
Quem usa software de negociação algorítmica?
A negociação algorítmica é dominada por grandes empresas comerciais, como hedge funds, bancos de investimento e empresas comerciais proprietárias. Dada a abundante disponibilidade de recursos devido ao seu grande tamanho, essas empresas costumam construir seu próprio software de negociação proprietário, incluindo grandes sistemas de negociação com centros de dados dedicados e equipe de suporte.
Em um nível individual, comerciantes proprietários experientes e quants usam negociação algorítmica. Os comerciantes proprietários, que são menos conhecedores de tecnologia, podem comprar software de negociação readymade para suas necessidades de negociação algorítmica. O software é oferecido por seus corretores ou comprado de provedores de terceiros. Quants tem um bom conhecimento de negociação e programação de computadores, e eles desenvolvem software comercial por conta própria. (Para mais informações, consulte: Quants: o que eles fazem e como evoluíram.)
Algorithmic Trading Software - Construir ou comprar?
Existem duas maneiras de acessar o software de negociação algorítmica: construir ou comprar.
A compra de software pronto oferece acesso rápido e atempado, ao construir o seu próprio, permite flexibilidade total para personalizar as suas necessidades. O software de negociação automatizado é muitas vezes caro para comprar e pode estar cheio de lacunas, o que, se ignorado, pode levá-lo a perdas. Os custos elevados podem tirar o potencial de lucro realista do seu empreendimento de negociação algorítmica. Por outro lado, criar software de negociação algorítmica por conta própria leva tempo, esforço e um profundo conhecimento, e ainda pode não ser infalível.
O risco envolvido na negociação automática é muito alto, o que pode levar a grandes perdas. Independentemente de se decidir comprar ou construir, torna-se importante conhecer os recursos básicos necessários.
As principais características do software de negociação algorítmica.
Disponibilidade de dados do mercado e da empresa: todos os algoritmos de negociação são projetados para atuar em dados de mercado em tempo real e cotações de preços. Alguns programas também são personalizados para dar conta dos dados fundamentais da empresa, como os índices EPS e PE. Qualquer software de negociação algorítmica deve ter feed de dados de mercado em tempo real, bem como um feed de dados da empresa. Ele deve estar disponível como um build-in no sistema ou deve ter uma disposição para integrar facilmente de fontes alternativas. Conectividade a vários mercados: os comerciantes que procuram trabalhar em vários mercados devem ter em atenção que cada troca pode fornecer seu feed de dados em um formato diferente, como TCP / IP, Multicast ou um FIX. Seu software deve ser capaz de aceitar feeds de diferentes formatos. Outra opção é ir com fornecedores de dados de terceiros como a Bloomberg e a Reuters, que agregam dados de mercado de diferentes trocas e fornecem-no em um formato uniforme para clientes finais. O software de negociação algorítmica deve ser capaz de processar esses feeds agregados conforme necessário. Latência: A menor palavra desta lista é o fator mais importante para o algo-trading. Latência é o tempo de atraso introduzido no movimento de pontos de dados de um aplicativo para o outro. Considere a seguinte sequência de eventos. Demora 0,2 segundos para uma cotação de preço proveniente da troca para o centro de dados do seu fornecedor de software (DC), 0,3 segundos do data center para alcançar sua tela de negociação, 0,1 segundo para o seu software de negociação para processar essa cotação recebida, 0,3 segundos para para analisar e colocar um comércio, 0,2 segundos para a sua ordem comercial para chegar ao seu corretor, 0,3 segundos para o seu corretor rotear sua ordem para a troca.
Tempo total decorrido = 0.2 + 0.3 + 0.1 + 0.3 + 0.2 + 0.3 = Total 1.4 segundos.
No mundo comercial dinâmico de hoje, a cotação do preço original teria mudado várias vezes dentro desse período de 1,4 segundo. Esse atraso poderia fazer ou quebrar seu empreendimento de negociação algorítmica. É preciso manter essa latência ao nível mais baixo possível para garantir que você obtenha as informações mais atualizadas e precisas sem intervalo de tempo.
A latência foi reduzida para microssegundos, e todas as tentativas devem ser feitas para mantê-lo o mais baixo possível no sistema comercial. Algumas medidas incluem ter conectividade direta com a troca para obter dados mais rápidos, eliminando o fornecedor no meio; melhorando seu algoritmo de negociação para que ele leve menos de 0.1 + 0.3 = 0.4 segundos para análise e tomada de decisão; ou eliminando o corretor e enviando diretamente trocas para a troca para economizar 0,2 segundos.
Configuração e personalização: a maioria dos softwares de negociação algorítmica oferece algoritmos de comércio embutidos padrão, como aqueles baseados em um crossover da média móvel de 50 dias (MA) com o MA de 200 dias. Um comerciante pode gostar de experimentar mudando para o Mestre de 20 dias com o MA de 100 dias. A menos que o software ofereça tal personalização de parâmetros, o comerciante pode ser limitado pela funcionalidade fixa incorporada. Seja comprando ou construindo, o software de negociação deve ter um alto grau de personalização e configuração. Funcionalidade para escrever programas personalizados: Matlab, Python, C ++, JAVA e Perl são as linguagens de programação comuns usadas para escrever software de negociação. A maioria dos softwares de negociação vendidos pelos fornecedores de terceiros oferece a capacidade de escrever seus próprios programas personalizados dentro dele. Isso permite que um comerciante experimente e experimente qualquer conceito comercial que ela desenvolva. O software que oferece codificação na linguagem de programação de sua escolha é obviamente preferido. (Para mais informações, consulte: Codificação de sistemas de negociação: Introdução.) Recurso Backtesting em dados históricos: a simulação Backtesting envolve testar uma estratégia de negociação em dados históricos. Ele avalia a praticidade e rentabilidade da estratégia em dados passados, certificando-o para o sucesso (ou falha ou qualquer alteração necessária). Esta função obrigatória também deve ser acompanhada de uma disponibilidade de dados históricos, nos quais o backtesting pode ser realizado. Integração com a interface de negociação: o software de negociação algorítmica coloca trades automaticamente com base na ocorrência de um critério desejado. O software deve ter a conectividade necessária para a rede de corretores para colocar o comércio ou uma conectividade direta com a troca para enviar ordens comerciais. Integração Plug-n-play: um comerciante pode estar usando simultaneamente um terminal Bloomberg para sua análise de preços, um terminal de intermediário para fazer negócios e um programa Matlab para análise de tendências. Dependendo das necessidades individuais, o software de negociação algorítmica deve ter integração fácil de plug-n-play e APIs disponíveis em ferramentas de negociação comumente usadas. Isso garante a escalabilidade, bem como a integração. Programação Independente da Plataforma: algumas línguas de programação precisam de plataformas dedicadas. Por exemplo, certas versões do C ++ podem ser executadas somente em sistemas operacionais selecionados, enquanto o Perl pode ser executado em todos os sistemas operacionais. Ao construir ou comprar software de negociação, deve ser dada preferência ao software de negociação que seja independente da plataforma e suporte linguagens independentes da plataforma. Você nunca sabe como sua negociação evoluirá alguns meses abaixo da linha. The Stuff Under the Hood: um ditado comum diz: "Mesmo um macaco pode clicar no botão do mouse para colocar um comércio". Dependência de computadores não deve ser cega. É o comerciante que deve entender o que está indo sob o capô. Ao comprar software de negociação, deve-se pedir e levar tempo para passar pela documentação detalhada que mostra a lógica subjacente de um software de negociação algorítmico particular. Evite qualquer software de negociação que seja uma caixa preta completa e que pretende ser uma máquina de fazer dinheiro secreto.
Ao construir software, seja realista sobre o que você está implementando e seja claro sobre os cenários onde ele pode falhar. Antes de colocá-lo para usar com dinheiro real, faça uma resposta completa.
Por onde começar?
Todo o software de negociação algorítmico pronto geralmente oferece versões de avaliação de funcionalidade limitada gratuita ou períodos de avaliação limitados com funcionalidades completas. Explore-os na íntegra durante esses testes antes de comprar qualquer coisa. Não esqueça de detalhar a documentação disponível.
Para construir um, uma boa fonte gratuita para explorar o comércio algorítmico é a quespian. Ele oferece uma plataforma on-line para testar e desenvolver comércio algorítmico. Os indivíduos podem tentar personalizar qualquer algoritmo existente ou escrever um novo completamente novo. A plataforma também oferece software de negociação algorítmico embutido para ser testado em relação aos dados do mercado.
The Bottom Line.
O software de negociação algorítmica é caro para comprar e é difícil de construir sozinho. Comprar pré-fabricados oferece acesso rápido e atempado, e criar o seu próprio permite flexibilidade total para personalizá-lo às suas necessidades. Antes de se aventurar com dinheiro real, é preciso entender completamente a funcionalidade básica do software de negociação algorítmica comprado ou construído. A falta de fazê-lo pode ser uma perda dispendiosa difícil de recuperar.

QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
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 fevereiro de 2014.
Neste artigo, o conceito de execução automática será discutido. Em termos gerais, este é o processo de permitir uma estratégia de negociação, através de uma plataforma de negociação eletrônica, para gerar sinais de execução comercial sem qualquer intervenção humana subseqüente. A maioria dos sistemas discutidos no QuantStart até o momento foi projetado para ser implementado como estratégias de execução automatizadas. O artigo descreverá pacotes de software e linguagens de programação que fornecem recursos de execução de backtesting e automáticos.
A primeira consideração é como testar uma estratégia. Minha visão pessoal é que o desenvolvimento personalizado de um ambiente de backtesting dentro de uma linguagem de programação de primeira classe oferece maior flexibilidade. Por outro lado, uma plataforma de backtesting integrada desenvolvida por um fornecedor sempre terá que fazer pressupostos sobre como os testes de backtest são realizados. Apesar disso, a escolha das linguagens de programação disponíveis é grande e diversificada, o que muitas vezes pode ser esmagador. Não é óbvio antes do desenvolvimento qual idioma é susceptível de ser adequado.
Ao codificar uma estratégia em regras sistemáticas, o comerciante quantitativo deve estar confiante de que seu desempenho futuro refletirá seu desempenho passado. Geralmente, existem duas formas de sistema de teste de resposta que são utilizadas para testar essa hipótese. Em geral, eles são categorizados como testadores de pesquisa e testadores de back-ups gerados por eventos. Consideraremos backtesters personalizados versus produtos de fornecedores para esses dois paradigmas e veremos como eles se comparam.
Ferramentas de pesquisa.
Ao identificar estratégias de negociação algorítmicas, geralmente não é necessário simular completamente todos os aspectos da interação do mercado. Em vez disso, podem ser feitas aproximações que proporcionem determinação rápida do desempenho potencial da estratégia. Essas ferramentas de pesquisa muitas vezes fazem suposições irrealistas sobre os custos de transação, provavelmente aumentam os preços, restrições de curto prazo, dependência do local, gerenciamento de riscos e dimensionamento de posição. Apesar dessas deficiências, o desempenho de tais estratégias ainda pode ser avaliado efetivamente. Ferramentas comuns para pesquisa incluem MATLAB, R, Python e Excel.
Esses pacotes de software são fornecidos com recursos de vetorização que permitem velocidade de execução rápida e implementação de estratégia mais fácil. MATLAB e pandas são exemplos de sistemas vectorizados. Com tais ferramentas de pesquisa, é possível testar múltiplas estratégias, combinações e variantes de forma rápida e iterativa, sem a necessidade de "concretizar" uma simulação realista de interação de mercado.
Embora tais ferramentas sejam freqüentemente usadas tanto para backtesting quanto para execução, esses ambientes de pesquisa geralmente não são adequados para estratégias que se aproximam de negociação intradiária em freqüências mais altas na escala de sub-minutos. Essas bibliotecas não tendem a ser capazes de se conectar efetivamente a fornecedores de dados de mercado em tempo real ou a interface com as APIs de corretagem de forma robusta.
Apesar dessas falhas executivas, os ambientes de pesquisa são fortemente utilizados dentro da indústria de comércio quantitativo profissional. Eles fornecem o "primeiro rascunho" para todas as idéias de estratégia antes da promoção para verificações mais rigorosas dentro de um ambiente de backtesting realista.
Backtesting dirigido por eventos.
Uma vez que uma estratégia é considerada adequada na pesquisa, ela deve ser avaliada de forma mais realista. Esse realismo tenta explicar a maioria (se não todas) das questões descritas em postagens anteriores. A situação ideal é poder usar o mesmo código de geração de comércio para backtesting histórico, bem como execução ao vivo. Isto é conseguido através de um backtester dirigido a eventos.
Os sistemas orientados a eventos são amplamente utilizados na engenharia de software, comumente para manipulação de entrada de interface gráfica de usuário (GUI) em sistemas operacionais baseados em janela. Eles também são ideais para o comércio algorítmico, uma vez que a noção de pedidos de mercado em tempo real ou enchimentos comerciais pode ser encapsulada como um evento. Tais sistemas são frequentemente escritos em linguagens de alto desempenho como C ++, C # e Java.
Considere uma situação em que uma estratégia de negociação automatizada esteja conectada a um feed de mercado em tempo real e a um corretor (estes dois podem ser um e o mesmo). Novas informações de mercado serão enviadas ao sistema, o que desencadeia um evento para gerar um novo sinal de negociação e, portanto, um evento de execução. Esses sistemas são executados em um loop contínuo esperando para receber eventos e manipulá-los adequadamente.
É possível gerar subcomponentes, como um manipulador histórico de dados e simulador de corretagem, que pode imitar suas contrapartes ao vivo. Isso permite estratégias de backtesting de uma maneira extremamente semelhante à da execução ao vivo.
A desvantagem de tais sistemas reside no seu design complicado quando comparado a uma ferramenta de pesquisa mais simples. Por isso, "time to market" é mais longo. Eles são mais propensos a erros e exigem um bom conhecimento de programação e metodologia de desenvolvimento de software.
Em termos de engenharia, a latência é definida como o intervalo de tempo entre uma simulação e uma resposta. Na negociação quantitativa, geralmente se refere ao tempo de ida e volta entre a geração de um sinal de execução e o recebimento das informações de preenchimento de um corretor que executa a execução.
Essa latência raramente é um problema em estratégias de inter-frequência de baixa frequência. O movimento de preços esperado durante o período de latência não afetará a estratégia em grande medida. O mesmo não é verdade em estratégias de alta freqüência, onde a latência se torna extremamente importante. O objetivo final da HFT é reduzir a latência, tanto quanto possível, para reduzir o deslizamento.
A latência decrescente envolve a minimização da "distância" entre o sistema de negociação algorítmica e a troca final em que uma ordem está sendo executada. Isso pode envolver o encurtamento da distância geográfica entre os sistemas, reduzindo assim os tempos de viagem ao longo do cabeamento da rede. Também pode envolver a redução do processamento realizado em hardware de rede ou a escolha de uma corretora com infra-estrutura mais sofisticada. Muitas corretoras competem em latência para ganhar negócios.
A latência decrescente torna-se exponencialmente mais cara como uma função de "distância na internet", que é definida como a distância da rede entre dois servidores. Assim, para um comerciante de alta freqüência, um compromisso deve ser alcançado entre as despesas de latência-redução e o ganho de minimizar o deslizamento. Essas questões serão discutidas na seção sobre Colocação abaixo.
Escolhas de idioma.
Alguns problemas que impulsionam a escolha do idioma já foram delineados. Agora, consideraremos os benefícios e desvantagens das linguagens de programação individuais. Eu categorizei amplamente as linguagens em desenvolvimento de alto desempenho / mais difícil versus desenvolvimento de baixo desempenho / fácil. Estes são termos subjetivos e alguns não concordam dependendo de seus antecedentes.
Um dos aspectos mais importantes da programação de um ambiente de backtesting personalizado é que o programador está familiarizado com as ferramentas que estão sendo usadas. Para aqueles que são novos para a paisagem de linguagem de programação, o seguinte irá esclarecer o que tende a ser utilizado dentro de negociação algorítmica.
C ++, C # e Java.
C ++, C # e Java são exemplos de linguagens de programação orientadas a objetos de propósito geral. Isso significa que eles podem ser usados ​​sem um ambiente de desenvolvimento integrado correspondente (IDE), são todos de plataforma cruzada, possuem uma ampla gama de bibliotecas para quase todas as tarefas imagináveis ​​e permitem uma velocidade de execução rápida quando utilizadas corretamente.
Se a velocidade de execução final for desejada, C ++ (ou C) provavelmente será a melhor escolha. Oferece a maior flexibilidade para gerenciar memória e otimizar a velocidade de execução. Esta flexibilidade vem a um preço. C ++ é complicado para aprender bem e muitas vezes pode levar a erros sutis. O tempo de desenvolvimento pode levar muito mais tempo do que em outras línguas. Apesar dessas deficiências, é abrangente no setor financeiro.
C # e Java são semelhantes, uma vez que ambos exigem que todos os componentes sejam objetos com exceção de tipos de dados primitivos, como flutuadores e inteiros. Eles diferem de C ++ executando a coleta automática de lixo. A coleta de lixo agrega uma sobrecarga de desempenho, mas leva a um desenvolvimento mais rápido. Essas linguas são boas escolhas para o desenvolvimento de um backtester, pois possuem capacidades de GUI nativas, bibliotecas de análise numérica e velocidade de execução rápida.
Pessoalmente, eu uso o C ++ para criar backtesters dirigidos a eventos que precisam de velocidade de execução extremamente rápida, como para sistemas HFT. Isso é apenas se eu achasse que um sistema Python com o evento fosse engarrafado, pois o último idioma seria minha primeira escolha para esse sistema.
MATLAB, R e Python.
MATLAB é um IDE comercial para computação numérica. Ganhou ampla aceitação nos setores acadêmico, engenharia e financeiro. Possui muitas bibliotecas numéricas para computação científica. Possui uma velocidade de execução rápida sob o pressuposto de que qualquer algoritmo que está sendo desenvolvido está sujeito a vectorização ou paralelização. Apesar dessas vantagens, é caro tornando-se menos atraente para os comerciantes de varejo com orçamento limitado. MATLAB às vezes é usado para execução direta para uma corretora, como Interactive Brokers.
R é um ambiente de script de estatísticas dedicado. É gratuito, open-source, cross-platform e contém uma grande quantidade de pacotes estatísticos livremente disponíveis para realizar análises extremamente avançadas. R é muito utilizado nas estatísticas acadêmicas e na indústria de hedge funds quantitativos. Embora seja possível conectar R a uma corretora, não é adequado para a tarefa e deve ser considerado mais uma ferramenta de pesquisa. Também não tem velocidade de execução, a menos que as operações estejam veturizadas.
Eu agrupei o Python sob este título, embora ele esteja em algum lugar entre MATLAB, R e as linguagens de propósito geral acima mencionadas. É gratuito, open-source e cross-platform. É interpretado em oposição ao compilado, o que o torna nativamente mais lento que o C ++. No entanto, contém uma biblioteca para executar quase qualquer tarefa imaginável, desde a computação científica até o design de servidor web de baixo nível. Em particular, contém NumPy, SciPy, pandas, matplotlib e scikit-learn, que fornecem um ambiente de pesquisa numérica robusto que quando vectorizado é comparável à velocidade de execução da linguagem compilada.
Python também possui bibliotecas para se conectar a corretoras. Isso faz com que seja um "balcão único" para criar um ambiente de execução de backtesting e execução ao longo do evento, sem ter que entrar em outras linguas mais complexas. A velocidade de execução é mais do que suficiente para comerciantes intradiários negociando na escala de tempo de minutos e acima. Python é muito fácil de escolher e aprender quando comparado a linguagens de nível inferior como o C ++. Por estas razões, fazemos uso extensivo do Python nos artigos QuantStart.
Ambientes de Desenvolvimento Integrados.
O termo IDE tem vários significados dentro de negociação algorítmica. Os desenvolvedores de software usam isso para significar uma GUI que permite a programação com destaque de sintaxe, navegação de arquivos, depuração e recursos de execução de código. Os comerciantes algorítmicos usam isso para significar um ambiente de backtesting / trading totalmente integrado com download histórico histórico ou em tempo real, gráficos, avaliação estatística e execução ao vivo. Para nossos propósitos, eu uso o termo para significar qualquer ambiente de backtest / trading, muitas vezes baseado em GUI, que não é considerado uma linguagem de programação de propósito geral.
Enquanto alguns comerciantes quant consideram o Excel ser inapropriado para negociação, achei que fosse extremamente útil para a "verificação de sanidade" dos resultados. O fato de que todos os dados estão diretamente disponíveis em vista clara torna direto implementar estratégias de sinal / filtro muito básicas. Brokerages como Interactive Brokers também permitem plugins DDE que permitem que o Excel receba dados de mercado em tempo real e execute ordens comerciais.
Apesar da facilidade de uso, o Excel é extremamente lento para qualquer escala de dados razoável ou nível de computação numérica. Eu só uso isso para verificar erros ao desenvolver contra outras estratégias. Em particular, é extremamente útil para verificar se uma estratégia está sujeita a viés de frente. Isso é fácil de detectar no Excel devido à natureza da planilha do software.
Se você está desconfortável com as linguagens de programação e está realizando uma estratégia de interdição, o Excel pode ser uma boa escolha.
Software de Backtesting Comercial / Varejo.
O mercado de gráficos de varejo, "análise técnica" e software de backtesting é extremamente competitivo. Os recursos oferecidos por esse software incluem gráficos em tempo real de preços, uma grande variedade de indicadores técnicos, idiomas personalizados e testes automatizados.
Alguns fornecedores fornecem uma solução tudo-em-um, como a TradeStation. A TradeStation é uma corretora online que produz software de negociação (também conhecido como TradeStation) que fornece a execução de ordens eletrônicas em várias classes de ativos. Atualmente, desconheço uma API direta para execução automática. Em vez disso, os pedidos devem ser colocados através do software GUI. Isso contrasta com os Interactive Brokers, que possuem uma interface de negociação mais simples (Trader WorkStation), mas oferecem suas API de execução de mercado / ordem de propriedade real em tempo real e uma interface FIX.
Outra plataforma extremamente popular é o MetaTrader, que é usado na troca de divisas para a criação de "Expert Advisors". Estes são scripts personalizados escritos em um idioma proprietário que podem ser usados ​​para negociação automatizada. Eu não tive muita experiência com a TradeStation ou MetaTrader, então não vou gastar muito tempo discutindo seus méritos.
Tais ferramentas são úteis se você não estiver confortável com o desenvolvimento de software em profundidade e deseja que muitos dos detalhes sejam atendidos. No entanto, com esses sistemas, muita flexibilidade é sacrificada e muitas vezes você está vinculado a uma única corretora.
Ferramentas de código aberto e baseadas na Web.
Os dois sistemas de backtesting baseados na web populares são aspáticos e QuantConnect. O primeiro faz uso de Python (e ZipLine, veja abaixo) enquanto o último utiliza C #. Ambos fornecem uma riqueza de dados históricos. Quantopian atualmente suporta negociação ao vivo com Interactive Brokers, enquanto a QuantConnect está trabalhando para negociação ao vivo.
A Algo-Trader é uma empresa com sede na Suíça que oferece uma licença aberta e uma licença comercial para o seu sistema. Pelo que posso reunir, a oferta parece bastante madura e tem muitos clientes institucionais. O sistema permite o backtesting histórico completo e o processamento complexo de eventos e eles se vinculam aos Interactive Brokers. A edição Enterprise oferece recursos substancialmente mais de alto desempenho.
A Marketcetera fornece um sistema de backtesting que pode amarrar em muitos outros idiomas, como Python e R, para aproveitar o código que você já tenha escrito. O "Estúdio de Estratégia" oferece a capacidade de escrever o código de backtesting, bem como algoritmos de execução otimizados e, posteriormente, a transição de um backtest histórico para o comércio de papel ao vivo. Eu não os usei antes.
ZipLine é a biblioteca Python que alimenta o serviço de Quantopian mencionado acima. É um ambiente de backtest totalmente desenvolvido por eventos e atualmente oferece suporte às ações dos Estados Unidos de forma minuciosa. Não usei extensivamente o ZipLine, mas conheço outros que acham que é uma boa ferramenta. Ainda há muitas áreas para melhorar, mas a equipe está constantemente trabalhando no projeto e é muito ativamente mantida.
Há também alguns projetos hospedados no Github / Google Code que você deseja examinar. Não passei muito tempo investigando-os. Tais projetos incluem OpenQuant, TradeLink e PyAlgoTrade.
Software institucional Backtesting.
Os sistemas de backtesting de nível institucional, como Deltix e QuantHouse, geralmente não são utilizados por comerciantes algorítmicos de varejo. As licenças de software geralmente estão bem fora do orçamento para infra-estrutura. Dito isto, esse software é amplamente utilizado por fundos quantitativos, casas comerciais comerciais, escritórios familiares e outros.
Os benefícios de tais sistemas são claros. Eles fornecem uma solução tudo-em-um para coleta de dados, desenvolvimento de estratégias, backtesting histórico e execução ao vivo em instrumentos únicos ou carteiras, até o nível de alta freqüência. Such platforms have had extensive testing and plenty of "in the field" usage and so are considered robust.
The systems are event-driven and the backtesting environments can often simulate the live environments to a high degree of accuracy. The systems also support optimised execution algorithms, which attempt to minimise transaction costs. This is particulary useful for traders with a larger capital base.
I have to admit that I have not had much experience of Deltix or QuantHouse. That being said, the budget alone puts them out of reach of most retail traders, so I won't dwell on these systems.
Colocation.
The software landscape for algorithmic trading has now been surveyed. We can now turn our attention towards implementation of the hardware that will execute our strategies.
A retail trader will likely be executing their strategy from home during market hours. This will involved turning on their PC, connecting to the brokerage, updating their market software and then allowing the algorithm to execute automatically during the day. Conversely, a professional quant fund with significant assets under management (AUM) will have a dedicated exchange-colocated server infrastructure in order to reduce latency as far as possible to execute their high speed strategies.
Home Desktop.
The simplest approach to hardware deployment is simply to carry out an algorithmic strategy with a home desktop computer connected to the brokerage via a broadband (or similar) connection.
While this approach is straightforward to get started it suffers from many drawbacks. The desktop machine is subject to power failure, unless backed up by a UPS. In addition a home internet connection is also at the mercy of the ISP. Power loss or internet connectivity failure could occur at a crucial moment in trading, leaving the algorithmic trader with open positions that are unable to be closed. This problem also occurs with operating system mandatory restarts (this has actually happened to me in a professional setting!) and component failure, which leads to the same issues.
For the above reasons I hesitate to recommend a home desktop approach to algorithmic trading. If you do decide to pursue this approach, make sure to have both a backup computer AND a backup internet connection (e. g. a 3G dongle) that you can use to close out positions under a downtime situation.
The next level up from a home desktop is to make use of a virtual private server (VPS). A VPS is a remote server system often marketed as a "cloud" service. They are far cheaper than a corresponding dedicated server, since a VPS is actually a partition of a much larger server. They possess a virtual isolated operating system environment solely available to each individual user. CPU load is shared between multiple VPS and a portion of the systems RAM is allocated to the VPS. This is all carried out through a process known as virtualisation.
Common VPS providers include Amazon EC2 and Rackspace Cloud. They provide entry-level systems with low RAM and basic CPU usage through to enterprise-ready high RAM, high CPU servers. For the majority of algorithmic retail traders the entry level systems suffice for low-frequency intraday or interday strategies and smaller historical data databases.
The benefits of a VPS-based system include 24/7 availability (albeit with a certain realistic downtime!), more robust monitoring capabilities, easy "plugins" for additional services, such as file storage or managed databases and a flexible architecture. One drawback is the ongoing expense. As the system grows dedicated hardware becomes cheaper per unit of performance. This price point assumes colocation away from an exchange.
Compared to a home desktop system latency is not always improved by choosing a VPS provider. Your home location may be closer to a particular financial exchange than the data centres of your cloud provider. This is mitigated by choosing a firm that provide VPS services geared specifically for algorithmic trading which are located at or near exchanges. These will likely cost more than a generic VPS provider such as Amazon or Rackspace.
Exchange Colocation.
In order to get the best latency minimisation it is necessary to colocate dedicated servers directly at the exchange data centre. This is a prohibitively expensive option for nearly all retail algorithmic traders unless they're very well capitalised. It is really the domain of the professional quantitative fund or brokerage. As I mentioned above a more realistic option is to purchase a VPS system from a provider that is located near an exchange.
As can be seen, there are many options for backtesting, automated execution and hosting a strategy. Determining the right solution is dependent upon budget, programming ability, degree of customisation required, asset-class availability and whether the trading is to be carried out on a retail or professional basis.
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever na QuantStart List:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso gratuito de 10 partes, com sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.

No comments:

Post a Comment