
La stratégie d’inversion de la marge de différence consiste à calculer le ratio entre les options souscrites à la hausse et les options souscrites à la baisse, également connu sous le nom de ratio des options à la hausse et des options à la baisse, qui génère un signal de transaction lorsque ce ratio est inversé. La stratégie est combinée à des règles simples de gestion de fonds pour réaliser un profit.
L’indicateur central de cette stratégie est la moyenne du ratio des options à la hausse et à la baisse et son écart-type. Comptez d’abord la moyenne du ratio des options à la baisse et à la hausse sur les 20 derniers jours, puis le écart-type de ce ratio sur les 30 derniers jours. Faites plus lorsque la moyenne du ratio de traversée est augmentée de 1,5 fois le écart-type; faites zéro lorsque la moyenne du ratio de traversée est diminuée de 1,5 fois le écart-type.
Si le ratio revient au-dessus de la moyenne après avoir fait un gain, il est nécessaire de liquider la position de clôture. La ligne de stop-loss est définie comme étant 1% du prix d’ouverture. La ligne de stop-loss est définie comme étant 3 fois la distance de stop-loss du prix d’ouverture.
Le plus grand avantage de cette stratégie réside dans la capture des points de retournement de l’humeur du marché. Lorsque le marché est trop pessimiste ou trop optimiste, le ratio d’options à la hausse ou à la baisse devient anormal, et un contre-opération permet de capturer des opportunités de retournement partiel. De plus, les règles de gestion des fonds définissent des arrêts et des arrêts de perte, ce qui permet de contrôler efficacement les risques et les gains d’une seule transaction.
Le principal risque de cette stratégie réside dans le paramétrage. Un paramétrage incorrect peut entraîner un signal de transaction trop fréquent, ce qui empêche de saisir des opportunités de reprise plus importantes. De plus, le signal de reprise peut être faussement détecté, ce qui entraîne des pertes.
Il est possible d’envisager d’ajouter d’autres indicateurs pour vérifier les signaux de revers et éviter d’être induits en erreur par les faux rebonds. Par exemple, il est possible d’ajouter un indicateur de volume de transactions, qui ne prend en compte les signaux de revers que lorsque le volume de transactions augmente. Il est également possible d’ajouter certains indicateurs de tendance, afin d’éviter les opérations de revers.
Cette stratégie tente de capturer les revers du marché en calculant le ratio d’options d’achat et de vente et en combinant de simples principes de gestion de fonds. Son avantage réside dans la possibilité de saisir les occasions de revers locaux, mais il existe également un risque d’être induit en erreur par de faux rebond. La stabilité et la rentabilité de la stratégie peuvent être améliorées par des paramètres optimisés, l’ajout d’indicateurs de vérification supplémentaires, etc.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 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/
// © I11L
//@version=5
strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash)
SL = input.float(0.01,step=0.01)
CRV = input.float(3)
TP = SL * CRV
len = input.int(30,"Lookback period in Days",step=10)
ratio_sma_lookback_len = input.int(20,step=10)
mult = input.float(1.5,"Standard Deviation Multiple")
ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len)
median = ta.sma(ratio_sma,len)
standartDeviation = ta.stdev(ratio_sma,len)
upperDeviation = median + mult*standartDeviation
lowerDeviation = median - mult*standartDeviation
isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone
isCloseShort = (ratio_sma > median and strategy.position_size < 0)
isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0)
isSell = ta.crossover(ratio_sma,lowerDeviation)
isTP = strategy.position_avg_price * (1 + TP) < high
if(isBuy)
strategy.entry("Long", strategy.long)
if(isCloseShort)
strategy.exit("Close Short",limit=close)
if(isSL)
strategy.exit("SL",limit=close)
if(isTP)
strategy.exit("TP",limit=close)
plot(ratio_sma,color=color.white)
plot(median,color=color.gray)
plot(upperDeviation,color=color.rgb(0,255,0,0))
plot(lowerDeviation,color=color.rgb(255,0,0,0))
bgcolor(isBuy?color.rgb(0,255,0,90):na)
bgcolor(isSell?color.rgb(255,0,0,90):na)