ईमानदार नकारात्मक परिणाम: हजारों बैकटेस्ट, पांच मेजर, कोई मजबूत एज नहीं
"भ्रम के बिना बैकटेस्ट" श्रृंखला का हिस्सा।
वह परिणाम जो हम नहीं चाहते थे
इस श्रृंखला ने एक झूठ को पकड़ने के उपकरण बनाने में कई लेख बिताए हैं: look-ahead bias जो एक-बार के रिसाव से 15 का Sharpe गढ़ लेता है, Deflated Sharpe Ratio जो किसी सर्च के विजेता की कीमत आंकता है, Probability of Backtest Overfitting जो सर्च की खुद की कीमत आंकता है। इनमें से हर एक टुकड़ा, एक तरह से, एक रिहर्सल था। यह वाला असली प्रदर्शन है: हम पूरे तंत्र को एक असली रणनीति परिवार पर तान देते हैं जिसे हम वाकई ट्रेड करना चाहते थे, और हम इसे वही फैसला सुनाने देते हैं जिसके लिए इसे बनाया गया था — तब भी जब फैसला नहीं हो।
यहां ईमानदार अंत सबसे पहले प्रस्तुत है। हमने पांच मेजर कॉइन पर, ड्यूल- और ट्रिपल-टाइमफ्रेम कॉन्फ़िगरेशन में, एक मजबूत एज की तलाश में हजारों बैकटेस्ट चलाए। हमें एक भी नहीं मिला। ऐसा नहीं कि "हमें एक छोटा एज मिला और पोजिशन घटा दी।" हमें ऐसा कुछ नहीं मिला जो इस मशीनरी के संपर्क में आकर टिका रहे — कोई ऐसा कॉन्फ़िगरेशन नहीं जो एक साथ इंस्ट्रूमेंट्स के आर-पार लाभदायक हो और multiple-testing correction के तहत बचाव-योग्य हो। यह प्रयोग की असफलता नहीं है। यह खुद प्रयोग की सफलता है।
लुभावना हिस्सा — वह हिस्सा जो किसी कम-सुसज्जित टीम से पूंजी आवंटित करवा देता — यह है कि एक भोली नजर से यह वाकई अच्छा दिखता था:
| चरण | जो हमने देखा | जो यह असल में था |
|---|---|---|
| सिंगल-सिंबल सर्च (ETHUSDT, dual-TF) | +16.35% out-of-sample test, +2.62% एक अछूते holdout पर | लुभावना विजेता |
| Deflated Sharpe, ~37,000 ट्रायल | DSR = 0.00 | शोर का सबसे अच्छा हिस्सा |
| क्रॉस-इंस्ट्रूमेंट, 5 मेजर, dual-TF | DSR 0.24 / PBO 0.264 | फेल |
| क्रॉस-इंस्ट्रूमेंट, 5 मेजर, triple-TF | DSR 0.14 / PBO 0.327 | फेल |
उस सबसे ऊपरी पंक्ति को उसी तरह पढ़िए जैसे हमने पहली बार पढ़ी थी: एक moving-average-crossover रणनीति, ETHUSDT पर एक dual-timeframe ग्रिड में ट्यून की गई, जो उस डेटा पर +16.35% छाप रही थी जिसे उसने सर्च के दौरान कभी नहीं देखा, और एक दूसरी विंडो पर धनात्मक +2.62% बनाए हुए थी जिसे हमने पूरी तरह अलग दीवार में बंद कर रखा था। अगर आप वहीं रुक जाएं — और अधिकांश प्रकाशित बैकटेस्ट वहीं रुक जाते हैं — तो आप इसे शिप कर देते हैं। इस लेख का बाकी हिस्सा वही मशीनरी है जिसने हमें ऐसा न करने को कहा, और क्यों वह सही थी।
अंक 1 — लुभावना विजेता

रणनीति परिवार जानबूझकर सामान्य है: एक Hull-moving-average crossover, बंद बार पर मूल्यांकित, एक ईमानदार execution model के साथ (बार i के close पर फैसला, i+1 के open पर fill — वह one-bar अनुशासन जिस पर यह श्रृंखला समझौता नहीं करेगी)। "Dual-timeframe" का मतलब है कि सिग्नल को एक धीमे timeframe के ट्रेंड द्वारा गेट किया जाता है; "triple" एक तीसरा, उससे भी धीमा, जोड़ता है। हर timeframe मुफ्त पैरामीटर जोड़ता है, और मुफ्त पैरामीटर ठीक वही चीज है जिसे एक सर्च आभासी प्रदर्शन में बदल देता है।
सिंगल-सिंबल अध्ययन ETHUSDT पर चला। प्रोटोकॉल पहले से ही अच्छे किस्म का था: एक rolling walk-forward स्प्लिट (एक warmup विंडो, कई in-sample folds, एक out-of-sample test विंडो), साथ ही एक अंतिम holdout विंडो जिसे छूने की अनुमति सर्च को बिल्कुल अंत तक नहीं थी। एक Sobol/QMC सर्च ने पैरामीटर स्पेस का अन्वेषण किया; उत्तरजीवी वह कॉन्फ़िगरेशन था जिसका walk-forward स्कोर सबसे अच्छा था, और उसे एक बार — ठीक एक बार — holdout पर ले जाया गया।
उत्तरजीवी एक एज जैसा दिखता था:
- out-of-sample test विंडो पर +16.35% — वह डेटा जो केवल कॉन्फ़िगरेशन को स्कोर करने के लिए इस्तेमाल हुआ, कभी उन्हें फिट करने के लिए नहीं।
- अछूते holdout पर +2.62% — एक दूसरी दीवार, पार की गई।
यही वह क्षण है जो तय करता है कि कोई शोध प्रक्रिया ईमानदार है या नाटकीय। out-of-sample लाभ इस संकीर्ण अर्थ में असली है कि संख्याएं गढ़ी हुई नहीं हैं और कोई look-ahead रिसाव नहीं है — हमने जांच की। लेकिन "असली संख्याएं, कोई रिसाव नहीं" "असली एज" से कहीं नीचे का मानदंड है। इनके बीच वही चीज बैठी है जिसके बारे में यह पूरी श्रृंखला है: चयन (selection)। हमने एक रणनीति का मूल्यांकन करके यह नहीं पाया कि उसने 16% कमाए। हमने असंख्य रणनीतियों का मूल्यांकन किया और सबसे अच्छी वाली के 16% की रिपोर्ट की। out-of-sample विंडो look-ahead से साफ थी, लेकिन वह selection से साफ नहीं थी — क्योंकि हमने विजेता को आंशिक रूप से इस आधार पर चुना कि उसने वहां कैसा किया। एकमात्र उपकरण जो इन दो कहानियों को अलग बता सकता है, वह है जो जानता है कि हमने कितनी बार देखा।
अंक 2 — Deflation: ~37,000 ट्रायल, DSR = 0.00

नजरें गिनिए। folds, timeframe संयोजनों, और पैरामीटर ग्रिड के आर-पार, dual-timeframe सर्च ने लगभग 37,000 अलग कॉन्फ़िगरेशन का मूल्यांकन किया। इनमें से हर एक रणनीति स्पेस से एक ड्रॉ है, और सर्च ने अधिकतम को रखा। Deflated Sharpe Ratio लेख में पूरा व्युत्पादन है, लेकिन जो एक तथ्य आपको यहां चाहिए वह है False Strategy Theorem (Bailey और López de Prado): शून्य वास्तविक एज वाली N रणनीतियों का अपेक्षित अधिकतम Sharpe N के साथ बढ़ता है। N ≈ 30,000 पर, शुद्ध शोर का सबसे अच्छा हिस्सा केवल चयन के कारण शून्य से लगभग चार standard deviation ऊपर बैठता है। चार सिग्मा एक खोज जैसा दिखता है। यह सर्च की परछाई है।
तो सही सवाल यह नहीं है कि "क्या विजेता का Sharpe धनात्मक है?" — बेशक है, आपने अधिकतम चुना है। सही सवाल है "क्या विजेता का Sharpe उससे परे है जो 37,000 सिक्का-उछालने वालों में सबसे भाग्यशाली पोस्ट करता?" DSR ठीक यही गणना करता है: यह benchmark को शून्य से उठाकर ट्रायल संख्या द्वारा निहित शोर-सीमा तक ले जाता है, और यह संभावना रिपोर्ट करता है कि वास्तविक Sharpe उसे पार करता है।
ETHUSDT विजेता का out-of-sample ट्रैक लगभग 0.19 के daily Sharpe से मेल खाता है। अपने आप में, एक लंबी विंडो पर 0.19 का daily SR बिल्कुल सम्मानजनक संख्या है। ~37,000 ट्रायल के खिलाफ deflate किए जाने पर, यह भाप बनकर उड़ जाता है:
शून्य। "सीमांत" नहीं, "0.4, इस पर नजर रखो" नहीं। DSR कहता है: हमने जितनी मेहनत से खोजा उसे देखते हुए, 0.19 का daily Sharpe शुद्ध शोर के सबसे अच्छे ड्रॉ से अभेद्य रूप से अलग नहीं है। +16.35% out-of-sample और +2.62% holdout, इस परीक्षण की जितनी सटीकता तक हल कर सकता है, एक ऐसी रणनीति के अनुरूप हैं जिसका कोई एज ही नहीं है और जिसने बस 37,000 टिकटों वाली एक लॉटरी जीत ली।
एक सूक्ष्मता जिसे रेखांकित करना जरूरी है, क्योंकि हम deflation को बढ़ा-चढ़ाकर नहीं दिखाना चाहते: पैरामीटर ग्रिड पर पड़ोसी बिंदु लगभग-प्रतिरूप होते हैं, इसलिए कच्ची ट्रायल संख्या स्वतंत्र नजरों को जरूरत से ज्यादा गिन लेती है। हमारा गेट प्रभावी (effective) ट्रायल संख्या का उपयोग करता है — deflate करने से पहले ONC (López de Prado और Lewis) के जरिए return correlation द्वारा गुच्छित ट्रायल — ठीक इसलिए ताकि हम किसी बहीखाता कारण से एक असली एज को खारिज न कर दें। उस सुधार को शामिल करने के बाद भी, ETHUSDT विजेता जीवित नहीं रहता। जब कोई परिणाम DSR 0.00 पढ़ता है, तो effective-N वाली बारीकी उसे नहीं बचाने वाली; वह शोर के भीतर गहराई में है।
यह अंत हो सकता था। एक सिंबल, एक सर्च, deflate होकर शून्य। लेकिन एक सिंबल पर DSR का फेल होना एक ऐसी सुराख छोड़ देता है जिसमें से एक जिद्दी optimizer हमेशा घुसने की कोशिश करेगा: शायद ETHUSDT बस एक कठिन सिंबल है, और कॉन्फ़िग कहीं और असली है। उस सुराख को बंद करने के लिए आपको परीक्षण का अक्ष बदलना होगा।
अंक 3 — निर्णायक परीक्षण: मजबूती इंस्ट्रूमेंट्स के आर-पार होती है

एक सिंगल-सिंबल सर्च में एक संरचनात्मक कमजोरी है, भले ही बाकी सब कुछ बिल्कुल सही हो: उसका एकमात्र out-of-sample अक्ष समय है। यह आपको बता सकता है कि कॉन्फ़िग ETHUSDT की एक बाद की विंडो पर टिका रहा — लेकिन यह नहीं बता सकता कि कॉन्फ़िग ने बाजारों के बारे में कुछ सीखा या खास तौर पर ETHUSDT के बारे में कुछ। एक इंस्ट्रूमेंट पर overfitting उस परीक्षण के लिए अदृश्य है जो उस इंस्ट्रूमेंट को कभी नहीं छोड़ता।
इसलिए हमने उद्देश्य बदल दिया। "ETHUSDT पर out-of-sample सबसे अच्छा" के बजाय, क्रॉस-इंस्ट्रूमेंट शिकार जनरलिस्ट मांगता है: ऐसे कॉन्फ़िगरेशन जो कई सिंबलों पर एक साथ अच्छे हों। प्रोटोकॉल:
- पांच तरल मेजर: ETHUSDT, BTCUSDT, SOLUSDT, BNBUSDT, XRPUSDT — प्रत्येक लगभग 1.18 मिलियन 1-मिनट बार, एक साझा कैलेंडर विंडो, splits का एक साझा सेट (warmup → K in-sample folds → test → एक अछूता holdout)।
- एक मजबूत उद्देश्य: हर कॉन्फ़िगरेशन को हर सिंबल के walk-forward परिणाम पर स्कोर करें, फिर सिंबलों के आर-पार median के आधार पर रैंक करें। median ही मुद्दा है — एक कॉन्फ़िग जो एक कॉइन पर शानदार है और चार पर बदतर, वह एक अकेले outlier के दम पर अंदर नहीं घुस सकता। चुने जाने के लिए, उसे इनमें से अधिकांश पर कम-से-कम मध्यम होना पड़ेगा।
- गेट के लिए एक portfolio return matrix: प्रति-ट्रायल daily returns पांच सिंबलों में एक equal-weight portfolio हैं (प्रत्येक को पूंजी का 1/S), जो T×N performance matrix देता है जिसे DSR और PBO-CSCV गेट उपभोग करते हैं।
- holdout को एक बार छुआ जाता है, केवल हर मोड के मजबूत चैंपियन द्वारा।
यह सिंगल-सिंबल वाले से एक सख्ती से कठिन परीक्षण है, और जानबूझकर ऐसा है। एक कॉन्फ़िग ETHUSDT सर्च एक कॉइन की विशेषता का दोहन करके जीत सकता है; median-across-five सर्च वह उस तरह से नहीं जीत सकता। अगर इस रणनीति परिवार में कोई मजबूत एज मौजूद है, तो यही वह सेटअप है जो उसे खोजता है। अगर नहीं है, तो यही वह सेटअप है जो बिना झिझके ऐसा कह देता है।
अंक 4 — फैसला: दोनों timeframe गेट फेल करते हैं
हमने क्रॉस-इंस्ट्रूमेंट शिकार दोनों कॉन्फ़िगरेशन में चलाया और हर मजबूत चैंपियन को गेट किया। गेट मानक दो हैं: DSR ≥ 0.95 (ट्रायल की प्रभावी संख्या के खिलाफ deflate किया गया) और PBO ≤ 0.2 (performance matrix पर CSCV से)। यहां पूरा फैसला है, ईमानदारी से:
| मोड | DSR (effective-N) | PBO (CSCV) | गेट: DSR ≥ 0.95 | गेट: PBO ≤ 0.2 | फैसला |
|---|---|---|---|---|---|
| Dual-timeframe | 0.24 | 0.264 | फेल | फेल | कोई मजबूत एज नहीं |
| Triple-timeframe | 0.14 | 0.327 | फेल | फेल | कोई मजबूत एज नहीं |
दोनों फेल, दोनों गेट, दोनों मोड। हर संख्या को उस अंशांकन (calibration) के साथ पढ़िए जो पहले के लेखों ने स्थापित किया, क्योंकि दोनों गेट अलग-अलग बातें कह रहे हैं और वे सहमत हैं:
-
DSR 0.24 (dual), 0.14 (triple)। DSR वह संभावना है कि वास्तविक Sharpe सर्च द्वारा निहित शोर-सीमा से आगे जाता है। हमें 0.95 चाहिए। हमें मिला 0.24 और 0.14 — मुश्किल से चार में एक और सात में एक मौका कि एज एक बार जब आप गिनते हैं कि कितने कॉन्फ़िगरेशन आजमाए गए, तब भी धनात्मक तक है। तीसरा timeframe जोड़ने से यह बदतर हो गया, बेहतर नहीं: ज्यादा पैरामीटर, sample को फिट करने के ज्यादा तरीके, कम जो सामान्यीकृत होता है। वह उलटाव खुद overfitting की एक अंगुली-छाप है।
-
PBO 0.264 (dual), 0.327 (triple)। वह एक तथ्य याद रखिए जिसे PBO के बारे में हर कोई गलत पढ़ता है (पूरा विवेचन यहां): इसका null 0.5 है, 1 नहीं। PBO वह संभावना है कि in-sample विजेता out-of-sample में निचले आधे में गिर जाए। एक भरोसेमंद चयन 0 के पास बैठता है; एक शुद्ध सिक्का-उछाल 0.5 पर बैठता है। हमारे 0.264 और 0.327 0.5 से नीचे हैं — चयन शाब्दिक रूप से सिक्का-उछाल नहीं है, वहां सिग्नल की एक धुंधली फुसफुसाहट है — लेकिन दोनों उस 0.2 से काफी ऊपर हैं जिसकी हमें चयन को विश्वसनीय कहने के लिए जरूरत है। और फिर triple (0.327) dual (0.264) की तुलना में सिक्का-उछाल रेखा के करीब है: ज्यादा जटिलता, कम सामान्यीकरण।
दोनों उपकरण लंबकोणीय (orthogonal) हैं — DSR पैरामीट्रिक है और विजेता की कीमत आंकता है, PBO गैर-पैरामीट्रिक है और प्रक्रिया की कीमत आंकता है — और वे विपरीत दिशाओं से एक ही उत्तर पर अभिसरित होते हैं। इस तालिका का ऐसा कोई पाठ नहीं है जिस पर कोई भी रणनीति मानदंड पार करे। जिस +16.35% ने यह पूरा शिकार शुरू किया, उसका कोई मजबूत क्रॉस-इंस्ट्रूमेंट चचेरा भाई नहीं है। यह एक कॉइन और एक सर्च की संपत्ति थी।
अंक 5 — चैंपियन का पीछा करो, सिंबल दर सिंबल
समग्र (aggregate) गेट आपको बताते हैं कि कोई रणनीति फेल हुई; प्रति-सिंबल विश्लेषण आपको बताता है कैसे, और यह "कैसे" पूरे अध्ययन का सबसे शिक्षाप्रद हिस्सा है। triple-timeframe चैंपियन लीजिए — वह कॉन्फ़िगरेशन जिसे median-across-five उद्देश्य ने असल में ताज पहनाया — और देखिए कि उसने हर सिंबल की out-of-sample test विंडो पर क्या किया:
| सिंबल | Triple चैंपियन, OOS test |
|---|---|
| ETHUSDT | −0.39% |
| BTCUSDT | −0.38% |
| SOLUSDT | +14.74% |
| BNBUSDT | −8.58% |
| XRPUSDT | −4.13% |
वहां पूरा भ्रम है, पांच पंक्तियों में उजागर। चैंपियन पांच में से ठीक एक सिंबल पर लाभदायक है — SOLUSDT, एक भड़कीले +14.74% पर — और बाकी चार पर नकारात्मक। यह कोई जनरलिस्ट नहीं है जो संयोगवश कमजोर है। यह एक portfolio के कपड़े पहने SOL स्पेशलिस्ट है। वह एक बड़ा धनात्मक ही सारा काम कर रहा है; median उद्देश्य ने इसे कच्चे ETHUSDT विजेता से नीचे इसीलिए धकेल दिया क्योंकि median एक अकेले outlier से मूर्ख बनने से इनकार करता है, लेकिन median-चयनित चैंपियन तक, जब आप इसे खोलते हैं, तो लगभग पूरी तरह एक कॉइन पर टिका निकलता है।
holdout — वह विंडो जिसके खिलाफ किसी को optimize करने की अनुमति नहीं थी — सबसे साफ संभव दृष्टिकोण से वही कहानी सुनाता है: पांच मेजर के आर-पार, चैंपियन का holdout return 5 में से केवल 1 सिंबल पर धनात्मक है। अगर यह रणनीति परिवार में एक असली एज होता, तो यह, कम-से-कम धुंधले रूप से, एक से ज्यादा इंस्ट्रूमेंट के अछूते डेटा पर दिखाई देता। यह एक पर दिखता है। यह उस कॉन्फ़िग का हस्ताक्षर है जिसने एक सिंबल सीखा, एक बाजार नहीं।
यही कारण है कि क्रॉस-इंस्ट्रूमेंट अक्ष निर्णायक परीक्षण था न कि केवल एक अच्छी-होने-वाली बात। सिंगल-सिंबल DSR ने पहले ही ETHUSDT को शून्य तक deflate कर दिया था। लेकिन असफलता का निदान करने के लिए median-across-five डिजाइन लगा — यह दिखाने के लिए कि आभासी एज पहली जगह में इंस्ट्रूमेंट्स के आर-पार कभी वितरित ही नहीं था, कि यह उस कॉइन की संपत्ति थी जिस पर सर्च उस रन में overfit हो गया। ETHUSDT पर यह ETHUSDT का था; median शिकार पर यह SOLUSDT का हो गया। एज हिल गया। असली एज इस तरह नहीं हिलते।
नकारात्मक परिणाम सही परिणाम क्यों है

यह स्पष्ट होना जरूरी है कि हम क्या दावा कर रहे हैं और क्या नहीं, क्योंकि "हमें कोई एज नहीं मिला" को या तो झूठी विनम्रता या अक्षमता की स्वीकारोक्ति के रूप में गलत पढ़ना आसान है। यह इनमें से कोई नहीं है।
हम यह नहीं दावा कर रहे कि HMA crossover कभी काम नहीं कर सकते, या कि ये पांच कॉइन अप्रत्याशित हैं, या कि कोई dual/triple-timeframe रणनीति मौजूद नहीं है। हम कुछ संकीर्ण और कहीं ज्यादा मजबूत दावा कर रहे हैं: इस रणनीति परिवार के भीतर, इस डेटा पर, इस सर्च तीव्रता पर, कोई ऐसा कॉन्फ़िगरेशन नहीं है जिसका आभासी प्रदर्शन हमारे द्वारा आजमाई गई चीजों की संख्या के लिए सुधार के बाद भी टिका रहे। जो कुछ भी एज जैसा दिखा, वह शोर के सबसे अच्छे हिस्से के confidence band के भीतर है। यह एक सटीक, मिथ्याकरणीय (falsifiable), बचाव-योग्य कथन है — और यही वह है जिसे प्रकाशित करना सही है।
जिस प्रलोभन को यह मशीनरी हराती है वह विशाल है, और हर दूसरे क्षेत्र में इसका एक नाम है: file-drawer समस्या। नकारात्मक परिणाम दफन हो जाते हैं; धनात्मक परिणाम लिख दिए जाते हैं। ट्रेडिंग में प्रोत्साहन और भी तीखा है, क्योंकि जो धनात्मक परिणाम आप deflate करने में विफल रहे, वह केवल एक खराब पेपर नहीं है — यह शोर के खिलाफ तैनात पूंजी है, असली पैसा असली शुल्क चुकाकर एक लॉटरी टिकट को ट्रेड करता हुआ जिसे आपने सिग्नल समझ लिया। look-ahead लेख ने एक रिसाव को 15 का Sharpe गढ़ते दिखाया; DSR लेख ने एक सर्च को बिना किसी रिसाव के शुद्ध शोर से 1.63 का Sharpe गढ़ते दिखाया। यह लेख वह है जो तब दिखता है जब उन उपकरणों को आपके अपने पसंदीदा विचार पर तानकर ईमानदार होने को कहा जाता है। वह तंत्र — DSR, PBO/CSCV, effective-N clustering, क्रॉस-इंस्ट्रूमेंट selection — आपकी रणनीतियों को आशीर्वाद देने के लिए मौजूद नहीं है। यह आपको शोर के सबसे अच्छे हिस्से को अल्फा के रूप में शिप करने से रोकने के लिए मौजूद है, और इसका एकमात्र प्रमाण कि यह काम करता है, यह है कि कभी-कभी यह नहीं कहता है।
इस तंत्र के बिना एक टीम ने +16.35% शिप कर दिया होता। उनके पास एक साफ-दिखने वाला walk-forward होता, एक धनात्मक holdout, कोई पहचान-योग्य look-ahead रिसाव नहीं, और एक विश्वसनीय कहानी। वे गलत होते, और उन्हें तब तक पता नहीं चलता जब तक live P&L अलग न हो जाता — वह backtest-live अंतर जिसे एक नकारात्मक-पर-ईमानदार परिणाम को कभी समझाना नहीं पड़ता, क्योंकि वह कभी live गया ही नहीं। एक कठोर नहीं का मूल्य उन drawdowns में मापा जाता है जिन्हें आपने कभी नहीं झेला।
उद्गम (Provenance)
इस लेख की हर संख्या कोड तक जाती है, कथा तक नहीं। क्रॉस-इंस्ट्रूमेंट एज शिकार — पांच-सिंबल लोड, साझा splits, median-across-symbols उद्देश्य, गेट को खिलाया गया equal-weight portfolio matrix — बैकटेस्टर रिपॉजिटरी में scripts/edge_hunt_multitf.py (commit acd84e8) में रहता है। यह जिन सांख्यिकीय गेट को कॉल करता है — probabilistic और deflated Sharpe, minimum track-record length, ONC clustering के जरिए effective-N, और CSCV के जरिए PBO, सब किसी black-box library के बजाय प्राथमिक स्रोतों के आधार पर NumPy/SciPy पर शुरू से लागू — scripts/overfit_gates.py (commit 7b966e1) में हैं, जो एक self-test के साथ आता है जो शुद्ध शोर में एक ज्ञात एज बो देता है और पुष्टि करता है कि गेट उसे पास करते हैं और शोर को खारिज करते हैं। वह सिंगल-सिंबल ETHUSDT अध्ययन जिसने लुभावने +16.35% उत्पन्न किए, पहले वाले bench_search_multitf harness से आया जिसे शिकार read-only आयात करता है। यहां कुछ भी हाथ से गणना की गई संख्या नहीं है; उत्तर हां हो या ना, गेट वही कोड पथ हैं।
मुख्य बातें
- हमने पांच मेजर पर, dual- और triple-timeframe में, हजारों बैकटेस्ट चलाए, और कोई मजबूत एज नहीं पाया — और यही वह परिणाम है जो मशीनरी उत्पन्न करने के लिए बनी है। एक नकारात्मक परिणाम, कठोरता से स्थापित, एक खोज है, असफलता नहीं।
- एक साफ-दिखने वाली out-of-sample संख्या एज नहीं है। ETHUSDT विजेता ने +16.35% out-of-sample और एक अछूते holdout पर +2.62% पोस्ट किया, बिना किसी look-ahead रिसाव के — और उसके पीछे के ~37,000 ट्रायल गिनते ही DSR 0.00 तक deflate हो गया। out-of-sample look-ahead को पार करता है; केवल deflation selection को पार करता है।
- False Strategy Theorem ही कारण है। ~30,000 ट्रायल पर, शुद्ध शोर का सबसे अच्छा हिस्सा केवल चयन से शून्य से लगभग चार सिग्मा ऊपर बैठता है। 0.19 का daily Sharpe ठीक वही है जो वह लॉटरी चुकाती है। आपको अपने विजेता की तुलना शोर-सीमा से करनी होगी, कभी शून्य से नहीं।
- मजबूती इंस्ट्रूमेंट्स के आर-पार रहती है, केवल समय के आर-पार नहीं। पांच सिंबलों के आर-पार median से चयन करने ने एक सिंगल-कॉइन भ्रम को एक निदान-योग्य भ्रम में बदल दिया: dual DSR 0.24 / PBO 0.264, triple DSR 0.14 / PBO 0.327 — दोनों दोनों गेट फेल करते हैं, और triple (ज्यादा पैरामीटर) हर मेट्रिक पर dual से बदतर है।
- भरोसा करने से पहले चैंपियन को खोलिए। triple-timeframe "portfolio" चैंपियन 5 में से 1 सिंबल पर लाभदायक था (SOL +14.74%; ETH −0.39%, BTC −0.38%, BNB −8.58%, XRP −4.13%) और holdout पर केवल 5 में से 1 पर धनात्मक। एक एज जो एक इंस्ट्रूमेंट पर रहता है और जब आप फिर से खोजते हैं तो हिल जाता है, वह एज नहीं है — यह portfolio के कपड़े पहने एक overfit है।
- नकारात्मक को प्रकाशित करो। एंटी-ओवरफिट तंत्र — DSR, PBO/CSCV, effective-N, क्रॉस-इंस्ट्रूमेंट selection — रखने लायक ठीक इसलिए है क्योंकि यह कभी-कभी आपको नहीं कहता है, और अनुशासन यह है कि जब यह ऐसा कहे तो सुनें।
जिस रणनीति को हम सबसे ज्यादा काम करते देखना चाहते थे, उसने काम नहीं किया। जो उपकरण हमने इसे पकड़ने के लिए बनाए, उन्होंने हमें ऐसा बताया, चार स्वतंत्र तरीकों से, एक भी डॉलर जोखिम में डालने से पहले। यही पूरी श्रृंखला का मुद्दा है, और यह वह लेख है जहां मुद्दा भुनता है: मशीनरी अपनी कीमत उस दिन कमाती है जिस दिन वह आपको रोकती है — उस दिन नहीं जब वह आपकी चापलूसी करती है।
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.