Stratégie de couverture à long terme

Auteur:ChaoZhang est là., Date: le 14 septembre 2023 à 16h56
Les étiquettes:

La logique de la stratégie

Cette stratégie détermine l'allocation et la couverture des actifs en fonction des tendances à long terme.

La logique est la suivante:

  1. Sélection d'un actif de base, période de moyenne mobile et résolution

  2. Calcul de la moyenne mobile simple de l'actif

  3. Le prix dépassant MA indique une hausse à long terme, le titre est long

  4. Le prix dépassant le niveau MA indique une baisse à long terme, une réduction de l'actif

  5. Peut également être utilisé uniquement en long ou en court

  6. Jugez la tendance à long terme en utilisant le prix de l'actif par rapport à son MA

  7. Prendre une position opposée pour couvrir les fluctuations à court terme

La stratégie couvre les risques à court terme et se concentre sur la tendance séculaire de l'actif, permettant des gains stables.

Les avantages

  • Système simple d'AM pour déterminer la tendance à long terme

  • L'appariement long/court couvre efficacement les risques systémiques

  • Signaux clairs longs et courts

Les risques

  • MA est à la traîne par rapport aux mouvements de prix

  • Coûts de détention des positions à long terme

  • Besoins de gestion des risques à plusieurs niveaux

Résumé

Cette stratégie couvre en utilisant des combinaisons d'actifs à long terme et à court terme, en mettant l'accent sur la gestion des risques.


/*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)

Plus de