Relative Momentum Index é um oscilador de momento normalizado semelhante ao RSI e varia entre 0 e 100. Pretende-se ajudar a determinar a força das tendências de preços e também para destacar os potenciais níveis de sobre-compra e sobre-venda de mercado a curto prazo. Quando os mercados estão em forte tendência, o RMI vai ficar em overbought ou oversold níveis por algum tempo. Ele, caso contrário, oscila entre um nível de sobrecompra de 70 a 90 e um nível de sobrevenda de 10 a 30. Como o RMI é baseado no RSI. Muitos dos mesmos métodos de interpretação do RSI podem ser aplicados. Exemplo: rmi (14, 4) cria o valor Relativo Momentum Index durante 14 dias usando um momento de quatro dias. Dias (Períodos): Um valor inteiro que identifica o número de dias a serem incluídos no cálculo. Momentum. Um valor inteiro que identifica o período de impulso. Como mencionado, o RMI é uma variação do indicador RSI. Em vez de contagem de dias para cima e para baixo de perto para fechar como o RSI faz, o RMI conta para cima e para baixo dias a partir do próximo para o fechar x dias atrás (onde x não é necessariamente 1 como exigido pelo RSI). Como o nome do indicador reflete, 8220momentum8221 é substituído por 8220strength.8221 Tags: oscilador, sistema de comércio, amibroker Publicado por kaiji há cerca de 7 anos Similar FormulasHarvesting Momentum: Lets Kick Tires Com AmiBroker Parte I Desenvolver indicadores e estratégias é grande, colocando-os a um Teste de estresse por mr. Mercado é melhor. Mas como Como nós falamos, thinkDesktop não tem as porcas e parafusos para executar backtesting apropriado. Depois de muita consideração eu decidi investir quase 500 comprando o AmiBroker Professional suite na virada do ano. Em seguida, encontrei-me de volta à escola primária, aprendendo a escrever novamente. Ao longo das últimas semanas eu tenho estudado AmiBroker8217s Formula Language (AFL) como se não houvesse amanhã. Felizmente a Introdução ao AmiBroker por Howard Bandy (download gratuito) é uma ótima leitura e AFL tem uma enorme e generosa base de usuários, reunidos no AmiBroker User8217s List no Yahoo. Por último, mas não menos importante, há Tomasz Janeczko8217s extensa UsersGuide com uma quantidade esmagadora de exemplos. Então, este post é tudo sobre backtesting. Na verdade, provavelmente será o primeiro de uma série para apresentar algumas das possibilidades backtesting AmiBroker tem para oferecer. E enquanto estamos descobrindo o AmiBroker Backtester, as chances são que podemos encontrar algumas estratégias de carteira muito bonito ao longo do caminho. Fique atento Como afirmado em posts anteriores, a anomalia momentum é conhecida há séculos. A essência da anomalia de momentum é que os ativos freqüentemente continuam seu impulso de preço, definido como a mudança de preço durante um período de retrocesso dado. Momentum funciona bem em classes de ativos, bem como dentro deles. Então o momento da colheita realmente é tudo sobre seguir o dinheiro. Sobre Buscando Alpha colaborador Marc Cohn publicou várias estratégias envolvendo impulso baseado negociação. Um deles, Return Like A Stock, Risk Like A Bond: 15.5 CAGR Com 17 Drawdown utiliza o chamado Paired Switching (veja aqui para papel SSRN) entre dois fundos negociados em bolsa: SPY e TLT. Marcs sistema abrangente na verdade é uma estratégia TAA em sua aparência mais simples. Em poucas palavras: a estratégia é longa apenas e, intermitentemente, todo o capital é reequilibrado para o EFT com melhor desempenho de apenas SPY (ações) e TLT (títulos). Marc aplicou periodicidade diária para re-balanceamento de portfólio, então vamos começar lá também. Mais tarde, a periodicidade será expandida para os quadros semanais, mensais e até trimestrais. No final, basta escolher a periodicidade que melhor se adequa ao seu estilo de negociação pessoal ou às limitações 401 (k). O clássico 40 ações 60 títulos comprar e segurar carteira é a referência para comparar os resultados backtest para. O capital inicial é fixado em 100.000. O AmiBroker permite a otimização de um sistema de negociação: o processo de encontrar valores ótimos para um ou um conjunto de parâmetros (dando o maior lucro ou outra métrica do sistema) para um determinado símbolo (ou um portfólio de símbolos). Otimização para x-dias classificados no lucro líquido (adicionar 100.000 como capital inicial para obter o capital final) torna a seguinte visão geral: gráfico de montanha 3D Otimizar eficazmente é snooping de dados, portanto, o risco de ajuste de curva é atrair. Portanto, consideração, prudência e cautela são da essência aqui. Um valor ideal pode ser apenas uma escolha afortunada. Para verificar a robustez dos valores encontrados, os resultados do otimizador podem ser demonstrados graficamente em um gráfico de montanha 3D. Para exibir um gráfico de otimização 3D, AmiBroker precisa de duas variáveis otimizáveis. Neste caso, uma variável de comprimento médio para alisar dados de preços é apropriada. SPY-TLT Daily Periodicity Melhor olhar para um platô de montanha largo em vez de picos únicos para maior probabilidade em resultados futuros confiáveis ou backtest encontrados valores em períodos fora da amostra. Configurações robustas são regiões no gráfico 3D que mostram mudanças graduais e não abruptas no gráfico de superfície. Mudanças radicais (ou picos) nos gráficos de otimização 3D mostram áreas claramente sobre otimização. O que aconteceria se SPY fosse substituído por MDY. O largo e amplo platô é indicativo de consistência. MDY-TLT Daily PeriodicityMomento de rotação do sistema AmiBroker Code Ive recebeu vários pedidos de detalhes sobre o código AmiBroker (AB) e as configurações utilizadas para o backtest mostrado no meu post de abril: Momentum Rotação 60 dias ROC resultados do sistema. Esse post usou o código AmiBroker Formula Language (AFL) do meu artigo em março de 2015. Isso foi há muito tempo atrás, então aqui está o sistema de rotação de momento de 60 dias AFL novamente: Você pode baixar o código AFL acima do meu Google Drive: 0060DayMomentum. afl É bastante direto código AFL, mas Ive destacou quatro áreas-chave: Linha 1 - negociação rotacional precisa ser ativado para este sistema Linha 24 - atrasos de comércio são definidos para 1, o que significa trades são inseridos um dia após o sinal é Linha gerada 43 - A variável LastDayOfMonth realmente armazena o segundo para o último dia do mês. Isso faz com que o sinal de classificação de rotação seja calculado no segundo ao último dia do mês. Linha 47 - Se o ROC (60) for negativo, então o PositionScore é definido como 0, caso contrário, o PositionScore é definido como o ROC (60 ) No segundo ao último dia de negociação do mês. Esta estratégia calcula o ROC de 60 dias para cada produto na carteira com base nos preços de fechamento naquele dia. Se o ROC de 60 dias for negativo, o sistema define o PositionScore como 0 para esse produto. Em seguida, classifica todos os produtos no portfólio, selecionando o produto com a classificação mais alta. Se todos os produtos tiverem uma classificação de 0, o sistema será transferido para o caixa. No último dia de negociação do mês. Ele executa as ordens de compra e venda no mercado fechado em ordens fechadas na negociação ao vivo. Além do código AFL acima, usei as configurações AB mostradas abaixo. Para replicar meus resultados, você precisará atualizar suas configurações de AB para coincidir com as minhas. AmiBroker Backtester Settings - Guia Geral (clique para ampliar) AmiBroker Backtester Settings - Guia Trades (clique para ampliar) AmiBroker Backtester Settings - Guia Stops (clique para ampliar) AmiBroker Backtester Settings - Guia Monte Carlo (clique para ampliar) AmiBroker Backtester Configurações do Filtro (clique para ampliar) Para executar meu AFL na sua instalação do AmiBroker: Faça o download do meu AFL Abrir uma guia Análise de AB Selecione meu arquivo AFL no campo Fórmula na guia Análise Atualize as configurações de filtro (mostradas acima) para executar apenas esta estratégia em relação a uma Lista de Assinatura específica Altere o intervalo para datas De-para e selecione Intervalo de datas Finalmente, selecione o botão Backtest para executar a estratégia Depois de ter backtesting configurado e em execução, o próximo passo é automatizar as atualizações de cotações e geração de sinal. Eu uso o Windows Task Scheduler utilitário para chamar scripts JS, que por sua vez lançar AB e AmiQuote. Este tópico está além do escopo deste artigo, mas eu posso discutir isso no future. Follow meu blog por e-mail, RSS feed ou Twitter (DTRTrading). Todas as opções estão disponíveis no topo da coluna de navegação à direita sob os títulos Subscrever ao feed RSS, seguir por e-mail e Twitter. 3 comentários: Obrigado por compartilhar, manter o bom trabalho. Obrigado pelo grande post Você se deparar com quaisquer problemas com os retornos de janeiro de cada ano usando o código que parece não obter nenhum retorno nunca em janeiro, quando olhando para os resultados na tabela chartsprofit. I haven39t teve problemas com devolve em janeiro. Apenas para ter certeza, eu corri este código apenas agora e revisou o relatório AB para a corrida. Houve retornos para cada janeiro de 2006 até este ano. Parece muito semelhante à tabela de lucro neste post: dtr-trading. blogspotsearchupdated-max2016-07-06T07: 00: 00-06: 00 ampmax-results3 Postar um comentário ESTE SITE É PARA EDUCACIONAL ANDOR ENTRETENIMENTO SOMENTE. 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Ê SOZINHO, É SÓLICAMENTE RESPONSÁVEL POR QUAISQUER DECISÕES DE INVESTIMENTO QUE VOCÊ FAZ. Sistema de Negociação de Lucro Rápido AFL para Amibroker Sistema de Negociação de Lucro Rápido é um sistema de negociação completo em um gráfico de painel único em Amibroker. Oferece bons sinais de venda de compra com níveis claros de tendência (Trailing Stoploss) e alvos. O melhor período de tempo para este sistema é de 15 minutos. Nunca use este AFL para Positional Trading como os indicadores e fórmulas usadas nele são para Intraday Trading apenas. Utilize o Sistema de Negociação de Lucro Rápido AFL apenas para Negociação Intraday em MCX Commodity, NCDEX Agricultura Commodity, NSE Equity Cash Stocks, Futuro Nifty, Futuro Nifty Bank, Opções Nifty, Ações Mais Ativos Futuros, Futuros de Ações Amp Opções, Etc. SECTIONBEGIN (8220Quick Profit Trading System8221) SetBarsRequired (100000,0) GraphXSpace 15 SetChartOptions (0, chartShowArrowschartShowDates) SetChartBkColor (ParamColor (8220bkcolor8221, ColorRGB (0,0, 0))) GfxSetBkMode (0) GfxSetOverlayMode (1) SetBarFillColor (IIf (CgtO, ParamColor Color8221, colorGreen), IIf (CltO, ParamColor (8220Candle Down Color8221, colorRed), ColorLightGrey))) Plot (C, 8221nPrice8221, IIf (CgtO, ParamColor (8220Wick UP Color8221, colorDarkGreen), IIf (CltO, ParamColor (8220Wick Down Color8221 , ColorDarkRed), colorLightGrey)), 64,0,0,0,0) N (título StrFormat (8220 8211 Open g, Hi g, Lo g, Close g (lf) 8221, O, H, L, C, SelectedValue (ROC (C, 1))) FactorParam (8220Factor8221,2,1,10,0.1) PdParam (8220ATR Per�dos8221,11,1,100,1) Up (HL ) 2 (FactorATR (Pd)) Dn (HL) 2- (FactorATR (Pd)) iATRATR (Pd) TrendUpTrendDownNull trend01 changeOfTrend0 flagflagh0 para (i 1 i ltBarCount-1 i) TrendUpi Nulo TrendDowni Nulo if (CloseigtUpi-1) trendi1 if (Trendi-1 -1) changeOfTrend 1 else se (CloseiltDni-1) trendi-1 se (trendi-1 1) changeOfTrend 1 else if (trendi-11) trendi1 changeOfTrend 0 se if (trendi-1-1) trendi-1 ChangeOfTrend 0 Comprar trend1 Selltrend-1 BuyExRem (Compra, Venda) SellExRem (Sell, Buy) ShortSell CoverBuy BuyPriceValueWhen (Buy, C) SellPriceValueQuando (Sell, C) ShortPriceValueQuando (Short, C) CoverPriceValueQuando 8220Quick Profit Trading System8221 8221 8211 8221 8221 8211 8221 EncodeColor (colorRed) Intervalo (2) EncodeColor (colorWhite) 8221 8211 8221 Data () 8221 8211 82208221n8221 EncodeColor (colorRed) 8221Op-8220O8221 82208221Hi-8220H8221 82208221Lo-8220L8221 8220 8220Cl - 8220C8221 8220 8220Vol 8220 WriteVal (V) 8221n8221 EncodeColor (colorLime) WriteIf (Comprar. 8221 GO LONG Sinal Inverso em 8220C8221 8220,82218221) WriteIf (Venda 8221 Sair Sinal reverso em 8220C8221 8220,82218221) 8221n8221EncodeColor (colorYellow) WriteIf (Venda 8220Total ProfitLoss para o último comércio Rs.8221 (C-BuyPrice) 82218221, (Buy, shapeSquare, shapeNone), colorGreen, 0, L, Offset-40) PlotShapes (IIf (Buy, shapeSquare, shapeNone) , ShapeSquare, shapeNone), colorLime, 0, L, Offset-50) PlotShapes (IIf (Short, shapeSquare, shapeNone), colorRed, 0, H, Offset40) PlotShapes (IIf (Short, shapeSquare, shapeNone), colorOrange, 0, H, Offset50) PlotShapes (IIf (Short, shapeDownArrow, shapeNone), colorWhite, (Entrada .0092) tar3 entrada (entrada .0179) barras ii 0 se (Selli 1) sig 8220SELL8221 entrada (entrada .0092) se (Buyi 1) entrada Ci sig 8220BUY8221 sl TrendSLi tar1 entrada Ci sl TrendSLi tar1 entrada 8211 (entrada .0050) tar2 entrada 8211 (entrada .0112) tar3 entrada 8211 (entrada .0212) barras ii 0 Desvio 20 Clr IIf (sig 8220BUY8221, colorLime, colorRed) ssl IIf (barras BarCount-1, TrendSLBarCount-1, Ref (TrendSL, -1)) sl sslBarCount-1 Plot (LineArray (barras-Offset, tar1, BarCount, tar1,1), 82208221, Clr, styleLinestyleDots, Nulo, - Offset, tar2, BarCount, tar2,1), 82208221, Clr, styleLinestyleDots, Null, Null, Offset) Plot (LineArray (barras-Offset, tar3, BarCount, tar3,1), 82208221, Clr, styleLinestyleDots, Null, Null , Offset) messageboard ParamToggle (8220Message Board8221,8221ShowHide8221,1) if (messageboard 1) GfxSelectFont (8220Tahoma8221, 13, 100) GfxSetBkMode (1) GfxSetTextColor (colorWhite) if (sig 8221BUY8221) GfxSelectSolidBrush (colordarkgreen) mais GfxSelectSolidBrush (colorRed) pxHeight Status (8220pxchartheight8221) xx Status (8220pxchartwidth8221) Esquerda 1100 largura 310 x 5 x2 290 GfxSelectPen (co LorGreen, 1) GfxRoundRect (x, y 8211 98, x2, y. GfxTextOut ((8220Last 8221 sig 8221 Sinal veio 8221 (BarCount-bars-1)) GfxTextOut ((8220Quick Lucro Trading System8221), 13, y-100) GfxTextOut ((8221 8220), 27, () 60 8221 mins ago8221), 13, y-80) A localização de formato de texto GfxTextOut ((82208221 WriteIf (sig 8221BUY8221, sig 8221 8220, sig 8221 8221) 8221. 8221 entrada), 13, y-60) GfxTextOut ( 8220Trailing SL 8221 Ref (TrendSL, -1) 8221 (8221 WriteVal (IIf (sig 8220SELL8221, entrada-sl, entrada-sl), 2,2) 8220) 8221), 13, y-40) GfxTextOut (8220) WriteVal (IIf (sig 8220BUY8221, (entrada C) (entrada-C)), 22) FSParam (8220Font Size 8221,30,11,100,1) GfxSelectFont (8220Times New Roman8221, FS, 700 , True) GfxSetBkMode (colorWhite) GfxSetTextColor (ParamColor (8220Color8221, colorGreen)) HorParam (8220Horizontal Position8221,940,1,1200,1) VerParam (8220Vertical Position8221,12,1,830,1) GfxTextOut (82208221C, Hor. Ver) YCTimeFrameGetPrice 8220C8221, inDaily, -1) DDPrec (C-YC, 2) xxPrec ((DDYC) 100,2) GfxSelect Fonte (8220Times New Roman8221, 11, 700, True) GfxSetBkMode (colorBlack) GfxSetTextColor (ParamColor (8220Color8221, colorYellow)) GfxTextOut (82208221DD8221 (8220xx8221) 8221, Hor. Ver45) SECTIONBEGIN (8220Time Left8221) function GetSecondNum () Time Now (4) Segundos int (Time 100) Minutos int (Time 100 100) Horas int (Time 10000 100) SecondNum int (Horas 60 60 Minutos 60 Seconds) return SecondNum RequestTimedRefresh 1) TimeFrame Interval () SecNumber GetSecondNum () Newperiod SecNumber TimeFrame 0 SecsLeft SecNumber 8211 int (SecNumber TimeFrame) TimeFrame SecsToGo TimeFrame 8211 SecsLeft GfxSelectSolidBrush (ColorRGB (230, 230, 230)) GfxSelectPen (ColorRGB (230, 230, 230), 2 ) If (NewPeriod) GfxSelectSolidBrush (colorYellow) GfxSelectPen (colorYellow, 2) Say (8220Novo período8221) GfxSelectFont (8220Arial8221, 14, 700, False) GfxSetTextColor (colorRed) GfxTextOut (8220Time Left: 8221SecsToGo82218221, x, y) :
Comments
Post a Comment