इस प्रोजेक्ट के बारे में

Optopsy एक ओपन-सोर्स Python लाइब्रेरी है जिसका उद्देश्य विकल्प अनुसंधान और बैकटेस्टिंग है। यह सिंगल-लेग पोज़िशन, स्ट्रैडल, स्ट्रैंगल, वर्टिकल स्प्रेड, बटरफ्लाई, कॉन्डोर, आयरन कॉन्डोर, आयरन बटरफ्लाई, रेशियो स्प्रेड, कवर्ड कॉल, प्रोटेक्टिव पुट, कॉलर, कैश-सिक्योर्ड पुट, कैलेंडर स्प्रेड और डायगोनल स्प्रेड के लिए पूर्वनिर्धारित रणनीति फ़ंक्शन प्रदान करता है—दस्तावेज़ीकरण के अनुसार कुल 38 रणनीतियाँ। उपयोगकर्ता कॉलम मैपिंग का उपयोग करके CSV से विकल्प डेटा लोड कर सकते हैं और किसी रणनीति को चला सकते हैं ताकि दिन-से-समाप्ति और डेल्टा रेंज के अनुसार समूहीकृत रिटर्न आँकड़े प्राप्त किए जा सकें। क्रोनोलॉजिकल सिम्युलेटर प्रारंभिक पूंजी, ट्रेड मात्रा, समवर्ती पोज़िशन सीमाएँ, एंट्री/एक्ज़िट DTE नियंत्रण, स्ट्राइक-चयन विधियाँ, इक्विटी कर्व, ट्रेड लॉग, जीत दर, प्रॉफिट फैक्टर, अधिकतम ड्रॉडाउन और औसत होल्डिंग समय का समर्थन करता है। एक अलग पोर्टफोलियो सिमुलेशन फ़ंक्शन भारित बहु-रणनीति बैकटेस्टिंग की अनुमति देता है। पोज़िशन प्रबंधन सुविधाओं में स्टॉप-लॉस, टेक-प्रॉफिट और अधिकतम-होल्ड-डेज़ एक्ज़िट शामिल हैं। लाइब्रेरी प्रति-अनुबंध, आधार और न्यूनतम-शुल्क संरचनाओं के माध्यम से कमीशन को मॉडल कर सकती है, और यह मिड-प्राइस, स्प्रेड-आधारित, लिक्विडिटी-आधारित और प्रति-लेग स्लिपेज मॉडल प्रदान करती है। जोखिम रिपोर्टिंग में Sharpe, Sortino, VaR, CVaR, Calmar, Omega और टेल-रेशियो मेट्रिक्स शामिल हैं। एंट्री फ़िल्टरिंग pandas-ta-classic के माध्यम से 80 से अधिक तकनीकी-विश्लेषण संकेतकों का उपयोग कर सकती है, जिनमें RSI, MACD, Bollinger Bands, EMA, ATR और IV Rank शामिल हैं। DataFrame में कस्टम बूलियन कॉलम भी एंट्री को संचालित कर सकते हैं। कस्टम रणनीतियों, सिग्नल और डेटा प्रदाताओं को जोड़ने के लिए एक प्लगइन सिस्टम प्रलेखित है। वैकल्पिक डेटा एक्स्ट्रा एक स्टैंडअलोन `optopsy-data` CLI इंस्टॉल करता है जो ऐतिहासिक विकल्प और स्टॉक डेटा डाउनलोड और कैश करने के लिए है। README EODHD को एक समर्थित स्रोत के रूप में पहचानता है और नोट करता है कि विकल्प डेटा स्थानीय रूप से `~/.optopsy/cache/` के अंतर्गत Parquet फ़ाइलों के रूप में कैश किया जाता है, जिसमें इंक्रीमेंटल रीफ्रेश और गैप डिटेक्शन होता है। कुछ स्टॉक-संबंधित रणनीति उदाहरण yfinance का संदर्भ देते हैं। इंस्टॉलेशन PyPI के माध्यम से कोर लाइब्रेरी के लिए `pip install optopsy` या डेटा टूलिंग के लिए `pip install optopsy[data]` से होता है। परियोजना Python 3.12–3.13, Pandas 2.0 या नए और NumPy 1.26 या नए की आवश्यकताएँ बताती है। दस्तावेज़ीकरण, API संदर्भ और उदाहरण ऑनलाइन प्रकाशित हैं। एक संबंधित optopsy-mcp परियोजना LLM एकीकरण के लिए Rust रीराइट पर आधारित एक MCP सर्वर प्रदान करती है। रिपॉज़िटरी में एक शोध/शिक्षा अस्वीकरण शामिल है जो नोट करता है कि बैकटेस्ट ऐतिहासिक डेटा और सरलीकृत धारणाओं पर निर्भर करते हैं और लिक्विडिटी, असाइनमेंट, स्लिपेज या बदलती बाजार स्थितियों को कैप्चर नहीं कर सकते। कोड GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस प्राप्त है।