एक असली NIFTY 15-मिनट ML बिल्ड से रिसर्च नोट्स। कोई मुनाफे का दावा नहीं — बस लेबलिंग मैकेनिक्स जो तय करती है कि आपका मॉडल सिग्नल सीखेगा या नॉइज़।
लेबलिंग मॉडल से ज्यादा मायने रखती है
ज्यादातर बिगिनर्स XGBoost हाइपरपैरामीटर्स पर पागल होते हैं। असल में, **लेबल गेम डिफाइन करती है**। मॉडल उतना ही अच्छा हो सकता है जितना सवाल आप उससे पूछते हैं। ट्रिपल बैरियर लेबलिंग स्टैंडर्ड तरीका है "प्राइस अप या डाउन?" जैसे नेवि सवाल की जगह *पाथ-अवेयर* सवाल पूछने का।
तीन बैरियर्स
हर एंट्री बार के क्लोज `c` पर, ATR `a` के साथ:
लेबल तय होता है **कौन सी बैरियर पहले टच होती है**:
तीन वेरिएंट्स हमने टेस्ट किए
| वेरिएंट | SL | TP | डिस्ट्रीब्यूशन (+1/−1/0) |
|||||
| `label_atr` | 0.6 ATR | 1.8 ATR (TP1), 3.0 ATR (TP2) | 18.6% / 65.8% / 15.7% |
| `label_sr` | min(range_low, 0.6 ATR) | max(range_high, 1.8 ATR) | 37.2% / 37.7% / 25.1% |
| `label_blended` | min(0.6 ATR, range_low) | max(1.8 ATR, range_high) | 23.3% / 41.3% / 35.4% |
`label_atr` सबसे इम्बैलेंस्ड सेट देता है (सिर्फ 18.6% विनर्स) — क्रूर लेकिन साफ़। `label_sr` रेंज बाउंड्स इस्तेमाल करता है, 37/37/25 बैलेंस्ड स्प्लिट देता है।
Max-Hold ट्रैप
एक सूक्ष्म बग: लेबल्स `MAX_HOLD_BARS = 6` इस्तेमाल करते थे, बैकटेस्ट `max_hold = 8`। बार 7-8 में TP हिट करने वाला ट्रेड लेबलर के लिए "no-hit" (0) लेबल होता है पर बैकटेस्टर उसे ट्रेड लेता है। **हमेशा `max_hold` एक्सप्लिसिट पास करें** ताकि लेबल और बैकटेस्ट मैच करें।
फ्यूचर डेटा से लेबल फेक न करें
#1 लीकेज सोर्स: सिलेक्टेड ऑप्शन कॉन्ट्रैक्ट का *फ्यूचर* high/low फीचर के रूप में इस्तेमाल करना। बैरियर सिर्फ एंट्री बार के ATR और फ्यूचर पाथ से कंप्यूट होना चाहिए — फ्यूचर पाथ को इनपुट के रूप में वापस कभी न भेजें।
सीख
ट्रिपल बैरियर "क्या प्राइस ऊपर जाएगी?" को "क्या प्राइस माय टारगेट को स्टॉप से पहले छूएगी, मेरे टाइम बजट में?" बनाता है। वो सवाल जो असल में पैसा बनाता या गंवाता है। बैरियर्स और होल्ड-विंडो सही सेट करें, उसके बाद ही कोई ट्री ट्यून करें।
*सिर्फ रिसर्च। निवेश सलाह नहीं।*