ऑप्शंस बायर ML: एक मॉडल क्यों फेल होता है (V2 फिक्स) An engineer detailed the rebuild of an options-buyer prediction system, moving from a flawed V1 XGBoost model to a V2 architecture with separate narrow heads for underlying direction and option contract eligibility. The V1 model asked a fuzzy question ('CE or PE?') on raw premium data, leading to noise learning and a data shift bug that zeroed a feature. V2 fixes these by validating premiums rather than learning direction, using shallow hard-regularized trees, and gating promotion on out-of-sample overfit gaps. एक ऑप्शंस-बायर प्रेडिक्शन सिस्टम के असली रीबिल्ड से सीख। कोई मुनाफे का दावा नहीं — बस आर्किटेक्चर जो V1 के क्रॉनिक बग्स को फिक्स करता है। V1 ने एक XGBoost मॉडल से एक बड़ा फज़ी सवाल पूछा: "CE या PE?" — सीधे raw CE/PE प्रीमियम डेटा से। प्रीमियम एक ट्रांसफॉर्म्ड सिग्नल है underlying move × delta × gamma × IV × theta × spread × strike distance × liquidity । मॉडल ने नॉइज़ उतना ही सीखा जितना सिग्नल। रिसर्च लॉग्स से कंक्रीट एविडेंस: lr=0.02, depth=3 डिफॉल्ट्स; Optuna मौजूद था पर कभी चला नहीं । iv change 1d shift सिंगल-रो ग्रुप्स में ने चुपचाप पूरे इतिहास के एक फीचर को ज़ीरो कर दिया। php underlying mechanics -- side, range, ETA, invalidation option chain scanner -- क्या बायर कॉन्ट्रैक्ट लेने लायक है? XGBoost कई heads -- क्लीन मैकेनिक्स पर पतला कैलिब्रेटेड लर्नर रूल: underlying साइड तय करता है; ऑप्शन कॉन्ट्रैक्ट एग्जिक्यूशन एलिजिबिलिटी तय करता है। CE/PE प्रीमियम को वैलिडेट किया जाता है, डायरेक्शन के रूप में नहीं सीखा जाता। एक CE/PE जवाब की जगह V2 अलग नैरो हेड्स ट्रेन करता है: underlying up/down touch {15,30,60}m ce 1p3x / ce 1p5x / ce 2p0x और pe 1p3x / pe 1p5x / pe 2p0x अलग CE और PE no trade quality ये एक बदलाव V1 के CE/PE कन्फ्यूजन को खत्म कर देता है जिससे महीनों लड़ाई हुई। learning rate = 0.015–0.035 n estimators = 800–2000 early stop max depth = 2–3 min child weight = 12–40 gamma = 0.1–2.0 subsample = 0.65–0.90 colsample bytree = 0.55–0.85 reg alpha = 0.5–3.0 reg lambda = 6.0–20.0 scale pos weight = min neg/pos, 8.0 V1 के इंट्राडे हेड में सिर्फ 1280 में से 8 फीचर्स नॉन-ज़ीरो गेन के साथ थे — ज्यादातर ब्लोट शुद्ध नॉइज़ था जिसे रेगुलराइज़र को प्रून करना पड़ा। शैलो + हार्ड-रेगुलराइज़्ड ही जवाब है। overfit gap = train metric − test metric । 0.15 हो तो फ्लैग। मॉडल सिर्फ इसलिए प्रमोट नहीं होता क्योंकि ट्रेन मैट्रिक्स अच्छे दिखते हैं। हर हेड, हर रीट्रेन पर गैप ऑटोमैटिक लॉग करें। V2 एक क्लीनर आर्किटेक्चर है, लेकिन ये अभी भी रिसर्च है। जो सीख ट्रांसफर होती है: फज़ी सवाल मत पूछो, अपने नल्ल्स डिक्लेयर करो, ट्रीज़ को शैलो रखो, और प्रमोशन को आउट-ऑफ-सैंपल गैप पर गेट करो — ट्रेनिंग स्कोर पर नहीं। सिर्फ रिसर्च। निवेश सलाह नहीं।