जब स्थैतिक नियम विफल हो गए तो मशीन लर्निंग ने मेरी जान बचाई
एल्गोरिदमिक ट्रेडिंग के बारे में कोई आपको यह नहीं बताता: दुनिया की सबसे अच्छी रणनीति भी बेकार हो जाती है जब बाजार का शासन बदल जाता है। मैंने यह फरवरी 2018 में महंगा सबक सीखा जब मेरी मीन रिवर्जन प्रणाली — जो लगातार 3 वर्षों से लाभदायक थी — VIX विस्फोट के दौरान 8 दिनों में 23% गिर गई।
Two Sigma में हमारी एक कहावत थी: "बाजारों की याददाश्त होती है, लेकिन वे सिज़ोफ्रेनिक भी होते हैं।" अपनी पूंजी से ट्रेड करने के लिए छोड़ने के बाद, मैंने 18 महीने वह बनाने में बिताए जो मेरा रेजीम डिटेक्शन फ्रेमवर्क बन गया। इसलिए नहीं कि मैं चाहता था — बल्कि इसलिए कि मुझे करना ही था।
पारंपरिक तरीका? विभिन्न बाजार स्थितियों के लिए अलग-अलग रणनीतियों को हार्ड-कोड करना। समस्या? जब तक आपको पता चलता है कि शासन बदल गया है, तब तक आपका P&L पहले ही खून बहा चुका होता है। वास्तविक रेजीम डिटेक्शन मूव से पहले होता है, बाद में नहीं।

हिडन मार्कोव मॉडल जिसने सब कुछ बदल दिया
मार्च 2020। जब हर कोई बहस कर रहा था कि क्या COVID "सिर्फ एक फ्लू" है, मेरे रेजीम डिटेक्शन मॉडल ने कुछ दिलचस्प किया — यह 21 फरवरी को "ट्रेंडिंग" से "क्राइसिस" मोड में बदल गया, वास्तविक क्रैश से पूरे 10 दिन पहले। ऐसा इसलिए नहीं कि इसने महामारी की भविष्यवाणी की, बल्कि इसलिए कि बाजार की माइक्रोस्ट्रक्चर पहले से ही चिल्ला रही थी।
यहाँ वह सरलीकृत संस्करण है जिसने मेरे पोर्टफोलियो को बचाया:
def detect_regime(features):
# फीचर्स: वोलैटिलिटी अनुपात, सहसंबंध मैट्रिक्स, वॉल्यूम पैटर्न
regime_probabilities = hmm_model.predict_proba(features)
if regime_probabilities['crisis'] > 0.7:
return 'defensive'
elif regime_probabilities['trending'] > 0.6:
return 'momentum'
else:
return 'mean_reversion'
जादू मॉडल में नहीं है — यह फीचर्स में है। अधिकांश रेजीम डिटेक्शन विफल होता है क्योंकि लोग इसे गलत इनपुट देते हैं। मूविंग एवरेज? बेकार। RSI? और भी बुरा। आपको ऐसे फीचर्स चाहिए जो बाजार की माइक्रोस्ट्रक्चर को कैप्चर करें:
- एकाधिक टाइमफ्रेम पर रियलाइज्ड/इम्प्लाइड वोलैटिलिटी अनुपात
- क्रॉस-एसेट सहसंबंध मैट्रिक्स (जब बॉन्ड और स्टॉक एक साथ चलते हैं, तो शासन बदल रहे होते हैं)
- ऑर्डर फ्लो असंतुलन की दृढ़ता (दिशात्मक दबाव कितने समय तक रहता है)
- इंट्राडे वोलैटिलिटी क्लस्टरिंग (डर दैनिक से पहले 15 मिनट के बार में दिखाई देता है)
मेरा वर्तमान मॉडल 47 फीचर्स का उपयोग करता है, लेकिन ये चार रेजीम वर्गीकरण सटीकता के 71% के लिए जिम्मेदार हैं।

तीन रेजीम स्टेट्स जो वास्तव में मायने रखते हैं
7 विभिन्न बाजार शासनों के बारे में बात करने वाले अकादमिक पेपरों को भूल जाइए। फ्यूचर्स, फॉरेक्स और क्रिप्टो में 8 साल के टिक डेटा को प्रोसेस करने के बाद, केवल तीन शासन वास्तव में आपके P&L को प्रभावित करते हैं:
1. मोमेंटम रेजीम (38% बाजार समय)
38.2% फाइबोनैचि से कम पुलबैक के साथ लगातार दिशात्मक चालों द्वारा विशेषता। सहसंबंध सकारात्मक रहते हैं, वोलैटिलिटी धीरे-धीरे बढ़ती है। यह तब होता है जब ट्रेंड फॉलोइंग पैसा प्रिंट करता है। मेरे मोमेंटम एल्गोस यहाँ पूर्ण पोजीशन साइज पर चलते हैं।
2. मीन रिवर्जन रेजीम (49% बाजार समय)
अधिकांश एल्गो ट्रेडर्स के लिए रोटी और मक्खन। वोलैटिलिटी सिकुड़ती है, रेंज होल्ड होती है, सहसंबंध मीन-रिवर्ट होते हैं। लेकिन यहाँ एक पकड़ है — इस शासन के दो उप-अवस्थाएँ हैं जिन्हें मैं "स्वस्थ चॉप" और "संपीड़ित स्प्रिंग" कहता हूँ। बाद वाला हिंसक चालों से पहले होता है।
3. क्राइसिस रेजीम (13% बाजार समय)
सभी सहसंबंध 1 या -1 पर चले जाते हैं। वोलैटिलिटी फट जाती है। लिक्विडिटी गायब हो जाती है। पारंपरिक रणनीतियाँ सिर्फ कम प्रदर्शन नहीं करतीं — वे विस्फोट करती हैं। संकट शासन के दौरान, मैं पोजीशन साइज को 75% तक कम कर देता हूँ और केवल वोलैटिलिटी आर्बिट्रेज पर स्विच करता हूँ।
मुख्य अंतर्दृष्टि? शासन क्लस्टर करते हैं। संकट 73% समय संपीड़न का अनुसरण करता है। मोमेंटम 67% समय संकट का अनुसरण करता है। यह अनुक्रम आपको एक बढ़त देता है।
अपना खुद का रेजीम डिटेक्शन सिस्टम बनाना
मुझे आपको 6 महीने के परीक्षण और त्रुटि से बचाने दें। यहाँ वह फ्रेमवर्क है जो वास्तव में प्रोडक्शन में काम करता है:
class RegimeDetector:
def __init__(self, lookback=252, retrain_frequency=30):
self.features = ['vol_ratio', 'correlation_eigenvalue',
'flow_persistence', 'intraday_clustering']
self.model = HiddenMarkovModel(n_states=3)
self.scaler = RobustScaler() # आउटलायर्स को बेहतर संभालता है
def calculate_features(self, data):
# यहाँ जादू होता है
features = {}
# वोलैटिलिटी रेजीम
features['vol_ratio'] = data['realized_vol'] / data['implied_vol']
# सहसंबंध संरचना
corr_matrix = calculate_rolling_correlation(data, window=21)
features['correlation_eigenvalue'] = np.max(np.linalg.eigvals(corr_matrix))
# माइक्रोस्ट्रक्चर
features['flow_persistence'] = calculate_order_flow_autocorrelation(data)
return self.scaler.transform(features)
महत्वपूर्ण भाग जो अधिकांश ट्यूटोरियल छोड़ देते हैं:
- StandardScaler नहीं, RobustScaler का उपयोग करें। बाजार डेटा में मोटी पूंछ होती है जो सामान्य मानकीकरण को तोड़ देती है।
- दैनिक नहीं, मासिक रीट्रेन करें। रेजीम मॉडल शोर पर ओवरफिटिंग के प्रति संवेदनशील होते हैं।
- अधिकतम 3 स्टेट्स से शुरू करें। अधिक स्टेट्स = इन-सैंपल प्रदर्शन के साथ खुद को मूर्ख बनाने के अधिक तरीके।

ओवरफिटिंग ट्रैप जो अधिकांश ML ट्रेडर्स को मारता है
यहाँ मैं ML प्रचारकों को नाराज करने वाला हूँ: ट्रेडिंग में अधिकांश मशीन लर्निंग विस्तृत कर्व-फिटिंग है। मैंने 93% इन-सैंपल सटीकता वाले मॉडल बनाए हैं जिन्होंने प्रोडक्शन में पैसा खो दिया। क्यों? उन्होंने शोर सीखा, सिग्नल नहीं।
मेरे पहले रेजीम डिटेक्शन मॉडल में 200+ फीचर्स थे और न्यूरल नेटवर्क के एक जटिल एन्सेम्बल का उपयोग किया था। यह 2008 के संकट की पूरी तरह से "भविष्यवाणी" कर सकता था। बैकटेस्टिंग में। लाइव ट्रेडिंग में? यह हर दूसरे दिन शासनों के बीच झूलता रहा, अल्फा से अधिक लेनदेन लागत उत्पन्न करता रहा।
समाधान कम ML नहीं है — यह स्मार्ट ML है:
- फीचर इंजीनियरिंग > मॉडल जटिलता। बेहतरीन फीचर्स वाला एक सरल HMM कचरा इनपुट वाले न्यूरल नेटवर्क को हराता है।
- वॉक-फॉरवर्ड वैलिडेशन गैर-परक्राम्य है। 2019-2020 पर ट्रेन करें, 2021 पर वैलिडेट करें, 2022 पर टेस्ट करें। यदि यह विभिन्न बाजार चक्रों में सामान्यीकृत नहीं होता है, तो यह बेकार है।
- रेजीम स्थिरता सटीकता से अधिक मायने रखती है। हर वोलैटिलिटी स्पाइक पर पलटने से बेहतर है कि शासनों का देर से पता लगाएं लेकिन उनमें बने रहें।
मेरा वर्तमान मॉडल 20% सैद्धांतिक सटीकता का त्याग करता है 80% अधिक स्थिरता के लिए। यह व्यापार पैसा प्रिंट करता है।
लाइव ट्रेडिंग परिणाम: अच्छा, बुरा और बदसूरत
पिछले 18 महीनों में मेरी रेजीम-अनुकूली रणनीतियों से वास्तविक संख्याओं के बारे में बात करते हैं:
अच्छा: अक्टूबर 2024 ट्रेजरी वोलैटिलिटी स्पाइक के दौरान, रेजीम डिटेक्टर 2 दिन पहले संकट मोड में बदल गया। परिणाम? +8.7% जबकि बाय-एंड-होल्ड ने 12% खो दिया।
बुरा: गर्मियों 2024 के "चॉप ज़ोन" के दौरान झूठे सिग्नलों ने 7 अनावश्यक रेजीम स्विच का कारण बना। प्रत्येक स्विच की लागत लगभग 0.3% लेनदेन लागत और स्लिपेज है। यह -2.1% डेड वेट लॉस है।
बदसूरत: मॉडल पूरी तरह से जनवरी 2025 क्रिप्टो फ्लैश क्रैश से चूक गया। क्यों? क्रिप्टो माइक्रोस्ट्रक्चर पारंपरिक बाजारों से भिन्न है, और मेरे फीचर्स फ्यूचर्स डेटा पर कैलिब्रेट किए गए थे। मैन्युअल ओवरराइड से पहले 4.2% खो दिया। सीखा सबक — रेजीम डिटेक्शन सभी एसेट क्लासेज में एक-आकार-फिट-सभी नहीं है।
समग्र प्रदर्शन: +31.4% बनाम स्थैतिक रणनीतियों के लिए +19.2%। लेकिन वास्तविक मूल्य अतिरिक्त रिटर्न नहीं है — यह बेहतर नींद है यह जानते हुए कि जब बाजार पागल हो जाते हैं तो मेरे एल्गोस अनुकूलित हो जाते हैं।
वास्तविक ट्रेडिंग सिस्टम के साथ एकीकरण
सिद्धांत अच्छा है। कार्यान्वयन वह है जो बिलों का भुगतान करता है। यहाँ बताया गया है कि रेजीम डिटेक्शन वास्तविक ट्रेडिंग इंफ्रास्ट्रक्चर के साथ कैसे एकीकृत होता है:
# जोखिम प्रबंधन परत
position_size = base_size * regime_risk_multiplier[current_regime]
if current_regime == 'momentum':
active_strategies = ['trend_following', 'breakout']
disable_strategies(['mean_reversion', 'arbitrage'])
elif current_regime == 'mean_reversion':
active_strategies = ['range_trading', 'pairs']
disable_strategies(['trend_following'])
else: # crisis
active_strategies = ['volatility_arb']
reduce_all_positions(0.25)
महत्वपूर्ण कार्यान्वयन विवरण:
- रेजीम ट्रांज़िशन को बफ़र्स की आवश्यकता होती है। पहले सिग्नल पर रणनीतियाँ न बदलें — पुष्टि के 2-3 लगातार अवधियों की आवश्यकता है।
- रणनीति परिवर्तन से पहले पोजीशन साइजिंग समायोजित होती है। पहले जोखिम कम करें, बाद में सवाल पूछें।
- हमेशा एक "रेजीम-न्यूट्रल" हेज बनाए रखें। मेरा अनिश्चितता के दौरान लंबी वोलैटिलिटी है।
FibAlgo के संकेतकों का उपयोग करने वाले ट्रेडर्स के लिए, मल्टी-टाइमफ्रेम सिग्नल वास्तव में रेजीम डिटेक्शन के पूरक हैं — वे यह पुष्टि करने में मदद करते हैं कि दैनिक चार्ट के पकड़ने से पहले छोटे टाइमफ्रेम रेजीम शिफ्ट के साथ कब संरेखित होने लगते हैं।

सामान्य विफलता मोड और उनसे कैसे बचें
मुझे आपको उन गलतियों से बचाने दें जिनकी मुझे छह अंकों की लागत आई:
विफलता मोड 1: फीचर लीकेज
वोलैटिलिटी शासनों का पता लगाने के लिए इम्प्लाइड वोलैटिलिटी का उपयोग करना तब तक स्मार्ट लगता है जब तक आपको यह एहसास न हो कि IV पहले से ही रेजीम अपेक्षाओं में मूल्य निर्धारित करता है। आप अतीत की भविष्यवाणी कर रहे हैं। रियलाइज्ड मेट्रिक्स और माइक्रोस्ट्रक्चर से चिपके रहें।
विफलता मोड 2: रेजीम ट्रांज़िशन व्हिपसॉ
बाजार साफ-सुथरे तरीके से शासन नहीं बदलते। हमेशा एक गड़बड़ संक्रमण अवधि होती है। मेरा समाधान? एक "ट्रांज़िशन स्टेट" जो नए शासन के स्थिर होने तक पोजीशन को न्यूनतम रखता है।
विफलता मोड 3: एसेट-विशिष्ट कैलिब्रेशन
S&P फ्यूचर्स पर प्रशिक्षित एक रेजीम डिटेक्टर फॉरेक्स पर शानदार ढंग से विफल होगा। प्रत्येक एसेट क्लास की अद्वितीय माइक्रोस्ट्रक्चर होती है। अलग-अलग मॉडल बनाएं या सावधानी से ट्रांसफर लर्निंग का उपयोग करें।
विफलता मोड 4: मैक्रो घटनाओं को अनदेखा करना
किसी भी ML मॉडल ने Brexit या स्विस फ्रैंक डीपेग की भविष्यवाणी नहीं की। रेजीम डिटेक्शन आपको तेजी से प्रतिक्रिया करने में मदद करता है, ब्लैक स्वान की भविष्यवाणी करने में नहीं। "असंभव" घटनाओं के लिए हमेशा सर्किट ब्रेकर बनाए रखें।
अनुकूली ट्रेडिंग का भविष्य
रेजीम डिटेक्शन सिस्टम बनाने और तोड़ने के 8 वर्षों के बाद, यहाँ मेरा विपरीत दृष्टिकोण है: भविष्य अधिक जटिल मॉडल नहीं है — यह सरल मॉडल है जो तेजी से अनुकूलित होते हैं।
बाजार उच्च-आवृत्ति स्तर पर अधिक कुशल हो रहे हैं लेकिन दैनिक/साप्ताहिक स्तर पर अधिक रेजीम-निर्भर हो रहे हैं। केंद्रीय बैंक हस्तक्षेप, एल्गोरिदमिक झुंड, निष्क्रिय प्रवाह प्रभुत्व — ये विशिष्ट शासन बनाते हैं जिनका सरल अनुकूली सिस्टम शोषण कर सकते हैं।
मेरा अगला प्रोजेक्ट? रेजीम ट्रांज़िशन की पूरी तरह से प्रकट होने से पहले भविष्यवाणी करने के लिए लिक्विडिटी-भारित विश्लेषण के साथ रेजीम डिटेक्शन को संयोजित करना। प्रारंभिक परिणाम प्रमुख बदलावों पर 4-6 घंटे का लीड टाइम दिखाते हैं।
2026 में बढ़त सबसे अच्छा मॉडल होने में नहीं है — यह एक ऐसा मॉडल होने में है जो स्वीकार करता है कि वह गलत है और अनुकूलित होता है। स्थैतिक रणनीतियाँ मृत हैं। यदि आप अनुकूली व्यवहार को कोड नहीं कर सकते, तो आप कल के बाजारों में कल के उपकरणों के साथ ट्रेड कर रहे हैं।
आपके अगले कदम
सरल शुरुआत करें। न्यूरल नेटवर्क को भूल जाइए और रिजीम की मूल बातों पर ध्यान दीजिए:
- अपने मुख्य ट्रेडिंग इंस्ट्रूमेंट के लिए रोलिंग 20-दिवसीय रियलाइज़्ड/इम्प्लाइड वोलैटिलिटी अनुपात की गणना करें
- जब अनुपात अपने 90-दिवसीय मूविंग एवरेज को पार करे तो रिजीम ट्रांज़िशन को प्लॉट करें
- परीक्षण करें कि आपकी मौजूदा रणनीति प्रत्येक रिजीम में कैसा प्रदर्शन करती है
- रिजीम के आधार पर पोज़िशन साइज़िंग एडजस्टमेंट लागू करें (अभी रणनीति में बदलाव न करें)
- यह काम करने के बाद ही, अधिक परिष्कृत सुविधाएँ और मॉडल जोड़ें
याद रखें: रिजीम डिटेक्शन एक टूल है, कोई रणनीति नहीं। यह बताता है कि कब कौन सी रणनीतियाँ चलानी हैं। अल्फा प्रत्येक रिजीम के लिए अच्छी रणनीतियाँ रखने और उनके बीच व्यवस्थित रूप से स्विच करने के अनुशासन से आता है।
बाज़ार और अजीब होते जाएंगे। आपके ट्रेडिंग सिस्टम को अनुकूलन के लिए तैयार रहना होगा, अन्यथा आप उन शानदार रणनीतियों के कब्रिस्तान में शामिल हो जाएंगे जो तब तक काम करती रहीं जब तक उन्होंने काम करना बंद नहीं किया। टू सिग्मा में हमारी एक और कहावत थी: "बाज़ार को आपके P&L से कोई मतलब नहीं है।" लेकिन उचित रिजीम डिटेक्शन के साथ, कम से कम आप ट्रक को आपसे टकराने से पहले देख पाएंगे।


