Estratégia de cobertura a longo prazo

Autora:ChaoZhang, Data: 14 de setembro de 2023 16:56:34
Tags:

Estratégia lógica

Esta estratégia determina a alocação e a cobertura de ativos com base nas tendências de longo prazo.

A lógica é:

  1. Selecionar um ativo base, período de média móvel e resolução

  2. Calcular a média móvel simples do activo

  3. O cruzamento do preço acima do MA sinaliza alta a longo prazo, vá longo o ativo

  4. O cruzamento do preço abaixo do MA sinaliza uma baixa a longo prazo, a curto prazo do ativo

  5. Também pode ser só longo ou só curto

  6. Julgar a tendência a longo prazo utilizando o preço do ativo em relação ao seu MA

  7. Assumir uma posição oposta para cobrir flutuações de curto prazo

A estratégia cobre riscos de curto prazo e concentra-se na tendência secular do activo, permitindo ganhos constantes.

Vantagens

  • Sistema de MA simples para determinar a tendência a longo prazo

  • A combinação longa/curta cobre eficazmente os riscos sistémicos

  • Sinais claros de longo e curto prazo

Riscos

  • MA está atrasado em relação aos movimentos de preços

  • Custos de detenção de posições de longo prazo

  • Necessidades de gestão de riscos em várias etapas

Resumo

Esta estratégia utiliza combinações de activos a longo e curto prazo, com ênfase na gestão de riscos.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © danilogalisteu

//@version=4
strategy("Long Term L/S", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

base = input("BMFBOVESPA:IBOV")
period = input(5, 'SMA Period', input.integer)
resolution = input(title="SMA Resolution", type=input.resolution, defval='M')
strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"])
strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1

base_cl = security((base), resolution, close)
base_ma = sma(base_cl, period)

longCondition = crossover(base_cl, base_ma)
if (longCondition)
    if strat_val > -1
        strategy.entry("LONG", strategy.long)
    if strat_val < 1
        strategy.close("SHORT")

shortCondition = crossunder(base_cl, base_ma)
if (shortCondition)
    if strat_val > -1
        strategy.close("LONG")
    if strat_val < 1
        strategy.entry("SHORT", strategy.short)

//plot(longCondition?1:0, 'L', color.blue)
//plot(shortCondition?-1:0, 'S', color.red)

Mais.