Saturday 15 July 2017

Tradestation Opções Backtesting


Solução de implantação de estratégia de backtesting de gerenciamento de dados de classe institucional: - 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 (velocidades de processamento em milhões de mensagens por segundo em terabytes de dados) Based backtesting e otimização - execução de múltiplos corretores suportados, sinais de negociação convertidos em pedidos FIX QuantFACTORY - gerenciamento de dados de classe institucional backtesting solução de implementação de estratégia: - QuantDEVELOPER - estrutura e IDE para estratégias de negociação desenvolvimento, depuração, backtesting e otimização, disponível como Visual Plug-in de estúdio - QuantDATACENTER - permite gerenciar um data warehouse histórico e capturar dados de mercado de latência em tempo real ou ultra baixo de provedores e intercâmbios - QuantENGINE - permite implantar e executar estratégias pré-compiladas - multi-asset, , Vários corretores suportados Managem de dados de classe institucional Backtesting solução de implantação de estratégia de backtesting: - OpenQuant - C e VisualBasic sistema de backtesting de nível de carteira e negociação, multi - asset, teste de nível intraday, otimização, WFA etc múltiplos corretores e feeds de dados suportados - QuantTrader - ambiente de negociação de produção - QuantBase - - QuantRouter - roteamento de dados e ordens - gerenciamento de dados de classe institucional - solução de implementação de estratégia de backtesting: - solução multi-asset, múltiplos feeds de dados suportados, banco de dados suporta qualquer tipo de RDBMS fornecendo uma interface JDBC, por exemplo Oracle, Microsoft SQL Server, Sybase, MySQL, etc - os clientes podem usar IDE para script sua estratégia em Java, Ruby ou Python, ou eles podem usar sua própria estratégia IDE - múltiplos corretores execução suportada, negociação sinais convertidos em ordens FIX Institucional - Gerenciamento de dados de classe backtesting solução de implantação de estratégia: - solução multi-asset (forex, opções, futuros, ações, ETFs, commodities, instrumentos sintéticos e spreads derivados personalizados), múltiplas feeds de dados suportados - estrutura para desenvolvimento de estratégias de negociação, depuração e backtesting (IB, JPMorgan, FXCM, etc.) Plataforma de software dedicada integrada com os dados da Tradestations para backtesting e auto-trading: - dados diários intraday (estoques para 43 anos, futuros para 61 Anos) - prático para backtesting baseados em preços de sinais (análise técnica), suporte à linguagem de programação EasyLanguage - apoiando ETFs ações dos EUA , Futuros, índices dos EUA, ações alemãs, índices alemães, sem forex para clientes de corretagem da Tradestation - 249,95 mensais para não profissionais (apenas plataforma de software Tradestation, sem corretagem) - 299,95 mensais para profissionais (plataforma de software Tradestation apenas, sem corretora) Plataforma de software para backtesting e auto-negociação: - apoio a estratégias diárias intraday, testes de nível de carteira e otimização, gráficos, visualização, relatórios personalizados, análise multi-threaded, gráficos 3D, análise WFA etc - melhor para backtesting baseados em preços sinais (análise técnica) - link direto para eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, qualquer feed DDE compatível, MS, txtfiles e muito mais (Yahoo Finance. ) - uma taxa de tempo 279 para a edição Standard ou 339 para a edição Professional Plataforma de software dedicado para backtesting e auto-trading: - backtesting sistema de nível de portfólio e trading, multi-asset, testes de nível intraday, otimização, Auto-trading em linguagem de script Perl com todas as funções subjacentes escritas em C nativo, preparado para co-localização de servidor - nativo FXCM e Interactive Brokers apoio - suporte gratuito FXCM, 100 por mês para a plataforma IB, contacte Salesseertrading para outras opções Plataforma de software dedicado para Backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (análise técnica), scripts C - extensões de software suportado - manipulação de feeds de dados, execução da estratégia, etc - 799 por licença, Taxa após plataforma de software dedicada para backtesting, otimização, atribuição de desempenho e análise: - Axioma ou 3 ª parte (Análise técnica), apoiando estratégias de dailyintraday, teste de nível de carteira e otimização - Turtle Edition - motor de backtesting, análise de dados, análise de fator de risco, análise de ciclo de mercado, Gráficos, relatórios, teste de EoD - edição profissional - editor de sistema mais, análise dianteira da caminhada, estratégias intraday, teste multi-enfiado etc. - edição Pro mais - mais gráficos de superfície 3D, scripting etc. - Turtle Edition 990 - Edição Profissional 1.990 - Edição Profissional 2.990 - Edição Construtor 3.990 Plataforma de software dedicada para backtesting e auto-trading: - apoio diário estratégias intraday, testes de nível de carteira e otimização, gráficos, visualização, relatórios personalizados etc - melhor para backtesting Com base em preços (análise técnica) - ligação directa com Interactive Brokers, MB Trading, TD Ameritrade, FXCM e M eSignal, Google Finance, Yahoo finance, IQFeed e outros - funcionalidade básica (funcionalidade EoD) - livre - funcionalidade avançada - locação de 50 meses ou 995 licença de vida Plataforma de software dedicada para backtesting e auto-trading: - melhor para backtesting (Análise técnica), apoio a estratégias diárias intraday, testes de nível de carteira e otimização, gráficos, visualização, relatórios personalizados - suporta C e Visual Basic - link direto para Interactive Brokers, IQFeed, txtfiles e mais (Yahoo Finance. ) - licença perpétua - 499 - arrendamento 50 por mês Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes e otimização de nível de portfólio, gráficos, Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (suporte a provedores de dados múltiplos) - 595 para Versão Premium Futuros de 31 anos, forex a partir de 1983, etc) - preços de 45 meses para 295 meses (os preços dependem da disponibilidade de dados) plataforma de software dedicado Para backtesting e auto-negociação: - usa linguagem MQL4, usado principalmente para o mercado de câmbio forex - suporta múltiplos corretores forex e feeds de dados - suporta Gerenciamento de múltiplas contas Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (análise técnica), suporte para a linguagem de programação EasyLanguage - suporte a múltiplos feeds de dados (Bloomberg, Thomson Multicharts 797 por ano - Multicharts vida útil 1,497 - Multicharts Pro 9,900 (Bloomberg Thomson Reuters feed de dados, etc) Baseado na Web backtesting ferramenta para testar Estratégias de longo prazo, pricefundamentals orientado sinais - Designer - 139 meses - Gerente - 199 meses - funcionalidade completa Portfolio Analytics usando dados de mercado de alta freqüência: - Este produto é para uso de baixa, média, alta freqüência tradersresearchers. Todos os cálculos são feitos usando dados de mercado de alta freqüência que beneficiam investidores de baixa e alta freqüência. - backtesting intraday, gerenciamento de risco de carteira, previsão e otimização a cada preço segundo, minutos, horas, fim de dia. Entradas do modelo totalmente controláveis. - 8k market tick fontes de dados desde 2012 (ações, índices ETFs negociados no NASDAQ). Os clientes também podem carregar seus próprios dados de mercado (por exemplo, ações chinesas). - 40 métricas de portfólio (VaR, ETL, alfa, beta, relação Sharpe, razão Omega, etc.) - suporta R, Matlab, Java Python - 10 otimizações de portfólio Ferramenta de backtesting baseada na Web: Dados de QuantQuote - dados do forex de FXCM - suportando Trader Interactive Brokers para a negociação viva ferramenta backtesting baseada na correia fotorreceptora: - ações e ETFs dos EU cotiza (dailyintraday), desde 2002 - dados fundamentais de Morningstar (sobre 600 medições) Ferramentas de backtesting baseadas na Web: - simples de usar, estratégias de alocação de ativos, dados desde 1992 - dinâmica de séries temporais e estratégias de média móvel em ETFs - Simple Momentum e Simple Value estratégias de picking de ações Futures e SP500 estoques - toolbox em Python e Matlab - Quantiacs hospeda competições de negociação algorítmica com investimentos que variam de 500k a 1 milhão Backtest Broker oferece backtesting baseado em web poderoso, simples assim - Backtest em dois cliques - Navegue pela biblioteca de estratégia, ou crie e otimize sua estratégia - Negociação de papel, negociação automatizada e e-mails em tempo real - 1 por backtest e menos WebCloud baseado backtesting ferramenta: - FX (ForexCurrency) - remonta a 2007 - SecondMinuteHourlyDaily bares - negociação ao vivo compatível com qualquer corretor que está usando o Metatrader 4 como sua ferramenta backtest baseados na web backtesting para testar a equidade factor picking e estratégias de alocação de ativos: - múltiplos fatores de equidade com alfa comprovada sobre benchmarks , Múltiplos universos de investimento, filtros de gestão de risco - estratégias de alocação de ativos backtests, mistura de alocação de ativos e picking de fatores em um portfólio - livre no universo SP 100 - 50 meses ou 480 anos - : - mais de 10 000 unidades populacionais dos EUA, dados até 20 anos de história - critérios técnicos fundamentais - funcionalidade livremente limitada (1 ano - 50 por mês - funcionalidade completa Ambiente de software livre para computação estatística e gráficos, muitos quants preferem usá-lo para sua arquitetura aberta excepcional e flexibilidade: - tratamento de dados eficaz e facilidade de armazenamento, gráficos MATLAB - Linguagem de alto nível e ambiente interativo para computação estatística e gráficos: - paralelo (paralelo) BacktestingXL Pro é um add-in para construir e testar suas estratégias de negociação no Microsoft Excel 2010 e 2013: - os usuários podem usar o VBA para construir estratégias para BacktestingXL Pro, o conhecimento VBA é opcional, os usuários podem construir regras de negociação em uma planilha usando códigos pré-feitos padrão de backtesting - suporte a piramidal, limitação de posição de curta duração, cálculo de comissões, monitoramento de patrimônio, controle de dinheiro extra, controle de preço de buysell - relatórios de desempenho múltiplos - 74.95 para BacktestingXL Pro Linguagem de programação open source livre, arquitetura aberta, flexível e facilmente estendida via pacotes: (Python Algorithmic Trading Library), Zipline, ultrafinance, etc. O FactorWave é simples de usar a ferramenta de backtesting baseada na web para o fator que investe: - permite que o usuário misture fatores múltiplos de ETFoptionsfuturesequity com alfa comprovado sobre Benchmarks de mercado-tampão - livre - ETFStock Screener com 5 fatores - 149mo - opção livre opções screener, estratégias de futuros, estratégias de vix Ferramenta de backtesting baseada na Web: - ferramenta de backtesting baseada na web simples de usar para testar força relativa e média móvel Estratégias em ETFs - vários tipos de estratégias para livre, backtesting funcionalidade completa 34,99 mensal Free web b Ased backtesting ferramenta para testar stock picking estratégias: - ações dos EUA, dados da ValueLine de 1986-2014 - preço e dados fundamentais, 1700 ações, teste de granularidade mensal em um fórum que eu li, alguém sugeriu uma estratégia semelhante à que eu pesquisei na passado. Suas regras eram simples: Vender um 20pt Bull Put Spread na quinta-feira no horário de funcionamento, expirando na próxima semana A greve deve ser pelo menos 100 pontos do preço spot atual Vender a vertical quando ele alcança 0,05 Alocar 50 do seu portfólio para Este comércio. Esta estratégia é baseada na crença de que o SPX não move mais de 100 pontos em uma janela de 8 dias e que vol semanal é caro. Olhando para os últimos 15 anos, acho que isso é verdade 99.31 do tempo. Há 26 exemplos de 3752 amostras onde o mercado moveu para baixo mais de 100 pontos. Vários destes foram durante a crise em 2008, 2001, mas o período mais recente foi em outubro de 2014. Felizmente para esta estratégia, não ocorreu em uma quinta-feira, então ele tem um passe de sorte. Aqui estão as regras para esta estratégia: Eu escolho 10:00 na quinta-feira para colocar o comércio. Observe também que a derrapagem e comissões também são levados em conta. Eu testei essa estratégia de janeiro de 2008 até dezembro de 2014. Os resultados são promissores. Globalmente, este comércio realiza muito bem post 2011. Antes de 2011, é relativamente plana. Em grande parte, isso ocorre porque, embora houvesse expirações semanais, não havia greves suficientes disponíveis nessas expirações para encontrar negócios em conformidade. Tanta parte do tempo apenas saiu do mercado e trocou as expirações mensais. Durante este período, o acidente de 2008 ocorreu e, embora a estratégia tenha tido uma grande redução durante esse evento, no quadro geral, ele fez bastante bem. Mas é difícil extrair conclusões, dado que ficou fora do mercado 75 do tempo durante este período. De 2011 em diante, o comércio realmente pega vapor. Ele está entrando em um comércio a cada semana por este ponto. É também durante uma corrida de touro, de modo que o comércio como um vento em suas costas. Mas você pode ver os drawdowns (gráfico inferior) são relativamente pequenos. Mas por 100 pontos eu acho que foi escolhido pela razão de que o mercado quase nunca se move que muito nesse período de tempo (99.31 lembrar). Mas 100 pontos hoje (5 mover) é muito diferente de um 100 pontos em 2009 (movimento 8-13). Então eu preciso também olhar para movimentos percentuais. Eu testei 4,5, 5, 6 e 7. 20pt Vertical Spread 4,5 da Margem de Carteira Spot PM exige 16 a margem do que RegT faz e 1,6 a margem uma conta de margem de caixa. Mas a margem PM é muito mais fluida do que as outras. À medida que o mercado cair, a exigência de margem é aumentada. Os detalhes da margem PM são muito mais complexos, mas por razões de simplicidade e devido ao fato de não poder calcular a margem PM, assumirei que é uma porcentagem constante da margem RegT. Short coloca I8217m vai se concentrar no curto coloca uma vez que as chamadas curtas são uma menor proporção para os lucros globais. As chamadas são muito baratas comparadas às ofertas, e Karen supostamente vende metade do número de chamadas para puts. Tenho certeza de que acrescenta a sua linha de fundo, mas por simplicidade, vou deixá-los fora por enquanto. O seguinte mostra o perfil de risco para o short SPX 1875 colocar a partir do início de abril .. Este comércio está a ganhar 600 se o SPX fecha acima de 1875 em 52 dias. Mas olhando para o PL nas fatias de preços você pode ver quão rapidamente este comércio perde valor como o mercado cai. Se o mercado cair -12, o comércio seria debaixo de água por 7.4k. Na verdade, é pior do que isso, uma vez que não leva em conta quaisquer alterações à vega devido à queda. Com margens de PM, o valor em uma queda de -12 deve ser maior do que a liquidez líquida de sua conta. Então, se você tem um portfólio de 1M, você poderia vender 135 contratos. Mas à medida que o mercado cai ou a volatilidade aumenta, seu cálculo de -12 aumentará e você será colocado em um status de apenas fechar. Testando regras I8217m não vai tentar replicar perfeitamente Karen8217s comércios desde que é impossível 8211, mas em vez disso se concentrar na viabilidade de venda de curto coloca. Especificamente: Venda Coloca utilizando 50 de margem Venda Coloca em 2SD Venda Coloca entre 40-56 dias para expiração Aberto 1 comércio por semana. Idealmente em um grande dia. Cada comércio usa 25 de alocação comercial (ou 12,5 de margem) Só mantenha 4 negociações abertas em um momento Close põe cedo quando atingem 80 de lucros Os retornos são compostos. Eu aproximo a margem PM como 30 de Reg-T (2X o que eu encontrei acima). Sob a situação ideal, os comércios devem ser fechados em 80 lucro em cerca de 4 semanas. Curto coloca 8211 sem ajustes Eu primeiro quero ver o quão ruim put curto pode ser. Se você estava dormindo ao volante e não fez nada para proteger sua posição, sua conta é claramente liquidada e rapidamente. Observe que isto está na margem 50, mas eu vi mesmo usando a margem 25 ao configurar os comércios, provavelmente resultaria em uma chamada de margem. Curto Põe 8211 Venda a 30 PITM 70 a probabilidade de ser OTM é importante para a estratégia de Karen8217s (ou 30 ITM). Faz sentido. A essa altura, Gamma começa a acelerar. Este teste irá simplesmente fechar o comércio no ask quando sempre o delta do put é gt 0.30 (uma aproximação rought a 30 ITM). Claramente, isso sozinho dramaticamente ajuda a proteger a posição. Existem várias grandes quedas (-30-50), mas no geral, a estratégia é bastante rentável devido a esse longo período bastante em 2013-2014. Curta põe 8211 Roll Põe para baixo em 30 PITM Mas Karen não fecha simplesmente suas põe, as rola para baixo, às vezes aumenta aquelas posições (como eu a compreendo) e vende mais chamadas para ajudar a compo a perda. Este teste mostra os resultados de rolar para baixo as put e colocar outro comércio 2SD na mesma expiração. É interessante notar que isso torna as coisas piores. Como pegar tostões na frente de um rolo de vapor. O crash inicial de 2008 perde 75 do valor da conta. As gotas subsequentes são semelhantes em magnitude àquelas sem os rolos. Conclusão Os dados de 2008-2009 têm de ser tomados com um grão de sal, uma vez que não houve semanais para o comércio. Se o acidente de 2008 aconteceu hoje, eu acho que os resultados seriam um pouco melhor, devido ao fato de que você poderia espalhar o seu risco de volatilidade mais de expirações. Fiquei também surpreso ao ver que o rolamento tornou as coisas piores. É verdade, esta não é a estratégia de Karen8217s. Ela também vende chamadas, mas eu não sei como essas chamadas poderiam compensar essas lacunas. Reportedly Karen girou um lucro em 2008, mas eu não sou certo que ela divulgou como. Não tenho certeza se ela estava seguindo as mesmas regras ou não. Ela provavelmente estava seguindo a tendência e trocando menos putsmore chamadas no caminho para baixo. E provavelmente em menor escala. Continua. Foi apontado a mim que os indivíduos em TastyTrade não trocam sua estratégia de SunnySide acima em estoques com um volume médio menos de 2M. I don8217t recordar isso no vídeo, mas aparentemente é de conhecimento comum para aqueles que seguem o show. Este é o gráfico revisado ao levar o volume em consideração. A primeira coisa a notar é que o comércio ISRG não está incluído ea conta mostra um lucro. Há ligeiramente menos comércios, mas no geral eu vejo uma taxa de 93 vitórias (25 vitórias sobre 27 comércios). Essa perda foi NFLX. Enquanto isso devastou o desempenho até esse ponto, a recuperação foi bastante rápida. A segunda coisa a se notar é que esses resultados se aproximam bastante do que o TT apresentou em seu segmento de vídeo. Para sorrisos, aqui está o desempenho de 3 anos com o limite subjacente definido para 50 eo volume em 2M: Essa queda maciça já não é NFLX (a sua gota apenas antes), mas GMCR. Em vez de 27 comércios havia 73 com um índice de vitória de 86, mas um maior retorno médio. Eu don8217t normalmente sigo TastyTrade. Não porque eles não são bons conteúdos, mas apenas eu não tenho tempo. Mas várias vezes esta estratégia SunnySide Up cruzou a minha mesa. Eu inicialmente assisti o vídeo descrevendo o comércio. Eu estava interessado. Ele descreveu um comércio de ganhos que teve bons resultados no entanto o lado positivo incluiu uma chamada curta nua. Eu troquei algumas transações e vi grandes explosões (GMCR). Eu pensei que isso é muito arriscado para mim. Em seguida, cruzou minha mesa novamente meses mais tarde, eu pensei que iria seguir alguns ofícios de papel mais e eu vi uma perda muito grande novamente (SPLK desta vez). Mas claramente meu tamanho da amostra era pequeno e talvez eu estava escolhendo-os incorretamente. Uma coisa que realmente me incomoda sobre o vídeo é que ele não tem detalhes. Eles dão-lhe parâmetros e algumas estatísticas, mas don8217t mostrar PL curvas ou abaixamentos. Considerando que há posições curtas nus, acho isso duvidoso. Vamos testá-lo. Este comércio envolve a compra de uma propagação da chamada do touro do ATM e a venda de uma chamada despida que seja 84 OTM na expiração a mais próxima. A chamada nua precisa trazer crédito suficiente para pagar a propagação. O comércio é colocado direito antes do anúncio de ganhos, eo comércio é fechado no dia seguinte. Exemplo usando LULU para mostrar a estrutura. Como eles descrevem no vídeo, os ganhos podem ir de três maneiras: para cima, para baixo ou para lugar nenhum. Este comércio permite que você faça uma aposta em dois desses, capturando o esmagamento de volatilidade, mas deixa você fortemente exposto no terceiro. A maioria dos ganhos é dito estar dentro das expectativas dos criadores de mercado. Colocando a chamada nua 84 OTM coloca bem fora 1 SD do movimento esperado. Eu particularmente não gosto de posições não cobertas em eventos binários como esses, mas essa é uma configuração agradável. Tasty comércio mostra os seguintes resultados para testar 3 anos no valor de comércios. Estes olham como os resultados agradáveis, mas a nota que don8217t fala sobre aqueles dois que perdem comércios, nem eu eu travo como alocam os comércios. É 1 contrato por comércio ou até X de margem por comércio. Suponham que querem arriscar aproximadamente a mesma quantidade por comércio. Uma vez que eles mencionam estoques muito caros, ea margem nestes é muito alta, I8217ll assumir uma margem inicial máxima de 20k por comércio. I8217ll tentar manter os mesmos parâmetros como TT. Eles mencionam isso só funciona em estoques caros, mas eu não peguei o preço limiar, então eu vou começar com um mínimo subjacente de 100. Também vou usar o delta na chamada curta como um proxy para o ITM. Não perfeito, mas quanto mais próximo da expiração, mais próximos convergem esses números. Esta é a curva de ganhos e perdas dos últimos 3 anos terminando em 730 (no momento em que tenho dados até esta data). Estes não são resultados escolhidos. Isto é simplesmente os últimos 3 anos de dados do último ponto de dados que eu tenho. That8217s uma gota consideravelmente íngreme devido aos lucros de ISRG8217s. Eu dupliquei verific os resultados no thinkback de TOS8217s: TOS Sure bastante confirma meus resultados. Além disso, TOS mostra um IV rank de cerca de 85 para ISRG naquele dia. Eu acho que por todas as contas, este é um comércio que cai bem dentro de seus parâmetros. Mas soprou 3 anos de valor de ganhos durante a noite. Se eu mudar o limite de preço subjacente para 50, recebo os seguintes resultados: Um passeio muito mais rochoso, mas pelo menos rentável. Por curiosidade, eu também olhei para este comércio ao longo dos últimos 5 anos. Curiosamente, essas configurações de comércio eram muito difíceis de encontrar antes de 3 anos atrás. Há há pouco wasn8217t bastante vol lance nas chamadas curtas do que eu posso ver. Conclusão Eu admito livremente que eu sou bastante conservador quando se trata de negociação. Gosto de ganhar eventos, mas esse comércio me deixa nervoso. Primeiro, os retornos não são tão grandes. I como um 2 return pernoite, mas o comércio configuração é difícil encontrar. Em segundo lugar, existem algumas perdas muito grandes (ISRG, GOOG, GMCR, CMG, NFLX) que podem sobrecarregar qualquer lucro que possa ter. Quando 3 anos de lucros podem ser aniquilados com 1 comércio ruim, bem that8217s apenas uma configuração de comércio eu don8217t realmente gosto. Certamente maus negócios podem acontecer em outros setups e ter consequências semelhantes, mas isso é overnight. Não há possibilidade de gerenciar esse comércio dentro das horas de mercado. Esta semana vamos analisar as implicações que a volatilidade implícita tem sobre os comércios de ferro condor. Pode a volatilidade implícita ser um bom indicador sobre quando e onde entrar em um comércio Para começar, vamos olhar para a volatilidade implícita das opções ATM para o RUT para os primeiros três meses expirações ao longo dos últimos 9 anos: O mês da frente é definitivamente Mais volátil como seria de esperar, mas o 2 º e 3 º meses olhar para acompanhar um outro de perto. Podemos ver que o mínimo é de cerca de 15 eo máximo está na vizinhança de 70. Note que estou calculando a volatilidade implícita da cadeia de opções como uma média ponderada da opção ATM 8217s IVs. Estes testes utilizarão os seguintes limiares IV: 0.10, 0.125, 0.15, 0.175, 0.20, 0.225, 0.25, 0.30, 0.40, 0.5, 0.6, 0.7 Nota como o gráfico mostra, não devemos esperar quaisquer negociações com um IV abaixo de 0,10. Usar esse valor serve como uma verificação de sanidade nos resultados. IVs maior do que o limiar A primeira corrida de teste usa o IV como um limiar mínimo para entrar em um comércio. Por exemplo, os comércios com um mínimo de IV de 25 provavelmente não entram em um comércio quando este artigo foi escrito (IV é de cerca de 16). A linha Top são as IVs. A primeira coisa a notar é que os comércios que exigem uma IV acima de 30 são muito difíceis de encontrar. Trades acima de 30 ocorreram menos de 14 vezes nos últimos 10 anos. Os dados mostram acima para estes comércios de alto volume são interessantes, mas não pode ser contado devido ao tamanho da população muito baixa. Mas é interessante notar que pode haver uma vantagem para os comércios de delta baixos tem IVs extremamente alto sobre negócios de delta elevados. Em geral eu diria que há um efeito marginal quando se utiliza IV como o único critério de entrada até o IV começar a ficar para o norte de 22,5. Entre um IV de 22,5 e 30 há um tamanho de amostra significativo eo limiar de IV, especialmente em deltas mais baixos, parece beneficiar o comércio. Retornos esperados sobre Mínimo IV Observando um gráfico dos retornos esperados com base no uso de um limiar mínimo IV, podemos ver um par de padrões. Em primeiro lugar, para os comércios extremamente altos de IV (que são muito raros), os comércios de delta de baixa frente do delta executam muito bem, como todos os deltas no 3º mês. Mas, novamente, isso é baseado em um tamanho de amostra muito pequeno. Em segundo lugar, muitos comerciantes costumam notar que os comércios condor quando o IV está sob 8216X8217 não valem a pena. Enquanto escrevo isso, o VIX eo RVX estão em níveis baixos extremos, e este comentário é um sentimento freqüentemente compartilhado. Mas de acordo com esses dados, ele realmente não se levanta. Os comércios IV baixos fazem bem. Mas temos que esperar por mais alguns testes para ter certeza de que seu efeito é devido à baixa IV comércios e não sendo apoiado por outros high-IV comércios. IVs Menos que Threshold Agora vamos olhar para a situação inversa E se colocarmos um limite superior sobre a entrada IV de um comércio. Melhoria no Fator de Lucro por níveis de IV máximos (IV em colunas) Agora podemos ver que os comércios de IV muito baixos eram muito mais difíceis de encontrar, exceto para o Mês da Frente. Definir um limite máximo IV pode ser um prejuízo para comércios do delta do mês de alta delta, mas em grande parte o efeito é marginal. O Mês da Frente, os baixos negócios com IV (isto é, com menos de 18 anos) parecem ter um melhor desempenho que a linha de base, o que fornece evidências de que pode haver bons negócios de IC em ambientes de baixa volatilidade. A maioria dos comércios no segundo mês tem efeito marginal. Mas o terceiro mês parece ter melhorias não-marginais em negócios com IV menor que 20. IV Entre Limiares Agora podemos olhar para combinar um limiar inferior e superior e ver se surgirem quaisquer padrões. Melhoria no fator de lucro entre os intervalos IV limitados Se você fosse apenas o comércio dentro de um intervalo específico, ambientes inferiores IV realmente iria dar-lhe um impulso. Há também alguns bons cenários no Mês da Frente com IVs entre 25 e 50. Se você só quer negociar nas gamas IV muito altas, você estará esperando muito tempo para iniciar um comércio, mas você também é melhor aconselhado a usar O Back Month comércios. A partir desta tabela podemos ver as maiores melhorias são: IV entre 13 e 18: Lower Delta em qualquer mês. IV entre 18 e 20: muito baixo delta front mês comércios, ou comércios delta inferior no terceiro mês. IV entre 20 e 30: Não há vencedor claro. A maioria dos comércios parece marginalmente impactado. IV entre 30 e 50: Low Delta Front Mês IV mais de 50: Terceiro Mês comércios So8230 podemos usar isso para ajudar a escolher melhores posições. Retorno Esperado com intervalos IV limitados. Acima é um heatmap dos retornos esperados de todos os comércios com volatilidades implícitas limitadas. Esses comércios com número muito baixo de comércios são circundados em vermelho. Cada coluna é colorida de acordo com os melhores e piores desempenhos para essa gama IV. Observe a tendência nos meses de volta: negócios de delta alta executar pior e pior como a gama IV é aumentada, exceto níveis extremos. Hoje, as IVs da RUT são 15,3, 16,6 e 17,9 até o momento. Todos caem diretamente na segunda coluna. De acordo com estes dados, pode ser mais vantajoso entrar em um comércio do Front-Month com Deltas entre 15 e 22, ou um comércio de mês de volta com deltas abaixo de 22. Para mim, esse tipo de dissipa a crença de que não há bons retornos em Ambientes de baixa volatilidade. Na verdade, de acordo com esses dados, os comércios de mês dianteiro na faixa de 13 a 20 delta realizada aqueles em 20 a 25. Muito o oposto do que eu entendo muitos a acreditar. MAS, esses comércios são todos mantidos à expiração, e que geralmente não é praticado. Conclusão Baixa IV ambientes podem não ser tão ruim como muitos parecem reivindicar. Na verdade, a gama Mid-IV tem demonstrado historicamente para executar um pouco pior. Mas, em ambos os casos, IV pode ser uma ferramenta muito útil na seleção que mês e que atinge a entrar. Acredite ou não, este teste me levou um bom tempo. Eu pensei que ia ser trivial para implementar, mas eu continuei encontrando pepitas interessantes para investigar (bem como um monte de refatoração para o meu codebase). Mas o esforço vale a pena e não posso esperar para testar esses conceitos em uma base mais ampla de instrumentos. Eu preciso de um aconselhar. Eu preciso de uma plataforma ou software onde eu possa testar minha (realmente simples) estratégia de opções. Tenho vindo a utilizar muitos tipos de software de negociação automatizado antes. No entanto, todos eles não são opções amigáveis. O que eu quero dizer com isso é que minha estratégia está voltando por anos e comércios nas opções de dinheiro nesse momento. Então eu preciso de todas as cadeias de opções de volta no tempo. No entanto, todos os pacotes de backtesting que eu tenho usado até agora exigem que eu adicione todos os instrumentos às listas de meus instrumentos ou adicione todos os instrumentos que eu quero testar. Imagine que por 10 expirações por 12 meses por 10 anos. Então eu queria saber se existe algum provedor de serviços ou software que me permita acompanhar o desempenho de um portfólio de opções no modo backtesting. Novamente, nada se refrescar. Nenhuma negociação em tempo real é necessária. É apenas para se certificar de que o que eu quero está realmente funcionando. Real-time trading I can implement later with the TradeLink, or even raw InteractiveBrokers API, etc. Have you tried ThinkOrSwim (TOS ) I use TOS for all my options trading. They have an OnDemand feature, which is a replay of the market that you could use to backtest. Also, they have Thinkback feature, which is more of a static testing tool than the OnDemand tool. I think you might find what you are looking for on TOS. Successful Backtesting of Algorithmic Trading Strategies - Part I This article continues the series on quantitative trading, which started with the Beginners Guide and Strategy Identification. Both of these longer, more involved articles have been very popular so Ill continue in this vein and provide detail on the topic of strategy backtesting . Algorithmic backtesting requires knowledge of many areas, including psychology, mathematics, statistics, software development and marketexchange microstructure. I couldnt hope to cover all of those topics in one article, so Im going to split them into two or three smaller pieces. What will we discuss in this section Ill begin by defining backtesting and then I will describe the basics of how it is carried out. Then I will elucidate upon the biases we touched upon in the Beginners Guide to Quantitative Trading. Next I will present a comparison of the various available backtesting software options. In subsequent articles we will look at the details of strategy implementations that are often barely mentioned or ignored. We will also consider how to make the backtesting process more realistic by including the idiosyncrasies of a trading exchange . Then we will discuss transaction costs and how to correctly model them in a backtest setting. We will end with a discussion on the performance of our backtests and finally provide an example of a common quant strategy, known as a mean-reverting pairs trade . Lets begin by discussing what backtesting is and why we should carry it out in our algorithmic trading. What is Backtesting Algorithmic trading stands apart from other types of investment classes because we can more reliably provide expectations about future performance from past performance, as a consequence of abundant data availability. The process by which this is carried out is known as backtesting . In simple terms, backtesting is carried out by exposing your particular strategy algorithm to a stream of historical financial data, which leads to a set of trading signals . Each trade (which we will mean here to be a round-trip of two signals) will have an associated profit or loss. The accumulation of this profitloss over the duration of your strategy backtest will lead to the total profit and loss (also known as the PL or PnL). That is the essence of the idea, although of course the devil is always in the details What are key reasons for backtesting an algorithmic strategy Filtration - If you recall from the article on Strategy Identification. our goal at the initial research stage was to set up a strategy pipeline and then filter out any strategy that did not meet certain criteria. Backtesting provides us with another filtration mechanism, as we can eliminate strategies that do not meet our performance needs. Modelling - Backtesting allows us to (safely) test new models of certain market phenomena, such as transaction costs, order routing, latency, liquidity or other market microstructure issues. Optimisation - Although strategy optimisation is fraught with biases, backtesting allows us to increase the performance of a strategy by modifying the quantity or values of the parameters associated with that strategy and recalculating its performance. Verification - Our strategies are often sourced externally, via our strategy pipeline . Backtesting a strategy ensures that it has not been incorrectly implemented. Although we will rarely have access to the signals generated by external strategies, we will often have access to the performance metrics such as the Sharpe Ratio and Drawdown characteristics. Thus we can compare them with our own implementation. Backtesting provides a host of advantages for algorithmic trading. However, it is not always possible to straightforwardly backtest a strategy. In general, as the frequency of the strategy increases, it becomes harder to correctly model the microstructure effects of the market and exchanges. This leads to less reliable backtests and thus a trickier evaluation of a chosen strategy. This is a particular problem where the execution system is the key to the strategy performance, as with ultra-high frequency algorithms. Unfortunately, backtesting is fraught with biases of all types. We have touched upon some of these issues in previous articles, but we will now discuss them in depth. Biases Affecting Strategy Backtests There are many biases that can affect the performance of a backtested strategy. Unfortunately, these biases have a tendency to inflate the performance rather than detract from it. Thus you should always consider a backtest to be an idealised upper bound on the actual performance of the strategy. It is almost impossible to eliminate biases from algorithmic trading so it is our job to minimise them as best we can in order to make informed decisions about our algorithmic strategies. There are four major biases that I wish to discuss: Optimisation Bias . Look-Ahead Bias . Survivorship Bias and Psychological Tolerance Bias . Optimisation Bias This is probably the most insidious of all backtest biases. It involves adjusting or introducing additional trading parameters until the strategy performance on the backtest data set is very attractive. However, once live the performance of the strategy can be markedly different. Another name for this bias is curve fitting or data-snooping bias. Optimisation bias is hard to eliminate as algorithmic strategies often involve many parameters. Parameters in this instance might be the entryexit criteria, look-back periods, averaging periods (i. e the moving average smoothing parameter) or volatility measurement frequency. Optimisation bias can be minimised by keeping the number of parameters to a minimum and increasing the quantity of data points in the training set. In fact, one must also be careful of the latter as older training points can be subject to a prior regime (such as a regulatory environment) and thus may not be relevant to your current strategy. One method to help mitigate this bias is to perform a sensitivity analysis . This means varying the parameters incrementally and plotting a surface of performance. Sound, fundamental reasoning for parameter choices should, with all other factors considered, lead to a smoother parameter surface. If you have a very jumpy performance surface, it often means that a parameter is not reflecting a phenomena and is an artefact of the test data. There is a vast literature on multi-dimensional optimisation algorithms and it is a highly active area of research. I wont dwell on it here, but keep it in the back of your mind when you find a strategy with a fantastic backtest Look-Ahead Bias Look-ahead bias is introduced into a backtesting system when future data is accidentally included at a point in the simulation where that data would not have actually been available. If we are running the backtest chronologically and we reach time point N, then look-ahead bias occurs if data is included for any point Nk, where k0. Look-ahead bias errors can be incredibly subtle. Here are three examples of how look-ahead bias can be introduced: Technical Bugs - Arraysvectors in code often have iterators or index variables. Incorrect offsets of these indices can lead to a look-ahead bias by incorporating data at Nk for non-zero k. Parameter Calculation - Another common example of look-ahead bias occurs when calculating optimal strategy parameters, such as with linear regressions between two time series. If the whole data set (including future data) is used to calculate the regression coefficients, and thus retroactively applied to a trading strategy for optimisation purposes, then future data is being incorporated and a look-ahead bias exists. MaximaMinima - Certain trading strategies make use of extreme values in any time period, such as incorporating the high or low prices in OHLC data. However, since these maximalminimal values can only be calculated at the end of a time period, a look-ahead bias is introduced if these values are used - during - the current period. It is always necessary to lag highlow values by at least one period in any trading strategy making use of them. As with optimisation bias, one must be extremely careful to avoid its introduction. It is often the main reason why trading strategies underperform their backtests significantly in live trading. Survivorship Bias Survivorship bias is a particularly dangerous phenomenon and can lead to significantly inflated performance for certain strategy types. It occurs when strategies are tested on datasets that do not include the full universe of prior assets that may have been chosen at a particular point in time, but only consider those that have survived to the current time. As an example, consider testing a strategy on a random selection of equities before and after the 2001 market crash. Some technology stocks went bankrupt, while others managed to stay afloat and even prospered. If we had restricted this strategy only to stocks which made it through the market drawdown period, we would be introducing a survivorship bias because they have already demonstrated their success to us. In fact, this is just another specific case of look-ahead bias, as future information is being incorporated into past analysis. There are two main ways to mitigate survivorship bias in your strategy backtests: Survivorship Bias Free Datasets - In the case of equity data it is possible to purchase datasets that include delisted entities, although they are not cheap and only tend to be utilised by institutional firms. In particular, Yahoo Finance data is NOT survivorship bias free, and this is commonly used by many retail algo traders. One can also trade on asset classes that are not prone to survivorship bias, such as certain commodities (and their future derivatives). Use More Recent Data - In the case of equities, utilising a more recent data set mitigates the possibility that the stock selection chosen is weighted to survivors, simply as there is less likelihood of overall stock delisting in shorter time periods. One can also start building a personal survivorship-bias free dataset by collecting data from current point onward. After 3-4 years, you will have a solid survivorship-bias free set of equities data with which to backtest further strategies. We will now consider certain psychological phenomena that can influence your trading performance. Psychological Tolerance Bias This particular phenomena is not often discussed in the context of quantitative trading. However, it is discussed extensively in regard to more discretionary trading methods. It has various names, but Ive decided to call it psychological tolerance bias because it captures the essence of the problem. When creating backtests over a period of 5 years or more, it is easy to look at an upwardly trending equity curve, calculate the compounded annual return, Sharpe ratio and even drawdown characteristics and be satisfied with the results. As an example, the strategy might possess a maximum relative drawdown of 25 and a maximum drawdown duration of 4 months. This would not be atypical for a momentum strategy. It is straightforward to convince oneself that it is easy to tolerate such periods of losses because the overall picture is rosy. However, in practice, it is far harder If historical drawdowns of 25 or more occur in the backtests, then in all likelihood you will see periods of similar drawdown in live trading. These periods of drawdown are psychologically difficult to endure. I have observed first hand what an extended drawdown can be like, in an institutional setting, and it is not pleasant - even if the backtests suggest such periods will occur. The reason I have termed it a bias is that often a strategy which would otherwise be successful is stopped from trading during times of extended drawdown and thus will lead to significant underperformance compared to a backtest. Thus, even though the strategy is algorithmic in nature, psychological factors can still have a heavy influence on profitability. The takeaway is to ensure that if you see drawdowns of a certain percentage and duration in the backtests, then you should expect them to occur in live trading environments, and will need to persevere in order to reach profitability once more. Software Packages for Backtesting The software landscape for strategy backtesting is vast. Solutions range from fully-integrated institutional grade sophisticated software through to programming languages such as C, Python and R where nearly everything must be written from scratch (or suitable plugins obtained). As quant traders we are interested in the balance of being able to own our trading technology stack versus the speed and reliability of our development methodology. Here are the key considerations for software choice: Programming Skill - The choice of environment will in a large part come down to your ability to program software. I would argue that being in control of the total stack will have a greater effect on your long term PL than outsourcing as much as possible to vendor software. This is due to the downside risk of having external bugs or idiosyncrasies that you are unable to fix in vendor software, which would otherwise be easily remedied if you had more control over your tech stack. You also want an environment that strikes the right balance between productivity, library availability and speed of execution. I make my own personal recommendation below. Execution CapabilityBroker Interaction - Certain backtesting software, such as Tradestation, ties in directly with a brokerage. I am not a fan of this approach as reducing transaction costs are often a big component of getting a higher Sharpe ratio. If youre tied into a particular broker (and Tradestation forces you to do this), then you will have a harder time transitioning to new software (or a new broker) if the need arises. Interactive Brokers provide an API which is robust, albeit with a slightly obtuse interface. Customisation - An environment like MATLAB or Python gives you a great deal of flexibility when creating algo strategies as they provide fantastic libraries for nearly any mathematical operation imaginable, but also allow extensive customisation where necessary. Strategy Complexity - Certain software just isnt cut out for heavy number crunching or mathematical complexity. Excel is one such piece of software. While it is good for simpler strategies, it cannot really cope with numerous assets or more complicated algorithms, at speed. Bias Minimisation - Does a particular piece of software or data lend itself more to trading biases You need to make sure that if you want to create all the functionality yourself, that you dont introduce bugs which can lead to biases. Speed of Development - One shouldnt have to spend months and months implementing a backtest engine. Prototyping should only take a few weeks. Make sure that your software is not hindering your progress to any great extent, just to grab a few extra percentage points of execution speed. C is the elephant in the room here Speed of Execution - If your strategy is completely dependent upon execution timeliness (as in HFTUHFT) then a language such as C or C will be necessary. However, you will be verging on Linux kernel optimisation and FPGA usage for these domains, which is outside the scope of this article Cost - Many of the software environments that you can program algorithmic trading strategies with are completely free and open source. In fact, many hedge funds make use of open source software for their entire algo trading stacks. In addition, Excel and MATLAB are both relatively cheap and there are even free alternatives to each. Now that we have listed the criteria with which we need to choose our software infrastructure, I want to run through some of the more popular packages and how they compare: Note: I am only going to include software that is available to most retail practitioners and software developers, as this is the readership of the site. While other software is available such as the more institutional grade tools, I feel these are too expensive to be effectively used in a retail setting and I personally have no experience with them. Backtesting Software Comparison Description: High-level language designed for speed of development. Wide array of libraries for nearly any programmatic task imaginable. Gaining wider acceptance in hedge fund and investment bank community. Not quite as fast as CC for execution speed. Execution: Python plugins exist for larger brokers, such as Interactive Brokers. Hence backtest and execution system can all be part of the same tech stack. Customisation: Python has a very healthy development community and is a mature language. NumPySciPy provide fast scientific computing and statistical analysis tools relevant for quant trading. Strategy Complexity: Many plugins exist for the main algorithms, but not quite as big a quant community as exists for MATLAB. Bias Minimisation: Same bias minimisation problems exist as for any high level language. Need to be extremely careful about testing. Development Speed: Pythons main advantage is development speed, with robust in built in testing capabilities. Execution Speed: Not quite as fast as C, but scientific computing components are optimised and Python can talk to native C code with certain plugins. Cost: FreeOpen Source Description: Mature, high-level language designed for speed of execution. Wide array of quantitative finance and numerical libraries. Harder to debug and often takes longer to implement than Python or MATLAB. Extremely prevalent in both the buy - and sell-side. Execution: Most brokerage APIs are written in C and Java. Thus many plugins exist. Customisation: CC allows direct access to underlying memory, hence ultra-high frequency strategies can be implemented. Strategy Complexity: C STL provides wide array of optimised algorithms. Nearly any specialised mathematical algorithm possesses a free, open-source CC implementation on the web. Bias Minimisation: Look-ahead bias can be tricky to eliminate, but no harder than other high-level language. Good debugging tools, but one must be careful when dealing with underlying memory. Development Speed: C is quite verbose compared to Python or MATLAB for the same algorithmm. More lines-of-code (LOC) often leads to greater likelihood of bugs. Execution Speed: CC has extremely fast execution speed and can be well optimised for specific computational architectures. This is the main reason to utilise it. Cost: Various compilers: LinuxGCC is free, MS Visual Studio has differing licenses. Different strategies will require different software packages. HFT and UHFT strategies will be written in CC (these days they are often carried out on GPUs and FPGAs ), whereas low-frequency directional equity strategies are easy to implement in TradeStation, due to the all in one nature of the softwarebrokerage. My personal preference is for Python as it provides the right degree of customisation, speed of development, testing capability and execution speed for my needs and strategies. If I need anything faster, I can drop in to C directly from my Python programs. One method favoured by many quant traders is to prototype their strategies in Python and then convert the slower execution sections to C in an iterative manner. Eventually the entire algo is written in C and can be left alone to trade In the next few articles on backtesting we will take a look at some particular issues surrounding the implementation of an algorithmic trading backtesting system, as well as how to incorporate the effects of trading exchanges. We will discuss strategy performance measurement and finally conclude with an example strategy. Just Getting Started with Quantitative Trading

No comments:

Post a Comment