quarta-feira, 12 de outubro de 2016

BOVA11 com Hedge

Swing Trading
Quando há 1 expectativa de possível queda no mercado acionário o investidor pode tomar uma de duas decisões. A primeira é intuitiva, basta zerar suas posições e ficar líquido. Já a segunda mantêm  a carteira e mediante a venda de contratos futuros de IBOVESPA é possível protegê-la, chamamos isso de Hedge.

Para a segunda opção o investidor terá que obter o BETA em relação ao IBOVESPA de cada papel que possuir, em seguida calcular o BETA ponderado da carteira e finalmente determinar a quantidade de contratos futuros que serão vendidos. Porém, ao invés disso, o investidor poderá trabalhar exclusivamente com o BOVA11 discutido no artigo anterior. Há algumas vantagens para esse tipo de estratégia, uma delas é que esse ETF segue de perto os movimentos do IBOVESPA e seu BETA é aproximadamente igual a 1 e, com isso, dificilmente serão necessárias recalibrações ao longo do tempo como ocorre com o hedge de ações. Isso resulta tanto na redução dos custos quanto na complexidade de recálculos.

Ao comprar uma determinada ação ou um ETF a perspectiva futura é de alta, porém no meio do caminho pode ocorrer alguns momentos menos favoráveis e o recurso de proteger a posição durante esse período pode reduzir muitas noites mal dormidas. 

A grande questão é o que usar para sinalizar os momentos mais propícios para montar e desmontar a proteção do ETF. No caso, a posição no BOVA11 é estática e o que se realiza ao longo do tempo são entradas e saídas do contrato futuro de IBOVESPA vigente naquele determinado período (lembrem-se que o WIN, mini índice, vence nos meses pares do ano).

Apenas para ilustrar vamos montar um sistema simples baseado no indicador Riva-Keltner (confira o Webinar gratuito para mais detalhes sobre o RK), onde os sinais de alta indicam a saída do Hedge (recompra do contrato futuro) e os sinais de baixa o início da proteção da posição em BOVA11. Apenas para o leitor entender melhor o funcionamento da estratégia, tomemos um momento específico. 
diário de BOVA11 - Dez15 - Ago16

Suponha que em 24 de Novembro de 2015 o nosso investidor virtual resolveu adquirir 2.000 contratos de BOVA11 ao preço de R$ 46,48 (investimento de R$ 92.360,00 + custos). Porém em 01 de Dezembro de 2015 com o papel valendo R$ 44,00 (queda de 4,72%) o nosso amigo tenha decidido montar o Hedge a partir da venda de 10 contratos de WINZ15 (venc. 16/dez/15) ao preço de 45.500 pts. Em 16/dez/15 houve a rolagem do WINZ15 (44.600 pts) para o WING16 (45.400 pts) na mesma quantidade anterior (10 contratos). Finalmente em 22 de janeiro de 2016 BOVA11 foi cotado à R$37,20 (queda de 15,45%) e o WING16 à 38.500 pts, queda acumulada de 6.900 pts (15,2%). 

Resumo da ópera, pela tabela a seguir podemos verificar que o ETF acumulou uma perda contábil que foi compensada pelos ganhos financeiros da venda dos mini contratos futuros de IBOVESPA. Isso significa que enquanto o mercado brasileiro teria que se recuperar de uma queda de mais de 15%, a posição do investidor do nosso exemplo estaria praticamente intacta.


Participe do grupo do Facebook: Dólar, Índice e Pair Trading.

terça-feira, 13 de setembro de 2016

BOVA11 - IShare (ETF)

Swing Trading
O iShares Ibovespa Fundo de Índice (BOVA11) busca obter no médio/longo prazo retornos que correspondam, de forma geral, à performance do Índice Bovespa. Para isso, sua composição tenta emular os mesmos percentuais de participação das empresas participantes da carteira teórica do IBOVESPA.

Ao contrário das ações cujo lote-padrão é 100, sua negociação é realizada em múltiplos de 10.



Por ser uma carteira diversificada, normalmente, o BOVA11 apresenta risco menor que a maioria das ações individualmente e seu custo de negociação é inferior à tomada de várias ações para compor uma carteira. Como  todo ETF´s (Exchange Traded Funds), o BOVA11 é classificando como fundo de investimento e com isso não há isenção para vendas abaixo de R$ 20.000 mensais, além de possuir uma taxa de administração de 0,54% ao ano. Entretanto, é comum seu gestor alugar parte das ações da carteira e gerar renda extra ao fundo, o que ajuda a reduzir o impacto dessa taxa.


Pelo gráfico acima é possível verificar a aderência do BOVA11 em relação ao IBOVESPA ao longo do tempo. Com isso em vista, uma gama de estratégias podem ser montadas utilizando esse ETF, por exemplo, pair trading, trend following, etc. Não percam o próximo artigo!

Em média são negociados 330 papéis a cada negócio.

sábado, 6 de agosto de 2016

Metatrader 5: Regra de Cores

Position Trader
Muitas vezes recebo emails perguntando como colorir o gráfico de candlestick do Metatrader 5 a partir de uma determinada regra de cor. No CMA e no Amibroker isso é bem simples, enquanto que no MT5 a estrutura é um pouco mais avançada. Mas não pense que isso exija grande conhecimento de programação, na verdade basta ter um pouco de raciocínio lógico e curiosidade.

No site do MQL5 há vários artigos com passo a passo de como codificar um determinado recurso, mas em várias ocasiões exige-se uma maior desenvoltura com a programação e o leitor pode acabar se assustando. Com isso em mente, resolvi traduzir o código de um desses artigos para colorir candles a partir da situação do Índice de Força Relativa (IFR) trabalhar abaixo ou acima de 50%. O artigo original com todos os códigos está em https://www.mql5.com/pt/articles/135.

Aqui só destacarei as partes fundamentais e o código modificado com as explicações traduzidas ficará no grupo do Facebook de Dólar e Índice Futuro (aba: Arquivos). Então vamos lá:

Além de um buffer para armazenar os valores do indicador IFR, como iremos colorir o candlestick, é necessário criar um buffer para cada um dos seus 4 elementos (abertura, máxima, mínima e fechamento):

   SetIndexBuffer(0,buffer_abe,INDICATOR_DATA);
   SetIndexBuffer(1,buffer_max,INDICATOR_DATA);
   SetIndexBuffer(2,buffer_min,INDICATOR_DATA);
   SetIndexBuffer(3,buffer_fec,INDICATOR_DATA);

Também é necessário criar um buffer para armazenar as regras de cor (0 em caso afirmativo e 1 se for falso).

   SetIndexBuffer(4,buffer_color_line,INDICATOR_COLOR_INDEX);

Como nesse exemplo usaremos duas possibilidades, é preciso indicar essa quantidade de cores

   PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,2);

E em seguida definir quais serão essas cores que o candle terá no caso de uma determina condição ser ou não satisfeita.

   PlotIndexSetInteger(0,PLOT_LINE_COLOR,0,Red);   // satisfeita
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,1,Green);  // não satisfeita

O restante do código é o padrão usado no MQL5 e convido o leitor a abrir o código completo para o seu contínuo aprendizado. Aqui só quero destacar a condição de coloração dos candles onde a "mágica" acontece.
  • Caso a sentença seja verdadeira o buffer de cor receberá o valor zero (0)
  • Caso a sentença seja falsa o buffer de cor receberá o valor um (1)
      if(buffer_RSI[i]<50)          
        {   buffer_color_line[i]=0;   }
      else
        {  buffer_color_line[i]=1;   }  
     }


Pronto, agora você tem um código que irá colorir o seu gráfico baseado em uma regra pré-definida. A ideia é que a partir daí o leitor possa construir regras mais sofisticadas como por exemplo, três cores para identificar quando os preços estão em tendência de alta, de baixa ou em acumulação.