Negociando planilha do sistema backtest
Negociando planilha do sistema de backtest
Um contrato Longo ou Curto será entrado quando as Condições de Entrada forem cumpridas. As condições de entrada podem ser expressas como uma expressão de fórmula. A expressão da fórmula faz distinção entre maiúsculas e minúsculas e pode fazer uso de Funções, Operadores e Colunas conforme descrito abaixo.
crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. e (lógicaexpr,…) - Booleana E. Retorna True se todas as expressões lógicas forem verdadeiras. ou (logicalexpr,…) - Boolean Or. Retorna True se alguma das expressões lógicas for True. daysago (X, 10) - Retorna o valor (na coluna X) de 10 dias atrás. previoushigh (X, 10) - Retorna o valor mais alto (na coluna X) dos últimos 10 dias, incluindo hoje. previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, incluindo hoje.
Maior que = Igual <> Não igual = Maior que ou igual + Adição - Subtração * Multiplicação / Divisão.
Colunas (de AnalysisOutput)
A - Coluna A B - Coluna B C .. .. YY - Coluna YY ZZ - Coluna ZZ.
Esta é a parte mais interessante e flexível das Condições de Entrada. Ele permite que colunas da planilha "AnalysisOutput" sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação.
Neste exemplo, se o valor na coluna A na planilha "AnalysisOutput" for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. e (A> B, C> D)
Neste exemplo, se o valor na coluna A na planilha "AnalysisOutput" for maior que o valor da coluna B e o valor da coluna C for maior que a coluna D, a condição de entrada será satisfeita. crossabove (A, B)
Neste exemplo, se o valor da coluna A na planilha "AnalysisOutput" cruzar acima do valor de B, a condição de entrada será satisfeita. crossabove significa que A originalmente tem um valor que é menor ou igual a B e o valor de A subseqüentemente se torna maior que B.
As Condições de Saída podem fazer uso de Funções, Operadores e Colunas, conforme definido nas condições de entrada. Além disso, também pode fazer uso de variáveis, como mostrado abaixo.
lucro É definido como o preço de venda menos o preço de compra. O preço de venda deve ser maior que o preço de compra para um lucro a ser feito. Caso contrário, o lucro será zero. perda É definido como o preço de venda menos o preço de compra quando o preço de venda é menor que o preço de compra. profitpct (preço de venda - preço de compra) / preço de compra Nota: o preço de venda deve ser maior ou igual ao preço de compra. Caso contrário, o profitpct será zero. losspct (preço de venda - preço de compra) / preço de compra Nota: o preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero.
Neste exemplo, se o lucro em termos de porcentagem for maior que 20%, as condições de saída serão satisfeitas.
Backtesting uma estratégia de negociação SuperTrend usando o Excel.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar tendências de mercado. Este artigo apresenta uma estratégia de negociação do SuperTrend e mostra como a estratégia pode ser backtested usando o Excel.
Para obter uma perspectiva diferente sobre o SuperTrend. Veja este artigo recente, onde mostro como pode ser rentável inverter o indicador: Uma estratégia Forex SuperTrend.
A estratégia foi lucrativa durante o período de tempo testado e os resultados podem ser vistos abaixo.
Estratégia de Negociação.
Os critérios para a estratégia são os seguintes:
Digite Long Trade.
Quando o preço de fechamento está acima de 200 SMA e cruza de baixo para cima SuperTrend Ou quando o preço de fechamento está acima de SuperTrend e cruza de baixo para acima de 200 SMA.
Digite Short Trade.
Quando o preço de fechamento está abaixo de 200 SMA e cruza de cima para baixo SuperTrend Ou quando o preço de fechamento está abaixo de SuperTrend e cruza de cima para abaixo de 200 SMA.
Fechar longo comércio.
Quando a meta de lucro ou Stop-Loss é atingida Quando a negociação é aberta na direção oposta Ao fechar cruzamentos de preço de cima para abaixo de 25 EMA.
Fechar curto comércio.
Quando a meta de lucro ou a Stop Loss é atingida Quando a negociação é aberta na direção oposta Ao fechar cruzamentos de preço de abaixo para acima de 25 EMA.
O vídeo explica a estratégia de negociação e analisa as planilhas usadas para o backtest. Ele também passa pelos resultados e realiza uma análise passo a passo.
Fórmulas do Excel.
Essas fórmulas são baseadas em uma versão da planilha em meu curso de Ebook, Como fazer backtest de uma estratégia de negociação usando o Excel. As referências da célula dependerão de quais dados você está usando em quais colunas. No entanto, depois de entender a estratégia de negociação que está sendo testada, será fácil adaptar as fórmulas à sua própria planilha ou ao sistema de backtesting.
Longo Fechar Abaixo da EMA AC203 = SE (AND (F203 & lt; I203, F202 & gt; I202, AI203 = $ AI $ 2, AB203 = 0, AA203 = 0, Z203 = 0), & # 8221; ema próximo & # 8221 ;,)
EMA longo Fechar AN203 = SE (AC203 = & # 8221; EMA próximo & # 8221; (F203-AD203) / (AE203-AD203) * AG203,)
Short Close Below EMA AS203 = SE (AND (F203 & gt; I203, F202 & lt; I202, AY203 = $ AY $ 2, AQ203 = 0, AR203 = 0, $ AS $ 2 = 1, AP203 = 0), & # 8221; EMA close & # 8221 ;,)
EMA curto Fechar BD203 = SE (AS203 = & # 8221; EMA próximo & # 8221; (AT203-F203) / (AT203-AU203) * AW203,)
A estratégia de negociação foi backtested no par EUR / USD forex no período de 1 hora. O backtest foi realizado em três períodos de 20.000 períodos de 1 hora (3 anos e 3 meses).
Eu então combinei esses backtests e os resultados são mostrados na tabela abaixo.
Links Relacionados.
Se você estiver interessado em usar o Excel para backtest estratégias de negociação meu novo curso de Ebook: Como backtest uma estratégia de negociação usando o Excel já está disponível na Amazon Kindle Bookstore.
Se você estiver interessado em backtesting e negociação automatizada usando o MT4, dê uma olhada em Como criar um Expert Advisor para uma estratégia de negociação da SuperTrend.
Se você quiser saber como calcular o SuperTrend no Excel, consulte meu artigo anterior, Como calcular o indicador SuperTrend usando o Excel.
Outros artigos que você pode gostar.
Ebook Course - Como Backtest uma estratégia de negociação usando o Excel Você quer & hellip;
Ebook Course - Como Backtest uma estratégia de negociação usando o Excel Você quer & hellip;
Neste artigo, mostro uma estratégia de negociação que usa o indicador SuperTrend para negociar & hellip;
Tradinformed.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a fazer backtest de suas próprias estratégias e obter novas ideias de negociação.
Um sistema de negociação Heikin-Ashi simples e rentável Como calcular o indicador SuperTrend usando o Excel 3 Estratégias lucrativas de negociação Ichimoku Como calcular o indicador PSAR usando o Excel 6 Coisas que aprendi de uma desaceleração do mercado Tradinformed Backtest Model Últimas Mensagens.
Negociação Algorítmica (1) Opções Binárias (2) Padrões Gráficos (1) Criptomoedas (1) Ebook (2) Dados Econômicos (1) Crescimento Econômico (2) Biblioteca de Traders Essenciais (4) Comércio de Excel (6) Planilhas Google (1) Como para o Backtest (2) Entrevistas com Traders (1) Learn to Trade (18) MT4 (5) Trade Ideas (2) Automação de Negociação (3) Trading Book Reviews (1) Carteiras de Negociação (1) Trading Information (10) Trading Psychology ( 2) Estratégias de Negociação (25) Sem categoria (2)
Simulador de Monte Carlo & # 36; 11,99 6 em 1 pacote & # 36; 87,98 & # 36; 70.38 Bitcoin Breakout Trading Strategy & # 36; 21,25 Pacote 10 em 1 & # 36; 167,48 & # 36; 113,05.
21 Indicadores Técnicos & # 36; 5.99 Long-Short Backtest Model usando Excel & # 36; 12,25 Modelo Avançado de Backtest & # 36; 21,25 21 Indicadores Mais Técnicos & # 36; 5,99.
VIX Volatility S & P 500 Entry & # 36; 21,25 Pacote 4 em 1 & # 36; 45,48 & # 36; 38.66 Long-Short Backtest Model usando Excel & # 36; 12,25.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a fazer backtest de suas próprias estratégias e obter novas ideias de negociação.
Conselho de suporte.
Data / Hora: Sex, 16 de fevereiro de 2018 17:51:46 +0000.
Sistema de negociação de planilhas do backtest.
& quot; Auto-Trading: Replay 1.0X: CLV3 5 min # 1 | Folha ATS Simples | O sinal SellEntry é ignorado porque existem ordens de serviço. | Bar Hora de início: 2013-08-05 07:50:00 | 2013-08-26 23: 38: 50 & quot;
& quot; Auto-Trading: Replay 1.0X: CLV3 5 min # 1 | Folha ATS Simples | O sinal SellEntry é ignorado porque existem ordens de serviço. | Bar Hora de início: 2013-08-06 02:45:00 | 2013-08-26 23: 38: 51 & quot;
Para postar uma mensagem neste tópico, você precisa fazer o login com sua conta do Sierra Chart:
O que incluir em uma planilha Forex Backtest.
Um passo crítico em sua jornada Forex será backtesting. Depois de encontrar um sistema ou método de que você goste, você precisará executar os dados históricos e ver como seu método teria sido realizado em negociações reais nas últimas semanas, meses ou anos (dependendo do período de tempo planejado). para negociar). Recomenda-se que você faça pelo menos algumas centenas de negócios de backtest para qualquer sistema para estabelecer uma boa idéia de como o sistema Forex irá atuar nessas condições de mercado. As condições do mercado mudam, portanto, um backtest ainda não fornece todas as informações de que você precisa, mas certamente pode dar a você uma boa introdução ao seu teste de demonstração. Se você registra muitas informações importantes, também pode aprender coisas específicas que funcionam e não funcionam e como você pode refinar seu sistema para melhorar estatisticamente seus lucros.
Em uma planilha de backtest Forex, você vai querer cerca de seis colunas. O primeiro indicará se cada negociação foi uma compra ou uma venda. A segunda coluna deve listar a data e a terceira coluna o motivo da negociação. A quarta e quinta colunas devem ser os preços de entrada e saída, respectivamente. A última coluna será a soma dos pips que você ganhou ou perdeu de cada negociação. A coluna em que você lista o motivo pelo qual você inseriu a negociação pode ser um bom local para fazer anotações específicas junto com os acionadores que fizeram com que você entrasse. Essas notas serão úteis mais tarde, portanto, seja detalhado, especialmente em negociações perdidas. Mais tarde, você pode olhar para trás e encontrar padrões que ajudarão você a refinar e eliminar as perdas.
Escreva suas regras de negociação Forex no topo da sua planilha. Eles vão ajudá-lo a se concentrar e também lembrá-lo do que suas regras estavam neste backtest quando você olhar para trás mais tarde. Se você fizer alterações ao acessar seu sistema, observe as alterações e as datas históricas nas quais você as implementou.
Algumas estatísticas para calcular a partir de seus dados, que serão úteis para você, incluem pips líquidos de todo o seu backtest Forex, juntamente com os valores de sua média de ganho e perda média. Você vai querer contar quantas vitórias e derrotas você tem, e qual é a sua porcentagem de vitórias e a proporção entre ganhos e perdas. Lembre-se de que o spread vai lhe custar algum lucro em cada negociação, e os negócios de breakeven são tecnicamente com uma perda muito pequena como resultado. Você pode calcular uma rede ajustada, que leva essas perdas em consideração. Tome nota de sua maior série de derrotas e quantas derrotas seguidas você sofreu. Além disso, descubra as suas negociações vencedoras líquidas por mês, semana, dia ou o que quer que seja uma unidade de tempo apropriada para você ter uma visão geral de sua negociação. Outro bom quociente para somar é o seu lucro líquido dividido pela sua perda máxima. Isso lhe dirá quantas de suas maiores perdas você poderia suportar antes de explodir todos os seus lucros.
Backtesting Forex pode ser muito grande no começo, mas eventualmente você vai se acostumar com isso e entrar em um ritmo. E isso pode ser incrivelmente recompensador - pode fazer a diferença entre você explodir sua conta na vida real ou se tornar um profissional lucrativo.
Tendência Theta.
simples. negociação de opções objetivas.
Backtesting Um sistema básico de rotação de ETFs no Excel & # 8211; Download grátis.
Algum fundo:
Vamos enfrentá-lo, a tecnologia tornou possível acessar uma ampla gama de ferramentas para desenvolvimento, backtesting e otimização de sistemas. No entanto, uma ferramenta simples (mas poderosa) como o Excel é uma ótima maneira de validar um sistema de negociação. Neste exemplo, vamos manter as coisas realmente simples e fazer backtesting de um sistema de rotação mensal do ETF usando 5 símbolos que superam significativamente o buy and hold. Tudo que você precisa é de Excel e uma conexão com a Internet. Se você está lendo isso, imagino que você tenha conexão com a Internet. Este post pressupõe que você tenha uma compreensão básica do Excel, mas não precisa ser um especialista. Você pode criar o arquivo Excel seguindo as etapas abaixo ou baixá-lo aqui.
Sinta-se livre para distribuir o arquivo, mas por favor, forneça um link para este post, se você fizer isso.
Depois de concluir as etapas abaixo, você poderá mapear seus resultados e obter uma imagem de como o sistema realmente funciona. O gráfico abaixo é um exemplo de um sistema de rotação 5 ETF que classifica e compra o ETF mais alto todos os meses. Esse desempenho é comparado a comprar e manter todos os ETFs igualmente (sem rebalanceamento) e segurando o S & amp; P 500 ($ SPY). Você encontrará o cálculo exato no Excel, mas para o período de 9 anos testado, o sistema ETF Rotation gerou um retorno anual de 11,88% contra 7,75% para o SPY e 7,18% para todos os participantes igualmente.
Vale a pena notar que a forma como o arquivo excel é construído não se presta bem à ampliação. No entanto, se você tiver algumas habilidades em Visual Basic e um pouco de criatividade, será possível criar uma maneira de escalá-lo.
Etapa 1: escolha mercados.
A escolha de mercados é uma decisão crítica para todos os sistemas. Como tenho uma forte preferência pela tendência após as negociações, vamos usar um grupo diversificado de mercados. Dito isto, você também pode considerar o uso de setores do mercado de ações (Tecnologia, Saúde, etc), várias commodities, ou algo completamente diferente. Eu queria usar mercados relativamente não correlacionados com cerca de 10 anos de dados históricos, então vou usar os seguintes ETFs:
A imagem abaixo mostra os retornos individuais do ETF durante o período de teste:
Etapa 2: coletar e consolidar dados.
Depois de decidir sobre os mercados, você precisará ativar o Excel e encontrar uma fonte de dados históricos. No interesse da frugalidade, vamos usar dados gratuitos do Yahoo Finance. Apenas um lembrete de que a construção dessa planilha em particular não é muito bem dimensionada, por isso, menos símbolos serão mais fáceis de executar. Dito isto, com alguma criatividade e habilidades no Visual Basic, você poderia tornar o teste mais dinâmico.
Ao entrar no Yahoo Finance, você pode inserir um dos símbolos que escolheu e obter uma cotação. Na página de cotações, clique no link à esquerda para "Dados históricos". Na página Dados históricos, selecione dados mensais e envie. Se você rolar para a parte inferior dos dados mensais, há um link para fazer o download dos dados para uma planilha. Faça o download de dados históricos mensais de todos os símbolos em seu sistema.
Depois de fazer o download dos dados, você precisa consolidar tudo em uma única planilha. É provável que os dados estejam no formato. csv, portanto, você desejará obter um livro. xlsx. Coloque os dados para cada símbolo em uma folha separada e crie uma nova folha em branco para cálculos.
Etapa 3: Calcular o retorno de um mês usando o fechamento ajustado.
Nesta etapa, precisamos passar por cada folha e calcular o retorno de um mês (ou um período) para cada ETF. Recomendo ir a cada folha e calcular o retorno de um período na coluna diretamente à direita dos dados de fechamento ajustados.
Retorno de um período = (preço anterior - preço atual) / preço anterior.
No excel speak, isso parecerá algo como = (B3-B4) / B4, em que B4 é dado do mês anterior e B3 é o mês atual.
Depois de analisar cada folha e calcular o retorno de um período, precisamos consolidar esses dados na folha em branco para cálculos. Quando você consolidar, copie e cole a coluna de fechamento ajustada e a coluna de retorno de um mês. Tenha em atenção que também pretende copiar e colar uma coluna de datas na coluna A da folha de cálculo.
Etapa 4: calcular a variação percentual para classificação dos ETFs.
Neste ponto, você deve ter uma pasta de trabalho do Excel com 5 folhas para dados brutos e uma folha com duas colunas de dados para cada ETF. Eu recomendaria usar a coluna A para a data, B para fechar ajustada ETF1, C para uma alteração percentual do período, D para fechar ajustada ETF2, etc. Se você tem esse formato, você está pronto para prosseguir.
O próximo passo é calcular a taxa de mudança para cada ETF. Neste exemplo, estamos usando uma taxa de alteração de cinco meses. Eu usei 5 colunas à direita dos dados existentes na folha de cálculo. Em cada coluna, precisamos calcular o retorno de 5 meses para um ETF. O retorno é muito semelhante ao retorno de um período calculado na Etapa 3 acima, mas precisamos fazer isso por 5 meses.
No excel, o cálculo deve ser algo como = (B3-B8) / B8, onde os dados na célula B8 são de um período anterior. Você precisará fazer o mesmo cálculo para cada ETF.
Etapa 5: Classifique os ETFs.
Depois de saber a taxa de mudança de 5 meses, queremos classificar os ETFs. Eu usei outras 5 colunas à direita da coluna de alteração de 5 meses para classificar cada ETF. A ideia é que cada ETF tenha uma coluna e essa coluna mostre a classificação para o ETF. Por exemplo, a coluna SPY exibirá 1 se SPY for o ETF com melhor desempenho para o período.
A fórmula do Excel que precisamos classificar os dados é = RANK (% Change Cell, Range of% Change Cells)
Se os dados de alteração de porcentagem para o período foram mantidos nas células L9 a P9, isso seria: = RANK (L9, L9: P9)
A próxima coluna acima para classificação seria simplesmente = RANK (M9, L9: P9) porque estamos classificando a alteração percentual na Coluna M no mesmo grupo de dados (L9 a P9).
Etapa 6: Determinar o Retorno Apropriado de Um Período.
Depois de classificarmos os ETFs com base no retorno de 5 meses, precisamos selecionar o retorno apropriado de um período. Para fazer isso, criei uma coluna para o retorno de um período e usei uma instrução IF simples para selecionar o retorno correto. Essencialmente, o que estamos tentando dizer é algo como, se o SPY for classificado como 1, o retorno será o número na coluna de retorno de um período para o SPY.
No Excel, a instrução parece algo como = IF (Q10 = 1, C9)
A lógica do Excel para uma instrução IF é = IF (Condição, Resultado se Verdadeiro, Resultado se Falso)
No entanto, como temos 5 ETFs para passar, a fórmula acaba parecendo um pouco feia com várias instruções IF aninhadas. Para um exemplo das instruções IF aninhadas, é melhor consultar os dados da planilha.
Etapa 7: Simular o patrimônio da conta.
Depois de criarmos uma coluna com as instruções IF que retornam o período apropriado, é fácil simular o patrimônio da conta. Simplesmente vamos para os dados mais antigos na planilha e inserimos uma quantia inicial de patrimônio. Nesta planilha, usei US $ 10.000 como patrimônio inicial. Com o patrimônio inicial de $ 10.000, você multiplica o patrimônio do período anterior por 1 + o retorno do período atual.
Por exemplo, digamos que colocamos 10.000 na célula Z117 e os dados de retorno de um período residem na coluna V. O cálculo do patrimônio da conta para a célula Z118 seria = (Z117 * (1 + V116))
Você precisará copiar ou preencher essa fórmula até a coluna do patrimônio da conta e, em seguida, terá uma coluna que mostra o valor da sua conta ao comprar o ETF de melhor desempenho mensalmente. Neste ponto, você é efetivamente feito com os cálculos básicos e pode voltar e modificar valores ou testar diferentes resultados de equidade. Na pasta de trabalho fornecida, há também colunas para um investimento de US $ 10.000 em $ SPY e um cálculo para comprar todos os ETFs igualmente.
Etapa 8: Analise os dados.
Se você chegou até aqui, você deve ter uma planilha que está calculando um monte de números. O próximo passo no processo é avaliar os números, criar gráficos bonitos e formar opiniões e conclusões sobre os dados. Não vou me aprofundar nos detalhes de criação de gráficos no Excel, mas há dois gráficos simples dentro da planilha para você manipular e manipular.
Ufa, é isso! Se isso foi mais do que você pode manipular, você pode baixar uma cópia de exemplo da pasta de trabalho do Excel acima e percorrer as etapas usando a pasta de trabalho como um guia. Entender como o arquivo do Excel funciona é essencial para criar extensões e testar ideias diferentes. O sistema que testamos acima é muito simples, mas deve fornecer uma compreensão básica de como fazer backtest de um Sistema de Rotação ETF no Excel.
Por favor, poste um comentário abaixo se você tiver alguma dúvida sobre o processo ou qualquer pensamento sobre a planilha.
Pós-navegação.
Dan, obrigado por compartilhar isso. Trabalho requintado!
Obrigado LT, feliz que você tenha gostado!
Então eu modifiquei o seu S / S para um olhar para trás na rotação setorial real e usei os Setores SPDR desde 1999. Eu também adicionei uma coluna para usar os 2 maiores valores por período em vez de apenas o topo e o & # 8220; Todos iguais & # 8221; Eu tirei o espião e tinha apenas os setores nele.
Aqui está o que surgiu com porcentagens anualizadas.
Você acha que isso parece certo?
Os números que você está fornecendo acima parecem razoáveis, mas sem ajustar a planilha por conta própria, não posso confirmá-los quanto à precisão. Eu irei falar com você por e-mail.
Siga ThetaTrend.
Curta a ThetaTrend no Facebook!
Obter atualizações.
Quer se tornar um melhor trader? (Não é uma pergunta capciosa)
Aprenda com meus erros e baixe meu Documento de Sistema de Negociação de 20 Creditos de Página!
Guia de Backtesting de Estratégia de Negociação.
Neste Guia de Backtesting de Estratégia de negociação, você encontrará uma abordagem de backtesting, bem como algumas diretrizes sobre como evitar overfitting e quais métricas incluir nos relatórios de desempenho.
Tabela De Conteúdo.
Backtesting refere-se ao teste de um modelo preditivo ou sistema de negociação usando dados históricos. Os traders usam o backtesting para testar ideias estratégicas, comparar o desempenho da estratégia em diferentes mercados, prazos e determinar os valores ideais dos parâmetros de entrada para seus sistemas.
As estratégias e parâmetros de negociação são avaliados alimentando um conjunto de dados históricos, como preços abertos / altos / baixos / fechados, cálculos de análise técnica, gregos de opções, etc. para um aplicativo de backtesting personalizado, script R ou uma planilha do Excel e avaliando desempenho da estratégia resultante usando um conjunto de métricas.
Neste artigo, vamos nos concentrar em aplicar o backtesting no chamado "sistema de negociação" & # 8211; uma abordagem de negociação em que os traders desenvolvem, testam e executam algoritmos de negociação automatizados baseados em regras e avaliam o desempenho da estratégia com base em dados concretos.
Por que ainda precisamos fazer backtest?
Todos sabem que resultados passados não garantem desempenho futuro. No entanto, enquanto um bom resultado de desempenho backtest não é por si só suficiente para garantir lucros comerciais (e quais são?) & # 8211; é, no entanto, um dos testes necessários para os comerciantes colocarem seus sistemas para considerá-los aptos para negociação ao vivo.
A fim de garantir sucesso a longo prazo nos mercados & # 8211; os traders precisam não apenas gerar e aplicar idéias originais de negociação, mas também continuar criando novas ideias regularmente. Um operador de sistema pode ter que passar por dezenas de estratégias prospectivas antes de encontrar uma que funcione. E então, como escolher o conjunto ideal de indicadores, parâmetros de entrada e mercados para aplicar a estratégia? Você deve usar uma Bollinger Band de 20 períodos, 30 ou 50? Você vai com 2 desvios padrão ou 2,5 ou 3? Você deve usar o mesmo std. valor de desvio para ambas as bandas superior e inferior ou ter em conta a tendência de preço atual e definir um padrão mais alto (menor). valor de desvio na banda correspondente? Vai com 14, 30, 50 ou uma média móvel de 100 bar? SMA, EMA, WMA? Quais mecanismos usar para detectar os níveis de volatilidade? Estes são exemplos simples do tipo de perguntas que um desenvolvedor de sistema de negociação terá que responder.
Para piorar as coisas, # 8211; nenhuma estratégia de negociação, por melhor que seja, permanece lucrativa para sempre. A janela de lucratividade geralmente permanece aberta apenas por um pequeno período de tempo, geralmente entre algumas semanas e alguns meses. Depois disso, várias coisas podem acontecer para fazer a estratégia parar de funcionar: as condições do mercado mudam, o mercado de tendência se transforma em limite de faixa ou vice-versa, outros comerciantes encontram a mesma oportunidade de lucro e fecham, os negócios de HFT estragam tudo, seu corretor captura para a sua estratégia e começa a correr na frente de você (isso acontece "sempre certifique-se de usar um corretor respeitável e regulamentado), etc & # 8230; Independentemente do motivo, & # 8211; Um comerciante que deseja permanecer lucrativo por um período prolongado de tempo deve se manter mudando as estratégias regularmente e se adaptando às novas condições. Isso significa que os operadores do sistema precisam constantemente procurar e testar novas estratégias. Pode levar semanas ou meses para desenvolver uma nova estratégia de trabalho. Enquanto isso, uma solução alternativa pode ser modificar uma estratégia existente comprovada ajustando parâmetros de entrada, adicionando uma nova regra de "molho secreto" ou simplesmente aplicando-a a um mercado diferente. Todos os itens acima podem ser demorados, considerando o grande número de combinações de parâmetros de entrada que precisam ser avaliados e testados.
O backtesting é útil por algumas razões. Primeiro, é um método que fornece dados de desempenho concretos para comparação de estratégia lado a lado. Ele elimina a adivinhação e permite que os comerciantes apliquem método científico à negociação. Em segundo lugar, o backtesting automatizado é uma ótima ferramenta de economia de tempo. Uma boa ferramenta de backtesting fornece uma maneira de iterar milhares de combinações de parâmetros e encontrar as melhores. Esse processo pode ser executado repetidamente diariamente para garantir que uma estratégia permaneça ajustada usando a maioria dos dados atualizados.
Ajuste de curva.
Um dos maiores desafios no backtesting é o ajuste de curva (também conhecido como “overfitting”). Como o backtesting facilita o ajuste dos parâmetros até que sua estratégia tenha um desempenho perfeito & # 8211; muitas vezes, você acaba super otimizando a estratégia para o conjunto de dados específico em que passou a testar o sistema. Isso é chamado overfitting. Overfitting tende a acontecer com mais freqüência quando a estratégia usa um grande número de parâmetros e indicadores. Com maior número de variáveis disponíveis, torna-se mais fácil gerar uma curva que se encaixa perfeitamente no desempenho histórico.
Existem várias maneiras de reduzir o risco de overfitting:
Mantenha o número de parâmetros de entrada razoáveis. Se você usar mais de 2-3 indicadores de análise técnica baseados em preço & # 8211; você provavelmente precisa se livrar de alguns deles. Os indicadores baseados em preço tendem a duplicar os sinais um do outro com vários graus de atraso e a adição de mais do que um par é redundante.
Teste sua estratégia em vários conjuntos distintos de dados. Uma abordagem frequentemente usada no aprendizado de máquina é dividir seu conjunto de dados históricos em duas partes: treinamento (cerca de 60-70% dos dados disponíveis) e validação (os outros 30-40%). O conjunto de dados de treinamento é usado para testes e otimização de parâmetros. Quando você acha que encontrou valores de parâmetro suficientemente bons & # 8211; execute-os no conjunto de dados de validação e compare os resultados de desempenho. Se o desempenho mostrado no conjunto de dados de treinamento for significativamente melhor do que no conjunto de dados de validação & # 8211; você tem um problema de overfitting. Você otimizou demais a estratégia para funcionar perfeitamente no conjunto de treinamento, mas não em outros dados.
Teste em dados históricos de diferentes instrumentos de mercado. Se a sua estratégia é genuinamente lucrativa & # 8211; não só deve funcionar bem em AAPL ou S & # 038; P 500 futuros & # 8211; deve mostrar pelo menos resultados comparáveis em outros contratos / símbolos. Da mesma forma, se você negociar em Forex & # 8211; não teste sua estratégia apenas no EUR / USD, mesmo que seja o único par que você pretende negociar ao vivo & # 8211; teste sua estratégia em alguns outros pares e veja se os resultados de desempenho são mais ou menos semelhantes. Se o desempenho variar significativamente, # 8211; cavar mais fundo para descobrir a causa. Mais uma vez, o principal culpado seria overfitting.
Comissões e derrapagem.
Um relatório de desempenho da estratégia de negociação que não inclua comissões e derrapagens não pode ser considerado seriamente. A idéia do backtesting é testar como uma estratégia funcionaria durante a negociação ao vivo usando dinheiro real, e comissões e derrapagens são duas realidades inevitáveis da negociação.
A otimização de uma estratégia com comissões e slippage refletirá a realidade da negociação e evitará surpresas desagradáveis, como descobrir que sua estratégia, embora super-lucrativa em ambiente de backtesting idealizado, apresenta um desempenho horrível na negociação ao vivo.
Estratégias que geram um grande número de negócios obviamente acumularão grandes custos de comissões e derrapagens.
O cálculo da comissão é simples - descubra o que o seu corretor cobra por transação e multiplique esse valor pelo número de negociações.
O deslizamento é um pouco mais complicado. Em primeiro lugar, há várias causas principais de derrapagem: o bid-draw spreads, a volatilidade do mercado e a falta de liquidez para instrumentos de baixo volume. Calcular a derrapagem com precisão pode se tornar uma tarefa trabalhosa. A boa notícia & # 8211; você provavelmente não precisa fazer isso. Na prática, a aproximação do slippage é tudo o que é necessário para gerar relatórios de desempenho suficientemente precisos que reflitam o desempenho da negociação ao vivo perto o suficiente. Uma abordagem simples que recomendamos é simular o slippage ajustando cada entrada e sair do preço de negociação por alguns ticks em sua direção. O número de ticks de slippage geralmente deve ser um dos parâmetros de entrada para sua estratégia, assim como o valor da comissão.
Lembre-se: o escorregamento pode ter vários graus de impacto em sua estratégia, dependendo do tipo de pedido que você usa e de quais mercados você comercializa. As estratégias que usam ordens de mercado sofrerão maior escorregamento, enquanto isso usando ordens de limite & # 8211; mais baixo. Da mesma forma, o escorregamento será um problema menor em mercados líquidos de alto volume do que em lentos de baixo volume.
Relatórios de desempenho de estratégia.
Um relatório de desempenho deve incluir uma série de métricas que descrevam o desempenho do sistema de negociação, os retornos esperados e, mais importante: o risco esperado.
Padronize.
Como desenvolvedor de sistemas de negociação, você frequentemente se encontrará comparando vários relatórios de desempenho de estratégia para diferentes valores de parâmetros, instrumentos de negociação, prazos e períodos de tempo. Por exemplo, você pode ter acesso a dez anos de preços de ações, mas apenas um ou dois anos de dados de futuros S & # 038; P. Para comparar maçãs com maçãs, é útil padronizar as métricas apresentadas nos relatórios de desempenho. Todos os números de lucros e perdas esperados, tanto valores em dólares absolutos como valores percentuais, devem ser anualizados.
Drawdown é a diferença, a qualquer momento, entre o valor patrimonial naquele momento e o capital máximo gerado pela estratégia até aquele momento.
Drawdowns são uma medida de risco, e o gerenciamento de risco deve ser o objetivo principal de um desenvolvedor de estratégia de negociação, muito mais importante do que a geração de lucro. Sua primeira prioridade deve ser sempre "permanecer vivo" e preservar seu capital, e só então aumentá-lo.
Um relatório de desempenho deve sempre incluir as estatísticas de rebaixamento, como o rebaixamento mais longo e a maior perda devido a um rebaixamento, medidas como: valor em dólar e porcentagem do tamanho da conta inicial.
Existem dezenas de índices de desempenho diferentes usados para medir o desempenho da estratégia de negociação. De fato, uma série inteira de artigos pode ser escrita neles (e muitos já foram). Descobrimos que o uso de algumas relações amplamente aceitas e compreendidas geralmente será suficiente para a avaliação do desempenho da estratégia. Os índices devem ser ajustados ao risco de forma que reflitam os riscos de se executar uma estratégia, em vez de apenas seu potencial de geração de lucro.
Novamente, você pode encontrar descrições detalhadas de muitas proporções diferentes em vários livros, publicações em blogs e documentos técnicos disponíveis on-line e impressos. Em algum momento, poderemos escrever uma postagem mais detalhada sobre o assunto, mas, por enquanto, limitar-nos-emos a descrever duas razões que temos usado em relatórios de desempenho para nossos clientes:
Relação de Sharpe.
Índice de Sharpe divide o retorno médio de um investimento pelo desvio padrão de seus retornos. O desvio padrão é tomado como uma medida do risco do investimento. Um maior Índice de Sharpe sugere mais retornos com menor risco. Mas o desvio padrão inclui variações acima dos retornos médios. A maioria das pessoas gosta desses e só se preocupa com os retornos abaixo da média.
Mede o retorno médio ajustado para o risco medido pelo desvio padrão (ou seja, volatilidade). Maior volatilidade reduz o índice de Sharpe.
Diretrizes de interpretação de valor: mais de 1.0: bom, mais de 2.0: muito bom, mais de 3.0: impressionante.
Índice de Calmar.
O índice Calmar usa o rebaixamento máximo (declínio de um pico histórico, consulte o artigo da Wikipédia, Desembolso (economia)) em vez do desvio padrão como uma medida de risco. Assim, o Comar Ratio é um retorno médio do investimento (geralmente por um período de 3 anos, mas não precisa ser) dividido pelo seu rebaixamento máximo no mesmo período. Um maior Índice de Calmar sugere mais retornos com menor risco.
Porque os grandes drawdowns trazem a taxa da Calmar para baixo & # 8211; é um valioso indicador de desempenho ajustado ao risco.
Outras métricas úteis.
Outras métricas úteis para obter uma visão melhor sobre o desempenho de uma estratégia e aprender o que esperar se / quando você iniciar a negociação ao vivo:
Reflete o quão ativa sua estratégia é. Quantos negócios você deve esperar quando executar sua estratégia.
Isso, combinado com o número total de negociações, é uma das métricas mais importantes. Ele irá mostrar-lhe como muito lucro (ou perda) sua estratégia deverá gerar ao longo de um período de tempo.
Cálculo do valor esperado de lucro / perda:
Exp P / L = (Lucro Médio * Pct Negociações com Ganhos) + (Perda Média * Pct de Negociações Perdidas)
Exp P / L = lucro ou prejuízo esperado por comércio Lucro médio = lucro médio por vencedor negociado, expresso como valor da moeda Pct Negociações = percentual de negociações vencedoras (ida e volta) Perda média = perda média por negociação perdida, expresso como valor da moeda Percentual de perda de negócios = porcentagem de perda de negócios (ida e volta)
Essa e a próxima métrica são importantes para definir expectativas e gerenciar os níveis de estresse quando você assiste à execução da sua estratégia. Dependendo da sua personalidade, se esse número for muito baixo (e o número de negociações perdedoras for muito alto) & # 8211; talvez você não se sinta confortável com essa estratégia, mesmo que o P / L esperado por negociação gere o desempenho geral a seu favor ao longo do tempo.
Tanto o valor em dólar quanto o percentual do saldo inicial da conta.
Veja esta estatística, se o montante total de comissões e derrapagem (próximo) for muito alto & # 8211; pode arruinar o desempenho geral de uma estratégia lucrativa.
Este é um artigo introdutório sobre o backtesting da estratégia de negociação. Esperamos fornecer alguns insights e dicas úteis para o desenvolvimento de estratégias de negociação e backtesting. Pretendemos continuar postando mais artigos sobre o assunto, por favor, confira regularmente. Enquanto isso, & # 8211; Por favor, confira nossos outros posts e seleções de livros escolhidos a dedo que postamos no final de cada artigo. Cada livro que recomendamos é aquele que nos lemos e o encontramos contendo informações úteis para traders e desenvolvedores de sistemas.
Deixe uma resposta Cancelar resposta.
IB Data Downloader.
A versão 3.3 do IB Data Downloader já está disponível! Faça o download de dados históricos de Interactive Brokers. Ações, Futuros, ETFs, Índices, Forex, Opções, FOPs. Agora suporta download de dados históricos de opções! Funciona no Windows, MacOS, Linux. Lida automaticamente com violações de andamento da IB API, sem restrições de duração devido a limitações de ritmo! Suporta dados históricos para contratos futuros vencidos.
IB Excel Trader.
IB Excel Trader versão 1.6 já está disponível! Ações de comércio, ETFs, futuros e Forex diretamente do Excel. Implemente regras de negociação personalizadas usando fórmulas de planilha ou VBA. Programar regras de entrada para pedidos de saída únicos ou de colchetes. Mercado, Stop, Limit, Stop-Limit, bem como pedidos de algoritmos complexos são suportados. Folha de registro de pedidos (nova!) Contém uma lista detalhada de cada alteração de status do pedido em uma tabela do Excel filtrável. Use nosso Serviço de Personalização para estender o IB Excel Trader e contratar nossos programadores para desenvolver suas estratégias de negociação personalizadas.
A Interactive Brokers (IB) é uma fornecedora de baixo custo de serviços de execução e compensação de transações para indivíduos, consultores, grupos de negociação de proponentes, corretores e fundos de hedge. A principal tecnologia da IB fornece acesso direto a ações, opções, futuros, forex, títulos e fundos em mais de 100 mercados em todo o mundo a partir de uma única conta da IB Universal.
Membro NYSE, FINRA, SIPC. Visite interactivebrokers para mais informações.
Postagens recentes.
Contate-Nos!
Mensagem enviada.
Obrigado por entrar em contato com a Trading Geeks. Nós responderemos à sua mensagem em breve. Nesse meio tempo - se você tiver alguma dúvida adicional - por favor, não hesite em nos enviar um email para: contacts @ tradinggeeks.
Desculpe, houve um problema e sua mensagem não foi enviada.
Por favor, insira seus dados de contato e uma pequena mensagem abaixo e responderemos à sua mensagem em breve.
No comments:
Post a Comment