
रणनीति एक मिश्रित मात्रात्मक विश्लेषण पद्धति का उपयोग करती है, जो विभिन्न बाजार स्थितियों की पहचान करने के लिए दो वितरण मॉडल और रिग्रेशन विश्लेषण को जोड़ती है। रणनीति सबसे पहले सरल चलती औसत (एसएमए) और ब्रीज बैंड (बीबी) के संकेतकों की गणना करती है, और फिर ऐतिहासिक रिटर्न के आधार पर औसत और मानक अंतर के आधार पर एक Z स्कोर की गणना करती है। रणनीति अधिक स्थिति खोलती है जब Z स्कोर नीचे की ओर होता है और कीमत नीचे की ओर होती है; रणनीति फ्लैट होती है जब Z स्कोर ऊपर की ओर होती है और कीमत ऊपर की ओर होती है।
इस रणनीति का मुख्य सिद्धांत वर्तमान रिटर्न को ऐतिहासिक रिटर्न के वितरण के स्थान के सापेक्ष मापने के लिए Z स्कोर का उपयोग करना है। Z स्कोर के लिए गणना सूत्र हैः ((वर्तमान रिटर्न - ऐतिहासिक रिटर्न का औसत) / ऐतिहासिक रिटर्न मानक अंतर। Z स्कोर जितना अधिक है, वर्तमान रिटर्न चरम से अधिक है, ओवरबॉय की संभावना अधिक है; Z स्कोर जितना कम है, वर्तमान रिटर्न चरम से अधिक है, ओवरसेलिंग की संभावना अधिक है। साथ ही, रणनीति ब्रिलिन बैंड सूचक के साथ भी जुड़ी हुई है, जो कीमतों को तोड़ने के लिए नीचे की ओर जाता है।
एक मिश्रित द्विध्रुवीय Z स्कोर क्वांटिटेशन रणनीति एक सांख्यिकीय सिद्धांतों पर आधारित एक क्वांटिटेशन ट्रेडिंग रणनीति है, जो संभावित ओवरबॉट और ओवरसोल अवसरों की पहचान करने के लिए वर्तमान रिटर्न और ऐतिहासिक रिटर्न वितरण की तुलना करती है। साथ ही, रणनीति ब्रिन बैंड सूचकांक का उपयोग करती है, जो सिग्नल की विश्वसनीयता को बढ़ाता है। रणनीति नियम स्पष्ट हैं, उन्हें लागू करना और अनुकूलित करना आसान है, लेकिन साथ ही साथ पैरामीटर संवेदनशील, रुझान जोखिम, ओवरफिट जोखिम और अन्य चुनौतियों का सामना करना पड़ता है। भविष्य में रणनीति को गतिशील पैरामीटर, रुझान फ़िल्टर, संयोजन अनुकूलन, स्टॉप लॉस और स्टॉप डाउन से अनुकूलित किया जा सकता है ताकि इसकी अनुकूलता और स्थिरता को बढ़ावा दिया जा सके। कुल मिलाकर, यह रणनीति क्वांटिटेशन ट्रेडिंग के लिए एक सरल और प्रभावी विचार प्रदान करती है, जो आगे की खोज और सुधार के लायक है।
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estratégia Híbrida Quantitativa", overlay=true)
// Definição de parâmetros
sma_length = input.int(20, title="Período da SMA")
threshold_high = input.float(1.5, title="Threshold Alto")
threshold_low = input.float(-1.5, title="Threshold Baixo")
lookback_period = input.int(252, title="Período de Retorno Histórico (dias)")
// Funções auxiliares
f_sma(source, length) =>
ta.sma(source, length)
f_bollinger_band(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
[basis + dev, basis - dev]
// Cálculo dos indicadores
sma = f_sma(close, sma_length)
[upper_band, lower_band] = f_bollinger_band(close, sma_length, 2)
// Regime de Mercado: Binomial
retornos = ta.change(close, 1)
media_retornos = ta.sma(retornos, lookback_period)
desvio_padrao_retornos = ta.stdev(retornos, lookback_period)
// Indicador de Regime: Z-Score
z_score = (retornos - media_retornos) / desvio_padrao_retornos
// Sinal de Compra e Venda
sinal_compra = z_score < threshold_low and close < lower_band
sinal_venda = z_score > threshold_high and close > upper_band
// Execução de Ordem
if (sinal_compra)
strategy.entry("Long", strategy.long)
if (sinal_venda)
strategy.close("Long")
// Plotagem dos Indicadores
plot(sma, title="SMA", color=color.blue)
plot(upper_band, title="Upper Bollinger Band", color=color.red)
plot(lower_band, title="Lower Bollinger Band", color=color.green)
hline(threshold_high, "Threshold Alto", color=color.red, linestyle=hline.style_dashed)
hline(threshold_low, "Threshold Baixo", color=color.green, linestyle=hline.style_dashed)
plot(z_score, title="Z-Score", color=color.purple)