Stratégie d'ouverture mensuelle longue et de clôture mensuelle

Auteur:ChaoZhang est là., Date: 2023-11-02 14h23h40
Les étiquettes:

img

L'idée de base de cette stratégie est d'ouvrir une position longue le premier jour de négociation de chaque mois et de fermer une position le dernier jour de négociation du mois.

La logique de la stratégie

Cette stratégie définit d'abord le premier jour de négociation (lundi) de chaque mois comme signal d'entrée, et le dernier jour de négociation (vendredi) comme signal de sortie.

Lors de l'ouverture d'une position, il sera long directement si seul long est activé, et il ouvrira des positions longues et courtes si court est autorisé.

Lors de la clôture des positions, il clôturera toutes les positions si le short est autorisé et ne clôturera que les positions longues si le long est autorisé.

Pour contrôler les risques, un simple stop loss est également ajouté.

Dans l'ensemble, cette stratégie a une logique très simple et directe, qui est la stratégie de trading mensuelle la plus basique adaptée à la démonstration d'enseignement.

Les avantages

  1. La logique est simple et facile à comprendre, très adaptée aux débutants.

  2. Adoption d'un cycle de détention mensuel, faible fréquence d'opération, adapté aux investisseurs recherchant la stabilité.

  3. Optionnel long ou court, peut répondre aux besoins de différents styles de trading.

  4. L'ajout d'un stop loss peut contrôler les risques liés à un seul stock dans une certaine mesure.

Les risques

  1. Des délais d'entrée et de sortie fixes, impossibles à ajuster en fonction des conditions du marché, risquent d'être arbitrages.

  2. Aucun indicateur quantitatif ajouté, risque de suivre à l'aveugle.

  3. Il est facile de dépasser le stop loss unique, incapable de contrôler efficacement le risque de la queue.

  4. Taille fixe de la position, qui ne peut pas être ajustée en fonction des conditions du marché.

  5. L'incertitude de l'exécution, peut ne pas être pleinement exécuté selon la stratégie.

  6. Une méthode simple de stop loss peut entraîner un petit stop loss, devrait adopter un stop loss dynamique comme un stop volatilité.

Directions de renforcement

  1. Introduction d'indicateurs quantitatifs permettant de juger des conditions du marché et d'ajuster dynamiquement le rythme d'entrée.

  2. Considérez les indices d'analyse comparative pour déterminer la force relative des stocks en vue de leur entrée.

  3. Ajustez dynamiquement la taille de la position en fonction de la volatilité du marché et d'autres indicateurs de risque.

  4. Adopter un stop-loss dynamique, ou plusieurs niveaux de stop-loss.

  5. Ajouter un module de trading algorithmique pour assurer une exécution réussie.

  6. Optimiser la stratégie de gestion des capitaux, ajuster la position des contrats à terme de l'indice boursier pour les différents environnements de marché.

  7. Incorporer l'apprentissage automatique pour juger de la qualité des stocks pour l'entrée.

Résumé

Il s'agit d'une stratégie d'ouverture mensuelle très basique et de clôture de fin de mois. La logique est simple et facile à comprendre, adaptée aux débutants. Mais dans l'utilisation réelle, le calendrier d'entrée / sortie, les méthodes de stop loss, la taille de la position, etc. doivent être améliorés, afin de profiter de manière persistante sur les marchés complexes et en constante évolution. Nous devons bien comprendre les avantages et les inconvénients de la stratégie et continuer à améliorer le système de stratégie pour développer des solutions de trading quantitatives appropriées pour nous-mêmes.


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Je_Buurman September 1st 2020

//@version=4
strategy("Buurmans Tutorial", overlay=true, initial_capital=1000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.2)

// Some initial inputs, these are needed in case the strategy returns an error of "too many trades, > 3000" 

Year    = input(defval = 2020, title = "From Year", minval = 2010)              // 
Month   = input(defval = 1, title = "From Month", minval = 1, maxval=12)
LongOnly=input(true, title="Only go Long?")


// Phase I - the initial "Strategy" - buy Monday, sell Friday

longCondition = dayofweek==dayofweek.monday and (time > timestamp(Year, Month, 01, 00, 00, 00))
shortCondition = dayofweek==dayofweek.friday and (time > timestamp(Year, Month, 01, 23, 59, 59))


// Phase II - some rudimentary "risk-management" e.g. stoploss

Use_stoploss=input(false, title="Use stoploss ?")
stoploss_input=input(150, title="Stoploss in $")
Stoploss = Use_stoploss ? strategy.position_size>0 ? iff(strategy.position_size>0,strategy.position_avg_price - stoploss_input, na) : strategy.position_size<0 ? iff(strategy.position_size<0,strategy.position_avg_price + stoploss_input, na) : na : na
plot(Use_stoploss and strategy.position_size!=0 ? Stoploss : na, color=iff(Stoploss!=na,color.silver, color.red),style=plot.style_linebr)


// Phase III - make it more profitable by trying to filter conditions
// only buy on odd Mondays ? only buy on full moon Mondays ? something else entirely ?


// The actual trades, going Long, close Long, going Short and Stoploss

if (longCondition)
    strategy.entry("Buy on Monday", strategy.long)
    
if (shortCondition and LongOnly==false)
    strategy.entry("Short on Friday", strategy.short)

if (shortCondition and LongOnly)
    strategy.close("Buy on Monday", comment="Sell on Friday")

if (low < Stoploss)
    strategy.close("Buy on Monday", comment="Long Stopped on Someday")
if (high > Stoploss)
    strategy.close("Short on Friday", comment="Short Stopped on Someday")

Plus de