Negociação usando a Previsão de Volatilidade do Garch
Quantum Financier escreveu um interessante artigo Regime Switching System Using Volatility Forecast. O artigo apresenta um algoritmo elegante para alternar entre as estratégias de reversão média e tendência de seguir com base na volatilidade do mercado. Dois modelos são examinados: um usando a volatilidade histórica e outro usando o Garch (1,1) Previsão de Volatilidade. A estratégia de reversão média é modelada com RSI (2): Long quando RSI (2) e Curto em contrário. A estratégia de tendência seguinte é modelada com o crossover SMA 50/200: Long quando SMA (50) & gt; SMA (200), e Curto em contrário.
Eu quero mostrar como implementar essas idéias usando a biblioteca backtesting na caixa de ferramentas Systematic Investor Toolbox.
O código a seguir carrega os preços históricos do Yahoo Fiance e compara o desempenho das estratégias Buy e Hold, Mean-Reversion e Trend-Following usando a biblioteca de backtesting na Systematic Investor Toolbox:
Em seguida, vamos criar uma estratégia que alterne entre as estratégias de reversão média e de tendências seguindo a volatilidade histórica do mercado.
Em seguida, vamos criar uma Previsão de Volatilidade GARCH (1,1). Gostaria de recomendar a leitura seguintes artigos para quem quer encontrar o que GARCH é tudo ou para atualizar seu conhecimento:
GARCH (1,1) por por David Harper um artigo introdutório muito bom com lotes de diagramas visuais.
Questões Práticas na Modelação Univariada de GARCH por Y. Chalabi, D. Wurtz passo a passo exemplo de ajuste do modelo GARCH (1,1) com código R completo.
Introdução básica ao GARCH por Quantum Financier é uma série de posts que vai para os detalhes e suposições de GARCH e EGARCH.
Há alguns pacotes de R para caber modelos de GARCH. Vou considerar a função garch do pacote tseries e função garchFit do pacote fGarch. A função garch do pacote tseries é rápida, mas nem sempre encontra solução. A função garchFit do pacote fGarch é mais lenta, mas converge de forma mais consistente. Para demonstrar a diferença de velocidade entre a função garch e a função garchFit, criei um benchmark simples:
A função garchFit é em média 6 vezes mais lenta do que a função garch. Então, para prever a volatilidade vou tentar usar a função garch sempre que ele pode encontrar uma solução e função garchFit caso contrário.
Agora, vamos criar uma estratégia que alterne entre as estratégias de reversão média e tendência de seguir com base na previsão de volatilidade GARCH (1,1).
A estratégia de comutação que utiliza a previsão de volatilidade GARCH (1,1) apresentou um desempenho ligeiramente superior ao que utiliza a volatilidade histórica.
Há muitas abordagens diferentes que você pode tomar para incorporar a previsão em seus modelos e estratégias de negociação. R tem um conjunto muito rico de pacotes para modelar e prever séries temporais. Aqui estão alguns exemplos que eu achei interessante:
Para visualizar o código-fonte completo para este exemplo, consulte a função bt. volatility. garch () em bt. test. r no github.
No comments:
Post a Comment