Tuesday 22 August 2017

Sistema De Negociação De Rotação


Quando colocado no topo da fórmula do sistema, ele gira no modo rotativo de negociação (também conhecido como fundo-comutação) do backtester. Nota: esta função agora está marcada como obsoleta. Use SetBacktestMode (backtestRotational) em novas fórmulas. NOTA IMPORTANTE: A menos que você deseja implementar sistema de negociação de comutação de fundos, você NÃO deve usar este modo. O comércio de rotação é um método popular para a negociação de fundos mútuos. Também é conhecido como troca de fundos ou scoringranking. Seu permiso básico é rotear símbolos o tempo todo para que apenas as principais questões N classificadas de acordo com algumas pontuações definíveis pelo usuário sejam negociadas. O número de posições abertas depende do Max. Configuração de posições abertas e tamanho de posição de fundos disponíveis. Uma vez que a posição é inserida permanece no local até a classificação de segurança cair abaixo de WorstRankHeld (configurável através do SetOption (WorstRankHeld, 5)). Normalmente, não são utilizados sinais regulares de compra pública. O modo rotacional usa apenas uma variável de pontuação (PositionScore) para classificar e girar títulos. Essa idéia foi implementada anteriormente na fórmula AFL da PortfolioTrader escrita por Fred Tonetti com a GUI escrita por Dale Wingo. Para entrar neste modo, você deve chamar a função EnableRotationalTrading () no início da sua fórmula. A partir daí, o uso de variáveis ​​buysellshortcover não é permitido. Somente a variável PositionScore será usada para classificar títulos e negociar os principais títulos de N. Uma fórmula de troca rotacional simples (as ações com RSI alto são melhores candidatos para curto, enquanto as ações com baixo RSI são melhores candidatos para posições longas): EnableRotationalTrading () SetOption (WorstRankHeld. 5) PositionSize - 25 investem 25 de capital em uma única posição PositionScore 50 - RSI () PositionScore tem o mesmo significado que rScore em PT O resultado (PositionScore) para todos os títulos é calculado primeiro. Então todas as pontuações são classificadas de acordo com o valor absoluto de PositionScore. Então, o N superior é escolhido para ser negociado. N depende dos fundos disponíveis e do máximo. Configuração de posições abertas. O Backtester entra sucessivamente nas negociações a partir da segurança mais alta até o número de posições abertas atingir o máximo. Posições abertas ou não há mais fundos disponíveis. A pontuação tem o seguinte significado: maior pontuação positiva significa melhor candidato para entrar no comércio longo menor pontuação negativa significa melhor candidato para entrar no comércio curto o escore de zero significa que não há comércio (saia do comércio se já houver posição aberta em determinado símbolo) o escore Igual a consistência do scoreNoRotate significa que as negociações já abertas devem ser mantidas e nenhuma negociação nova entrou na pontuação igual a scoreExitAll constante faz com que o backtester do modo rotacional saia de todas as posições independentemente do HoldMinBars. Note-se que esta é uma bandeira global e basta configurá-lo para apenas qualquer símbolo para sair de todas as posições atualmente abertas, independentemente do símbolo que você use scoreExitAll (pode ser mesmo em um símbolo que não está atualmente ocupado). Ao definir PositionScore para scoreExitAll, você sai de todas as posições imediatamente, independentemente da configuração do HoldMinBars. As saídas são geradas automaticamente quando as classificações de segurança caem abaixo da pior classificação realizada. Não há controle real sobre quando as saídas acontecem, exceto de estabelecer baixa pontuação para forçar as saídas. Você também pode definir a pontuação em qualquer (pelo menos uma) segurança para o valor de scoreNoRotate para evitar a rotação (então as posições abertas já são mantidas). Mas isso é global e não lhe dá controle individual. Importante: o modo de negociação rotacional usa o preço de compra e o atraso de compra da página de Configurações Trade como preço de comércio e atraso para entradas e saídas (longas e curtas) EnableRotationalTrading () SetOption (WorstRankHeld. 5) PositionSize - 25 investem 25 de capital em solteiro Segurança PositionScore 50 - RSI () PositionScore tem o mesmo significado que rScore em estratégias PTHistorical Data and Momentum Rotation Nós vamos ter um pequeno desvio com esta publicação e analisar as estratégias de rotação de fundos do stockETF. Eu troco ativamente as estratégias de rotação em várias contas, e tenho desenvolvido minhas estratégias de rotação por cerca de dez anos. Se você gostasse de algumas informações sobre como construir uma estratégia de rotação, consulte os artigos abaixo: ETF Rotational System V1.0, Parte 1 ETF Rotational System V1.0, Parte 2 ETF Rotational System V1.0, Parte 3 ETF Rotational System V1.0, Part 4 8211 Atualizado Roundup: FundzTrader Estratégia de rotação do setor Estes artigos são dos blogs de MarketSci e Woodshedder que escreveram várias postagens (mais do que Ive listados acima) sobre o tema das estratégias de rotação. Ambos parecem ser semi-aposentados agora e não blog muito. Na minha publicação, não analisaremos as estratégias em si, mas sim os dados que eles usam. Alguns anos atrás, comecei a perceber que os sinais que eu recebia (e negociando) de minhas estratégias de rotação eram ocasionalmente inconsistentes com os backtests de Essas mesmas estratégias. Eu não passei muito tempo explorando a questão na época, mas permaneceu na minha mente até o final de dezembro de 2013. Para os negócios que foram gerados dos meus sistemas em dezembro de 2013 (meus sistemas de rotação reavaliam mensalmente), eu não Apenas gravou os veículos que foram selecionados, mas também a rotação associada deles. Tenho acompanhado esta informação em planilhas desde então. Um período que atualmente inclui nove ciclos de rotação (9 meses). Em meados do mês passado, agosto de 2014, eu decidi acompanhar minhas estratégias de rotação ao vivo no mesmo período em que negociei ativamente com essas mesmas estratégias de rotação. Não fiquei surpreso ao descobrir que uma série de negócios nos backtests não coincidiu com os negócios que eu realmente havia executado e gravado em minhas planilhas. Eu uso AmiBroker e Yahoo dados de fim de dados (Yahoo Data Info 1. Yahoo Data Info 2) para minhas estratégias de rotação. Eu sabia que o Amibroker estava configurado por padrão para usar o fechamento ajustado em vez do fechamento real em seu banco de dados, mas não pensei demais sobre esse detalhe. Eu estava conscientemente usando esse ajuste ajustado ao invés do fechamento real por quase dez anos, mas não considerava realmente o impacto do uso de dados ajustados próximos com estratégias de roteamento. A linha no arquivo aqh. format AmiBroker que você deve estar ciente é destacado abaixo: Se você quiser usar o fechamento real em vez do fechamento ajustado no Ambroker, substitua a linha destacada acima, com a linha abaixo e volte a baixar Todos os seus dados históricos do Yahoo. Como lembrete, a série ajustada de tempo fechado é uma versão modificada da série real de tempo fechado que inclui ganhos de dividendos e ganhos de capital. Isso significa que um preço de compra mostrado em um backtest não será o preço de compra real que você poderia ter recebido na negociação nesse dia (para qualquer ação ou ETF que em algum momento posterior emitiu um dividendo ou ganho de capital). É muito importante pensar sobre este ponto e o impacto que ele pode ter em seus resultados de backtest versus live. Esta questão tem um grande impacto nos sinais de entrada e saída de comércio com sistemas rotativos. Um sistema em que um grupo de ações SEFs fundos mútuos estão sendo comparados entre si com base em dados de preço de mercado aberto (OHLC). Por exemplo, veja os dados históricos do iShares Core US Aggregate Bond (AGG). Um trecho desses dados históricos é mostrado na imagem abaixo. Se o seu sistema de rotação passou a usar os preços ajustados ajustados e tiveram a AGG na sua cesta de veículos de rotação, a pontuação AGGs para 29 de agosto teria sido diferente em 29 de agosto quando você trocou, do que quando você executa seu backtest para essa data em setembro 2 (após a emissão de dividendos). Você notará que o fechamento de 29 de agosto é 109,98, mas o fechamento ajustado é de 109,79. E esta questão se junta com cada dividendo e ganho de capital que é emitido. Todo ajuste ajustado próximo é modificado quando um novo dividendo é emitido. Dê uma olhada na diferença entre o fechamento ajustado e o fechamento real apenas dois anos atrás: o fechamento em 29 de agosto de 2012 é 111,95, enquanto o fechamento ajustado nessa data é de 106,33. À medida que novos dividendos são emitidos no futuro, o preço de fechamento ajustado 106,33 ficará cada vez mais pequeno, o que terá um impacto no ranking de rotação da AGG em todas as versões anteriores. Esta mesma questão ocorre com qualquer veículo que emita dividendos e ganhos de capital. Se usarmos os preços de fechamento reais para os nossos backtests, geraremos sinais com base em preços que realmente ocorreram no passado. O trade off é que não veremos o impacto positivo de dividendos e ganhos de capital nos retornos de nossos backtests. Como ilustração, posso mostrar os resultados de várias variações da estratégia de rotação executadas contra a seguinte cesta de ETF: AGG - iShares Barclays Aggregate Bond Fund DBC - PowerShares DB Com Indx Trckng Fund EEM - iShares MSCI Emerging Markets Indx EFA - iShares MSCI EAEO Índice Fundo GLD - SPDR Gold Trust IYR - iShares Dow Jones Imóveis dos EUA JNK - SPDR Barclays Capital High Yield Bond PPH - Vetores de mercado Pharmaceutical SPY - SPDR SampP 500 Trust TIP - iShares Barclays TIPS Bond Fund Na imagem abaixo, você pode ver o patrimônio Curvas para várias estratégias de rotação diferentes executadas contra os 10 ETFs na lista acima, mas usando as séries de tempo de fechamento ajustadas. (Clique na imagem para ver uma versão maior). No painel superior, as linhas verde, roxas e vermelhas são as curvas de equidade para três estratégias de rotação diferentes executadas contra os 10 veículos na lista acima. As outras três curvas são as curvas de compra e retenção para SPY, IWM e QQQ. O painel inferior exibe SPY (laranja) e as mesmas curvas de equidade verde, roxo e vermelho do painel superior. Além disso, o painel inferior contém sete curvas de equidade para outras variações da estratégia de rotação na mesma lista de 10 ETFs. O eixo dos e é o retorno percentual, enquanto o texto para cada estratégia lista o retorno acumulado do dólar para essa estratégia (o capital inicial para cada estratégia foi de 100.000). Agora, olhemos os resultados para exatamente as mesmas estratégias executadas contra os mesmos 10 veículos, mas usando os dados reais da série de tempo de preço de fechamento. Esperamos que os retornos sejam mais baixos, uma vez que dividendos e ganhos de capital não se refletem nas séries temporais. A diferença nas curvas de equidade é grande, como esperado. Mas como os sinais de entrada e saída se comparam entre os dados de fechamento ajustados e os dados de fechamento reais. Na tabela abaixo, é a comparação das datas de entrada e saída e dos veículos para a estratégia com a curva de equidade verde nos dois gráficos acima. Lembre-se de que as curvas de equidade nos dois gráficos acima foram geradas pela mesma estratégia de rotação executada contra os mesmos 10 ETFs na lista acima. A única diferença entre as curvas de equivalência é o dado. Dados fechados ajustados versus dados de fechamento reais. Estas não são seleções muito diferentes entre as séries de tempo de fechamento ajustadas e as séries reais de tempo de fechamento com esta estratégia de rotação e os 10 ETFs na lista acima. Observei diferenças significativamente maiores com diferentes cestas de ETFs e fundos mútuos. Então, qual é o ponto ideal, para as estratégias de rotação, devemos gerar nossos sinais de entrada e saída com base nas séries reais de tempo fechado, mas calculamos nossos retornos nessas negociações usando as séries ajustadas de tempo fechado. Se pudermos usar apenas uma série de tempo, então devemos considerar usar as séries de tempo de fechamento real em vez da série de tempo fechado ajustado. Se pudermos viver com curvas de equidade que mostrem retornos menores, o uso de dados reais da série de tempo fechado resultará em sinais de entrada de entrada gerados em nossos testes de retorno que combinam nossos sinais reais de entrada que recebemos na negociação real. E um último ponto. Certifique-se de verificar os dados que os serviços de estratégia pagos e de rotação livre usam. É provavelmente o ajuste de dados próximos. O que significa que os sinais que eles mostram em seus backtests podem não coincidir com os sinais que eles realmente lhe enviaram. Great point e excelente informação. Obrigado. AZTrader. Eu acho que você está faltando alguns pontos: - se você deseja obter resultados do seu backtest, incluindo dividendos e outras ações corporativas Você deve usar o ajuste ajustado - você deve se certificar de aplicar sinais a séries de preços de preços ajustadas ao usar a divisão de multiplicação (como o ajuste ajustado) ou a diferença de diferença (como a média móvel). Você pode encontrar mais sobre isso na Bíblia por Murphy quotTechnical Analysis of the Financial Marketsquot AZTrader e pcavatore - obrigado por seus comentários. Eu concordo com o pcavatore. Por que você não quer usar preços ajustados para todos os cálculos, pois isso mostrará o retorno real Os preços ajustados estão lá por esse motivo exato. Os preços fechados reais podem gerar sinais falsos, ou seja, queda de preços devido a dividendos. Espero que ambos entendam que, com um sistema baseado em rankro que opera em uma cesta estática de veículos (que pagam dividendos e ganhos de cap), seu sistema gerará diferentes resultados de teste de volta a cada mês que você testará seu sistema quando usar dados ajustados. Eu desafio você a ambos a executar um sistema rotativo no último dia de cada mês a partir deste mês e a escrever o marcador para cada um dos veículos em sua cesta, juntamente com o preço de fechamento. Use pedidos buy-on-close. No último dia de cada mês. Grave esta informação em uma planilha. Além disso, troque isso em uma conta real. Sem negociação de papel Depois de fazer isso por 12 meses, de negociação real, usando os preços de fechamento reais. Execute um backtest desta estratégia na série temporal de preços ajustada para esta mesma cesta de veículos. Você provavelmente verá que os veículos selecionados em seu backtest não combinam os veículos selecionados na negociação ao vivo. Este é o cerne da questão, e um ponto que é preocupante quando você tem dinheiro real em risco em oposição aos dólares teóricos. Por que devemos nos importar que um backtest não reproduza a negociação ao vivo. O que é preocupante é se a negociação ao vivo é rentável quando executada em um modelo de teste anterior, não que o backtest não reproduza negócios ao vivo após o fato. O fechamento ajustado e o fechamento real são o único e o mesmo na data de negociação em tempo real. Então, a menos que você possa demonstrar que testar um modelo em preços ajustados fechados tem um efeito negativo ao colocar ordens ao vivo no preço em tempo real ou faz um modelo de backtest mais propenso a falhas em tempo real, não consigo ver o alarme para qualquer outra coisa Do que os esquemas de classificação relativa. Você acabou de reformular o meu ponto com sua última frase. Não vejo o que o alarme é para nada além de esquemas relativos de classificação. Este é exatamente o ponto. Este é apenas um problema para os esquemas de classificação relativa. Muitas pessoas e empresas estão vendendo estratégias de rotação relativa, e estão promovendo sua performance de teste posterior com dados ajustados. O problema é a classificação relativa no dia em que você obtém o sinal de um desses sistemas (com os dados ao vivo desse dia), pode ser diferente do que quando você executa um backtest nesse dia em algum momento do futuro usando dados ajustados . Se houver uma diferença, será devido a dividendos e ganhos de capital sendo problemas para um ou mais dos veículos em sua lista de classificação relativa. A maioria dos artigos que são publicados sobre esse assunto são de pessoas que na verdade não comercializam. Assim que o dinheiro real estiver na linha, e as provas de volta não coincidem com os testes para frente. Você irá questionar o desempenho teórico desse sistema. Uma das fontes desta incompatibilidade são os dados utilizados na negociação ao vivo versus os backtests. Isso faz sentido. Então, para o problema que você descreveu, ainda mais no AmiBroker é que os downloads são desactualizados do Yahoo, mas as importações são ajustadas e só fornece o preço de fechamento não ajustado para usar no PositionScore se você ativar essa opção. Eu vejo um problema em comparar o fechamento não ajustado com O, H, L. Este problema deve ter sido o que Ruggerio estava aludindo há alguns anos no que diz respeito ao software Backtest do Trader's Studio usando três fluxos de dados separados (todos fornecidos pelo CSI Da qual fontes do Yahoo). Então, em geral, muito interessante e faço os ajustes adequados aos meus backtestes. Não conseguiu ser uma solução simples. Por padrão, o Amibroker irá carregar os dados ajustados. Você pode modificar esse comportamento e tê-lo carregar a série de preços realtrue, alterando a linha FORMAT no arquivo Formatsaqh. format conforme mencionado acima. Quando Amibroker usa dados ajustados, ele modifica todos os campos (O, H, L, C) para refletir o ajuste. Aqui está um exemplo: AGG From Yahoo: Data de Abertura Alta Baixa Fechar Volume Adj Fechar 18 de novembro de 2011 109.73 109.73 109.44 109.62 805.700 101.60 AGG De Amibroker - Definir para usar preços ajustados Dados: Data Aberta Alta Baixa Cercada Volume 18 de novembro de 2011 101.702 101.702 101.4332 101.6 805.700 Se o meu sistema de classificação estiver usando esses dados ajustados, não estou usando os preços reais que eu poderia ter recebido na negociação real. Mais importante ainda, com cada novo pagamento de ganhos de dividendcap, os cronogramas de preços ajustados mudarão. Isso afetará as classificações de classificação e pode facilmente mudar uma ETFMFEquity de menor classificação para uma posição mais alta em backtesting. Obrigado pelo seu comentário, Dave Por favor, corrija-me se eu estiver errado. Os problemas que você destacou aqui são importantes se você confiar no número absoluto dos dados ajustados para seus cálculos. No entanto, se eu usasse uma medida de impulso para classificar (por exemplo, retornos de 6 meses), os dados ajustados estão bem. Isso ocorre porque estamos comparando uma relação (isto é, dados ajustados agora, versus dados ajustados há 6 meses) e, portanto, mesmo se os dados ajustados fossem alterados com a passagem do tempo, essa proporção ainda seria a mesma. Amleth, seu argumento faz sentido e é o que eu acreditava ser verdade antes da negociação desses sistemas ao vivo. O que eu experimentei pessoalmente na minha negociação ao vivo é diferente. O que eu vi várias vezes é esta: recebo um sinal de um mês para entrar em um determinado fundo, diga FLVCX. No próximo mês em que o próximo sinal de rotação é gerado, o sistema indica que eu deveria estar segurando um fundo diferente no mês anterior, FSCHX. Além disso, os valores absolutos não são usados ​​para os meus sinais de momentum. Eu uso a fórmula ROC de AmiBroker39: amibrokerguideaflroc. html Publique um comentário ESTE SITE É PARA APLICAÇÃO EDUCATIVA E DE ENTRETENIMENTO SOMENTE. A INFORMAÇÃO E ANÁLISE SOBRE ESTE SITE É FORNECIDA ÚNICAMENTE PARA FINS INFORMATIVOS. NADA AQUI DEVE SER INTERPRETE COMO CONSELHO DE INVESTIMENTO PERSONALIZADO. SOB NENHUMA CIRCUNSTÂNCIA, ESTA INFORMAÇÃO REPRESENTA UMA RECOMENDAÇÃO PARA COMPRAR, VENDER OU PREENCHER UMA SEGURANÇA. O DESEMPENHO PASSADO NÃO É NECESSÁRIO INDICATIVO DE RESULTADOS FUTUROS E TODOS OS INVESTIMENTOS IMPLÍCITAM RISCOS. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA ACEQUERÁ RESULTADOS SIMILARMENTE ÀOS MOSTRADOS. NENHUMA DAS INFORMAÇÕES NESTE SITE ESTÁ GARANTIDA PARA SER CORRECTA, E QUALQUER COISA ESCRITA AQUI DEVE SER SUJEITA À VERIFICAÇÃO INDEPENDENTE. VOCÊ, E SEU SOLO, SÃO ÚNICAMENTE RESPONSÁVEIS POR QUALQUER DECISÃO DE INVESTIMENTO QUE VOCÊ FAZ.

No comments:

Post a Comment