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 xls
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.
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.
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.
Estratégia de negociação em pares [EXCEL MODEL]
Introdução.
Pair trading é uma estratégia de negociação que corresponde a uma posição longa em uma ação / ativo com uma posição de compensação em outra ação / ativo que é estatisticamente relacionada. Pair trading é uma estratégia de reversão à média, em que apostamos que os preços reverterão para suas tendências históricas.
Quem pode usar este modelo do Excel?
Pessoas interessadas em negociação algorítmica e Quant, aquelas que querem aprender sobre arbitragem estatística.
Como isso ajuda?
Este modelo de excel irá ajudá-lo a:
Aprender a aplicação de reversão à média Compreender de par de negociação Otimizar os parâmetros de negociação Compreender retornos significativos de arbitragem estatística.
Por que você deve baixar o modelo de negociação?
Como a lógica de negociação é codificada nas células da planilha, você pode entender melhor baixando e analisando os arquivos conforme sua conveniência. Não apenas isso, você pode brincar com os números para obter melhores resultados. Você pode encontrar parâmetros adequados que proporcionem lucros maiores do que o especificado no artigo.
Explicação do modelo.
Neste exemplo, consideramos o par MSCI e Nifty como ambos são índices do mercado de ações. Nós implementamos a estratégia de reversão da média neste par. A reversão à média é uma propriedade de séries temporais estacionárias. Como afirmamos que o par que escolhemos é a reversão, devemos testar se ele segue a estacionariedade.
O diagrama a seguir mostra a plotagem da proporção logarítmica de Nifty para MSCI. No início, isso parece ser revertendo com um valor médio de 2.088, mas usamos o Teste Dicky Fuller para testar se ele é estacionário com significância estatística. Os resultados da tabela de saída de Cointegração mostram que a série de preços é estacionária e, portanto, significa reversão. A estatística de Teste de Dicky Fuller e um valor de p significativamente baixo (& lt; 0,05) confirma nossa suposição. Tendo determinado que a reversão da média é verdadeira para o par escolhido, procedemos com a especificação de suposições e parâmetros de entrada.
Premissas.
Para fins de simplificação, ignoramos os spreads bid-ask. Os preços estão disponíveis em intervalos de 5 minutos e nós negociamos apenas com o preço de fechamento de 5 minutos. Uma vez que isto é um dado discreto, a quadratura da posição acontece no final da vela, isto é, ao preço disponível no final de 5 minutos. Apenas a sessão regular (T) é negociada. Os custos de transação são de US $ 0,375 para Nifty e US $ 1,10 para MSCI. A margem para cada negociação é de $ 990 (aproximada de $ 1000).
Parâmetros de entrada.
Por favor, note que todos os valores para os parâmetros de entrada mencionados abaixo são configuráveis.
Média de 10 velas (uma vela = a cada 5 minutos) é considerada Uma pontuação “z” de +2 é considerada para compra e -2 para venda Um stop loss de $ 100 e limite de lucro de $ 200 é definido O tamanho do pedido para negociação MSCI é 50 (1 lote) e para Nifty é 6 (3 lotes)
Os dados de mercado e parâmetros de negociação são incluídos na planilha a partir da 12ª linha. Portanto, quando a referência é feita à coluna D, deve ficar óbvio que a referência começa de D12 em diante.
Explicação das colunas no Modelo do Excel.
A coluna C representa o preço do MSCI.
A coluna D representa o preço Nifty.
A coluna E é a razão logarítmica de Nifty para MSCI.
A coluna F calcula a média de 10 velas. Como 10 valores são necessários para cálculos médios, não há valores de F12 a F22. A fórmula = SE (A23 & gt; $ C $ 3, MÉDIA (ÍNDICE ($ E $ 13: $ E $ 1358, A23- $ C $ 3): E22), & # 8220; & # 8221;) significa que a média deve ser calculada apenas se a amostra de dados disponível for maior que 10 (ou seja, o valor especificado na célula C3), caso contrário, a célula deve ficar em branco. Considere a célula F22. Sua célula correspondente A22 tem um valor de 10. Como A22 & gt; $ C $ 3 falha, a entrada nessa célula está em branco. A próxima célula F23 tem um valor desde A23 & gt; $ C $ 3 é verdadeira. O próximo pedaço da fórmula.
MÉDIA (ÍNDICE ($ E $ 13: $ E $ 1358, A23 - $ C $ 3): E22) calcula o valor médio das últimas 10 (como mencionado na célula C3) das velas dos dados da coluna E. Lógica semelhante é válida para a coluna G, onde o desvio padrão é calculado. A pontuação “z” é calculada na coluna H. A fórmula para calcular a pontuação “z” é z = (x -) / (σ). Aqui x é a amostra (coluna E), é o valor médio (coluna F) e σ é o desvio padrão (coluna G).
Coluna I representa o sinal de negociação. Como mencionado nos parâmetros de entrada, se a pontuação "z" for inferior a -2, compramos e se ultrapassar +2, vendemos. Quando dizemos comprar, temos uma posição longa em 3 lotes de Nifty e temos uma posição curta em 1 lote de MSCI. Da mesma forma, quando dizemos vender, temos uma posição comprada em 1 lote de MSCI e temos uma posição vendida em 3 lotes de Nifty, assim alinhando a posição. Nós temos uma posição aberta o tempo todo.
Para entender o que isso significa, considere dois sinais de negociação "comprar" e "vender". Para o sinal de “compra”, como explicado anteriormente, compramos 3 lotes de futuro Nifty e um lote de 1 MSCI futuro. Uma vez que a posição é tomada, rastreamos a posição usando a coluna Status, ou seja, a coluna M. Em cada nova linha enquanto a posição continua, verificamos se o stop loss (como mencionado na célula C6) ou take profit (como mencionado na célula) C7) é atingido. O stop loss é dado o valor de USD -100, ou seja, a perda de USD 100 e o lucro é dado o valor de USD 200 nas células C6 e C7, respectivamente. Embora a posição não atinja qualquer stop loss ou take profit, continuamos com essa negociação e ignoramos todos os sinais que aparecem na coluna I. Quando a negociação atinge o stop loss ou o take profit, voltamos a analisar os sinais na coluna Eu e abrir uma nova posição de negociação assim que tivermos um sinal Comprar ou Vender na coluna I.
A coluna M representa os sinais de negociação com base nos parâmetros de entrada especificados. A coluna I já tem sinais de negociação e M informa-nos sobre o estado da nossa posição de negociação, ou seja, somos comprados ou baixos ou contabilizamos os lucros ou saímos com o stop loss. Se a negociação não for concluída, transportamos a posição para a próxima vela repetindo o valor da coluna de status na vela anterior. Se o movimento do preço ocorrer de tal forma que ele viole o TP ou SL dado, então nós ajustamos a nossa posição, denotando-a por “TP” e “SL”, respectivamente.
Coluna L representa Mark to Market. Especifica a posição da carteira no final do período de tempo. Conforme especificado nos parâmetros de entrada, trocamos 1 lote de MSCI e 3 lotes de Nifty. Portanto, quando negociamos nossa posição, é a diferença de preço apropriada (dependendo se somos comprados ou vendidos) multiplicada pelo número de lotes.
A coluna N representa o status de lucro / perda do negócio. P / L é calculado apenas quando tivermos quadrados nossa posição. A coluna O calcula o lucro acumulado.
A tabela de saída tem algumas métricas de desempenho tabuladas. A perda de todos os negócios deficitários é de $ 3699 e o lucro de negócios que atingem o TP é $ 9280. Assim, o total de P / L é $ 9280- $ 3699 = $ 5581. Negociações com prejuízo são as negociações que resultaram na perda de dinheiro nas posições de negociação. Comércios rentáveis são os comércios de sucesso que terminam em ganhar causa. O lucro médio é a razão entre o lucro total e o número total de negócios. O lucro médio líquido é calculado após a subtração dos custos de transação, que equivalem a US $ 91,77.
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;
Backtesting Long Short Short Moving Média Estratégia Crossover no Excel.
Agora, para aqueles de vocês que me conhecem como um blogueiro podem achar este post um pouco heterodoxo ao meu estilo tradicional de escrita, porém no espírito da evolução, inspirado por um amigo meu Stuart Reid (TuringFinance), eu estarei seguindo alguns as dicas sugeridas na postagem do blog a seguir.
Sendo um estudante no programa EPAT, fiquei entusiasmado em aprender a metodologia que outros usam quando se trata de backtesting. Como de costume, começamos no Excel e depois migram para o R.
Tendo escrito anteriormente uma série de blogs sobre backtesting no Excel e depois mudando para o R, fiquei muito interessado em ver um método um pouco diferente usado pela equipe do QuantInsti.
Faça o download da planilha do Excel para que você possa seguir o exemplo à medida que avançamos.
“Ao calcular os preços de transação, abre-se algumas portas muito interessantes para implementar a análise do MAE”
A principal diferença no método é que ele abre as portas para métricas de desempenho como:
Total Retornos positivos Retornos negativos Negociações positivas Negociações Negativas Taxa de juros Retorno médio MAE (Excursão máxima adversa)
Mas, por não conseguir traçar uma curva de capital como o meu método original (que eu gosto de pensar em um backtest vetorizado), você pode, no entanto, incorporar facilmente a curva de capital, como eu fiz nesse post.
Construa o “Hello World” de estratégias de negociação: a “Estratégia de Crossover Média de Longa Curta Duração”.
Etapa 1: obter dados
Existem vários locais dos quais você pode obter dados, no entanto, para este exemplo, obteremos dados do Yahoo Finance. Eu estarei construindo este exemplo usando o Google como um compartilhamento. Aqui está um link para baixar os dados de preço no formato de arquivo Csv do Yahoo. Nota: Por favor, certifique-se de encomendar da mais antiga para a data mais recente.
Dados de preço do Yahoo no formato de arquivo CSV.
Etapa 2: crie uma coluna para a média móvel simples longa e curta (SMA)
Para este exemplo, quero que você faça uso do SMA de 5 e 25 dias. Para aqueles de vocês que são novos em estratégias de negociação, um SMA é simplesmente a soma total do preço de fechamento dividido pelo número de observações.
2.1) Criar o SMA de curto prazo (5 dias)
Usando a seguinte fórmula no Excel: = MÉDIA (G2: G6)
2.2) Criar o SMA de longo prazo (25 dias)
Usando a seguinte fórmula no Excel: = MÉDIA (E2: E26)
Etapa 3: gerar sinais de negociação.
É nessa etapa que os leitores perceberão uma grande diferença em relação aos meus posts anteriores sobre a criação de um backtester vetorizado. Vou incorporar minha metodologia original neste post também para traçar a curva de capital.
A próxima coisa que precisamos fazer é gerar sinais de compra e venda.
No dia anterior o (5) SMA estava abaixo do (25) SMA e no dia atual há uma mudança onde o (5) SMA está agora acima do (25) SMA,
Escreva a string “BUY” no campo atual.
No dia anterior o (5) SMA estava acima do (25) SMA e no dia atual há uma mudança onde o (5) SMA está agora abaixo do (25) SMA,
Escreva a string “SELL” no campo atual.
Adicione uma string vazia “” ao campo atual.
Isso é representado no Excel usando a seguinte fórmula:
Os SMAs são calculados sobre os preços de fechamento e não são ajustados porque queremos que o sinal de negociação seja gerado nos dados de preço e não seja influenciado pelos dividendos pagos.
Passo 4: obtenha o preço de compra / venda do negócio.
Na próxima coluna, adicione a seguinte fórmula do Excel: = SE (J26 & lt; & gt; & # 8221; & # 8221; G27, K26)
A lógica é a seguinte:
Se a coluna do sinal de negociação do dia anterior (Muito importante atrasar o indicador para remover viés de antecipação) não for uma sequência vazia, faça uso do preço anterior acima do campo atual, caso contrário, defina o campo atual como o preço de fechamento para o dia.
Alguns podem argumentar que você não pode realmente chegar ao fim do dia, mas você pode se você colocar o seu pedido no leilão de fechamento, e mesmo após o leilão, existem algumas ordens residuais que você pode preencher, um dos fundos anteriores I trabalhou por exatamente isso.
Etapa 5: calcular retornos.
Adicione uma coluna chamada retornos que faça uso da seguinte fórmula do Excel: = SE (J26 = & # 8221; VENDA & # 8221 ;, K27 / K26-1, SE (J26 = & # 8221; COMPRE & # 8221 ;, 1-K27 / K26, & # 8221; & # 8221;))
Se o dia anterior gerou um sinal SELL, use o preço de fechamento de hoje e divida-o pelo preço de compra e subtraia 1.
Senão Se o dia anterior gerou um sinal de COMPRA, adicione 1 e subtraia (o preço de fechamento de hoje e divida-o pelo preço de compra).
Esta fórmula calcula os retornos de um determinado negócio.
Etapa 6: calcule algumas métricas de desempenho.
Retornos positivos: = SUMIF (L: L, & # 8221; & gt; 0 & # 8243;) Retornos negativos: = SUMIF (L: L, & # 8221; & lt; 0 & # 8243;) Negociações positivas: = COUNTIF (L: L, & # 8220; & gt; 0 & # 8221;) Comércios Negativos: = COUNTIF (L: L, & # 8220; & lt; 0 & # 8221;) Taxa de Acertos = O4 / (O4 + O5) Média de Retornos = MÉDIA (L :EU)
Essas não são as métricas tradicionais de desempenho de portfólio, mas, ao calcular o preço de compra e venda, elas abrem algumas portas muito interessantes para implementar a análise máxima de excursão adversa que pode ser usada para otimizar as perdas de parada.
"Observação: não consegui calcular essas métricas no meu método anterior porque não registrei os preços de compra e venda das transações."
Adicionando uma curva de capital.
Etapa 1: adicione duas novas colunas para os retornos diários e os retornos diários do log natural do compartilhamento.
Para isso utilizarei o preço de fechamento ajustado, pois quero que os dividendos pagos sejam refletidos em nossas estratégias de curva de patrimônio e perfil de retorno total.
A fórmula para retornos diários é: (preço de hoje / preço de ontem) & # 8211; 1
Fórmula do Excel: = G3 / G2-1.
A fórmula é usada para o log diário. Os retornos diários são: LN (preço de hoje / preço de ontem)
Fórmula do Excel: = LN (G3 / G2)
Etapa 2: Calcule os sinais de espera Long ou Short.
Nesta coluna, queremos saber se estamos atualmente ocupando uma posição longa ou curta. Isso é representado por 1 para long e -1 para short.
Isso se baseia na estratégia de crossover de média móvel indo muito tempo se o SMA de curto prazo estiver acima do SMA de longo prazo e se o oposto for verdadeiro.
"Observação: você precisa atrasar os sinais em um dia para remover o viés de antecipação".
Neste exemplo, a fórmula do Excel é como: = IF (H26 & gt; I26, 1, -1)
Etapa 3: Calcular a estratégia em retornos diários.
Esta é a parte fácil, basta multiplicar o retorno diário log natural pela posição atual.
Fórmula do Excel: = R27 * S27.
Etapa 4: calcule os retornos cumulativos para a estratégia e o compartilhamento como se você tivesse comprado e mantido. (Faça isso para agir como uma comparação)
A fórmula para acumular devoluções é simples, pois o LN retorna você simplesmente as adiciona usando = T27 + U26.
Em seguida, você precisa inverter o log natural usando a seguinte fórmula: = EXP (U27) -1.
E então você precisa calcular os retornos cumulativos das ações:
Fórmula do Excel = (1 + Q27) * (1 + Q26) -1.
Etapa 5: plotar os retornos.
Como pode ser visto no gráfico acima, essa estratégia não é lucrativa nesse período de tempo específico, mas compartilhe isso.
O foco do tutorial está na criação de um backtester usando o Excel Click To Tweet. Eu incentivaria os leitores a explorar outras estratégias de negociação, tentando incorporar o indicador RSI para agir como um guia sobre como dimensionar uma posição.
Próximos passos.
Aqui estão mais algumas estratégias de negociação com folhas de dados de exemplo & # 8211; Negociação com ETF, Estratégia de Negociação de Candlestick, Estratégia de Negociação Par e Modelo de Preços de Opção Black-Scholes. Se você é um programador ou um profissional de tecnologia que deseja iniciar sua própria agência de negociação automatizada, aprenda negociações automatizadas a partir de palestras interativas ao vivo feitas por profissionais diários. O Programa Executivo em Negociação Algorítmica abrange módulos de treinamento, como Estatísticas & amp; Econometria, Computação Financeira & amp; Tecnologia e Algoritmica & amp; Negociação Quantitativa. Inscreva-se agora!
Percebemos que alguns usuários estão enfrentando desafios ao baixar os dados de mercado das plataformas Yahoo e Google Finance. Caso você esteja procurando uma fonte alternativa para dados de mercado, você pode usar o Quandl para o mesmo.
Posts relacionados:
10 pensamentos sobre “Backtesting Long Short Short Medium Média Crossover Strategy in Excel”
20 de outubro de 2015.
Obrigado por compartilhar isso. Parece-me que há um erro no cálculo dos retornos diários da estratégia (col S) em dias que possuem um sinal de negociação. Você está usando o preço próximo de fechar para o retorno diário, mas nos dias em que ocorre uma negociação, o preço de abertura precisa ser usado.
Por exemplo, no primeiro dia há uma posição (linha 27) o retorno deve nos o preço de abertura daquele dia (533.762426) como a entrada, não o dia anterior (531.352374). O retorno diário deve ser = -1 * (G27 / B27-1), que é de 1,09%.
22 de outubro de 2015.
Muito bem manchado. Obrigado por apontar isso. Isso é um erro que cometi.
Existem duas maneiras de corrigir isso
1.) Etapa 4 deve fazer uso do preço de fechamento e não o aberto. (Isso é muitas vezes como eu corro testes rápidos.) Nota: você não pode realmente comprar no final e o & # 8220; Blog Flirting with Models & # 8221; tem uma ótima maneira de resolver esse problema com dados de fim de dia) blog. thinknewfound / 2015/10 / building-better-backtests /
2.) Como alternativa, você pode adicionar a seguinte fórmula à linha 27 da coluna S e a todos os campos abaixo dessa coluna.
= IF (R27R26, ((E27 / B27) -1) * R27, Q27 * R27)
A lógica é a seguinte:
Se houver uma mudança no sinal de troca, então:
Calcule o retorno diário se compramos no aberto. formula = (preço final / preço em aberto) & # 8211; 1
& amp; multiplique também pelo seu sinal de troca.
Basta usar os retornos diários como antes que são calculados de perto para fechar multiplicado pelo sinal de negociação.
Obrigado novamente pelo feedback.
Como você encontrou o artigo? Existem outros tópicos que você gostaria que escrevêssemos?
Olá Jacques Joubert.
Trabalho interessante. No entanto, encontrei um erro. Ao calcular o retorno cum na posição curta, o capital final deve depender do preço de entrada e saída da posição, mas não do que acontece no meio. Por exemplo, se você alterar G33 para 800, ele altera todos os dados abaixo (deve-se esperar que um aumento adverso de preço na posição curta e, portanto, o retorno negativo seja compensado pelo retorno positivo do retorno à faixa de 500-520, mas isso não acontece).
Investidor de Bull e urso.
Oi Bull e Bear Investor.
Obrigado por isso. É porque eu não usei o Ln Returns. Eu atualizarei o artigo no fim de semana. A curva de patrimônio líquido não muda muito com os retornos padrão (está fora em 2%), já que você não precisa mexer com os preços ajustados adicionando outliers.
Mas bem manchado.
Ok O artigo foi atualizado com todas as correções. Obrigado a todos pelo feedback.
15 de janeiro de 2017.
como calcular o retorno médio para o indecador RSI ou MFI.
Obrigado por compartilhar isso, me ajudou a projetar meu SMA um pouco.
20 de outubro de 2017.
É bom ver o seu post e compartilhar a lógica de negociação usando o Excel. Eu tentei isso por quase dois anos em casa depois do trabalho. Eu gostaria de compartilhar alguns pontos de vista para que você consiga melhorar essa estratégia, portanto, pode inspirar as pessoas enquanto procura este post.
Obrigado por algumas das suas ideias que me inspiram a considerar enquanto preparo um sistema de testes posteriores. No entanto, com a investigação a longo prazo e baixa eficiência, eu começo a tentar obter software profissional para executar o backtest, mas ainda enfrenta um monte de problemas. É realmente ir começar a plataforma para usar o excel que pode fortalecer sua idéia antes de abordar o nível de especialista.
O Preço de Transação será o preço de abertura do próximo dia de negociação. Na realidade, não podemos negociar preço justo quando o mercado está fechado. Por exemplo, na célula K27, a fórmula deve ser = IF (J26 & # 8243; & # 8221 ;, B27, K26) em vez de = IF (J26 & # 8243; & # 8221; G27, K26).
Além disso, para melhorar o parâmetro SMA, vou usar a função offset que permite fazer cálculos rápidos apenas alterando os parâmetros. Eu adicionarei 5 e 25 às células H2 e I2, respectivamente. Então a fórmula para a célula H6 será = IF (ROW () - 1 & lt; $ H $ 2, "& quot; MÉDIA (OFFSET ($ E6,0,0, - $ H $ 2,1))) enquanto I6 será = IF (LINHA () - 1 & lt; $ I $ 2, & quot; MÉDIA (DESLOCAMENTO ($ E6,0,0, - $ I $ 2,1))).
Espero que a mensagem acima ajude.
24 de outubro de 2017.
Obrigado por sua recomendação. É certamente algo que os leitores podem implementar se não quiserem executar a análise sobre os preços no final do dia. Eu também gosto de como você usou a função de deslocamento. Eu recomendo que você mude do Excel para um ambiente Python e use a biblioteca Numpy.
Quanto ao fim do dia feche os preços. Tem sido minha experiência profissional que, como um investidor institucional, seu corretor é capaz de obter um preço muito próximo do preço de fechamento, você pode adicionar uma pequena despesa de derrapagem aos custos de transação para contabilizar isso no backtest. A maioria dos mercados também tem uma negociação no mercado que os corretores podem facilitar (mas com baixa liquidez).
US Search Desktop.
Agradecemos seus comentários sobre como melhorar a Pesquisa do Yahoo. Este fórum é para você fazer sugestões de produtos e fornecer feedback atencioso. Estamos sempre tentando melhorar nossos produtos e podemos usar o feedback mais popular para fazer uma mudança positiva!
Se você precisar de assistência de qualquer tipo, visite nosso fórum de suporte à comunidade ou encontre ajuda individualizada em nosso site de ajuda. Este fórum não é monitorado por nenhum problema relacionado a suporte.
O fórum de comentários do produto do Yahoo agora exige um ID e uma senha válidos do Yahoo para participar.
Agora você precisa fazer login usando sua conta de e-mail do Yahoo para nos fornecer feedback e enviar votos e comentários para as ideias existentes. Se você não tiver um ID do Yahoo ou a senha do seu ID do Yahoo, inscreva-se para obter uma nova conta.
Se você tiver um ID e uma senha válidos do Yahoo, siga estas etapas se quiser remover suas postagens, comentários, votos e / ou perfil do fórum de comentários do produto do Yahoo.
Vote em uma ideia existente () ou publique uma nova ideia…
Idéias quentes Idéias superiores Novas ideias Categoria Status Meu feedback.
Xnxx vedios.
Trazer de volta o layout antigo com pesquisa de imagens.
sim: a única possibilidade (eu acho) enviar todas as informações para (alienvault.
Desinformação na ordem DVD.
Eu pedi DVD / Blueray "AL. A confidencial" tudo que eu consegui foi Blue ray & amp; um contato # para obter o DVD que não funcionou. Eu encomendo minha semana com Marilyn ____DVD / blue ray & amp; Eu peguei os dois - tolamente, assumi que o mesmo se aplicaria a L. A.___ETC não. Eu não tenho uma máquina de raio azul ----- Eu não quero uma máquina de raio azul Eu não quero filmes blueray. Como obtenho minha cópia de DVD de L. A. Confidential?
yahoo, pare de bloquear email.
Passados vários meses agora, o Yahoo tem bloqueado um servidor que pára nosso e-mail.
O Yahoo foi contatado pelo dono do servidor e o Yahoo alegou que ele não bloquearia o servidor, mas ainda está sendo bloqueado. CEASE & amp; DESISTIR.
Não consigo usar os idiomas ingleses no e-mail do Yahoo.
Por favor, me dê a sugestão sobre isso.
Motor de busca no Yahoo Finance.
Um conteúdo que está no Yahoo Finance não aparece nos resultados de pesquisa do Yahoo ao pesquisar por título / título da matéria.
Existe uma razão para isso, ou uma maneira de reindexar?
Procure por "turkey ******" imagens sem ser avisado de conteúdo adulto ou que o mostre.
O Yahoo está tão empenhado em atender os gostos lascivos das pessoas que nem posso procurar imagens de uma marca de "peitos de peru" sem ser avisado sobre conteúdo adulto? Apenas usar a palavra "******" em QUALQUER contexto significa que provavelmente vou pegar seios humanos em toda a página e ter que ser avisado - e passar por etapas para evitá-lo?
Aqui está minha sugestão Yahoo:
Invente um programa de computador que reconheça palavras como 'câncer' ou 'peru' ou 'galinha' em uma frase que inclua a palavra '******' e não assuma automaticamente que a digitação "***** * "significa que estou procurando por ***********.
Descobrir uma maneira de fazer com que as pessoas que ESTÃO procurando *********** busquem ativamente por si mesmas, sem assumir que o resto de nós deve querer ************************************************ uma palavra comum - ****** - que qualquer um pode ver qualquer dia em qualquer seção de carne em qualquer supermercado em todo o país. :(
O Yahoo está tão empenhado em atender os gostos lascivos das pessoas que nem posso procurar imagens de uma marca de "peitos de peru" sem ser avisado sobre conteúdo adulto? Apenas usar a palavra "******" em QUALQUER contexto significa que provavelmente vou pegar seios humanos em toda a página e ter que ser avisado - e passar por etapas para evitá-lo?
Aqui está minha sugestão Yahoo:
Invente um programa de computador que reconheça palavras como 'câncer' ou 'peru' ou 'galinha' em uma frase que inclua a palavra '******' e não assuma automaticamente que a digitação "***** * "significa que estou procurando por mais ...
Por que, quando eu faço login no YahooGroups, todos os grupos aparecem em francês ?!
Quando entro no YahooGroups e ligo para um grupo, de repente tudo começa a aparecer em francês? O que diabos está acontecendo lá ?! Por alguma razão, o sistema está automaticamente me transferindo para o fr. groups. yahoo. Alguma ideia?
consertar o que está quebrado.
Eu não deveria ter que concordar com coisas que eu não concordo com a fim de dizer o que eu acho - eu não tive nenhum problema resolvido desde que comecei a usar o Yahoo - fui forçado a jogar meu antigo mensageiro, trocar senhas, obter novas messenger, disse para usar o meu número de telefone para alertar as pessoas que era o meu código de segurança, receber mensagens diárias sobre o bloqueio de yahoo tentativas de uso (por mim) para quem sabe por que como ele não faz e agora eu obter a nova política aparecer em cada turno - as empresas costumam pagar muito caro pela demografia que os usuários fornecem para você, sem custo, pois não sabem o que você está fazendo - está lá, mas não está bem escrito - e ninguém pode responder a menos que concordem com a política. Já é ruim o suficiente você empilhar o baralho, mas depois não fornece nenhuma opção de lidar com ele - o velho era bom o suficiente - todas essas mudanças para o pod de maré comendo mofos não corta - vou relutantemente estar ativamente olhando - estou cansado do mudanças em cada turno e mesmo aqueles que não funcionam direito, eu posso apreciar o seu negócio, mas o Ameri O homem de negócios pode vender-nos ao licitante mais alto por muito tempo - desejo-lhe boa sorte com sua nova safra de guppies - tente fazer algo realmente construtivo para aqueles a quem você serve - a cauda está abanando o cachorro novamente - isso é como um replay de Washington d c
Eu não deveria ter que concordar com coisas que eu não concordo com a fim de dizer o que eu acho - eu não tive nenhum problema resolvido desde que comecei a usar o Yahoo - fui forçado a jogar meu antigo mensageiro, trocar senhas, obter novas messenger, disse para usar o meu número de telefone para alertar as pessoas que era o meu código de segurança, receber mensagens diárias sobre o bloqueio de yahoo tentativas de uso (por mim) para quem sabe por que isso acontece e agora eu recebo a nova política em cada turno - as empresas costumam pagar muito pela demografia que os usuários fornecem para você ... mais.
Комментариев нет:
Отправить комментарий