Thursday, 22 March 2018

Estratégia de reversão média em r


Gekko Quant - Negociação Quantitativa.
Comércio Quantitativo, Arbitragem Estatística, Aprendizado de Máquinas e Opções Binárias.
Pós-navegação.
Estratégia de Negociação & # 8211; VWAP Mean Reversion.
Esta estratégia vai usar o preço médio ponderado do volume (VWAP) como um indicador para a versão média comercial de volta ao VWAP. Razão Annual Sharpe (Rf = 0%) é 0.9016936.
Este post é uma resposta para gekkoquant / 2018/07/29 / trading-strategy-sp-vwap-trend-follow / onde houve um erro no código indicando que o VWAP não foi # 8217; t reverter (este didn & # 8217; t sente-se bem comigo, ou algumas pessoas que comentaram). Como sempre, não tome a minha palavra para nada, teste a estratégia sozinha. Um dos perigos de usar R ou Matlab é que é fácil para viés direto encaixar no seu código. Existem bibliotecas, como Quantstrat for R, que protegem contra isso, mas eu encontrei-os terrivelmente lento para correr.
Todas as condições são verificadas no fechamento e a negociação realizada por um dia a partir do fechar Se preço / vwap & gt; ulim vai curto Se price / vwap & lt; Lm vai longe.
8 pensamentos sobre & ldquo; Estratégia de Negociação & # 8211; VWAP Mean Reversion & rdquo;
Obrigado pela rápida correção. Mantenha o bom trabalho!
Desculpe pela pergunta burra, mas o que significa uLim ILim?
É apenas um limite usado para determinar quando entrar no comércio.
Então, se price / vwap for maior que o limite superior (uLim), faça um comércio.
Então, se uLim fosse 1.02, um comércio só ocorreria quando o preço fosse maior do que 1.02 * vwap. O uLim maior (ou menor limite inferior lLim), então a estratégia aguarda um movimento mais extremo da vwap antes da negociação. Isso significa que haverá menos negócios por ano e provavelmente reduzirá a proporção de sharpe (embora não significa que é uma estratégia ruim).
Se você quiser procurar mais movimentos extremos, talvez seja melhor executar a estratégia em vários índices / estoques diferentes para que você tenha maiores chances de estar no mercado.
Obrigado. Idéia interessante. Do gráfico parece que a curva de equidade se tornou lateral a partir de meados de 2009. Alguma idéia sobre o que poderia ser o motivo? Baixa, volatilidade do mercado?
Normalmente, as estratégias de negociação de tendências funcionam bem se o VIX estiver em níveis mais altos. No entanto, quando o VIX caiu, a estratégia de negociação pode dar-lhe menos perdas ou lucros. 2018 - meados de 2018, a volatilidade do mercado é muito menor em todo o mundo. Esses são os períodos em que um deve parar de negociar seu estratagema.
Obrigado por compartilhar esse código! Reproduzi e funciona bem. Minha pergunta é que, quando você escreveu a variável & # 8216; trade & # 8217 ;, você só escreveu quando não há nada longo e curto sobre quando fechar uma posição. então, você deve assumir que o comerciante fechará a posição aberta no preço de fechamento diário até o final de cada dia de negociação, certo?
Olá! Obrigado pelo artigo!
Por que não substituir isso:
trade & lt; - ifelse (sinal uLim, -1, 0))
Eu não testei, mas deveria funcionar. E deve funcionar mais rápido.

Motivo reverter estratégias e volatilidade.
As estratégias de reversão média estão batendo na reversão média dos preços. Existem vários sabores de estratégias de reversão significativas, mas como proxy eu escolhi RSI (2). Você pode encontrar muitas entradas na blogósfera sobre esta estratégia, mas hoje em dia sua popularidade secou.
O que me fez pensar que havia uma idéia sobre a correlação entre retorno dessa estratégia e volatilidade do mercado. Isso significa que, durante os períodos de alta volatilidade, esta estratégia produz maior retorno e menor volatilidade - menos.
Para testar essa ideia, construí duas estratégias. RSI Simples vai longo, se o indicador RSI (2) for inferior a 10 ou seja curto, se RSi (2) estiver acima de 90. Ele fecha a posição aberta, então o indicador está acima / abaixo de 70/30, respectivamente.
RSI Garch segue as mesmas regras que o RSI Simple, exceto uma regra adicional. Ao usar o modelo Garch, eu prevejo a volatilidade para o próximo dia. Se o valor da volatilidade for maior que 65% dos valores durante o ano (252 dias), a ordem será executada. Ao adicionar este filtro, posso pegar os dias mais voláteis do ano passado.
O resultado do filtro Garch é um pouco melhor, mas a questão permanece - vale a pena adicioná-lo?
A seguir, tentei analisar a correlação entre a volatilidade do mercado e o retorno. Na verdade, não era tão trivial implementar isso. O problema é a duração do investimento, que não é corrigido em dias (pode demorar entre 1 a 19 dias para fechar uma posição). Então, eu tinha duas abordagens: quer medir a volatilidade no início do investimento ou fixar o tempo máximo de investimento (por exemplo, 5 dias) e depois medir a volatilidade no último dia do investimento. Apesar das diferenças, os resultados são semelhantes e vou apresentar o ex.
Como você pode ver no gráfico abaixo, há correlação entre o retorno da estratégia RSI (2) e a volatilidade dos últimos 20 dias. No entanto, atribuo essa correlação ao fato de que o retorno (lucro ou perda) tende a ser maior, então a volatilidade é maior. Este pensamento é suportado por R ^ 2, que era apenas 0,1.
Você pode ver as faixas de retorno em relação aos intervalos de volatilidade no próximo gráfico. Como no primeiro exemplo acima, não consigo ver fortes evidências da correlação.
O filtro de volatilidade pode melhorar ligeiramente o retorno da estratégia RSI (2), mas não é significativo. No futuro, eu executarei o mesmo teste na estratégia de negociação de pares (outro sabor das estratégias de reversão média).

QuantStart.
Junte-se ao portal de membros privados da Quantcademy que atende à comunidade de comerciantes de varejo de varejo em rápido crescimento. Você encontrará um grupo bem informado de mentalistas quant pronto para responder suas perguntas comerciais mais importantes.
Confira meu ebook sobre o comércio de quant, onde eu ensino você como criar estratégias de negociação sistemáticas lucrativas com ferramentas Python, desde o início.
Dê uma olhada no meu novo ebook sobre estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas bayesianas, com Python e R.
Por Michael Halls-Moore em 2 de junho de 2018.
Um tempo atrás, consideramos um modelo de negociação baseado na aplicação dos modelos da série temporal ARIMA e GARCH aos dados diários S & amp; P500. Mencionamos nesse artigo, bem como em outros artigos anteriores de análises de séries temporais, que eventualmente considerariamos as estratégias de negociação de reversão e a forma de construí-los.
Neste artigo, eu quero discutir um tópico chamado cointegração, que é um conceito de séries temporais que nos permite determinar se conseguimos formar um meio de reversão de ativos. Vamos abordar a teoria das séries temporais relacionadas à cointegração aqui e no próximo artigo, vamos mostrar como aplicar isso às estratégias comerciais reais usando a nova estrutura de backtesting de código aberto: QSTrader.
Vamos prosseguir discutindo a reversão média na tradicional estrutura de "negociação de pares". Isso nos levará ao conceito de estacionariedade de uma combinação linear de ativos, levando-nos finalmente a cointegração e testes de raiz unitária. Uma vez que esboçamos esses testes, simularemos várias séries temporais no ambiente estatístico R e aplicaremos os testes para avaliar a cointegração.
Estratégias de negociação de reversão média.
A idéia tradicional de um "comércio de pares" de reversão média é simultaneamente curtos e curtos dois ativos separados compartilhando fatores subjacentes que afetam seus movimentos. Um exemplo do mundo das ações pode ser longo McDonald's (NYSE: MCD) e Short Burger King (NYSE: BKW - antes da fusão com Tim Horton).
A razão para isso é que os preços das ações a longo prazo provavelmente estarão em equilíbrio devido aos amplos fatores do mercado que afetam a produção e o consumo de hambúrgueres. Uma interrupção de curto prazo para um indivíduo no par, como uma interrupção da cadeia de suprimentos que afete apenas o McDonald's, levaria a uma deslocação temporária em seus preços relativos. Isso significa que um comércio longo-curto realizado neste ponto de interrupção deve se tornar rentável, pois os dois estoques retornam ao seu valor de equilíbrio uma vez que a interrupção é resolvida. Esta é a essência do clássico "comércio de pares".
Na medida em que estamos interessados ​​em realizar a negociação de reversão média não apenas em um par de ativos, mas também cestas de ativos que estão separadamente interligados.
Para conseguir isso, precisamos de uma estrutura matemática robusta para identificar pares ou cestas de ativos que significam reverter da maneira descrita acima. É aqui que surge o conceito de séries de tempo cointegradas.
A idéia é considerar um par de séries temporais não estacionárias, como os ativos de MCD e BKW de forma aleatória, e formar uma combinação linear de cada série para produzir uma série estacionária, que tem uma média e variância fixas.
Esta série estacionária pode ter interrupções de curto prazo onde o valor vagueia longe da média, mas devido à sua estacionaridade, este valor retornará eventualmente à média. As estratégias de negociação podem fazer uso disso aniquilando / diminuindo o par no ponto de interrupção apropriado e apostando em uma reversão de longo prazo da série para sua média.
As estratégias de reversão médias, como esta, permitem uma ampla gama de instrumentos para criar as séries de tempo estacionárias "sintéticas". Certamente, não estamos restritos a ações de "baunilha". Por exemplo, podemos fazer uso do Exchange Traded Funds (ETF) que acompanha os preços das commodities, como petróleo bruto e cestas de empresas produtoras de petróleo. Portanto, há muitos marcos para identificar tais sistemas de reversão significativos.
Antes de aprofundar a mecânica das estratégias de negociação reais, que serão objeto do próximo artigo, devemos primeiro entender como identificar estatisticamente tais séries cointegradas. Para isso, utilizaremos técnicas da análise de séries temporais, continuando o uso da linguagem estatística R como em artigos anteriores sobre o tema.
Cointegração.
Agora que motivamos a necessidade de um quadro quantitativo para realizar a negociação média de reversão, podemos definir o conceito de cointegração. Considere um par de séries temporais, ambas não-estacionárias. Se tomarmos uma combinação linear específica dessas séries, às vezes pode levar a uma série estacionária. Esse par de séries seria então denominado cointegrado.
A definição matemática é dada por:
Cointegração.
Deixe $ \ $ e $ \ $ ser duas séries temporais não estacionárias, com constantes $ a, b \ in \ mathbb $, constantes. Se a série combinada $ a x_t + b y_t $ estiver estacionada, dizemos que $ \ $ e $ \ $ são cointegrados.
Embora a definição seja útil, não nos fornece diretamente um mecanismo para determinar os valores de $ a $ e $ b $, nem se essa combinação é, de fato, estatisticamente estacionária. Para este último, precisamos utilizar testes para raízes unitárias.
Teste de raiz unitária.
Em nossa discussão anterior de modelos de AR (p) autorregressivos, explicamos o papel da equação característica. Observamos que era simplesmente um modelo autorregressivo, escrito em forma de mudança para trás, definido como igual a zero. Resolver esta equação nos deu um conjunto de raízes.
Para que o modelo seja considerado estacionário, todas as raízes da equação devem exceder a unidade. Um modelo AR (p) com uma raiz igual à unidade - uma unidade raiz - não é estacionário. Os passeios aleatórios são processos AR (1) com raízes unitárias e, portanto, também não são estacionários.
Assim, para detectar se uma série temporal é estacionária ou não, podemos construir um teste de hipóteses estatísticas para a presença de uma unidade de raiz em uma série de séries temporais.
Vamos considerar três testes separados para as raízes das unidades: Augmented Dickey-Fuller (AFD), Phillips-Perron e Phillips-Ouliaris. Veremos que eles são baseados em suposições diferentes, mas todos estão testando o mesmo problema, a saber, a estacionaria da amostra da série de tempo testada.
Vamos agora dar uma breve olhada nos três testes por sua vez.
Teste Dickey-Fuller aumentado.
Dickey e Fuller [2] foram responsáveis ​​por apresentar o seguinte teste para a presença de uma unidade de raiz. O teste original considera uma série temporal $ z_t = \ alpha z_ + w_t $, em que $ w_t $ é ruído branco discreto. A hipótese nula é que $ \ alpha = 1 $, enquanto a hipótese alternativa é que $ \ alpha & lt; 1 $.
Disse e Dickey [6] melhoraram o teste Dickey-Fuller original levando ao teste Augmented Dickey-Fuller (ADF), no qual a série $ z_t $ é modificada para um modelo AR (p) de um modelo AR (1). Eu discuti o teste em um artigo anterior onde usamos o Python para calculá-lo. Neste artigo, realizaremos o mesmo teste usando R.
Teste Phillips-Perron.
O teste ADF assume um modelo AR (p) como uma aproximação para o exemplo da série temporal e usa isso para contabilizar as autocorrelações de ordem superior. O teste Phillips-Perron [5] não assume uma aproximação do modelo AR (p). Em vez disso, um método de suavização de kernel não paramétrico é utilizado no processo estacionário $ w_t $, o que permite que ele contabilize autocorrelação não especificada e heterocedasticidade.
Teste de Phillips-Ouliaris.
O teste Phillips-Ouliaris [4] é diferente dos dois testes anteriores, na medida em que está testando a evidência de cointegração entre os resíduos entre duas séries temporais. A principal idéia aqui é que testes como ADF, quando aplicados aos resíduos estimados de cointegração, não possuem as distribuições Dickey-Fuller sob a hipótese nula onde a cointegração não está presente. Em vez disso, essas distribuições são conhecidas como distribuições de Phillips-Ouliaris e, portanto, esse teste é mais apropriado.
Dificuldades com testes de raiz unitária.
Enquanto o teste ADF e Phillips-Perron são equivalentes assintóticamente, eles podem produzir respostas muito diferentes em amostras finitas [7]. Isso ocorre porque eles lidam com autocorrelação e heterocedasticidade de forma diferente. É necessário ter muito claro quais hipóteses estão sendo testadas para a aplicação desses testes e não para simplesmente aplicá-los cegamente a séries arbitrárias.
Além disso, os testes de raiz unitária não são excelentes para distinguir processos estacionários altamente persistentes de processos não estacionários. É preciso ter muito cuidado ao usá-los em determinadas formas de séries temporais financeiras. Isso pode ser especialmente problemático quando a relação subjacente que está sendo modelada (ou seja, a reversão média de dois pares similares), naturalmente, desmorona devido a mudanças de regime ou outras mudanças estruturais nos mercados financeiros.
Simulated Cointegrated Time Series com R.
Vamos agora aplicar os testes de raiz de unidades anteriores a alguns dados simulados que sabemos ser cointegrados. Podemos usar a definição de cointegração para criar artificialmente duas séries temporais não estacionárias que compartilham uma tendência estocástica subjacente, mas com uma combinação linear estacionada.
Nossa primeira tarefa é definir uma caminhada aleatória $ z_t = z_ + w_t $, onde $ w_t $ é ruído branco discreto. Dê uma olhada no artigo anterior sobre ruídos brancos e passeios aleatórios, se você precisar escovar esses conceitos.
Com a caminhada aleatória $ z_t $ vamos criar duas novas séries temporais $ x_t $ e $ y_t $ que ambos compartilham a tendência estocástica subjacente de $ z_t $, embora por diferentes montantes:
\ begin x_t & = & p z_t + w_ \\ y_t & = & q z_t + w_ \ end.
Se nós, então, tomamos uma combinação linear $ a x_t + b y_t $:
\ begin a x_t + b y_t & = & a (p z_t + w_) + b (q z_t + w_) \\ & = & (ap + bq) z_t + a w_ + b w_ \ end.
Vemos que só conseguimos uma série estacionária (que é uma combinação de termos de ruído branco) se $ ap + bq = 0 $. Podemos colocar alguns números para isso, para torná-lo mais concreto. Suponha $ p = 0,3 $ e $ q = 0,6 $. Depois de uma álgebra simples, vemos que se $ a = 2 $ e $ b = -1 $ nós possuímos $ ap + bq = 0 $, levando a uma combinação de séries estacionárias. Daí $ x_t $ e $ y_t $ são cointegrados quando $ a = 2 $ e $ b = -1 $.
Vamos simular isso em R para visualizar a combinação estacionária. Em primeiro lugar, desejamos criar e traçar a série de caminhada aleatória subjacente, $ z_t $:
Realização de uma caminhada aleatória, $ z_t $
Se traçamos o correlograma da série e suas diferenças, podemos ver poucas evidências de autocorrelação:
Correlogramas de $ z_t $ e a série diferida de $ z_t $
Portanto, esta realização de $ z_t $ claramente parece uma caminhada aleatória. O próximo passo é criar $ x_t $ e $ y_t $ a partir de $ z_t $, usando $ p = 0,3 $ e $ q = 0,6 $ e, em seguida, trace ambos:
Lote de $ x_t $ e $ y_t $ series, cada um baseado na caminhada aleatória subjacente $ z_t $
Como você pode ver, ambos parecem semelhantes. Claro que eles serão por definição - eles compartilham a mesma estrutura de caminhada aleatória subjacente de $ z_t $. Vamos agora formar a combinação linear, pentear, usando $ p = 2 $ e $ q = -1 $ e examinar a estrutura de autocorrelação:
Lote de pente - a série de combinações lineares - e seu correlograma.
É claro que o pente de série combinado se parece muito com uma série estacionária. Isto é esperado dada a sua definição.
Vamos tentar aplicar os testes de raiz de três unidades para a série de combinações lineares. Em primeiro lugar, o teste Augmented Dickey-Fuller:
O valor p é pequeno e, portanto, temos evidências para rejeitar a hipótese nula de que a série possui uma unidade de raiz. Agora, tentamos o teste Phillips-Perron:
Mais uma vez, temos um pequeno valor de p e, portanto, temos evidências para rejeitar a hipótese nula de uma unidade de raiz. Finalmente, tentamos o teste Phillips-Ouliaris (note que requer entrada de matriz dos constituintes da série subjacente):
Mais uma vez, vemos um pequeno valor p que indica evidências para rejeitar a hipótese nula. Por isso, é claro que estamos lidando com um par de séries que estão cointegradas.
O que acontece se criarmos uma combinação separada com, digamos $ p = -1 $ e $ q = 2 $?
Parcela de badcomb - a série de combinação linear "incorreta" - e seu correlograma.
Nesse caso, não temos provas suficientes para rejeitar a hipótese nula da presença de uma raiz unitária, conforme determinado pelo valor p do teste Dickey-Fuller aumentado. Isso faz sentido quando escolhemos arbitrariamente a combinação linear de $ a $ e $ b $ ao invés de configurá-los para os valores corretos de $ p = 2 $ e $ b = -1 $ para formar uma série estacionária.
Próximos passos.
Neste artigo, examinamos vários testes de raiz unitária para avaliar se uma combinação linear de séries temporais era estacionária, ou seja, se as duas séries estavam cointegradas.
Em futuros artigos, vamos considerar as implementações completas das estratégias de negociação de reversão média para as ações diárias e os dados dos ETF usando o QSTrader com base nestes testes de cointegração.
Além disso, expandiremos nossa análise para cointegração em mais de dois ativos, levando a estratégias de negociação que aproveitam as carteiras cointegradas.
Referências.
Apenas iniciando o comércio quantitativo?
3 razões para se inscrever para a lista de e-mails QuantStart:
1. Quant Trading Lessons.
Você terá acesso instantâneo a um curso de e-mail gratuito de 10 partes, repleto de sugestões e dicas para ajudá-lo a começar a negociação quantitativa!
2. Todo o conteúdo mais recente.
Todas as semanas, vou enviar-lhe um envoltório de todas as atividades no QuantStart para que você nunca mais perca uma postagem novamente.
Real, dicas de negociação viáveis, sem tonturas.

Estratégia de reversão média em r
Eu gostaria de compartilhar com você uma simples técnica de reversão média que depende de médias móveis. Em suma, a idéia é que os sinais de reversão média podem ser aproximados por interseções de médias móveis de comprimento diferente. Isso é melhor esclarecido pela seguinte ilustração:
Nos quais os dados são de um conjunto de dados de 3.000 dias do preço de fechamento de ações. Neste modelo, geralmente temos um "longo" média móvel e uma "curta" média móvel (neste caso, 90 e 30 dias, respectivamente). Nós trocamos quando essas linhas se cruzam, depois optam por comprar ou vender com base na direção da tendência (se o MA curto está subindo ou caindo). Eu observo que não trocamos exatamente quando as linhas se cruzam, mas sim quando elas são suficientemente próximas (por alguma métrica definida pelo usuário). Embora esta não seja tão estatisticamente forte como a reversão média poderia ser, é uma aproximação razoável com muitas propriedades agradáveis ​​devido ao atraso entre os dois MAs: uma estratégia de compra / venda razoável com sinais claros que se traduz em uma parada efetiva - Deslocar de qualquer pico, exceto para casos de colisões de preços súbitas e severas.
Eu anexei um backtest que eu corri em algumas ações de tecnologia entre 2008 e 2018, com períodos de MA de 30 e 10 dias.
Eu sou um pouco novo para a Quantopian e eu não tive muito tempo para escrever meu algoritmo, então peço desculpas por algumas das técnicas grosseiras que usei no meu código, que pretendo consertar em futuras versões. Eu pretendo reescrever a parte que decide quanto investir (atualmente, na maior parte, é sintonizado manualmente com guesstimates), para adicionar uma perda de stop mais sofisticada e para melhorar a heurística para determinar se uma segurança está tendendo negativamente ou positivamente. Eu também preciso fazer meu algoritmo começar a curar ações. Há geralmente uma grande quantidade de calibração para este algoritmo. Também seria útil desenvolver algumas análises que determinassem os melhores períodos de MA para usar.
Sinta-se à vontade para brincar com esse algoritmo e ver se você achou algo interessante!
Pardon the bump, mas este é um caderno que fiz para ajudar a visualizar como sua foto. As variáveis ​​também estão acessíveis.
Eu passei algum tempo olhando por cima disso, e eu tenho que dar a você: este é um algoritmo muito bem calculado e intuitivo.
Eu consegui fazer algumas boas melhorias na legibilidade e no desempenho do algoritmo.
No que diz respeito às linhas de código, procurei fazer algumas melhorias de legibilidade, simplificando alguns dos métodos mais rigorosos usando as construções de Quantopian. Retirei a necessidade de um banco de dados de preços e um período de espera de 30 dias usando a função de histórico. Eu também usei os registros quando Darrell sugeriu acompanhar as posições e alavancar. Para garantir que as ordens entraram corretamente, mudei as ordens por porcentagem. Depois disso, notei que você colocou um "quilo" declaração em que o algoritmo pediu uma "continuação" declaração. Sem seus comentários, eu definitivamente teria perdido isso.
Em termos de lógica de algoritmo, eu revertei as iniciações de compra / venda para ativar quando o preço nos últimos 4 dias aumenta / diminui para montar o ímpeto de reversão médio em vez de adivinhar se ele será ou não. Como um lado, isso torna o algoritmo mais de um híbrido do que a reversão, mas consegui obter algumas boas melhorias na proporção de sharpe. Também removi uma segurança na sua amostra que foi descartada em 2018 para ver o desempenho do algoritmo até à data. Funciona muito bem, excelente trabalho.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
Seria útil ver se isso ainda é lucrativo sem as ações escolhidas na mão, mas sim usando algum tipo de universo dinâmico.
Sim, estou trabalhando atualmente na edição da lógica para abranger alguns outros estoques usando pipeline. Eu tentei colocar alguns ali aleatoriamente e o desempenho estava faltando.
Minha hipótese no momento é que os novos valores selecionados com base nos fundamentos farão exatamente o mesmo. Eu irei publicar a atualização quando eu terminar.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O mesmo algoritmo em um universo de 600 ações. Pode valer a pena verificando que não introduzi nenhum bug.
e em um universo de 50 ações.
Que tal testá-lo com um ETF 3X.
se 10day. mean & gt; 30day. mean, nós demoramos (compre). Se 10day. mean & lt; 30day. mean, devemos vender de curta?
@Tory, está um pouco mais envolvido. Ele procura se a média de 10 dias é superior a 95% da média de 30 dias. O que o algo está tentando compensar é que as médias móveis são um indicador de atraso, de modo que ele fudging os sinais para que eles viajem mais cedo. Ele também verifica uma tendência de alta contínua de 3 dias como um sinal de confirmação. E vice-versa para venda. Também tem uma perda de parada de 8%. Tudo parece bom em teoria, mas como as mensagens de Luca apontaram, não é o algoritmo que produz esses resultados impressionantes nos testes iniciais - foi o viés introduzido pelos estoques selecionados à mão.
A dificuldade com os cruzamentos é que, devido ao alisamento, eles são um indicador de atraso e 2. a freqüência e a amplitude da forma de onda do preço são muito variáveis ​​para crossovers de período fixo para discernir entre sinal e ruído - eles don & # 39; t fazer um bom trabalho para detectar se um movimento de preço recente está estabelecendo novo impulso em oposição a um movimento temporário que irá reverter rapidamente. Então, tão frequentemente como não no momento em que o sinal é disparado, o preço já está se movendo na outra direção.
Desculpe, algo deu errado. Tente novamente ou contate-nos enviando comentários.
Você enviou um ticket de suporte com sucesso.
Nossa equipe de suporte estará em contato em breve.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.
O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta de prestação de serviços de consultoria de investimento pela Quantopian.
Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. Nenhuma informação contida neste documento deve ser considerada como uma sugestão para se envolver ou abster-se de qualquer curso de ação relacionado ao investimento, já que nenhuma das empresas atacadas ou nenhuma das suas afiliadas está a comprometer-se a fornecer conselhos de investimento, atuar como conselheiro de qualquer plano ou entidade sujeito a A Lei de Segurança de Renda de Aposentadoria do Empregado de 1974, conforme alterada, conta de aposentadoria individual ou anuidade de aposentadoria individual, ou dar conselhos em capacidade fiduciária em relação aos materiais aqui apresentados. Se você é um aposentadorio individual ou outro investidor, entre em contato com seu consultor financeiro ou outro fiduciário não relacionado a Quantopian sobre se qualquer idéia, estratégia, produto ou serviço de investimento descrito aqui pode ser apropriado para suas circunstâncias. Todos os investimentos envolvem risco, incluindo perda de principal. A Quantopian não oferece garantias sobre a precisão ou integridade das opiniões expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas.

Estratégia de reversão média em r
Puxe pedidos 0.
Participe do GitHub hoje.
O GitHub é o lar de mais de 20 milhões de desenvolvedores que trabalham juntos para hospedar e rever o código, gerenciar projetos e criar software juntos.
Clone com HTTPS.
Use o Git ou o check-out com o SVN usando o URL da web.
### Back-testing significa reversão e estratégias de arbitragem estatística.
Uma plataforma construída no R Shiny Dashboard para exibir resultados de uma estratégia de reversão média usando dois ativos positivamente ou negativamente correlacionados.
Pegue 2 ativos correlacionados (ou seja, Ouro e Prata) e calcule seu valor relativo com base em seus movimentos de preços nas x barras passadas. Se o valor relativo do ouro sobe mais do que o de Prata, prata longa (já que podemos esperar que a prata aumente) ou ouro curto (já que podemos esperar que o ouro caia) até que os preços relativos revertem para o seu significado. A intuição é que, uma vez que os ativos estão altamente correlacionados, um aumento de preço relativo de um recurso fará com que o par de ativos se desvie do seu meio e podemos esperar que o par de ativos eventualmente retorne ao seu significado.
Testei essa estratégia com um fundo de hedge e a estratégia é efetivamente lucrativa com base em preços intermediários e um período de pesquisa de 1min x 1500. No entanto, uma vez que utiliza os preços de oferta e oferta, a estratégia já não é lucrativa. Isso exclui o custo por comércio. Aumentar o prazo de 1min a 10min ou 15min aumentará o lucro por comércio, que irá superar o custo por comércio. Isso ainda precisa ser testado.
&cópia de; 2018 GitHub, Inc. Termos Privacidade Segurança Status Ajuda.
Você não pode executar essa ação neste momento.
Você fez login com outra guia ou janela. Recarregue para atualizar sua sessão. Você se separou em outra guia ou janela. Recarregue para atualizar sua sessão.

No comments:

Post a Comment