Estratégia de teste de negociação excel
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 ;,)
Short EMA Close 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.
Estratégia de negociação de teste do excel
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 utilizar 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.
Finanças Assistidas por Computador & # 8211; Excel, Matlab, Theta Suite etc.
Ferramentas, Algoritmos, Simulação, Gestão de Riscos: Eficiência para Finanças Matemáticas.
O mais fácil back-teste de estratégias de negociação: Tabela Dinâmica do MS Excel!
Antes de usar ferramentas especializadas para back-testing, proponho que se tente primeiro a Tabela Dinâmica do MS Excel. A ferramenta de tabela dinâmica é ótima para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, apresentarei como criar uma estratégia simples baseada em tempo e como calcular seu desempenho histórico.
A seguir, mostrarei como criar uma análise como a postagem anterior: "Sell in May and Go Away & # 8211; Realmente? & # 8220 ;.
Etapa 1: obtenha os dados.
Primeiro, precisamos obter os dados para a análise. Voltamo-nos para o Yahoo para buscar o índice Dow-Jones (ver lista de fontes de dados de mercado para outras fontes).
De alguma forma, o Yahoo Finance esconde o botão de download para o índice Dow-Jones. Mas é fácil adivinhar o Link correto:
Salve este arquivo em disco. Em seguida, abra-o com o MS Excel 2010 e continuamos com a próxima etapa.
Etapa 2: adicione colunas para desempenho e indicador.
Agora, neste arquivo, adicionamos o log-return (Column & # 8220; Return & # 8221;) para cada dia da série temporal:
Então, adicionamos o indicador da estratégia de negociação & # 8211; neste caso, apenas o mês do ano:
Finalmente, adicionamos um indicador de grupo: Década.
Etapa 3: adicione a tabela dinâmica.
Classificar dados na tabela.
[Ferramentas de Tabela Dinâmica - & gt; Opções - & gt; Resumir valor por - & gt; Soma]
Etapa 4: formatação condicional.
Para obter uma visão geral dos dados na tabela dinâmica, formamos os valores em & # 8220; Porcentagem de estilo & # 8221; e pela formatação condicional "# 8221 ;:
[Página inicial - & gt; Estilos - & gt; Formatação condicional]
Etapa 5: Calcular o desempenho real.
A soma dos retornos de log na tabela dinâmica é uma boa indicação para o desempenho de uma estratégia de negociação. Mas, o desempenho acutal pode ser facilmente obtido a partir dos retornos de log por:
Agora você está pronto: cada célula contém o desempenho de comprar o Índice Dow-Jones no início e vendê-lo ao final de cada mês. Divirta-se com seus próprios estudos! Você encontra um estudo detalhado sobre as performances dos diferentes meses nos principais índices aqui.
Conclusão.
O teste retroativo de estratégias simples de negociação é fácil usando as tabelas dinâmicas do Excel. Embora as estratégias mais avançadas geralmente exijam um pacote de software mais especializado (como vemos no teste de retorno do MACD), cinco etapas simples levam a insights aprofundados de uma estratégia baseada em tempo. Se a série de dados se tornar grande, é possível executar exatamente as mesmas etapas usando o MS Power Pivot, um suplemento gratuito do MS Excel com acesso ao banco de dados.
Usando o Excel para Back Test Trading Strategies.
Como fazer o teste de volta com o Excel.
Eu fiz uma quantidade justa de testes de estratégia de negociação. Eu usei linguagens de programação sofisticadas e algoritmos e também fiz isso com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar muitas estratégias de negociação. Se você puder operar um programa de planilha eletrônica como o Excel, poderá testar várias estratégias.
O objetivo deste artigo é mostrar como testar uma estratégia de negociação usando o Excel e uma fonte de dados disponível publicamente. Isso não deve custar mais do que o tempo necessário para fazer o teste.
Antes de começar a testar qualquer estratégia, você precisa de um conjunto de dados. No mínimo, esta é uma série de datas / horários e preços. Mais realisticamente, você precisa da data / hora, abertura, alta, baixa, preços baixos. Você normalmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradia.
Se você quiser trabalhar junto e aprender a fazer o teste com o Excel enquanto estiver lendo isso, siga as etapas que descrevi em cada seção. Precisamos obter alguns dados para o símbolo que vamos testar.
Ir para: Yahoo Finance No campo Inserir símbolo (s), insira: IBM e clique em GO Em Cotações, no lado esquerdo, clique em Preços históricos e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desça até a parte inferior da página e clique em Fazer o download na planilha Salve o arquivo com um nome (como ibm. csv) e em um lugar que você possa encontrar mais tarde.
Preparando os dados.
Abra o arquivo (que você baixou acima) usando o Excel. Devido à natureza dinâmica da Internet, as instruções que você leu acima e o arquivo que você abre podem ter mudado no momento em que você leu isso.
Quando baixei este arquivo, as primeiras linhas ficaram assim:
Agora você pode excluir as colunas que não serão usadas. Para o teste que estou prestes a fazer, usarei apenas a data, abra e feche os valores para que eu tenha excluído o High, o Low, o Volume e o Adj. Fechar.
Eu também classifiquei os dados para que a data mais antiga fosse a primeira e a data mais recente estivesse na parte inferior. Use os dados - & gt; Ordene as opções do menu para fazer isso.
Em vez de testar uma estratégia em si, tentarei encontrar o dia da semana que forneceu o melhor retorno se você seguisse uma estratégia de compra aberta e venda de fechamento. Lembre-se de que este artigo está aqui para apresentar a você como usar o Excel para fazer o back das estratégias de teste. Podemos construir isso daqui para frente.
Aqui está o arquivo ibm. zip que contém a planilha com os dados e fórmulas para este teste.
Meus dados agora residem nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, tenho fórmulas de local para determinar o retorno em um determinado dia.
Entrando nas fórmulas.
A parte complicada (a menos que você seja um especialista do Excel) está elaborando as fórmulas para usar. Isso é apenas uma questão de prática e quanto mais você pratica, mais fórmulas você descobrirá e mais flexibilidade terá com seus testes.
Se você baixou a planilha, dê uma olhada na fórmula na célula D2. Se parece com isso:
Essa fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada depois de copiada. Eu explicarei brevemente a fórmula.
A fórmula IF tem uma condição, parte verdadeira e falsa. A condição é: "Se o dia da semana (convertido para um número de 1 a 5 que corresponde de segunda a sexta-feira) for o mesmo que o dia da semana na primeira linha desta coluna (D $ 1), então." A verdadeira parte da declaração ($ C2 - $ B2) simplesmente nos dá o valor do Close - Open. Isso indica que compramos o Open e vendemos o Close e este é nosso lucro / prejuízo. A parte falsa da declaração é um par de aspas duplas (") que não colocam nada na célula se o dia da semana não for correspondido.
Os sinais $ à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou linha para que, quando for copiada, essa parte da referência da célula não seja alterada. Portanto, aqui no nosso exemplo, quando a fórmula é copiada, a referência à célula de data $ A2 mudará o número da linha se for copiada para uma nova linha, mas a coluna permanecerá na coluna A.
Você pode aninhar as fórmulas e criar regras e expressões excepcionalmente poderosas.
Os resultados.
Na parte inferior das colunas do dia da semana, coloquei algumas funções de resumo. Notavelmente as funções de média e soma. Estes mostram-nos que, durante 2004, o dia mais rentável para implementar esta estratégia foi numa terça-feira e esta foi seguida de perto por uma quarta-feira.
Quando eu testei as sextas-feiras de expiração - alta ou baixa? estratégia e escreveu esse artigo eu usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas-feiras eram geralmente de alta ou baixa.
Experimente. Faça o download de alguns dados do Yahoo Finance, carregue-os no Excel e experimente as fórmulas e veja o que você pode criar. Publique suas perguntas no fórum.
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 para avaliar a eficácia da estratégia.
A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro e, inversamente, qualquer estratégia que tenha tido um desempenho ruim no passado provavelmente terá um desempenho ruim no futuro. Este artigo analisa quais aplicativos são usados no backtesting, que tipo de dados é obtido e como colocá-lo em uso.
Os dados e as ferramentas.
O backtesting pode fornecer muitos dados estatísticos valiosos sobre um determinado sistema. Algumas estatísticas de backtesting universais incluem:
Lucro líquido ou perda - Porcentagem líquida ganha ou perdida Medidas de volatilidade - Máximo percentual de acréscimo e desvantagem Médias - Ganho médio percentual e perda média, barras médias detidas Exposição - Porcentagem do capital investido (ou exposto ao mercado) Índices - Ganhos a perdas ratio Retorno anualizado - Retorno percentual ao longo de um ano Retorno ajustado pelo 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 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 realizar dimensionamento automático de posição, otimização e outros recursos mais avançados.
As 10 regras para o backtesting.
Há muitos fatores que os investidores prestam atenção quando estão testando estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a serem lembradas durante o backtesting:
Leve em consideração 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, abrangendo 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 para 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 para 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. Em geral, é uma boa ideia manter a exposição abaixo de 70% para reduzir o risco e facilitar a transição para dentro e para fora de um determinado estoque. A estatística de ganho / perda médio, combinada com a relação ganhos / perdas, pode ser útil para determinar o dimensionamento de posição ideal e o gerenciamento de dinheiro usando técnicas como o Critério Kelly. Os traders podem assumir posições maiores e reduzir custos de comissão aumentando seus ganhos médios e aumentando sua taxa de ganhos por perdas. (Para mais, consulte: Gerenciamento de dinheiro usando o critério Kelly.) O retorno anualizado é 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 a ser usado quando o sistema for ativado. O backtesting às vezes pode levar a algo conhecido como otimização excessiva. Essa é uma condição na qual os resultados de desempenho são ajustados tão altos para o 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.
Conclusão.
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. (Para leitura relacionada, consulte: Backtesting and Forward Testing: A Importância da Correlação.)
Exemplo: Backtesting uma estratégia de negociação.
Todos os comerciantes podem se beneficiar do teste de suas estratégias de negociação. Ele pode destacar os pontos fortes e fracos e mostrar como melhorar como trader. No entanto, é difícil encontrar uma maneira precisa de testar suas estratégias de negociação.
O Excel é um dos softwares mais populares do mundo. A maioria das pessoas já possui algumas habilidades no uso do Excel. Neste artigo e no vídeo que acompanha, mostro como o Excel pode ser usado para testar uma ampla variedade de estratégias de negociação em qualquer mercado e período de tempo.
Muitas pessoas aprendem melhor assistindo. Eu gravei um vídeo no YouTube mostrando como é fácil testar suas próprias estratégias usando o Excel. Neste vídeo, adiciono dados históricos. Eu programo 3 indicadores técnicos. Por fim, insiro os critérios de entrada e saída de negociação.
O quadro.
Toda vez que você testa uma estratégia de negociação, você está fazendo as mesmas coisas repetidas vezes. Você não quer começar com um modelo em branco toda vez que precisar testar uma estratégia.
Você deve desenvolver uma estrutura para desenvolver uma estratégia de negociação. Eu uso um modelo Tradinformed Backtest como um framework para testar todas as minhas estratégias de negociação. Esses modelos incluem muitos recursos úteis, incluindo stop-loss, metas de lucro e paradas finais. Eles também incluem uma variedade de métricas diferentes para analisar o desempenho da estratégia de negociação.
Dados Históricos.
É vital obter bons dados históricos de preços antes do backtesting. É fácil obter dados de preços diários e de longo prazo com frequência de graça. O Yahoo Finance tem uma enorme gama de diferentes mercados.
Obter dados intradiários é mais difícil. Eu uso 4 para minha negociação forex. 4 é oferecido por muitos corretores e tem a vantagem de permitir o download de dados diretamente do terminal. Para baixar os dados, você precisa selecionar Ferramentas & # 8211; Centro de História e, em seguida, escolha o mercado para exportar.
Depois de ter os dados históricos em uma planilha. Você pode usar Copiar e Colar para inserir rapidamente os dados no seu backtest. Não use Recortar e Colar porque isso pode afetar as fórmulas na planilha de backtest.
Sinais de entrada & # 8211; Indicadores Técnicos e Padrões de Cartas.
O próximo passo para testar sua estratégia é inserir seus critérios de negociação. Muitas pessoas trocam usando indicadores técnicos e padrões gráficos. Estes são baseados em fórmulas matemáticas e podem ser calculados usando o Excel. No vídeo, demonstro como calcular rapidamente uma Média Móvel Exponencial, um Oscilador Estocástico e a Média da Faixa Real. Você pode ver no vídeo que não demora muito para fazer isso.
Na maioria das vezes você não vai querer calcular os indicadores do zero. Para tornar isso mais rápido e fácil, escrevi dois eBooks que mostram como calcular uma série de indicadores técnicos e padrões gráficos. Para obter mais informações, consulte: Melhore seus resultados comerciais calculando indicadores técnicos e obtenha melhores resultados comerciais usando indicadores técnicos. Ambos vêm com uma planilha contendo todos os cálculos dos indicadores.
Depois de ter o indicador em uma planilha, basta copiá-lo e colá-lo na planilha do backtest.
Programando seus critérios de entrada e saída.
Esse bit pode ser um desafio para pessoas que não estão acostumadas com as instruções do IF no Excel. Se as declarações são os principais blocos de construção de toda a lógica de negociação. Queremos entrar em negociações sob condições específicas. Isso pode acontecer quando o MACD cruzou a linha 0, uma vela Doji se formou ou o preço atingiu um certo nível de Fibonacci.
A sintaxe para instruções If é: IF (Logic) & # 8211; é verdade, então faça isso & # 8211; é falso, então faça isso.
No Excel, poderíamos querer usar uma instrução If para verificar se X é maior que Y. A fórmula ficaria assim: = IF (X & gt; Y, & # 8220; X é mais alto & # 8221 ;, & # 8220; Menor & # 8221;)
Critério de entrada.
No vídeo eu usei um critério de entrada comercial de Enter Long quando o preço é maior que o da EMA e o da Stochsatic cruzou acima da linha 20 (oversold line). Meus critérios de Entrada no Comércio estão na Coluna R. A primeira célula continha: = SE (AND (F203 & gt; G203, K203 & gt; Resultados! $ C $ 12, K202 & lt; Resultados! $ C $ 12, AC203 = $ AC $ 3) & # 8220; Longo & # 8221;, & # 8221; & # 8221;)
Podemos fazer mais sentido se o traduzirmos em pseudocódigo. Isso significa usar linguagem normal para explicar cada etapa. No pseudo-código, a declaração diz:
IF (Fechar & gt; EMA E Estocástico & gt; Linha de sobrevenda E Estocástica Anterior & lt; Linha de Oversold E nenhum negócio longo está aberto), Em seguida, insira Long, caso contrário, não faça nada.
Critério de saída.
Os critérios de saída são programados exatamente da mesma maneira que os critérios de entrada. Nesse caso, talvez eu queira sair de um Long Trade quando o estocástico se movimentar acima de 80 (linha de sobrecompra). No Excel, usei o código: = SE (AND (K203 & gt; Resultados! $ C $ 13, U203 = 0, T203 = 0, AC203 = $ AC $ 2), & # 8221; Fechar & # 8221 ;,)
No pseudo-código isso significa. IF (Estocástico & gt; Linha de compra excessiva E Stop-Loss não foi atingido E o Alvo de lucro não foi atingido E Negociações longas estão abertas, depois fecham por muito tempo, caso contrário não fazem nada.
Stop-Losses e Lucro Alvos.
Neste modelo de Backtest Tradinformed tenho stop-loss e metas de lucro já programadas. Eles são calculados usando um múltiplo do ATR. Isso significa que eles são dinâmicos e se ajustam à volatilidade do mercado.
Podemos usar o Excel para calcular as métricas de resultados que desejamos. Nesta planilha eu uso uma variedade de métodos para ver o quão lucrativa é a estratégia. O fator de lucro mede o valor absoluto dos negócios vencedores dividido pelos negócios perdidos. A porcentagem de vitórias nos informa quantas negociações são lucrativas em comparação com quantas estão perdendo. Também comparo o valor do comércio médio vencedor com o comércio médio perdedor.
Eu também uso um Gráfico de Capital para obter uma impressão visual da estratégia de negociação ao longo do tempo. Isso mostrará se os resultados foram consistentes ou se ocorreram durante condições de mercado específicas.
Outros artigos que você pode gostar.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar tendências de mercado. Este artigo & hellip;
// Retrações de Fibonacci são uma das melhores maneiras de entender a ação do preço de mercado. Se você & hellip;
Aprenda a Backtest suas estratégias de negociação usando o Excel Você quer melhorar o seu & hellip;
RSI Trading Strategy Game.
Backtest uma simples estratégia de negociação RSI com esta planilha conectada à web & # 8211; jogar um jogo de negociação de ações de fantasia!
A planilha faz o download de preços históricos para o seu ticker escolhido, e alguns gatilhos VBA compram ou vendem pontos quando o índice de força relativa (RSI) aumenta acima ou cai abaixo dos valores definidos pelo usuário.
Obtê-lo do link na parte inferior deste artigo.
A lógica de negociação não é sofisticada ou complexa (é descrita em maiores detalhes abaixo).
Mas você pode usar princípios semelhantes para desenvolver e fazer backtest de estratégias aprimoradas. Por exemplo, você poderia codificar um esquema que usa vários indicadores (como ATR ou o oscilador estocástico) para confirmar as tendências antes de acionar os pontos de compra / venda.
Antes de perguntar, deixe-me esclarecer algumas coisas sobre a planilha.
não é uma estratégia de negociação realista, não há custos de transação ou outros fatores incluídos. O VBA demonstra como você pode codificar um algoritmo simples de backtesting & # 8211; sinta-se livre para aprimorá-lo, destruí-lo ou simplesmente para fora.
Mas o mais importante, é um jogo & # 8211; mudar parâmetros, tente novo estoque e divirta-se! Por exemplo, a planilha calcula a taxa de crescimento anual composta do seu pote de investimento; tente obter esse número o mais alto possível.
A planilha permite que você defina.
um ticker de ações, uma data de início e uma data de término em uma janela RSI o valor do RSI acima do qual você deseja vender uma fração de seu estoque o valor do RSI abaixo do qual você deseja vender uma fração de seu estoque comprar ou vender em cada negociação a quantidade de dinheiro que você tem no dia 0 o número de ações a serem compradas no dia 0.
Depois de clicar em um botão, algum VBA começa a passar nos bastidores e.
baixa os preços das ações históricas entre a data de início e término do Yahoo calcula o RSI para cada dia entre a data inicial e final (removendo, é claro, a janela inicial do RSI) no Dia 0 (que é o dia anterior ao início) negociação) compra um número de ações com seu pote de dinheiro do Dia 1 em diante, vende uma fração definida de ações se o RSI subir acima de um valor pré-definido ou compra uma fração de ações se o RSI ficar abaixo de um valor pré-definido taxa de crescimento anual composta, levando em conta o valor do pote original de caixa, o valor final de caixa e ações e o número de dias gastos na negociação.
Tenha em mente que, se o RSI desencadear uma venda, a lógica deve desencadear uma compra antes que uma venda possa ser acionada novamente (e vice-versa). Ou seja, você não pode ter dois gatilhos de venda ou dois gatilhos de compra consecutivos.
Você também obtém um gráfico do preço de fechamento, RSI e os pontos de compra / venda.
Você também obtém uma parcela de sua riqueza total de fantasia ao longo do tempo.
Os pontos de compra / venda são calculados com o seguinte VBA & # 8211; seguir a lógica é fácil.
Veja o resto do VBA no Excel (há lotes para aprender)
Se você estiver adequadamente com cafeína, poderá melhorar o VBA para empregar outros indicadores para confirmar pontos de negociação; por exemplo, você poderia acionar pontos de venda somente se o RSI subir acima de 70 e o MACD cair abaixo de sua linha de sinal.
8 pensamentos sobre & ldquo; RSI Trading Strategy Game & rdquo;
Esta calculadora implica que, quanto mais perto você definir os indicadores de compra / venda para 50, maior será a riqueza final. Isso pode ser exemplificado inserindo os seguintes parâmetros. É possível que isso seja incoreto?
Stock Ticker VTI.
Data de início 16-nov-09.
Data de fim 15-Nov-14.
Vender acima do RSI 50.1.
Compre abaixo RSI 49,9.
% para comprar / vender em cada transação 40.
# Ações para comprar no dia 0 17.
Pote de dinheiro no dia 0 1000.
No Excel para Mac, a seguinte instrução em GetData produz um erro de compilação:
Para Cada C Neste Manual De Operação.
O VBA funciona em um Mac se você comentar essas linhas?
Eu testei a planilha no Excel 2010 e 2013 no Windows 8 e está tudo bem.
Eu apaguei essas linhas e pareceu funcionar OK. Obrigado.
Voltar testando o Trader Excel.
Backtest Trading strategies & amp; Avalie estratégias de negociação de fim de dia com dados históricos.
back-testing Excel é vendido apenas como parte do pacote Excel Trader | Visite o site de desenvolvedores para mais como este.
back-testing O Excel, parte do Trader Excel Package, é um complemento para estratégias de negociação de back-testing no Microsoft Excel. Ele permite que você teste e avalie estratégias de negociação no final do dia usando dados históricos. Os usuários podem usar o VBA (Visual Basic for Applications) para criar estratégias para o Back Testing Excel. No entanto, o conhecimento do VBA é opcional - além de usar regras de negociação criadas pelo VBA, é possível construir regras de negociação em uma planilha usando códigos de teste de back-end padrão pré-fabricados.
back-testing Detalhes do Excel.
Back Testing O Excel suporta funcionalidade avançada, como piramidação (mudança de tamanho de posição durante uma negociação aberta), limitação de posição curta / longa, cálculo de comissão, controle de patrimônio, controle de out-of-money, customizing de preço de compra / venda Hoje ou amanhã, os preços de abertura, fechamento, alta ou baixa). Tal funcionalidade permite que você construa & quot; natural & quot; estratégias de negociação e impede que você coloque suas estratégias em & quot; frames & quot;
Voltar Teste O Excel cria relatórios de desempenho de teste de estratégia informativos e altamente detalhados. Cada relatório tem sete guias:
Relatório resumido - o mais importante back-testing resulta em um formato compacto Data Series Report - negociações, patrimônio e dinâmica de lucros / perdas exibidos em formatos tabelados e gráficos Relatório Trades - negociações agrupadas por posições Trades (cronológica) Relatório - negociações em ordem cronológica Sinais Relatório - todos os sinais produzidos por uma estratégia e seus resultados (ordem processada ou não) Relatório de Configurações - todas as configurações do Relatório de Código de Estratégia - contendo código de estratégia bruta.
AutoFiltering.
Os relatórios Trades, Trades (cronológicos) e Signals possuem uma opção AutoFiltering que, quando implementada, pode produzir relatórios mais refinados. A filtragem é uma maneira rápida e fácil de encontrar e trabalhar com um subconjunto de dados em uma lista. Uma lista filtrada exibe apenas as linhas que atendem aos critérios especificados para uma coluna. Ao contrário da classificação, a filtragem não reorganiza uma lista. Em vez disso, oculta temporariamente as linhas que você não deseja exibir. Quando você ativa o AutoFiltro, as setas aparecem à direita dos rótulos da coluna na lista filtrada. O AutoFiltro pode ser usado, por exemplo, para exibir apenas negociações curtas, negociações lucrativas ou negociações executadas após uma data específica ou apenas os sinais que resultaram em transações.
Resumo dos recursos:
Criação de estratégia simples O código de estratégia pode ser desenvolvido usando o Excel ou VBE (Visual Basic Environment) relatório de desempenho de teste de estratégia informativo e detalhado de 7 páginas Acompanhamento de patrimônio (capital inicial e comissões) Limitações de posição longa e curta separadas Suporte a piramidação.
Para fazer backtest de uma estratégia de negociação, o Back Testing Excel itera em todas as linhas de dados históricos, executando o código de estratégia para cada linha de dados. O código de estratégia consiste nestes blocos de construção básicos:
Комментарии
Отправить комментарий