Skip to main content

Como backtest uma estratégia de negociação usando o excel pdf


Como backtest uma estratégia de negociação usando o excel pdf
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.

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 de volta 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 dia específico.
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.

Backtesting Bem-sucedido de Estratégias de Negociação Algorítmica - Parte I.
Backtesting Bem-sucedido de Estratégias de Negociação Algorítmica - Parte I.
Este artigo continua a série sobre negociação quantitativa, que começou com o Beginner's Guide and Strategy Identification. Ambos os artigos, mais longos e mais envolvidos, têm sido muito populares, por isso vou continuar nesse sentido e fornecer detalhes sobre o tema do backtesting de estratégia.
O backtesting algorítmico requer conhecimento de muitas áreas, incluindo psicologia, matemática, estatística, desenvolvimento de software e microestrutura de mercado / troca. Eu não poderia esperar cobrir todos esses tópicos em um artigo, então vou dividi-los em duas ou três partes menores. O que vamos discutir nesta seção? Começarei definindo o backtesting e depois descreverei o básico de como ele é realizado. Então eu vou elucidar sobre os preconceitos que tocamos no Beginner's Guide to Quantitative Trading. A seguir, apresentarei uma comparação das várias opções de software de backtesting disponíveis.
Nos artigos subseqüentes, veremos os detalhes das implementações de estratégia que são mal mencionadas ou ignoradas. Também vamos considerar como tornar o processo de backtesting mais realista, incluindo as idiossincrasias de uma bolsa de valores. Em seguida, discutiremos os custos de transação e como modelá-los corretamente em uma configuração de backtest. Terminaremos com uma discussão sobre o desempenho de nossos backtests e, finalmente, forneceremos um exemplo de uma estratégia comum de quant, conhecida como um comércio de pares que reverte a média.
Vamos começar discutindo o que é o backtesting e por que devemos realizá-lo em nossa negociação algorítmica.
O que é o backtesting?
O comércio algorítmico se diferencia de outros tipos de classes de investimento, porque podemos fornecer expectativas mais confiáveis ​​sobre o desempenho futuro de desempenho passado, como consequência da disponibilidade abundante de dados. O processo pelo qual isso é realizado é conhecido como backtesting.
Em termos simples, o backtesting é realizado expondo seu algoritmo de estratégia particular a um fluxo de dados financeiros históricos, o que leva a um conjunto de sinais de negociação. Cada negociação (que vamos querer dizer aqui como uma ida e volta de dois sinais) terá um lucro ou prejuízo associado. A acumulação deste lucro / perda ao longo da duração do seu backtest de estratégia levará ao lucro e perda total (também conhecido como 'P & L' ou 'PnL'). Essa é a essência da ideia, embora, é claro, o "diabo esteja sempre nos detalhes"!
Quais são as principais razões para o backtest de uma estratégia algorítmica?
Filtragem - Se você se lembra do artigo sobre identificação de estratégia, nosso objetivo na fase inicial de pesquisa era configurar um pipeline de estratégia e filtrar qualquer estratégia que não atendesse a determinados critérios. O backtesting nos fornece outro mecanismo de filtragem, pois podemos eliminar estratégias que não atendem às nossas necessidades de desempenho. Modelagem - O backtesting nos permite testar (com segurança!) Novos modelos de certos fenômenos de mercado, como custos de transação, roteamento de ordens, latência, liquidez ou outras questões de microestrutura do mercado. Otimização - Embora a otimização da estratégia seja repleta de vieses, o backtesting nos permite aumentar o desempenho de uma estratégia, modificando a quantidade ou os valores dos parâmetros associados a essa estratégia e recalculando seu desempenho. Verificação - Nossas estratégias são muitas vezes adquiridas externamente, através do nosso pipeline de estratégia. O backtesting de uma estratégia garante que ela não tenha sido implementada incorretamente. Embora raramente tenhamos acesso aos sinais gerados por estratégias externas, muitas vezes teremos acesso às métricas de desempenho, como as características de Sharpe Ratio e Drawdown. Assim, podemos compará-los com nossa própria implementação.
Backtesting fornece uma série de vantagens para negociação algorítmica. No entanto, nem sempre é possível fazer backtest diretamente de uma estratégia. Em geral, à medida que a frequência da estratégia aumenta, torna-se mais difícil modelar corretamente os efeitos de microestrutura do mercado e das trocas. Isso leva a backtests menos confiáveis ​​e, portanto, uma avaliação mais complicada de uma estratégia escolhida. Este é um problema particular em que o sistema de execução é a chave para o desempenho da estratégia, como acontece com os algoritmos de freqüência ultra-alta.
Infelizmente, o backtesting é repleto de preconceitos de todos os tipos. Nós abordamos algumas dessas questões em artigos anteriores, mas vamos agora discuti-las em profundidade.
Vieses que afetam os backtests de estratégia.
Existem muitos vieses que podem afetar o desempenho de uma estratégia de backtested. Infelizmente, esses vieses tendem a inflar o desempenho em vez de prejudicá-lo. Assim, você deve sempre considerar um backtest como um limite superior idealizado no desempenho real da estratégia. É quase impossível eliminar os vieses do comércio algorítmico, por isso é nosso trabalho minimizá-los da melhor forma possível, a fim de tomar decisões informadas sobre nossas estratégias algorítmicas.
Existem quatro principais vieses que desejo discutir: Viés de Otimização, Viés de Look-Ahead, Viés de Sobrevivência e Viés de Tolerância Psicológica.
Viés de otimização.
Este é provavelmente o mais insidioso de todos os preconceitos de backtest. Envolve o ajuste ou a introdução de parâmetros de negociação adicionais até que o desempenho da estratégia no conjunto de dados de backtest seja muito atraente. No entanto, uma vez que viver, o desempenho da estratégia pode ser muito diferente. Outro nome para esse viés é "ajuste de curva" ou "viés de snooping de dados".
O viés de otimização é difícil de eliminar, pois as estratégias algorítmicas geralmente envolvem muitos parâmetros. "Parâmetros" neste exemplo podem ser os critérios de entrada / saída, períodos de retorno, períodos médios (isto é, o parâmetro de suavização da média móvel) ou frequência de medição de volatilidade. O viés de otimização pode ser minimizado mantendo o número de parâmetros no mínimo e aumentando a quantidade de pontos de dados no conjunto de treinamento. De fato, também é preciso ter cuidado com este último, pois os pontos de treinamento mais antigos podem estar sujeitos a um regime anterior (como um ambiente regulatório) e, portanto, podem não ser relevantes para sua estratégia atual.
Um método para ajudar a atenuar esse viés é realizar uma análise de sensibilidade. Isso significa variar os parâmetros de forma incremental e traçar uma "superfície" de desempenho. O raciocínio sólido e fundamental para as escolhas de parâmetros deve, com todos os outros fatores considerados, levar a uma superfície de parâmetro mais suave. Se você tem uma superfície de desempenho muito agitada, isso geralmente significa que um parâmetro não está refletindo um fenômeno e é um artefato dos dados de teste. Existe uma vasta literatura sobre algoritmos de otimização multidimensional e é uma área altamente ativa de pesquisa. Eu não vou me debruçar sobre isso aqui, mas mantenha isso no fundo de sua mente quando você encontrar uma estratégia com um backtest fantástico!
Tendência de Look-Ahead.
O viés de antecipação é introduzido em um sistema de backtesting quando dados futuros são acidentalmente incluídos em um ponto da simulação onde esses dados não estariam disponíveis. Se estivermos realizando o backtest cronologicamente e chegarmos ao ponto de tempo $ N $, então o bias de look-ahead ocorrerá se os dados forem incluídos para qualquer ponto $ N + k $, onde $ k> 0 $. Erros de polarização antecipada podem ser incrivelmente sutis. Aqui estão três exemplos de como o viés de look-ahead pode ser introduzido:
Bugs técnicos - Matrizes / vetores no código geralmente possuem iteradores ou variáveis ​​de índice. Deslocamentos incorretos desses índices podem levar a um viés de antecipação ao incorporar dados em $ N + k $ para não-zero $ k $. Cálculo de Parâmetros - Outro exemplo comum de viés de look-ahead ocorre ao calcular parâmetros estratégicos ótimos, como com regressões lineares entre duas séries temporais. Se todo o conjunto de dados (incluindo dados futuros) for usado para calcular os coeficientes de regressão e, portanto, aplicado retroativamente a uma estratégia de negociação para fins de otimização, os dados futuros serão incorporados e haverá um viés de antecipação. Maxima / Minima - Determinadas estratégias de negociação utilizam valores extremos em qualquer período de tempo, como incorporar os preços altos ou baixos nos dados do OHLC. No entanto, como esses valores máximos / mínimos só podem ser calculados no final de um período de tempo, um viés de antecipação é introduzido se esses valores forem usados ​​durante o período atual. É sempre necessário atrasar valores altos / baixos em pelo menos um período em qualquer estratégia de negociação fazendo uso deles.
Tal como acontece com o viés de otimização, é preciso ter muito cuidado para evitar sua introdução. Muitas vezes, é a principal razão pela qual as estratégias de negociação têm um desempenho inferior aos backtests significativamente em "negociação ao vivo".
Viés de sobrevivência.
O viés de sobrevivência é um fenômeno particularmente perigoso e pode levar a um desempenho significativamente inflacionado para certos tipos de estratégia. Ocorre quando as estratégias são testadas em conjuntos de dados que não incluem o universo completo de ativos anteriores que podem ter sido escolhidos em um determinado momento, mas consideram apenas aqueles que "sobreviveram" à hora atual.
Como exemplo, considere testar uma estratégia em uma seleção aleatória de ações antes e depois do crash do mercado de 2001. Algumas ações da tecnologia faliram, enquanto outras conseguiram se manter à tona e até prosperaram. Se tivéssemos restringido essa estratégia apenas às ações que passaram pelo período de rebaixamento do mercado, estaríamos introduzindo um viés de sobrevivência, porque eles já demonstraram seu sucesso para nós. Na verdade, esse é apenas outro caso específico de viés de antecipação, já que informações futuras estão sendo incorporadas à análise passada.
Existem duas maneiras principais de atenuar o viés de sobrevivência em seus backtests de estratégia:
Conjuntos de dados livres de viés de sobrevivência - No caso de dados de patrimônio, é possível comprar conjuntos de dados que incluem entidades com saída de linha, embora não sejam baratas e só tendam a ser utilizadas por empresas institucionais. Em particular, os dados do Yahoo Finance NÃO são livres de viés de sobrevivência, e isso é comumente usado por muitos traders de algoritmos de varejo. Também é possível negociar em classes de ativos que não são propensas ao viés de sobrevivência, como certas commodities (e seus futuros derivativos). Usar dados mais recentes - No caso de ações, a utilização de um conjunto de dados mais recente atenua a possibilidade de que a seleção de ações escolhida seja ponderada para "sobreviventes", simplesmente porque há menos probabilidade de fechamento de estoque geral em períodos de tempo mais curtos. Também é possível começar a criar um conjunto de dados pessoal livre de viés de sobrevivência, coletando dados do ponto atual em diante. Depois de 3 a 4 anos, você terá um sólido conjunto de dados de equidade livres de viés de sobrevivência, com o qual será feito backtest de estratégias adicionais.
Consideraremos agora certos fenômenos psicológicos que podem influenciar seu desempenho comercial.
Tendência da Tolerância Psicológica.
Este fenómeno em particular não é frequentemente discutido no contexto do comércio quantitativo. No entanto, é discutido extensivamente em relação a métodos de negociação mais discricionários. Ele tem vários nomes, mas eu decidi chamar de "viés de tolerância psicológica" porque capta a essência do problema. Ao criar backtests durante um período de 5 anos ou mais, é fácil olhar para uma curva de capital de tendência ascendente, calcular o retorno anual composto, o índice de Sharpe e até as características de rebaixamento e ficar satisfeito com os resultados. Como exemplo, a estratégia pode possuir um rebaixamento relativo máximo de 25% e uma duração máxima de rebaixamento de 4 meses. Isso não seria atípico para uma estratégia momentânea. É fácil convencer-se de que é fácil tolerar esses períodos de perdas porque o quadro geral é otimista. No entanto, na prática, é muito mais difícil!
Se rebotes históricos de 25% ou mais ocorrerem nos backtests, então, com toda a probabilidade, você verá períodos de rebaixamento similar em negociações ao vivo. Estes períodos de abandono são psicologicamente difíceis de suportar. Observei em primeira mão como pode ser uma redução prolongada, em um ambiente institucional, e isso não é agradável - mesmo que os backtests sugiram que tais períodos ocorrerão. A razão pela qual eu o denominei de "viés" é que muitas vezes uma estratégia que de outra forma seria bem-sucedida é impedida de negociar durante períodos de rebaixamento prolongado e, portanto, levará a um desempenho significativamente inferior comparado a um backtest. Assim, embora a estratégia seja de natureza algorítmica, os fatores psicológicos ainda podem ter uma forte influência na lucratividade. O objetivo é assegurar que, se você vir perdas de uma certa porcentagem e duração nos backtests, então você deve esperar que elas ocorram em ambientes de negociação ao vivo e que precisem perseverar para alcançar a lucratividade mais uma vez.
Pacotes de software para backtesting.
O cenário de software para backtesting de estratégia é vasto. As soluções vão desde software sofisticado de grau institucional totalmente integrado até linguagens de programação como C ++, Python e R, onde quase tudo deve ser escrito do zero (ou 'plugins' obtidos). Como traders quant estamos interessados ​​no equilíbrio de poder "possuir" nossa pilha de tecnologia de negociação versus a velocidade e confiabilidade de nossa metodologia de desenvolvimento. Aqui estão as principais considerações para a escolha de software:
Habilidade de Programação - A escolha do ambiente dependerá em grande parte de sua capacidade de programar software. Eu diria que estar no controle da pilha total terá um efeito maior em seu P & L de longo prazo do que a terceirização, tanto quanto possível, do software do fornecedor. Isso se deve ao risco negativo de ter bugs externos ou idiossincrasias que você não consiga consertar no software do fornecedor, que, de outra forma, seriam facilmente solucionados se você tivesse mais controle sobre sua "pilha de tecnologia". Você também quer um ambiente que encontre o equilíbrio certo entre produtividade, disponibilidade de biblioteca e velocidade de execução. Eu faço minha própria recomendação pessoal abaixo. Interação de capacidade de execução / corretor - Certos softwares de backtesting, como o Tradestation, são vinculados diretamente a uma corretora. Eu não sou fã dessa abordagem, já que reduzir os custos de transação é muitas vezes um grande componente para obter um índice maior de Sharpe. Se você está preso a um corretor específico (e o Tradestation o "força" a fazer isso), você terá mais dificuldade em fazer a transição para um novo software (ou um novo corretor), se necessário. Os Interactive Brokers fornecem uma API robusta, embora com uma interface ligeiramente obtusa. Personalização - Um ambiente como o MATLAB ou o Python oferece uma grande flexibilidade na criação de estratégias de algoritmos, uma vez que fornecem bibliotecas fantásticas para quase todas as operações matemáticas imagináveis, mas também permitem uma ampla personalização quando necessário. Complexidade de estratégia - Certos softwares simplesmente não são feitos para processamento pesado de números ou complexidade matemática. O Excel é um desses softwares. Embora seja bom para estratégias mais simples, ele não pode realmente lidar com numerosos ativos ou algoritmos mais complicados, em velocidade. Minimização de viés - Uma determinada peça de software ou dados se presta mais a vieses de negociação? Você precisa ter certeza de que, se quiser criar todas as funcionalidades sozinho, não apresentará bugs que possam levar a vieses. Velocidade de desenvolvimento - Não se deve ter que passar meses e meses implementando um mecanismo de backtest. A prototipagem deve levar apenas algumas semanas. Certifique-se de que seu software não está atrapalhando o seu progresso em grande medida, apenas para pegar alguns pontos percentuais extras de velocidade de execução. C ++ é o "elefante na sala" aqui! Velocidade de Execução - Se a sua estratégia é completamente dependente da pontualidade da execução (como no HFT / UHFT), então uma linguagem como C ou C ++ será necessária. No entanto, você estará se aproximando da otimização do kernel do Linux e do uso do FPGA para esses domínios, o que está fora do escopo deste artigo! Custo - Muitos dos ambientes de software com os quais você pode programar estratégias de negociação algorítmica são completamente livres e de código aberto. Na verdade, muitos fundos de hedge fazem uso de software de código aberto para todas as suas pilhas de negociação de algoritmos. Além disso, o Excel e o MATLAB são relativamente baratos e existem alternativas gratuitas para cada um deles.
Agora que listamos os critérios com os quais precisamos escolher nossa infraestrutura de software, eu quero executar alguns dos pacotes mais populares e como eles se comparam:
Nota: Eu só vou incluir o software que está disponível para a maioria dos profissionais de varejo e desenvolvedores de software, pois este é o público do site. Enquanto outros softwares estão disponíveis, tais como as ferramentas mais institucionais, eu sinto que são muito caras para serem efetivamente usadas em um ambiente de varejo e eu pessoalmente não tenho nenhuma experiência com elas.
1.000 USD para uma licença.
Estratégias diferentes exigirão pacotes de software diferentes. As estratégias HFT e UHFT serão escritas em C / C ++ (atualmente, elas são executadas em GPUs e FPGAs), enquanto as estratégias de equidade direcional de baixa frequência são fáceis de implementar na TradeStation, devido à natureza "tudo em um" do software / corretagem.
Minha preferência pessoal é pelo Python, pois fornece o grau certo de personalização, velocidade de desenvolvimento, capacidade de teste e velocidade de execução para minhas necessidades e estratégias. Se eu precisar de algo mais rápido, posso "ir direto" para o C ++ diretamente dos meus programas em Python. Um método preferido por muitos comerciantes de quantificação é criar um protótipo de suas estratégias no Python e depois converter as seções de execução mais lentas em C ++ de maneira iterativa. Eventualmente todo o algoritmo é escrito em C ++ e pode ser "deixado sozinho para trocar"!
Nos próximos artigos sobre backtesting, vamos dar uma olhada em algumas questões específicas em torno da implementação de um sistema de backtesting algorítmico de negociação, bem como como incorporar os efeitos das trocas comerciais. Discutiremos a medição do desempenho da estratégia e, finalmente, concluiremos com uma estratégia de exemplo.
A Quantcademy.
Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.
Negociação Algorítmica Bem Sucedida.
Como encontrar novas ideias de estratégia de negociação e avaliá-las objetivamente para o seu portfólio usando um mecanismo de backtesting personalizado no Python.
Comércio Algorítmico Avançado.
Como implementar estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas Bayesianas com R e Python.

Como backtest uma estratégia de negociação usando o excel pdf
Inscreva-se no boletim informativo Tradinformed para receber os recursos gratuitos, ser notificado sobre novos artigos e vendas de produtos.
Nenhum produto no carrinho.
Nenhum produto no carrinho.
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. Aqueles comerciantes 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 terá certeza se é certo 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).
Simulador de Monte Carlo e libra; 8,63 6 em 1 pacote & libra; 63,35 e libra; 50.67 Bitcoin Breakout Estratégia de Negociação & pound; 15,30 10 em 1 pacote & libra; 120,59 e libra; 81,40.
21 Indicadores Técnicos & libra; 4.31 Long-Short Backtest Model usando Excel & libra; 8,82 Advanced Backtest Model & libra; 15,30 21 Indicadores Mais Técnicos & libra; 4,31.
VIX Volatilidade S & P 500 Entry & pound; 15,30 4 em 1 pacote & libra; 32,75 e libra; 27.84 Long-Short Backtest Model usando o Excel & libra; 8,82.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a fazer backtest de suas próprias estratégias e obter novas ideias de negociação.

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 MT4 para minha negociação forex. O MT4 é 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, podemos querer usar uma instrução If para verificar se X é maior que Y. A fórmula seria semelhante a: = IF (X & gt; Y, & # 8220; X é Superior & # 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 venda a mais E Estocástica Anterior & lt; Linha de venda prolongada 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;
Ebook Course - Como Backtest uma estratégia de negociação usando o Excel Você quer & hellip;
Tradinformed.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a fazer backtest de suas próprias estratégias e obter novas ideias de negociação.
Um sistema de negociação Heikin-Ashi simples e rentável Como calcular o indicador SuperTrend usando o Excel Como calcular o indicador PSAR usando o Excel 3 rentável Estratégias de negociação Ichimoku Exemplo: Backtesting uma estratégia de negociação Uma estratégia de negociação Forex SuperTrend Posts mais recentes.
Negociação Algorítmica (1) Opções Binárias (2) Padrões Gráficos (1) Criptomoedas (1) Ebook (2) Dados Econômicos (1) Crescimento Econômico (2) Biblioteca de Traders Essenciais (4) Comércio de Excel (6) Planilhas Google (1) Como para o Backtest (2) Entrevistas com Traders (1) Learn to Trade (18) MT4 (5) Trade Ideas (2) Automação de Negociação (3) Trading Book Reviews (1) Carteiras de Negociação (1) Trading Information (10) Trading Psychology ( 2) Estratégias de Negociação (25) Sem categoria (2)
Simulador de Monte Carlo e libra; 8,63 6 em 1 pacote & libra; 63,35 e libra; 50.67 Bitcoin Breakout Estratégia de Negociação & pound; 15,30 10 em 1 pacote & libra; 120,59 e libra; 81,40.
21 Indicadores Técnicos & libra; 4.31 Long-Short Backtest Model usando Excel & libra; 8,82 Advanced Backtest Model & libra; 15,30 21 Indicadores Mais Técnicos & libra; 4,31.
VIX Volatilidade S & P 500 Entry & pound; 15,30 4 em 1 pacote & libra; 32,75 e libra; 27.84 Long-Short Backtest Model usando o Excel & libra; 8,82.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a fazer backtest de suas próprias estratégias e obter novas ideias de negociação.

eBook PHP.
Free ebook pdf e epub promotion directory.
Como backtest uma estratégia de negociação usando o Excel.
Uma ótima maneira de reforçar sua negociação e mudar para o valor adicional. Este livro revela métodos que vale a pena usar o Microsoft Excel para criar e examinar estratégias de negociação.
Se você usa ou não uma metodologia de negociação de longa data ou cria sua empresa privada. Ele apresenta uma técnica passo a passo que qualquer um pode ajustar. Todas as informações necessárias estão contidas no livro e não deve ser importante ter informações anteriores do Excel.
Seja ou não, ou não, o seu método de negociação é longo-unicamente ou longo / curto este livro irá atualizá-lo métodos que podem ser backtested no Excel. As modas de backtest confirmadas dentro do curso podem ajudá-lo a examinar completamente parâmetros completamente diferentes, após o que usá-los para otimizar seu método.
Os livros, além disso, apresentam conceitos e sugestões sobre como fazer o backtest de forma apropriada e o que procurar ao testar um modelo.
Detalhes do produto.
File Size: 1472 KB Comprimento de impressão: 57 páginas Data de publicação: 2 de outubro de 2013 Vendido por: Amazon Digital Services LLC Idioma: Inglês ASIN: B00FKWAVRK Conversão de texto em voz: Enabled X-Ray: Não habilitado Word Wise: Enabled Lending: Enabled Definição avançada de tipografia: ativada.
Dicas eficazes para uma melhor experiência de leitura Ebook.
Na maioria das vezes, acredita-se que os leitores, que estão utilizando os eBooks pela primeira vez, têm dificuldades em se acostumar com eles. Na maioria das vezes, ocorre quando os novos leitores deixam de usar os livros eletrônicos, pois não conseguem usar todos eles com a maneira apropriada e eficaz de ler esses livros. Há um número atual de razões por trás disso, devido ao qual os leitores pararam de ler os livros eletrônicos em sua primeira tentativa de utilizá-los. No entanto, existem algumas técnicas que poderiam ajudar os leitores a realmente ter um encontro de leitura agradável e bem sucedido.

Comments

Popular posts from this blog

Gráficos de opções binárias

Gráficos gratuitos de opções binárias. Aqui estão as melhores opções de gráficos binários gratuitos e plataformas de gráficos. Análise do Tradingview. O Tradingview é um programa financeiro e gráfico de ações moderno que é excepcionalmente rápido, confiável e simples de usar. O que torna mais especial que é livre de usar e qualquer um pode usá-lo sem pagar um único centavo. Quando se trata de programas de estoque e de gráficos financeiros, a maioria do programa de gráficos não se concentra em questões centrais e os serviços não conseguem acompanhar o ritmo da tecnologia mais recente. Ao contrário de muitos programas de gráficos de ações, a visão de negociação não é de todo baseada em tecnologias convencionais como Silverlight, Flash ou Java. Essas tecnologias não são compatíveis com as últimas tendências, pois a maioria das pessoas está navegando em dispositivos de alta tecnologia, incluindo smartphones e tablets e descartou PCs para visualizar gráficos. Os aparelhos modernos não são c...

Melhor tempo para negociação forex gmt

Melhor época para negociação forex Forex. pk, o melhor portal forex do Paquistão, oferece taxas de câmbio até o momento no Paquistão Open Market, Paquistão Inter Bank & amp; Mercado internacional de forex. Aqui você vai encontrar arquivos de taxas de forex, gráficos, gráficos, forex notícias, forex concessionários diretório, diretório de moeda, os preços do ouro, resultados de títulos do Paquistão e uma ampla gama de informações para ajudá-lo a explorar o mundo dos estrangeiros. Escolher o melhor corretor forex é importante. Em nossa diretriz Forex Brokers você encontrará guias sobre como escolher a melhor corretora de forex. Horário do Mercado Forex. Use o Conversor de Tempo do Mercado Forex, abaixo, para visualizar os principais horários de abertura e fechamento do mercado em seu próprio fuso horário local. Sobre o Conversor de Fuso Horário Forex. O mercado cambial de câmbio ("forex" ou "FX") não é negociado em uma troca regulada, como ações e commodities. Em...

Melhor stop loss forex

Entendendo e Aplicando Stop Loss na Negociação Cambial. Noções básicas de uso de Stop Losses. Um dos conceitos mais complicados na negociação forex é o gerenciamento de ordens de parada. Como o nome indica, uma ordem de stop-loss é uma ordem que fecha sua posição de negociação quando suas perdas nessa negociação atingem um valor de perda definido quando você inicia a ordem de stop loss. Definir a ordem de stop loss. Não existe uma regra clara quando se trata de colocar paradas, mas existem algumas abordagens geralmente reconhecidas. Se sua estratégia de negociação for um estilo de negociação forex day, você pode definir uma parada fora do intervalo de preços diários do par de moedas que você está negociando. Dessa forma, se o mercado repentinamente romper a tendência que levou você a iniciar a negociação e, em seguida, se mover suficientemente longe na direção de perda, sua conta estará protegida porque sua posição é fechada automaticamente pela ordem de stop-loss. Se o seu estilo de n...