Tuesday 6 June 2017

Rotação Sistema De Comércio Amibroker


Quando colocado no topo da fórmula do sistema, ele ativa o modo de troca rotacional (também conhecido como mudança de fundo) do backtester. Nota: esta função está agora marcada como obsoleta. Use SetBacktestMode (backtestRotational) em novas fórmulas. NOTA IMPORTANTE: A menos que você deseje implementar especificamente o sistema de troca de fundos comutadores, você NÃO deve usar este modo. Rotação comercial é método popular para a negociação de fundos mútuos. Também é conhecido como fundo de comutação ou scoringranking. Sua permise básica é girar símbolos o tempo todo, então apenas os top N classificados de acordo com alguma pontuação definível pelo usuário são negociados. O número de posições abertas depende de Max. Posição das posições abertas e tamanho da posição dos fundos disponíveis. Uma vez que a posição é inserida permanece no lugar até que a classificação de segurança caia abaixo de WorstRankHeld (settable via SetOption (WorstRankHeld, 5)). Normal buysellshortcover sinais não são utilizados em tudo. O modo de rotação utiliza somente a variável de pontuação (PositionScore) para classificar e girar títulos. Esta idéia foi implementada anteriormente na fórmula PortfolioTrader AFL escrito por Fred Tonetti com GUI escrito por Dale Wingo. Para entrar neste modo você tem que chamar a função EnableRotationalTrading () no início da sua fórmula. A partir de então, o uso de variáveis ​​de buysellshortcover não é permitido. Apenas a variável PositionScore será usada para classificar títulos e negociar os principais títulos N. Uma fórmula de negociação rotativa simples (ações com alto RSI são melhores candidatos para curto prazo, enquanto as ações com baixo RSI são os melhores candidatos para posições longas): PositionSize - 25 investir 25 de capital na segurança única PositionScore 50 - RSI () PositionScore tem o mesmo significado que rScore em PT A pontuação (PositionScore) para todos os valores é calculada primeiro. Em seguida, todas as pontuações são classificadas de acordo com o valor absoluto de PositionScore. Então top N são escolhidos para serem negociados. N depende de fundos disponíveis e máx. Posição das posições abertas. Backtester entra sucessivamente nos comércios a partir da segurança mais elevada até que o número de posições abertas alcance max. 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 de curto a pontuação de zero significa nenhum comércio (sair do comércio, se já existe a posição aberta no símbolo dado) a pontuação Igual a scoreNoRotate constante significa que os comércios já abertos devem ser mantidos e nenhuma nova negociação entrou na pontuação igual a scoreExitTodas as constantes fazem com que o backtestter de modo rotativo saia de todas as posições independentemente de HoldMinBars. Observe que este é sinalizador global e é suficiente para defini-lo para qualquer símbolo único para sair de todas as posições abertas atualmente, não importa em qual símbolo você usa scoreExitAll (pode ser mesmo no símbolo que não é mantido no momento). Ao definir PositionScore para scoreExitAll você sair de todas as posições immediatelly independentemente de HoldMinBars configuração Saídas são geradas automaticamente quando segurança classifica gotas abaixo pior classificação realizada. Não há controle real sobre quando as saídas acontecem, exceto de definir baixa pontuação para forçar saídas. Você também pode definir a pontuação em qualquer (pelo menos um) de segurança para o valor de scoreNoRotate para evitar a rotação (assim que as posições já abertas 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 na página "Configurações" como preço de negociação e atraso para entradas e saídas (longas e curtas) EnableRotationalTrading () SetOption (WorstRankHeld. Security PositionScore 50 - RSI () PositionScore tem o mesmo significado que rScore em PTWiseTrader Toolbox System Rotation para Amibroker (AFL) Qualquer indicador ou sistema mais cedo ou mais tarde irá passar por um período difícil ou parar de trabalhar completamente. O objetivo do indicador de rotação do sistema é testar cada sistema em um número fixo de períodos para o estoque atual e determinar qual sistema deve ser negociado no futuro. Isso é reavaliado após cada negociação. Isso pode permitir um sistema mais robusto como você pode girar entre dizer um sistema de cruzamento de média móvel e um sistema baseado em RSI. Isto é conseguido com a função RotateSignalsX que pode girar entre 2 sistemas e 8 dependendo de que a função é escolhida. Dados históricos e estratégias momentâneas da rotação Nós estamos indo fazer exame de um desvio ligeiro com este borne, e olhar as estratégias da rotação do fundo de stockETFmutual. Eu comercializar estratégias de rotação ativamente em várias contas, e têm vindo a evoluir as minhas estratégias de rotação por cerca de dez anos. Se você gostaria de algumas informações sobre como construir uma estratégia de rotação, por favor dê uma olhada nos artigos abaixo: ETF Rotational System V1.0, Parte 1 ETF Rotational System V1.0, Parte 2 ETF Rotational System V1.0, Parte 3 ETF Estes artigos são dos blogs de MarketSci e Woodshedder que escreveram um número de posts (mais do que Ive listados acima) sobre o tema de estratégias de rotação. Ambos parecem ser semi-aposentado agora e não blog muito. No meu post não vamos olhar para as estratégias propriamente ditas, mas sim os dados que eles usam. Alguns anos atrás eu comecei a perceber que os sinais que eu estava recebendo (e negociação) de minhas estratégias de rotação foram ocasionalmente inconsistente com o backtests de Essas mesmas estratégias. Eu não gastei muito tempo cavando na edição naquele tempo, mas permaneceu na parte traseira de minha mente até dezembro atrasado, 2013. Para os comércios que foram gerados de meus sistemas para dezembro 2013 (meus sistemas da rotação reassess mensalmente), eu não Apenas registou os veículos que foram selecionados, mas também os seus associados rotação rankings. Tenho acompanhado essas informações em planilhas desde esse tempo. Um período que atualmente inclui nove ciclos de rotação (9 meses). Em meados do mês passado, agosto de 2014, eu decidi backtest minhas estratégias de rotação ao vivo no mesmo período que eu tinha negociado ativamente com essas mesmas estratégias de rotação. Eu não fiquei surpreso ao descobrir que um número dos comércios nos backtests não coincidiam com os negócios que eu tinha realmente executado e gravado em minhas planilhas. Eu uso AmiBroker e dados de fim de dados do Yahoo (Yahoo Data Info 1. Yahoo Data Info 2) para as minhas estratégias de rotação. Eu sabia que o Amibroker estava configurado por padrão para usar o fechamento ajustado ao invés do fechamento real em seu banco de dados, mas eu não pensei muito sobre esse detalhe. Eu estava conscientemente usando esse fechamento ajustado ao invés do fechamento real por quase dez anos, mas não tinha realmente considerado o impacto do uso de dados fechados ajustados com estratégias de rotação. A linha no arquivo aqh. format AmiBroker que você deve estar ciente é destacada abaixo: Se você gostaria de usar o fechamento real em vez do fechamento ajustado em Ambroker, substituir a linha realçada acima, com a linha abaixo e re-download Todos os seus dados históricos do Yahoo. Como um lembrete, a série ajustada de fechamento é uma versão modificada da série de fechamento real 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 negociação naquele dia (para qualquer ação ou ETF que em algum momento mais tarde emitiu um dividendo ou ganho de capital). É muito importante pensar sobre este ponto eo impacto que ele pode ter em seu backtest versus resultados ao vivo Esta questão tem um grande impacto sobre o comércio entrada e saída de sinais com rotationranking sistemas. Um sistema em que um grupo de valores mobiliários de um fundo comum está sendo comparado entre si com base em dados de preço de openhighlowclose (OHLC). Como exemplo, dê uma olhada nos dados históricos do iShares Core US Aggregate Bond (AGG). Um trecho desses dados históricos é mostrado na imagem abaixo. Se seu sistema de rotação passasse a usar preços de fechamento ajustados e tivesse AGG em sua cesta de veículos de rotação, a pontuação AGG para 29 de agosto teria sido diferente em 29 de agosto quando você trocou, do que quando você executar o seu backtest para essa data em dizer setembro 2 (após a emissão de dividendos). Você vai notar que o fechamento de 29 de agosto é 109,98, mas o fechamento ajustado é 109,79. E esta questão se acumula com cada dividendo e ganho de capital que é emitido. Cada fechamento ajustado passado é modificado quando um novo dividendo é emitido. Dê uma olhada na diferença entre o fechamento ajustado e fechamento real há apenas dois anos: O fechamento em 29 de agosto de 2012 é 111,95, enquanto o fechamento ajustado nessa data é 106,33. À medida que novos dividendos forem emitidos no futuro, o preço de fechamento ajustado de 106,33 será cada vez menor, o que afetará o ranking de rotação da AGG em todos os backtests. Este mesmo problema ocorre com qualquer veículo que emite dividendos e ganhos de capital. Se usarmos os preços de fechamento reais para nossos backtests, iremos gerar sinais baseados em preços que realmente ocorreram no passado. O trade off é que não vamos ver o impacto positivo dos 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 em relação ao seguinte cesto de ETFs: AGG - iShares Fundo de Acções Agregadas Barclays DBC - PowerShares DB Com Indx Trckng Fundo EEM - iShares MSCI Mercados Emergentes Indx EFA - iShares Índice MSCI EAFE Fundo GLD - SPDR Gold Trust IYR - iShares Dow Jones Bens imobiliários dos EUA JNK - SPDR Barclays Capital High Yield Bond PPH - Vetores de mercado Pharmaceutical SPY - SPDR SampP 500 Confiança TIP - iShares Barclays TIPS Fundo de obrigações Na imagem abaixo, Curvas para várias estratégias de rotação diferentes executar contra os 10 ETFs na lista acima, mas usando a série de tempo de fechamento ajustado. (Clique na imagem para ver uma versão maior). No painel superior, as linhas verde, roxa e vermelha são as curvas de equidade para três diferentes estratégias de rotação executar contra os 10 veículos na lista acima. As outras três curvas são as curvas buy and hold 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 patrimoniais para outras variações de estratégia de rotação na mesma lista de 10 ETFs. O eixo y é o retorno percentual, enquanto o texto para cada estratégia lista o retorno monetário acumulado para essa estratégia (o capital inicial para cada estratégia foi de 100.000). Agora vamos olhar para os resultados para as mesmas estratégias exata correr contra os mesmos 10 veículos, mas usando o fechamento de preços reais dados da série de tempo. Esperamos que os retornos sejam menores, uma vez que dividendos e ganhos de capital não são refletidos nas séries temporais. A diferença nas curvas patrimoniais é grande, como esperado. Mas como os sinais de entrada e saída 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 veículos para a estratégia com a curva de equidade verde nos dois gráficos acima. Lembre-se que as curvas de equidade nos dois gráficos acima foi gerada pela mesma estratégia de rotação executada contra os mesmos 10 ETFs na lista acima. A única diferença entre as curvas de patrimônio é os dados. Dados de fechamento ajustados versus dados de fechamento reais. Estas não são seleções muito diferentes entre a série ajustada de fechamento e a série de fechamento real com esta estratégia de rotação e os 10 ETFs na lista acima. Tenho notado diferenças significativamente maiores com diferentes cestas de ETFs e fundos mútuos. Então o que é o ponto Idealmente, para estratégias de rotação, devemos gerar nossos sinais de entrada e saída com base na série de fechamento real, mas calcular nossos retornos nesses comércios usando a série de tempo de fechamento ajustada. 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 de fechamento ajustada. Se pudermos viver com curvas de equidade que mostram retornos menores, usar dados de séries temporais de fechamento atuais resultará em sinais de entrada de entrada gerados em nossos backtests que correspondem aos nossos sinais de entryexit reais que recebemos na negociação real. E um último ponto. Certifique-se de verificar os dados que pagou e serviços de estratégia de rotação livre usar. Seus dados de fechamento ajustados mais prováveis. O que significa que os sinais que mostram em seus backtests podem não coincidir com os sinais que eles realmente enviaram-lhe Grande ponto e excelente informação graças AZTrader Acho que você está faltando alguns pontos: - se quiser obter resultados de seu backtest incluindo dividendos e outras ações corporativas Você deve usar ajustado fechar-você deve ter cuidado de aplicar sinais de preço ajustado série de tempo quando usando divisão de multiplicação (como fechamento ajustado) ou summationdifferentiation (como média móvel). Você pode encontrar mais sobre isso na bíblia por Murphy quotTechnical Análise do Financial Marketsquot AZTrader e pcavatore - obrigado por seus comentários. Concordo com pcavatore. Por que você não iria querer usar preços ajustados para todos os cálculos como que irá mostrar o retorno real Os preços ajustados estão lá por esse motivo exato. Os preços de fechamento real podem gerar sinais falsos, ou seja, queda de preços devido a dividendos. Espero que ambos entendam que com um sistema baseado em rankrotation que opera em uma cesta estática de veículos (que pagam dividendos e ganhos de boné), seu sistema irá gerar diferentes resultados de teste de volta a cada mês que você testar seu sistema quando você usa dados ajustados. Eu desafio você tanto a executar um sistema de rotação no último dia de cada mês a partir deste mês, e para escrever o scorerank para cada um dos veículos em sua cesta, juntamente com o preço de fechamento. Use ordens de compra em fechamento. No último dia de cada mês. Registre essas informações em uma planilha. Além disso, troque isso em uma conta real. Nenhuma troca de papel Depois de fazer isso por 12 meses, de negociação real, usando preços de fechamento reais. Executar um backtest desta estratégia sobre o preço ajustado série de tempo para este mesmo cesto de veículos. Você verá muito provavelmente que os veículos selecionados em seu backtest não combinam realmente os veículos selecionados na troca viva. Este é o cerne da questão, e um ponto que é preocupante quando você tem dinheiro real em risco em oposição a dólares teóricos. Por que devemos nos importar se um backtest não replicar negociação ao vivo O que é preocupante é se a negociação ao vivo é rentável quando executado em um modelo de backtested, não que o backtest não replicar comércios ao vivo após o fato. O fechamento ajustado e o fechamento real são os mesmos na data de negociação em tempo real. Assim, a menos que você pode demonstrar que backtesting um modelo em preços fechados ajustados tem um efeito negativo ao colocar ordens ao vivo ao preço em tempo real ou faz um modelo de backtest mais propenso a falha em tempo real, eu não consigo ver o que o alarme é para qualquer outra coisa Sistemas de classificação relativa. Você acabou de reafirmar o meu ponto com a sua última frase quotI falhar em ver o que o alarme é para qualquer coisa diferente de ranking relativo esquemasquot Este é exatamente o ponto. Este é apenas um problema para os sistemas de classificação relativa. Muitas pessoas e empresas estão vendendo estratégias de rotação relativa, e eles estão touting seu desempenho backtested com dados ajustados. O problema é o nível relativo no dia em que você obtém o sinal de um desses sistemas (com os dados ativos desse dia), pode ser diferente do que quando você executar um backtest nesse dia em algum momento no futuro usando dados ajustados . Se houver uma diferença, será devido a dividendos e / ou ganhos de capital sendo questões para um ou mais dos veículos em sua lista de classificação relativa. A maioria dos artigos que são publicados sobre este assunto, são de pessoas que realmente não comércio. Assim que o dinheiro real está na linha, e os testes de volta não coincidem com os testes para a frente. Você questionará o desempenho teórico do referido sistema. Uma fonte desse descompasso são os dados usados ​​na negociação ao vivo versus os backtests. Isso faz sentido. Portanto, para o problema que você descreveu, ainda mais em relação ao AmiBroker é downloads não ajustados do Yahoo, mas as importações ajustadas e apenas fornece o preço de fechamento não ajustado para usar para PositionScore se você ativar essa opção. Este problema deve ter sido o que Ruggerio estava aludindo a um par de anos atrás no que diz respeito ao seu software Trader39s Studio backtest usando três fluxos de dados separados (todos fornecidos pela CSI Que fontes do Yahoo). Assim, em geral, muito interessante e I39ll fazer os ajustes adequados para o meu backtests. Não será uma correção simples. Por padrão, o Amibroker carregará dados ajustados. Você pode modificar esse comportamento e fazer com que ele carregue a série de preços realtrue alterando a linha FORMAT no arquivo Formatsaqh. format conforme observado acima. Quando o Amibroker usa dados ajustados, ele modifica todos os campos (O, H, L, C) para refletir o ajuste. Aqui está um exemplo: AGG De Yahoo: Data Abrir Alta Baixa Fechar Volume Adj Fechar Nov 18, 2011 109,73 109,73 109,44 109,62 805,700 101,60 AGG De Amibroker - Set to UseLoad Preços Ajustados Data: Data Aberta Alta Baixa Fechar Volume Nov 18, 2011 101.702 101.702 101.4332 101.6 805.700 Se o meu sistema de classificação está usando esses dados ajustados, então eu não estou usando os preços reais que eu poderia ter recebido na negociação real. Mais importante ainda, com cada novo dividendcap ganho payout a série de preços ajustados vai mudar. Isso afetará as pontuações de classificação e pode facilmente mudar uma classificação ETFMFEquity inferior para uma posição mais alta no backtesting. Obrigado pelo seu comentário, Dave Por favor me corrija se eu estiver errado. Os problemas que você destacou aqui só importam se você confiar no número absoluto dos dados ajustados para seus cálculos. No entanto, se eu fosse usar uma medida de impulso para o ranking (por exemplo, 6 meses de retorno), os dados ajustados estão bem. Isso ocorre porque estamos comparando uma razão (ou seja, dados ajustados agora, vs dados ajustados há 6 meses) e, portanto, mesmo se os dados ajustados mudassem com o passar do tempo, essa razão ainda será a mesma. Amleth, seu argumento faz sentido e é o que eu acreditava ser verdade antes de negociar esses sistemas ao vivo. O que eu experimentei pessoalmente na minha negociação ao vivo é diferente O que eu tenho visto várias vezes é esta: Eu recebo um sinal um mês para entrar em um determinado fundo, digamos FLVCX. No próximo mês, quando o próximo sinal de rotação é gerado, o sistema indica que eu deveria ter sido 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 AmiBroker39s fórmula ROC: amibrokerguideaflroc. html Postar um comentário ESTE SITE É PARA EDUCACIONAL ANDOR ENTRETENIMENTO APENAS. AS INFORMAÇÕES E ANÁLISES NESTE SITE SÃO FORNECIDAS PARA FINS INFORMATIVOS SOMENTE. NADA NESTE DOCUMENTO DEVERIA SER INTERPRETO COMO CONSELHO DE INVESTIMENTO PERSONALIZADO. EM NENHUMA CIRCUNSTÂNCIA, ESTA INFORMAÇÃO REPRESENTA UMA RECOMENDAÇÃO PARA COMPRAR, VENDER OU MANTER QUALQUER SEGURANÇA. O DESEMPENHO ANTERIOR NÃO É NECESSARIAMENTE INDICATIVO DE RESULTADOS FUTUROS E TODOS OS INVESTIMENTOS ENVOLVEM RISCOS. NENHUMA REPRESENTAÇÃO ESTÁ SENDO FEITA QUE QUALQUER CONTA ACENDE RESULTADOS SEMELHANTES AOS MOSTRADOS. NENHUMA DAS INFORMAÇÕES DESTE SITE ESTÁ GARANTIDO SER CORRECTA, E QUALQUER COISA ESCRITA AQUI DEVE SER SUJEITA À VERIFICAÇÃO INDEPENDENTE. VOCÊ, E VOCÊ SÓ, É SÓLICAMENTE RESPONSÁVEL POR QUAISQUER DECISÕES DE INVESTIMENTO QUE VOCÊ FAÇA.

No comments:

Post a Comment