понедельник, 14 мая 2018 г.

Testando estratégias de negociação no excel


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 lugar 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 coincidir.
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.

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 realizar exatamente as mesmas etapas usando o MS Power Pivot, um suplemento gratuito do MS Excel com acesso ao banco de dados.

Testando estratégias de negociação no 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 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.

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 funcionalidades avançadas, tais 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 detalhado e informativo de 7 páginas Acompanhamento de capital (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:

Testando estratégias de negociação no excel
Aprender a negociar leva tempo e muita paciência. Neste artigo, discuto por que é bom usar o Excel para fazer backtest de estratégias de negociação.
O que é uma boa estratégia de negociação?
Uma parte crucial da negociação lucrativa é usar uma boa estratégia de negociação. Diferentes tipos de estratégias têm melhor desempenho em diferentes condições de mercado e pode ser útil ter mais de uma boa estratégia.
Uma boa estratégia de negociação é como um terno bem ajustado. Deve sentir-se bem e ficar bem. Uma estratégia de negociação deve ser um bom ajuste com a personalidade e estilo de vida do comerciante, além de ser rentável.
Se a estratégia de negociação não se encaixar com o trader, ela provavelmente falhará. Um operador cauteloso e descontraído provavelmente deve trabalhar no desenvolvimento de uma estratégia lenta para o paciente, que tira grandes lucros de grandes movimentos do mercado. Os traders que ficam cheios de adrenalina e querem estar constantemente entrando e saindo do mercado, deveriam estar negociando movimentos de alta probabilidade nos prazos mais curtos.
Igualmente importante é o tempo e a capacidade de negociar a estratégia adequadamente. Uma pessoa que trabalha 40 horas por semana não pode negociar razoavelmente uma estratégia que requer atenção constante. Também pode ser difícil concentrar-se em negociar em casa quando a casa está cheia de crianças barulhentas. Os comerciantes devem ser realistas sobre quanto tempo e energia podem dedicar à sua estratégia.
Como desenvolver uma boa estratégia de negociação.
A única maneira certa de desenvolver uma estratégia comercial que funcione para você é tentativa e erro. Até que você tenha negociado uma estratégia ao vivo no mercado, você não saberá ao certo se ela é ideal para você. Existem maneiras de acelerar o processo de desenvolvimento de sua própria estratégia.
Revise seu histórico de negociações.
Os mercados financeiros têm uma maneira de nos ensinar as lições que precisamos aprender.
Estudar seus negócios anteriores é muito útil para refinar sua abordagem à negociação. Veja como você lida com condições difíceis. Quão bem você se atém ao seu plano e quanto lucro ou perda você tira de cada movimento do mercado. Você poderia ter lucrado mais com seus negócios vencedores e cortar seus perdedores mais cedo?
Backtesting
Para a introdução de novos métodos e para lidar com diferentes condições de mercado, o backtesting é extremamente importante. O backtesting usa dados históricos de preços para ver como as estratégias de negociação teriam sido realizadas.
O backtesting precisa ser feito com cuidado e o desempenho passado não é igual ao desempenho futuro. No entanto, é inestimável para eliminar estratégias que nunca foram rentáveis ​​e descobrir pontos fracos em estratégias aparentemente boas.
O backtesting também é muito útil para estabelecer princípios gerais de negociação para um mercado específico. Por exemplo, realizei uma série de testes usando um sistema de negociação de entrada aleatória. Nestes artigos: entrada aleatória e entrada aleatória mais indicadores técnicos. Estes testes mostraram-me que, no mercado EUR / USD, um sistema de entrada aleatória pode ser rentável. Eu não vou negociar um sistema de entrada aleatória, mas vou usar os princípios, como uma parada móvel como parte da minha negociação diária no EUR / USD.
Usando o Microsoft Excel.
Você pode fazer backtest usando muitas plataformas diferentes, mas uma das maneiras mais fáceis de testar estratégias relativamente complicadas é usando o Excel.
O Excel é muito acessível e a maioria das pessoas já conhece o software. É muito amigável e há uma enorme quantidade de informações disponíveis on-line sobre como melhorar as habilidades do Excel.
As estratégias de negociação são programadas usando declarações lógicas. O Excel é um dos ambientes mais fáceis de programar. Um grande número de indicadores técnicos pode ser programado e a lógica de negociação pode ser tão simples ou complicada quanto necessário.
No meu Amazon Kindle eBook & # 8211; Como backtest uma estratégia de negociação usando o Excel & # 8211; Eu mostro como o Excel pode ser usado para desenvolver suas próprias planilhas de backtest. Se você estiver procurando por uma planilha, também poderá comprá-las diretamente: Compre planilhas do Excel.
Aprender a negociar é um processo mais lento do que a maioria de nós gostaria. No entanto, usando algumas das idéias do artigo, é possível torná-lo um processo mais rápido (e muito mais barato).

Комментариев нет:

Отправить комментарий