सोमवार को हमारे AI रिसर्च एजेंट को क्रिप्टो फ़्यूचर्स की एक रणनीति मिली, जिसका Sharpe अनुपात 4.1 था। गुरुवार तक, प्रयोगों की गिनती करने और एजेंट को उसी वैलिडेशन विंडो के आधार पर ट्यूनिंग करने से रोकने के बाद, नतीजा 0.8 रह गया। रणनीति नहीं बदली थी। खोज से हासिल हुई उपलब्धि के हमारे अनुमान में बदलाव आया था।
हमने इसे एक छोटी रिसर्च डायरी के रूप में चलाया, क्योंकि “सावधानी से ऑप्टिमाइज़ करें” कहना आसान है, लेकिन इसे अमल में लाना मुश्किल—खासकर तब, जब कोई एजेंट कोड लिख सकता हो, बैकटेस्ट चला सकता हो, स्कोर देख सकता हो और मिनटों में फिर कोशिश कर सकता हो। क्रम से बताते हैं कि क्या गड़बड़ हुई।
सोमवार: एजेंट को स्पष्ट सीमाओं वाला सवाल दें
हमने एजेंट से एक लिक्विड परपेचुअल फ़्यूचर्स बाज़ार में प्रति घंटे के साधारण ट्रेंड आइडिया को परखने को कहा: छोटी मूविंग एवरेज के लंबी मूविंग एवरेज को पार करने पर एंट्री लें, तय वोलैटिलिटी लक्ष्य के अनुसार पोज़िशन का आकार रखें और उलटा सिग्नल मिलने पर पोज़िशन बंद कर दें। हमने इंस्ट्रूमेंट, तारीखें, फ़ी शेड्यूल, फ़ंडिंग इतिहास, एक्ज़ीक्यूशन की मान्यता और एजेंट के लिए खोजने की पैरामीटर सीमाएँ तय कर दीं।
ऐतिहासिक सैंपल 2021 से 2025 तक का था। हमने 2021–2023 को डेवलपमेंट, 2024 को वैलिडेशन के लिए रखा और 2025 को अंतिम होल्डआउट के तौर पर सीलबंद रखा। यह विभाजन जॉब कॉन्फ़िगरेशन में दर्ज था, इसलिए एजेंट डेवलपमेंट के नतीजे और वैलिडेशन स्कोर देख सकता था, लेकिन होल्डआउट रिटर्न नहीं देख सकता था।
हमारी पहली गलती यह थी कि हमने एक ही जॉब में 300 पैरामीटर संयोजनों की अनुमति दी, लेकिन खोज के बजट को रिसर्च नतीजे के रूप में दर्ज नहीं किया। एजेंट ने सबसे अच्छा प्रदर्शन करने वाला विकल्प लौटाया: 9-hour की फ़ास्ट एवरेज, 73-hour की स्लो एवरेज और 0.8% का वोलैटिलिटी लक्ष्य। उसका वैलिडेशन Sharpe 4.1 था। हमें पता था कि एजेंट ने कई सेटिंग्स आज़माई थीं। लेकिन हमने अभी तक उस बात को भूलना नामुमकिन नहीं बनाया था।
मंगलवार: दोबारा चलाने पर विजेता बदल गया
हमने वही जॉब एक साफ़ एनवायरनमेंट से दोबारा चलाई। सबसे अच्छी सेटिंग बदल गई और उसका Sharpe घटकर 2.7 रह गया। पहली रन में मार्केट-डेटा कैश ने अपडेटेड फ़ंडिंग सीरीज़ दी थी, जबकि दोबारा चलाने पर पिन किया हुआ स्नैपशॉट इस्तेमाल हुआ। दोनों जॉब में तारीखों की वही सीमा बताई गई थी; लेकिन डेटा वर्ज़न सिर्फ़ एक में दोबारा बनाया जा सकता था।
हमने स्कोर की तुलना करना बंद करके पूरा प्रयोग दर्ज करना शुरू किया: कोड रिविज़न, डेटा स्नैपशॉट, फ़ीस, फ़ंडिंग, एक्ज़ीक्यूशन सेटिंग्स, पैरामीटर मान और एजेंट द्वारा चलाई गई हर ट्रायल। इससे साफ़ हुआ कि 4.1 कोई रहस्यमय मार्केट बढ़त नहीं थी। वह उसी वैलिडेशन वर्ष पर की गई 300 कोशिशों वाली खोज में मिली एक सेटिंग का नतीजा था।
बुधवार: होल्डआउट खोलने से पहले खोज रोकें
हमने प्रयोग को तय डेटा स्नैपशॉट और पहले से घोषित छोटे ग्रिड—24 संयोजनों—के साथ दोबारा चलाया। एजेंट 2021–2023 के डेवलपमेंट काल के आधार पर उनकी रैंकिंग कर सकता था। चयन के लिए हमने उसे 2024 एक बार देखने दिया, फिर चुनी हुई सेटिंग्स और कोड लॉक कर दिए।
चुनी हुई रणनीति का वैलिडेशन Sharpe 0.8 था। सीलबंद 2025 होल्डआउट पर उसका स्कोर 0.3 रहा—इसमें टेकर फ़ीस, फ़ंडिंग और पूरे अध्ययन में लागू वही एक-बार की कैंडल एक्ज़ीक्यूशन देरी शामिल थी। यह एक उपयोगी जवाब था। इससे यह साबित नहीं हुआ कि लाइव खाते में रणनीति मुनाफ़ा कमाएगी।
इस हफ़्ते की एक और बात: मूविंग एवरेज का कोड लिखने से ज़्यादा समय हम इस पर सहमति बनाने में लगा बैठे कि “एक ट्रायल” किसे कहेंगे। बदले हुए पैरामीटर सेट को हमने एक ट्रायल गिना, और उन रन को भी गिना जिनमें सिग्नल या पोज़िशन का आकार तय करने का नियम बदला था। नए डेटा स्नैपशॉट या एक्ज़ीक्यूशन की मान्यता के लिए अलग रन रिकॉर्ड बनाया, क्योंकि उनसे भी रैंकिंग उतनी ही बदल सकती थी।
गुरुवार: अगली बार हम क्या छोड़ेंगे
हम बिना तय सीमा वाली पहली जॉब छोड़ देंगे। रिसर्च एजेंट के लिए खोज का बजट और उसने क्या-क्या आज़माया, इसका रिकॉर्ड ज़रूरी है—खासकर तब जब वह हर नतीजे के आधार पर अगली कोशिश चुन सकता हो। होल्डआउट को अनौपचारिक रूप से झाँकने से भी बचाना होगा: कोई उसका नतीजा पढ़कर रणनीति बदलता है, तो वह अवधि एक और वैलिडेशन सेट बन जाती है।
छोटी खोज के लिए प्रयोगों का एक व्यावहारिक रजिस्टर साधारण और स्पष्ट हो सकता है:
| दर्ज करें | यह क्यों ज़रूरी है |
|---|---|
| कोड और डेटा वर्ज़न | ताकि दोबारा चलाने पर वही इनपुट और लॉजिक इस्तेमाल हों |
| आज़माया गया हर विकल्प | ताकि खोज के संदर्भ में विजेता को समझा जा सके |
| डेवलपमेंट, वैलिडेशन और होल्डआउट की भूमिकाएँ | ताकि अंतिम स्कोर चुपचाप ट्यूनिंग के लिए फिर इस्तेमाल न हो |
| फ़ीस, फ़ंडिंग और एक्ज़ीक्यूशन की मान्यताएँ | ताकि रिपोर्ट किया गया नतीजा ऐसी सिमुलेशन को दर्शाए जिसे परखा जा सके |
होल्डआउट खोलने के बाद, नए रिसर्च सवाल के साथ डेवलपमेंट पर लौटें और पुराने नतीजे को ऐतिहासिक प्रमाण के रूप में सुरक्षित रखें। जिस अवधि को रणनीति पहले ही देख चुकी है, उसके आधार पर उसी को लगातार बेहतर न करते रहें।
एजेंट ने अपना काम किया: उसने तेज़ी से खोज की और जाँचने लायक कॉन्फ़िगरेशन ढूँढ़ा। हमारा काम था खोज को समझने लायक बनाना, बिना छुए हुए परीक्षण को सुरक्षित रखना और स्कोर को उसके इतिहास सहित एक माप के रूप में देखना। दिलचस्प नतीजा 4.1 या 0.3 नहीं था। वह यह देख पाना था कि पहला नंबर ठीक-ठीक कैसे बना।
← सभी पोस्ट


