Stratégie de régression des valeurs extrêmes des prix basée sur la distribution binomiale


Date de création: 2023-09-13 16:47:22 Dernière modification: 2023-09-13 16:47:22
Copier: 0 Nombre de clics: 620
1
Suivre
1617
Abonnés

Cette stratégie est appelée la stratégie de régression de la valeur maximale du prix basée sur une distribution binaire. Cette stratégie utilise une fonction de distribution binaire pour déterminer la probabilité d’un renversement du prix et définit une stratégie de double alignement EMA pour générer un signal de transaction.

La logique de calcul de la stratégie est la suivante:

  1. Calculer le nombre d’augmentations de prix de clôture sur les 20 dernières lignes K et calculer le pourcentage de cycles d’augmentation sur les 100 dernières lignes K p。

  2. Le nombre de cycles d’addiction et la probabilité p sont introduits dans une fonction de distribution binaire pour calculer la fonction de distribution cumulative ((CDF)).

  3. Les EMA moyens sont calculés sur les jours 10 et 20 pour le CDF respectivement. Lorsqu’une ligne rapide traverse une ligne lente, on considère qu’il y a une plus grande probabilité que le prix revienne à la valeur maximale, ce qui génère un signal d’achat.

  4. Lorsque la ligne rapide traverse la ligne lente, le prix peut être à un sommet à court terme, ce qui génère un signal de vente.

L’avantage de cette stratégie est de déterminer le moment de retour maximal du prix par la méthode de probabilité. Cependant, les paramètres doivent être ajustés en fonction du marché pour éviter de générer trop de faux signaux.

En général, les méthodes statistiques aident à découvrir objectivement les règles de comportement des prix. Mais, en fin de compte, les traders doivent garder un jugement aigu sur le marché et utiliser correctement les indicateurs techniques comme outils auxiliaires.

Code source de la stratégie
/*backtest
start: 2022-09-06 00:00:00
end: 2023-05-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © pieroliviermarquis

//@version=4
strategy("Binomial Strategy", overlay=false, default_qty_type= strategy.percent_of_equity, default_qty_value= 100, slippage=1, initial_capital= 10000, calc_on_every_tick=true)


factorial(length) =>
    n = 1
    if length != 0
        for i = 1 to length
            n := n * i
    n


binomial_pdf(success, trials, p) =>
    q = 1-p
    coef = factorial(trials) / (factorial(trials-success) * factorial(success))
    pdf = coef * pow(p, success) * pow(q, trials-success)
        
        
binomial_cdf(success, trials, p) =>
    q = 1-p
    cdf = 0.0
    for i = 0 to success
        cdf := cdf + binomial_pdf(i, trials, p)
        

up = close[0] > close[1] ? 1 : 0


//long-term probabilities
lt_lookback = 100
lt_up_bars = sum(up, lt_lookback)
prob = lt_up_bars/lt_lookback


//lookback for cdf
lookback = 20
up_bars = sum(up, lookback)
cdf = binomial_cdf(up_bars, lookback, prob)


//ema on cdf
ema1 = ema(cdf, 10)
ema2 = ema(cdf, 20)


plot(cdf*100)
plot(ema1*100, color=color.red)
plot(ema2*100, color=color.orange)


buy = ema1 > ema2
sell = ema1 < ema2


//////////////////////Bar Colors//////////////////

var color buy_or_sell = na

if buy == true
    buy_or_sell := #3BB3E4
else if sell == true
    buy_or_sell := #FF006E
    
barcolor(buy_or_sell)

///////////////////////////Orders////////////////

if buy
    strategy.entry("Long", strategy.long, comment="")

if sell
    strategy.close("Long", comment="Sell")