К основному контенту

Backtesting uma estratégia simples de negociação de ações


Gráficos de ações inteligentes.


Aproveitando o poder das redes neurais para prever preços críticos no mercado de ações!


Pós-navegação.


Ferramentas Ultimate para Backtesting Trading Strategies.


Ferramentas Ultimate para Backtesting Trading Strategies.


Backtesting é a arte e a ciência de avaliar o desempenho de uma estratégia de negociação ou investimento, simulando seu desempenho usando dados históricos. Você pode ter uma noção de como ele se comportou no passado e sua estabilidade e volatilidade. No entanto, como você pode ter ouvido inúmeras vezes, o excelente desempenho do backtested não garante um ótimo desempenho futuro. No entanto, um desempenho não tão desejável no backtested é frequentemente uma razão válida para abandonar uma determinada estratégia de negociação e passar para a seguinte.


Ferramentas gratuitas de backtesting para o não programador.


Realmente não existe um "tamanho único" # 8221; backtesting ferramenta lá fora, que pode backtest praticamente qualquer estratégia sob o sol sem que o usuário saiba alguma programação. Se você está realmente interessado em negociar, peço-lhe que aprenda programação suficiente para poder fazer o backtest. Mas se você quiser obter rapidamente os resultados do backtesting de algumas estratégias simples envolvendo investimento passivo ou indicadores básicos, como a passagem de crossovers médios, então uma ferramenta definitivamente lhe poupará algum tempo. Aqui estão as ferramentas que eu uso se eu precisar executar um backtest rápido:


# 1: Repetição do ETF.


O ETFReplay é um serviço Freemium que permite fazer backtest de diversas estratégias de investimento baseadas no ETF. Muitos dos recursos avançados e estratégias que eles oferecem exigem uma assinatura, mas um dos recursos gratuitos mais úteis é a capacidade de fazer backtest de um portfólio de ETF de até 5 componentes. Você não pode se reequilibrar, mas se precisar calcular rapidamente a curva de patrimônio de, digamos, o desempenho de um portfólio 60/40 de SPY e TLT entre 2008 e 2011, você pode fazer isso facilmente aqui. Essa é uma excelente ferramenta para ajudá-lo a fazer backtest de alocação de ativos para a parte passiva de seu portfólio de negociação.


# 2: StockBackTest.


O StockBackTest permite fazer backtest de estratégias envolvendo crossovers de Moving Averages e Bollinger Bands. Este é um dos poucos serviços que permite fazer backtest de indicadores técnicos simples como estes, mas o problema é que você só pode escolher a partir de sua lista de ações (que consiste principalmente em títulos S & amp; P500 e nos ETFs mais líquidos).


# 3: visualizador de portfólio.


O Portfolio Visualizer é um dos mais novos e sofisticados backtesters gratuitos que não exigem que você seja um programador. Ele permite que você backtest alocações de ativos passivos, bem como estratégias táticas predefinidas, como Dual Momentum de Gary Antonacci. Eles também têm um dos melhores simuladores de aposentadoria de Monte Carlo que eu já vi.


Ferramentas gratuitas de backtesting para o programador.


Para backtests rápidos de estratégias personalizadas, recomendo apenas fazer o download de alguns dados históricos e testá-los no Excel ou em outra planilha primeiro. Estratégias de negociação mais sofisticadas exigirão GNU R ou GNU Octave, ambas com pacotes especializados para backtesting. Se estes ainda não forem suficientes para a complexidade da sua estratégia, então você tem duas opções robustas e gratuitas disponíveis abaixo:


# 1: Quantopian (RECOMENDADO)


Quantopian tem minuto a minuto dados sobre todas as ações dos EUA negociadas desde 2002, que permite backtest estratégias intraday sem ser submetido a viés de sobrevivência. Você precisará do conhecimento do Python para o backtester. Se você está começando do zero e está falando sério sobre aprender a reverter suas estratégias, ESSA é a plataforma que eu recomendo concentrar em aprender!


# 2: MI Backtester.


O MI Backtester de Jamie Gritton é um dos antigos backtesters programáveis ​​disponíveis. Um dos recursos mais interessantes dessa ferramenta é a capacidade de fazer backtest de telas de estoque. Você pode ser capaz de puxar para cima uma tela de ações como o seguinte: empresas lucrativas com um P / E nos 10% inferiores do mercado de EUA e uma dinâmica de preço nos 10% melhores do mercado e adquire as escolhas atuais mas você pode estar se perguntando como tal tela teria realizado historicamente. O MI Backtester, embora um pouco lento, permitirá que você teste o desempenho histórico de tais estratégias de investimento com base em uma combinação de fundamentos e técnicas.


Senti falta de outros Backtesters gratuitos?


Se você tem outros backtesters gratuitos que você usa regularmente que eu não mencionei, por favor me avise nos comentários abaixo!


Backtesting


O que é 'Backtesting'


Backtesting é o processo de testar uma estratégia de negociação em dados históricos relevantes para assegurar sua viabilidade antes que o comerciante arrisque qualquer capital real. Um comerciante pode simular a negociação de uma estratégia durante um período de tempo apropriado e analisar os resultados para os níveis de rentabilidade e risco.


BREAKING DOWN 'Backtesting'


Uma quantidade significativa do volume negociado no mercado financeiro de hoje é feita por comerciantes que usam algum tipo de automação de computador. Isto é especialmente verdadeiro para estratégias comerciais baseadas em análises técnicas. Backtesting é parte integrante do desenvolvimento de um sistema de negociação automatizado.


Backtesting significativo.


Quando feito corretamente, backtesting pode ser uma ferramenta inestimável para tomar decisões sobre se utilizar uma estratégia de negociação. O período de tempo da amostra em que um backtest é executado é crítico. A duração do período de tempo da amostra deve ser suficientemente longa para incluir períodos de diferentes condições do mercado, incluindo as tendências de elevação, as tendências de baixa e as negociações vinculadas ao intervalo. Realizar um teste em apenas um tipo de condição de mercado pode produzir resultados únicos que podem não funcionar bem em outras condições do mercado, o que pode levar a conclusões falsas.


O tamanho da amostra no número de trocas nos resultados do teste também é crucial. Se o número da amostra de negócios for muito pequeno, o teste pode não ser estatisticamente significativo. Uma amostra com muitos negócios durante um período muito longo pode produzir resultados otimizados, em que um número irresistible de negociações vencedoras coalesce em torno de uma condição de mercado específica ou tendência favorável para a estratégia. Isso também pode causar um comerciante para tirar conclusões enganosas.


Mantendo a realidade.


Um backtest deve refletir a realidade na melhor medida possível. Os custos de negociação que, de outra forma, podem ser considerados insignificantes pelos comerciantes, quando analisados ​​individualmente, podem ter um impacto significativo quando o custo agregado é calculado durante todo o período de backtesting. Esses custos incluem comissões, spreads e derrapagens, e podem determinar a diferença entre se uma estratégia comercial é lucrativa ou não. A maioria dos pacotes de software de backtesting incluem métodos para explicar esses custos.


Talvez a métrica mais importante associada ao backtesting seja o nível de robustez da estratégia. Isso é conseguido comparando os resultados de um teste de retorno otimizado em um período de tempo de amostra específico (referido como na amostra) com os resultados de um backtest com a mesma estratégia e configurações em um período de tempo de amostra diferente (referido como out - de-amostra). Se os resultados forem igualmente rentáveis, a estratégia pode ser considerada válida e robusta e está pronta para ser implementada em mercados em tempo real. Se a estratégia falhar em comparações fora da amostra, então a estratégia precisa de um desenvolvimento adicional, ou deve ser abandonada por completo.


Backtesting uma estratégia simples de negociação de ações.


Nota: Este post não é conselho financeiro! Essa é apenas uma maneira divertida de explorar alguns dos recursos que o R tem para importar e manipular dados.


Recentemente li um post sobre o ETF Prophet que explorou uma interessante estratégia de negociação de ações no Excel. A estratégia é simples: encontre o ponto alto do estoque nos últimos 200 dias e conte o número de dias decorridos desde aquela alta. Se for mais de 100 dias, possua o estoque. Se já passaram mais de 100 dias, não é o dono. Essa estratégia é muito simples, mas produz alguns resultados impressionantes. (Observe que, no entanto, este exemplo usa dados que não foram ajustados de divisões ou dividendos e podem conter outros erros. Além disso, estamos ignorando os custos de negociação e os atrasos de execução, os quais afetam o desempenho da estratégia.)


A implementação dessa estratégia em R é simples e oferece inúmeras vantagens sobre o Excel, a principal delas é que é fácil transferir dados do mercado de ações para o R, e podemos testar essa estratégia em uma ampla variedade de índices com relativamente pouco esforço.


Primeiramente, baixamos os dados para GSPC usando quantmod. (GSPC significa o índice S & P 500). Em seguida, construímos uma função para calcular o número de dias desde a máxima de n-dia em uma série temporal e uma função para implementar nossa estratégia de negociação. A última função leva 2 parâmetros: a máxima de n-dia que você deseja usar, e o número de dias depois daquela alta você manterá o estoque. O exemplo é 200 e 100, mas você pode facilmente mudar isso para a máxima de 500 dias e ver o que acontece se você mantiver o estoque 300 dias depois disso antes de resgatá-lo. Como esta função é parametrizada, podemos facilmente testar muitas outras versões de nossa estratégia. Nós preenchemos o início da nossa estratégia com zeros, de modo que será o mesmo comprimento que os dados de entrada. (Se desejar uma explicação mais detalhada da função daysSinceHigh, veja a discussão sobre validação cruzada).


Multiplicamos nosso vetor de posição (0,1) pelos retornos do índice para obter os retornos de nossa estratégia. Agora, construímos uma função para retornar algumas estatísticas sobre uma estratégia de negociação e comparamos nossa estratégia com o benchmark. Um pouco arbitrariamente, eu decidi olhar para o retorno cumulativo, o retorno anual médio, a proporção de sharpe, o% vencedor, a volatilidade anual média, a redução máxima e a redução do comprimento máximo. Outras estatísticas seriam fáceis de implementar.


Como você pode ver, essa estratégia se compara favoravelmente à abordagem padrão de “comprar e manter”.


Finalmente, testamos nossa estratégia em outros três índices: FTSE, que representa a Irlanda e o Reino Unido, o Dow Jones Industrial Index, que remonta a 1896, e o N225, que representa o Japão. Eu funcionalizei todo o processo, para que você possa testar cada nova estratégia com uma linha de código:


Comentários estão fechados.


Posts populares recentes.


Artigos mais visitados da semana.


Empregos para usuários R.


É alimentado pelo WordPress usando um design bavotasan.


Direitos autorais e cópia; 2017 R-bloggers. Todos os direitos reservados. Termos e Condições para este site.


Backtesting: Interpretando o Passado.


O backtesting é um componente chave do desenvolvimento efetivo do sistema de negociação. Isso é realizado reconstruindo, com dados históricos, negociações que teriam ocorrido no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas que podem ser usadas para avaliar a eficácia da estratégia. Usando esses dados, os traders podem otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas e ganhar confiança em sua estratégia antes de aplicá-la nos mercados reais. A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro, e, inversamente, qualquer estratégia que tenha desempenho fraco no passado provavelmente terá um desempenho ruim no futuro. Este artigo analisa quais aplicativos são usados ​​para o backtest, que tipo de dados são obtidos e como usá-los!


Os dados e as ferramentas.


Lucro ou Prejuízo Líquido - ganho ou perda percentual líquido. Prazo - datas passadas em que o teste ocorreu. Universo - Ações que foram incluídas no backtest. Medidas de volatilidade - Máximo percentual de vantagens e desvantagens. Médias - Ganho médio percentual e perda média, barras médias mantidas. Exposição - Porcentagem de capital investido (ou exposto ao mercado). Rácios - rácio de ganhos / perdas Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco.


Normalmente, o software de backtesting terá duas telas importantes. O primeiro permite que o comerciante personalize as configurações para o backtesting. Essas personalizações incluem tudo, desde período de tempo até custos de comissão. Aqui está um exemplo de tal tela no AmiBroker:


A segunda tela é o relatório de resultados de backtesting real. É aqui que você pode encontrar todas as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela no AmiBroker:


Em geral, a maioria dos softwares de negociação contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para executar dimensionamento automático de posição, otimização e outros recursos mais avançados.


Os 10 mandamentos.


Leve em conta as amplas tendências de mercado no período de tempo em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia só foi testada novamente em 1999-2000, ela pode não se sair bem em um mercado em baixa. Muitas vezes é uma boa ideia fazer backtest durante um longo período de tempo que engloba vários tipos diferentes de condições de mercado. Leve em conta o universo em que ocorreu o backtesting. Por exemplo, se um sistema amplo de mercado for testado com um universo constituído por ações de tecnologia, ele pode não se dar bem em setores diferentes. Como regra geral, se uma estratégia é direcionada a um gênero específico de estoque, limite o universo a esse gênero; mas, em todos os outros casos, mantenha um universo grande para fins de teste. Medidas de volatilidade são extremamente importantes para considerar no desenvolvimento de um sistema de negociação. Isto é especialmente verdadeiro para as contas alavancadas, que são sujeitas a chamadas de margem se o seu patrimônio cai abaixo de um certo ponto. Os comerciantes devem procurar manter a volatilidade baixa, a fim de reduzir o risco e facilitar a transição dentro e fora de um determinado estoque. O número médio de bares mantidos também é muito importante para assistir ao desenvolver um sistema de negociação. Embora a maioria dos softwares de backtesting inclua custos de comissão nos cálculos finais, isso não significa que você deva ignorar essa estatística. Se possível, aumentar o seu número médio de barras pode reduzir os custos de comissão e melhorar seu retorno geral. A exposição é uma faca de dois gumes. O aumento da exposição pode levar a lucros mais altos ou perdas maiores, enquanto a diminuição da exposição significa lucros menores ou perdas menores. No entanto, em geral, é uma boa ideia manter a exposição abaixo de 70%, a fim de reduzir o risco e facilitar a transição dentro e fora de um determinado estoque. A estatística de ganho / perda médio, combinada com a taxa de ganhos por perdas, pode ser útil para determinar o tamanho ideal de posição e gerenciamento de dinheiro usando técnicas como o Critério Kelly. (Veja Gerenciamento de Dinheiro Usando o Critério Kelly). Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando sua taxa de ganhos por perdas. O retorno anualizado é importante porque é usado como uma ferramenta para avaliar os retornos de um sistema em relação a outros locais de investimento. É importante não só olhar para o retorno anualizado global, mas também para levar em conta o aumento ou diminuição do risco. Isso pode ser feito observando o retorno ajustado ao risco, que é responsável por vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros espaços de investimento em risco igual ou menor. A personalização de backtesting é extremamente importante. Muitos aplicativos de backtesting têm entradas para quantidades de comissão, tamanhos de lotes redondos (ou fracionários), tamanhos de ticks, requisitos de margem, taxas de juros, premissas de slippage, regras de dimensionamento de posição, regras de saída de barra idêntica, configurações de parada (trailing) e muito mais. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o broker que será usado quando o sistema for ativado. O backtesting às vezes pode levar a algo conhecido como otimização excessiva. Essa é uma condição em que os resultados de desempenho são tão altamente ajustados ao passado que não são mais precisos no futuro. Geralmente, é uma boa ideia implementar regras que se apliquem a todas as ações, ou a um conjunto selecionado de ações específicas, e que não sejam otimizadas na medida em que as regras não sejam mais compreensíveis pelo criador. O backtesting nem sempre é a maneira mais precisa de avaliar a eficácia de um determinado sistema de negociação. Às vezes, as estratégias que tiveram bom desempenho no passado não se dão bem no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de que o comércio de papel é um sistema que foi testado com sucesso antes de entrar em operação para garantir que a estratégia ainda se aplica na prática.


O backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema de negociação. Se criado e interpretado corretamente, ele pode ajudar os traders a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas, bem como ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real.


Como avaliar, fazer backtest e validar uma estratégia de negociação.


Ultimamente tenho trabalhado com backtesting várias estratégias que invente ou ache de sites como TradingView. Eu vou te guiar pelo processo de como eu:


Identifique uma estratégia possível Encontre uma variedade de ações para executar um backtest estruturado Realize o próprio backtest real.


No final desses três passos, posso identificar o quão bem-sucedida é a estratégia e se devo usá-la para negociação ao vivo e (aproximadamente) o quanto eu poderia esperar em um determinado período de tempo com base em determinado número de negociações.


Identificando a estratégia.


Eu identifiquei essa estratégia montada por Chris Moody no TradingView. É chamado de Williams VIX Fix e é baseado nos escritos de Larry Williams em torno de um cálculo Vix sintético. Se você quiser saber mais sobre o VIX, a Wikipédia é um ótimo lugar para começar.


Depois de fazer alguns backtests visuais em várias moedas, desenvolvi um sistema de negociação simples que queria testar. As regras deste sistema são simples:


Insira uma negociação longa para todos os sinais de entrada agressivos ou filtrados gerados pelo sistema, a menos que o RSI Estocástico esteja próximo ou acima de 80 (o RSI Estocástico é um indicador disponível gratuitamente no TradingView e em várias outras plataformas de gráficos financeiros). o RSI está acima de 80 e a linha K cruza a linha D Se ocorrerem vários sinais, adicione à posição atual supondo que as condições no # 1 acima sejam atendidas (por exemplo, se houver duas entradas filtradas em dias concorrentes, uma compra o mesmo # de ações no dia 2 como no dia 1)


Eu não levei em conta o Money Management pelas regras, pois elas variam para cada operador individual.


Encontrar ações para o backtest.


Eu usei o mapa do FinViz e a Unicorn Bay para encontrar uma variedade de moedas no backtest. Meus critérios para selecionar moedas são os seguintes:


Teste moedas através de setores e indústrias (para evitar, por exemplo, testes de estoques tecnológicos durante anos que as ações de tecnologia viram um boom) Teste pelo menos duas moedas altamente diferentes e não correlacionadas para ver como a estratégia funciona contra conjuntos de dados muito diferentes.


As moedas que decidi fazer backtest foram:


Além disso, testei dois títulos altamente não correlacionados, identificados na página Most / Least Correlated Assets da Unicorn Bay:


Executando o backtest.


Então eu executei através do TradingSim, um simulador de negociação onde você pode praticar estratégias reais usando uma conta simulada. Usando este software, você pode abrir posições em ações usando uma conta falsa e negociar como se fossem ações reais. O único inconveniente é que o backtest é de apenas 2 anos.


Eu comecei a executar o backtest de cada ação ao longo dos 2 anos completos com uma conta falsa de $ 10.000. Para cada comércio, eu coloquei.


20% do capital em risco (que não é necessariamente o que você faria no mundo real, mas eu queria ampliar os resultados neste caso). Os resultados foram promissores. Durante um período de 2 anos, cada ação fez um retorno à saúde. As negociações individuais são listadas aqui.


Mais testes no backtesting.


Embora esses resultados iniciais fossem promissores, dois anos de backtesting realmente não foram suficientes. A fim de testar ainda mais o estresse, eu codifiquei uma estratégia no TradingView com base nas regras do meu sistema de negociação. Você pode encontrar o sistema aqui. Você pode ver e modificá-lo, se desejar, no TradingView.


Os dados da TradingView remontam muito mais (pelo menos até 1968 para muitas ações), então testei novamente cada uma das 13 ações usando a mesma conta virtual de $ 10.000 para ver se elas tinham lucro.


Apenas 1 dos 13 pares não saiu lucrativo (GS - Goldman Sachs). Decidi descobrir por que isso acontecia, e se havia algum padrão que pudesse ser entendido sobre quaisquer ações que talvez não fossem úteis para usar essa estratégia.


Eu usei o screener do TradingView para testar a estratégia em uma variedade de ações de baixa volatilidade, e encontrei um número de candidatos que parecem adequados para testes futuros devido ao seu alto fator de lucro. Uma lista crescente de ações que exibem alto potencial de lucro com essa estratégia é visível aqui. Abaixo estão alguns screenshots de algumas das performances de ações do backtested.


Mais uma vez, nada disso significa dizer que simplesmente colocar todo o seu dinheiro na AAPL em 2004 e simplesmente segurar não é uma ótima estratégia. Você pode fazer isso, assim como ter lucros previsíveis, mesmo com quedas de mercado como em 2001 e 2008 e, através de uma composição, ganhar dinheiro decente com estratégias como essa.


Encaminhe e teste várias ações usando Robinhood e mostre resultados positivos, depois aumente as contribuições de capital Codifique a estratégia / algoritmo para cima em Quantopian e ganhe suporte / capital para negociar essa estratégia Encontre / desenvolva outras estratégias que sejam adequadas para negociação.


Isenção de responsabilidade: Tudo isso é especulativo e não é considerado um conselho de investimento definitivo. Eu não sou responsável por quaisquer lucros ou perdas que alguém experimente usando essa estratégia, seja em formato parcial ou completo. Eu não sou um profissional de investimento ou corretor. Por favor, faça uma pesquisa mais aprofundada antes de usar qualquer uma das estratégias descritas neste post.


O crédito pela estratégia Williams VIX FIX vai para Chris Moody.


Estratégia usada no TradingView disponível aqui.


Lista de cotações de ações que mostram excelentes retornos e curvas de patrimônio disponíveis aqui.


Ao bater palmas mais ou menos, você pode nos indicar quais são as histórias que realmente se destacam.


Timothy Jaeger.


Experiente UX Designer, Trader (Opções, Ações, Forex), HODLer (Crypto), Futurista. Interessado em coisas e coisas.


Backtesting Long Short Moving Average Crossover Strategy no Excel.


Agora, para aqueles que me conhecem como blogueiro podem achar esse post pouco ortodoxo ao meu estilo tradicional de escrita, no entanto, no espírito da evolução, inspirado por meu amigo Stuart Reid (TuringFinance), vou seguir alguns dos As dicas sugeridas na seguinte postagem no blog.


Sendo um estudante no programa EPAT, fiquei entusiasmado em aprender a metodologia que outros usam quando se trata de backtesting. Como de costume, começamos no Excel e depois migramos para R.


Tendo escrito anteriormente uma série de blog em backtesting no Excel e, em seguida, mudando-se para R, estava muito interessado em ver um método ligeiramente diferente usado pela equipe QuantInsti.


Faça o download da planilha do Excel para que você possa seguir o exemplo à medida que avançamos.


"Ao calcular os preços das transações, abre portas muito interessantes para implementar a análise MAE"


A principal diferença no método é que ele abre as portas para métricas de desempenho como:


Total Retornos positivos Retornos negativos Negociações positivas Negociações Negativas Taxa de juros Retorno médio MAE (Excursão máxima adversa)


Mas sofre de não ser capaz de traçar uma curva de equidade como o meu método original (que eu gosto de pensar em nós um backtest vetorial), você pode, no entanto, incorporar facilmente a curva de equidade, como fiz nesta publicação.


Construa o "Olá Mundo" das estratégias de negociação: a "Estratégia de Transmissão Média Longa Curta Longa".


Passo 1: Obter dados.


Há vários lugares a partir dos quais você pode obter dados, no entanto, para este exemplo, obteremos dados do Yahoo Finance. Eu vou construir este exemplo usando o Google como um compartilhamento. Aqui está um link para baixar os dados de preço no formato de arquivo Csv do Yahoo. Nota: Certifique-se de encomendar da data mais antiga para a mais nova.


Dados de preço do Yahoo no formato de arquivo CSV.


Etapa 2: crie uma coluna para a média móvel curta e curta (SMA)


Para este exemplo, quero que você faça uso da SMA de 5 e 25 dias. Para aqueles que são novos para estratégias de negociação, um SMA é simplesmente a soma total do preço de fechamento dividido pelo número de observações.


2.1) Criar o SMA de curto prazo (5 dias)


Usando a seguinte fórmula no Excel: = MÉDIA (G2: G6)


2.2) Crie o SMA de longo prazo (25 dias)


Usando a seguinte fórmula no Excel: = MÉDIA (E2: E26)


Etapa 3: Gerar sinais de negociação.


É neste passo onde os leitores vão pegar uma grande diferença em relação às minhas postagens de blog anteriores sobre a construção de um backtester vectorizado. Incluirei também minha metodologia original nesta postagem para traçar a curva de equidade.


A próxima coisa que precisamos fazer é gerar sinais de compra e venda.


No dia anterior o (5) SMA estava abaixo do (25) SMA e no dia atual há uma mudança onde o (5) SMA está agora acima do (25) SMA,


Escreva a string "COMPRAR" no campo atual.


No dia anterior o (5) SMA estava acima do (25) SMA e no dia atual há uma mudança onde o (5) SMA está agora abaixo do (25) SMA,


Escreva a string "VENDER" no campo atual.


Adicione uma string vazia "" ao campo atual.


Isso é representado no Excel usando a seguinte fórmula:


Os SMAs são calculados sobre os preços de fechamento e não ajustados próximos porque queremos que o sinal comercial seja gerado nos dados do preço e não influenciado pelos dividendos pagos.


Passo 4: Obter preço de compra / venda do comércio.


Na próxima coluna, adicione a seguinte fórmula do Excel: = IF (J26 & lt; & gt; & # 8221; & # 8221;, G27, K26)


A lógica é a seguinte:


Se a coluna de sinal de comércio para o dia anterior (Muito importante para desacelerar o indicador para remover o viés de avanço) não é uma string vazia, então use o preço anterior acima do campo atual, caso contrário, configure o campo atual para o preço de fechamento para o dia.


Alguns podem argumentar que você não consegue realmente fechar o dia, mas você pode se você colocar seu pedido no leilão de encerramento e, mesmo depois do leilão, há algumas ordens residuais que você pode preencher, um dos fundos anteriores que eu trabalhou por exatamente isso.


Etapa 5: calcular retornos.


Adicione uma coluna chamada retornos que faz uso da seguinte Fórmula Excel: = IF (J26 = & # 8221; SELL & # 8221;, K27 / K26-1, IF (J26 = & # 8221; COMPRAR & # 8221; 1-K27 / K26, & # 8221; & # 8221;)))


Se o dia anterior gerou um sinal SELL, use o preço de fechamento de hoje e divida-o pelo preço de compra e subtraia 1.


Se o dia anterior gerou um sinal de COMPRA, adicione 1 e subtraia (preço de fechamento de hoje e divida-o pelo preço de compra).


Esta fórmula calcula os retornos para um determinado comércio.


Etapa 6: Calcule algumas métricas de desempenho.


Retornos positivos: = SUMIF (L: L, & # 8221; & gt; 0 & # 8243;) Retornos negativos: = SUMIF (L: L, & # 8221; & lt; 0 & # 8243;) Operações positivas: = COUNTIF (L: L, & # 8220; & gt; 0 & # 8221;) Negociações negativas: = COUNTIF (L: L, & # 8220; & lt; 0 & # 8221;) Relação de impacto = O4 / (O4 + O5) Retornos médios = MÉDIA (L :EU)


Essas não são as métricas tradicionais de desempenho do portfólio, mas, ao calcular o preço de compra e venda, elas abrem algumas portas muito interessantes para implementar a análise máxima de excursão adversa que pode ser usada para otimizar as perdas de parada.


"Nota: não consegui calcular essas métricas no meu método anterior devido a não ter registrado os preços de compra e venda das transações".


Adicionando uma Curva de Equidade.


Passo 1: adicione duas novas colunas para as Devoluções Diárias e os retornos diários do diário natural do compartilhamento.


Para isso, vou fazer uso do preço de fechamento ajustado, pois eu quero que os dividendos pagos sejam refletidos em nossa curva de equidade de estratégias e perfil de retorno total.


Fórmula para Retornos Diários é: (Preço de Hoje / Preço de Ontem) & # 8211; 1.


Fórmula Excel: = G3 / G2-1.


A fórmula é usada para o log natural. Os retornos diários são: LN (preço de hoje / preço de ontem)


Fórmula Excel: = LN (G3 / G2)


Etapa 2: Calcule os sinais de espera Long ou Short.


Nesta coluna, queremos saber se estamos atualmente segurando uma posição longa ou curta. Isso é representado por 1 para longo e -1 para breve.


Isso baseia-se na estratégia de cruzamento médio móvel, prolongando-se se o SMA de curto prazo estiver acima do SMA de longo prazo e curto se o contrário for verdadeiro.


"Nota: você deve atrasar os sinais por um dia para remover o viés de frente para a frente".


Neste exemplo, a fórmula do Excel é como tal: = IF (H26 & gt; I26, 1, -1)


Passo 3: Calcule a Estratégia em Devoluções Diárias.


Esta é a parte fácil, basta multiplicar o retorno natural do diário natural pela posição atual.


Fórmula Excel: = R27 * S27.


Passo 4: Calcule os retornos acumulados tanto para a estratégia quanto para o compartilhamento, como se você tivesse comprado e segurado. (Faça isso para atuar como uma comparação)


A fórmula para acumular retornos é simples, pois LN retorna, basta adicioná-los usando = T27 + U26.


Em seguida, você precisa inverter o log natural usando a seguinte fórmula: = EXP (U27) -1.


E então você precisa calcular os retornos acumulados das ações:


Excel formula = (1 + Q27) * (1 + Q26) -1.


Passo 5: trace os retornos.


Como pode ser visto a partir do gráfico acima, esta estratégia não é rentável neste período de tempo específico e compartilhe, mas isso.


O foco do tutorial está na criação de um backtester usando o Excel Click To Tweet. Eu incentivaria os leitores a explorar outras estratégias de negociação, tentando incorporar o indicador RSI para agir como um guia sobre como dimensionar uma posição.


Próximos passos.


Aqui estão mais algumas estratégias de negociação com folhas de dados de exemplo & # 8211; Negociação com ETF, Estratégia de Negociação de Candlestick, Estratégia de Negociação Par e Modelo de Preços de Opção Black-Scholes. Se você é um codificador ou um profissional de tecnologia que procura iniciar sua própria mesa de negociação automatizada, aprenda a negociação automatizada de palestras interativas ao vivo por praticantes diários. O Programa Executivo em Negociação Algorítmica abrange módulos de treinamento, como Estatísticas & amp; Econometria, Computação Financeira e Tecnologia e Algoritmica & amp; Negociação Quantitativa. Inscreva-se agora!


Posts Relacionados:


10 pensamentos sobre "Backtesting Long Short Moving Average Crossover Strategy no Excel"


20 de outubro de 2015.


Obrigado por compartilhar isso. Parece-me que há um erro ao calcular os retornos diários da estratégia (col S) nos dias que possuem um sinal comercial. Você está usando o fechar para fechar o preço para o retorno diário, mas em dias de negociação ocorre o preço de abertura precisa ser usado.


Por exemplo, no primeiro dia há uma posição (linha 27) o retorno deve nos o preço de abertura daquele dia (533.762426) como a entrada, não o dia anterior (531.352374). O retorno diário deve ser = -1 * (G27 / B27-1), que é de 1,09%.


22 de outubro de 2015.


Muito bem visto. Obrigado por apontar isso. Isso é um erro que cometi.


Existem duas maneiras de consertar isso,


1.) O Passo 4 deve fazer uso do preço de fechamento e não do aberto. (Isso é freqüentemente como eu executo testes rápidos.) Nota: você não pode realmente comprar no fechamento e o & # 8220; Blog Flirting with Models & # 8221; tem uma ótima maneira de resolver este problema com os dados do final do dia) blog. thinknewfound / 2015/10 / building-better-backtests /


2.) Alternativamente, você pode adicionar a seguinte fórmula à linha 27 coluna S e a todos os campos abaixo dessa coluna.


= IF (R27R26, ((E27 / B27) -1) * R27, Q27 * R27)


A lógica é a seguinte:


Se houver uma mudança no sinal comercial, então:


Calcule o retorno diário se comprarmos ao abrir. fórmula = (preço fechado / preço aberto) & # 8211; 1.


& amp; multiplique também pelo seu sinal de troca.


Basta usar os retornos diários como antes que são calculados de perto para fechar multiplicado pelo sinal comercial.


Obrigado novamente pelo feedback.


Como você encontrou o artigo? Existem outros tópicos sobre os quais você gostaria que escrevêssemos?


Olá, Jacques Joubert.


Trabalho interessante. No entanto, encontrei um erro. Ao calcular os rendimentos cum na posição curta, o capital final deve depender do preço de entrada e saída do cargo, mas não do que acontece no meio. Por exemplo, se você alterar G33 a 800, ele muda todos os dados abaixo (deve-se esperar que um aumento adverso do preço adverso na posição curta e, portanto, o retorno negativo deve ser compensado pelo retorno positivo do retorno ao intervalo 500-520, mas que não aconteceu).


Bull And Bear Investor.


Oi Bull e Bear Investor.


Obrigado por isso. É porque eu não usei o Ln Returns. Estarei atualizando o artigo durante o fim de semana. A curva de Equidade não altera muito com os retornos padrão (é desativado em 2%) Dado que você não contribui com os preços ajustados, adicionando valores abertos.


Mas bem manchado.


Ok. O artigo foi atualizado com todas as correções. Obrigado a todos pelo feedback.


15 de janeiro de 2017.


como calcular o retorno médio para o indecador RSI ou MFI.


Obrigado por compartilhar isso, me ajudou a projetar meu SMA um pouco.


20 de outubro de 2017.


É bom ver o seu post e compartilhar a lógica de negociação usando o Excel. Eu tentei isso por quase dois anos em casa depois do trabalho. Gostaria de compartilhar um ponto de vista para você obter essa melhoria de estratégia, portanto, pode inspirar as pessoas enquanto olha essa postagem.


Obrigado por algumas das suas ideias que me inspiram a considerar enquanto preparo um sistema de testes posteriores. No entanto, com uma investigação de longo prazo e baixa eficiência, começo a tentar obter software profissional para executar o backtest, mas ainda enfrenta um grande problema. É realmente ir começar a plataforma para usar o excel que pode fortalecer sua idéia antes de abordar o nível de especialista.


O preço da transação será o preço aberto do próximo dia de negociação. Na realidade, não podemos negociar preços próximos quando o mercado está fechado. Por exemplo, na célula K27, a fórmula deve ser = IF (J26 & # 8243; & # 8221;, B27, K26) em vez de = IF (J26 & # 8243; & # 8221; G27, K26).


Além disso, para melhorar o parâmetro SMA, vou usar a função offset que permite fazer cálculos rápidos apenas alterando os parâmetros. Eu adicionarei 5 e 25 às células H2 e I2, respectivamente. Então, a fórmula para a célula H6 será = IF (ROW () - 1 & lt; $ H $ 2, & quot; & quot;, MÉDIA (OFFSET ($ E6,0,0, - $ H $ 2,1)) enquanto I6 será = IF (ROW () - 1 & lt; $ I $ 2, & quot; & quot;, MÉDIA (OFFSET ($ E6,0,0, - $ I $ 2,1))).


Espera a mensagem acima ajuda.


24 de outubro de 2017.


Obrigado por sua recomendação. É certamente algo que os leitores podem implementar se não quiserem executar a análise sobre os preços no final do dia. Eu também gosto de como você usou a função de deslocamento. Eu recomendaria que você mude do Excel para um ambiente Python e use a biblioteca Numpy.


Quanto ao final do dia, fechar os preços. Foi minha experiência profissional que, como um investidor institucional, seu corretor pode obter um preço muito próximo do preço de fechamento, você pode adicionar uma pequena despesa de deslizamento aos custos de transação para explicar isso no backtest. A maioria dos mercados também possui uma negociação pós-mercado que os corretores podem facilitar (mas com baixa liquidez).


Espero que isso ajude a esclarecer.


1º de novembro de 2017.


Aqui está o alimento para o pensamento: se a estratégia é consistentemente um perdedor, faça o oposto.

Комментарии

Популярные сообщения из этого блога

Comércio de sistema no gamestop

Endereço IP bloqueado. Seu endereço IP foi bloqueado temporariamente devido a um grande número de solicitações HTTP. As causas mais comuns deste problema são: Usando um script ou complemento que verifica GameFAQs para imagens de caixa e tela, sobrecarregando nosso mecanismo de pesquisa executando um & quot; raspador & quot; ou "downloader" programa que não se identifica ou usa cabeçalhos falsos para eludir a detecção Usando um complemento de navegador mal configurado (ou mal escrito) para bloquear o conteúdo Sobrecarregar nosso mecanismo de pesquisa com um número muito grande de pesquisas em um curto período de tempo. Se você promete parar (clicando no botão Concorrer abaixo), desbloquearemos sua conexão por enquanto, mas nós voltaremos a bloqueá-la imediatamente se detectamos maus erros adicionais. Se você não entender o que está causando esse comportamento, entre em contato conosco aqui. Também em GameFAQs. Ajuda - Respostas às perguntas mais frequentes sobre GameFA...

Conta de demonstração do robô com opções binárias

Conta de demonstração do robô com opções binárias Bem-vindo ao robô de opções binárias do Reino Unido & # 8211; Nós somos o guia # 1 para negociação de opções binárias, corretores e robôs. Dê uma olhada nos melhores corretores de opções binárias do Reino Unido e robôs de negociação abaixo. Melhor Robô de Opções Binárias do Reino Unido. Existem vários robôs de opções binárias por aí, mas nem todo o trabalho como anunciado. Aqui está o melhor software de negociação de auto binário que nós testamos: BinaryOptionRobot é simplesmente o melhor robô de opção binária. O software é gratuito, se você se inscrever através de um dos seus corretores de opções binárias recomendadas. A taxa média de sucesso está acima de 80%. Best UK Binary Options Brokers. * No caso de um comércio bem sucedido. ** Aviso de risco: você pode perder seu capital investido. O que é negociação automática de opções binárias? Vamos dar uma olhada na maneira tradicional de se envolver nessa forma de negociação. Primeiro...

Advanced forex trading books pdf

# 8 TD Sequential by Tom DeMark. Enviado por Edward Revy em 3 de agosto de 2009 - 12:31. Aqui vai outro estudo de Tom DeMark. Eu puxei este sistema dos meus arquivos no pedido de Alex. . E como temos um indicador personalizado MT4 já disponível, temos um novo método para testar e comercializar. Citação sobre TD Método seqüencial: "As moedas têm sido louvadas por sua capacidade. a tendência, mas no mercado de hoje, um objetivo. A técnica de contra-tendência pode ser um comerciante de forex. bem mais valioso. TD Sequential é projetado para. identifique os pontos de exaustão da tendência e mantenha-o um. passo à frente da multidão que segue a tendência ". Indicadores personalizados MT4: Regras seqüenciais do TS: Edward, quão bem sucedido você está negociando TD seqüencial? Na verdade, na verdade não tive a chance de fazer isso testar. Tem estado em meus arquivos e se não fosse por um pedido de um trader recentemente, eu não tenho certeza de quando eu teria retornado a ele novame...