नियमावली (Conventions)
emrgex में एक गणना को तीन स्वतंत्र, विश्व-स्तर पर मान्यता प्राप्त अक्षों द्वारा परिभाषित किया जाता है — इसमें कोई स्वामित्व-आधारित (proprietary) कोड नहीं हैं। आप चक्रवृद्धि (compounding), दिन-गणना (day-count), और कूपन सूत्र को स्वतंत्र रूप से चुनते हैं, प्रत्येक को ऐसे नाम से जिसे बाज़ार में कोई भी पहचान सके।
1. rate_type — चक्रवृद्धि / उद्धरण आधार
बट्टा लगाते (discounting) समय यील्ड किस प्रकार चक्रवृद्धि होती है।
rate_type | अर्थ | बट्टा लगाना (Discounting) |
|---|---|---|
NOMINAL | सांकेतिक दर जो frequency× प्रति वर्ष चक्रवृद्धि होती है (बाज़ार YTM) | (1 + y/f)^(-f·t) |
EFFECTIVE | प्रभावी-वार्षिक दर | (1 + y)^(-t) |
AT_MATURITY | मुद्रा-बाज़ार सरल बट्टा (T-bills / Letras) | 1 / (1 + y·t) |
PRICE_QUANTITY | इक्विटी / फंड NAV पास-थ्रू: मूल्य = कीमत × मात्रा (कोई बट्टा नहीं; कोई day_count नहीं) | — |
2. day_count — वर्ष-अंश नियमावली (FpML / ISDA)
समय को किस प्रकार मापा जाता है, जिसे FpML / ISDA 2006 §4.16 वर्गीकरण के अनुसार नामित किया गया है।
| नाम | टिप्पणियाँ |
|---|---|
ACT/ACT.ISDA | ISDA §4.16(b), वर्ष की सीमा पर विभाजित |
ACT/ACT.ICMA | ISDA §4.16(c) / ICMA नियम 251; एक नियमित अवधि घटकर 1/f हो जाती है |
ACT/ACT.ISMA | ICMA का उपनाम (alias) |
ACT/ACT.AFB | AFB 1994 |
ACT/360 | मुद्रा-बाज़ार |
ACT/365.FIXED | |
ACT/365L | लीप-वर्ष को ध्यान में रखने वाला हर (denominator) |
ACT/364 | |
30/360 | US / Bond Basis |
30E/360 | Eurobond |
30E/360.ISDA | + फरवरी परिपक्वता (maturity) नियम |
30/360.GERMAN | 30E/360.ISDA का उपनाम (alias) |
1/1 | अपूर्ण (degenerate), FpML पूर्णता के लिए |
BUS/252 | Brazil B3 / ANBIMA: कार्य दिवस / 252, अंतर्निहित ANBIMA अवकाश कैलेंडर का उपयोग करते हुए। Tesouro Direto LTN / NTN-F के सापेक्ष बिट-समान (bit-exact) |
ACT/ACT.DRMH | डोमिनिकन गणराज्य सरकारी आधार (Ministerio de Hacienda): वास्तविक दिन / भुगतान तिथि पर समाप्त होने वाली 12-महीने की विंडो में वास्तविक दिन। जारीकर्ता के प्रकाशित आधारों के सापेक्ष सत्यापित |
3. coupon_type — कूपन राशि की गणना कैसे की जाती है
coupon_type | प्रति अवधि कूपन | किसके लिए प्रयुक्त |
|---|---|---|
FIXED (डिफ़ॉल्ट) | coupon_rate / frequency × outstanding | पारंपरिक स्थिर-दर बॉन्ड (Treasuries, corporates, Eurobonds) |
ACCRUAL | coupon_rate × yearFraction(day_count) × outstanding | मुद्रा-बाज़ार और स्थानीय-बाज़ार बॉन्ड जिनका कूपन अवधि की लंबाई का अनुसरण करता है |
ये दोनों ACT/ACT.ICMA और 30E/360 के अंतर्गत मेल खाते हैं (एक नियमित अवधि ठीक 1/f होती है) और वास्तविक-दिन गणनाओं (ACT/365, ACT/360, ACT/ACT.ISDA) के अंतर्गत भिन्न हो जाते हैं। प्रति-उद्धरण (per-quote) options.coupon_type व्हाट-इफ विश्लेषण के लिए इंस्ट्रूमेंट की सेटिंग को ओवरराइड करता है।
calculation_code — वैश्विक पहचानकर्ता
प्रत्येक इंस्ट्रूमेंट एक calculation_code प्रकट करता है: इसके दो मुख्य अक्षों का संयोजन, <day_count>|<rate_type>। यह नियमावली से व्युत्पन्न होता है, कभी भी ऐसा इनपुट नहीं जो इसे ओवरराइड करे।
ACT/ACT.ISDA|NOMINAL ACT/360|AT_MATURITY 30E/360|EFFECTIVE PRICE_QUANTITY
PRICE_QUANTITY में कोई दिन-गणना नहीं होती, इसलिए इसका कोड केवल PRICE_QUANTITY है।
मिश्रण मैट्रिक्स (Mixing matrix)
ये अक्ष लंबकोणीय (orthogonal) हैं — कोई भी rate_type किसी भी day_count के साथ संयोजित होता है:
| rate_type | day_count | calculation_code |
|---|---|---|
| NOMINAL | ACT/ACT.ICMA | ACT/ACT.ICMA|NOMINAL |
| NOMINAL | 30E/360 | 30E/360|NOMINAL |
| EFFECTIVE | ACT/365.FIXED | ACT/365.FIXED|EFFECTIVE |
| AT_MATURITY | ACT/360 | ACT/360|AT_MATURITY |
वैधता नियम: NOMINAL / EFFECTIVE के लिए एक धनात्मक frequency आवश्यक है; AT_MATURITY और PRICE_QUANTITY frequency को 1 पर बाध्य कर देते हैं; PRICE_QUANTITY कोई day_count नहीं लेता; प्रत्येक अन्य संयोजन के लिए एक वैध day_count आवश्यक है।
विघटित दिन-गणनाएँ (उन्नत)
day_count सामान्यतः एक साथ तीन चीज़ों को संचालित करता है। जब किसी इंस्ट्रूमेंट को प्रति अक्ष भिन्न आधारों की आवश्यकता होती है, तो उन्हें अलग-अलग ओवरराइड करें — प्रत्येक वैकल्पिक है और day_count पर वापस लौट (fall back) जाता है:
| फ़ील्ड | वह अक्ष जिसे यह नियंत्रित करता है |
|---|---|
accrual_day_count | उपचित ब्याज (accrued interest) (coupon corrido) |
coupon_day_count | ACCRUAL कूपन राशि |
discount_day_count | बट्टा-समय घातांक t (वर्तमान-मूल्य / present-value) |
उदाहरण के लिए, डोमिनिकन सरकारी ACT/ACT बॉन्ड जारीकर्ता के 365/366 आधार पर उपचित होते हैं परंतु बाज़ार/ICMA अवधियों पर बट्टा लगाते हैं — इसे day_count: ACT/ACT.DRMH के साथ discount_day_count: ACT/ACT.ICMA के रूप में मॉडल किया जाता है।
जानें कि क्या समर्थित है
curl https://calc.dev.emrgex.com/v1/admin/conventions
प्रत्येक rate_type और day_count को एक विवरण के साथ लौटाता है, साथ ही calculation_code प्रारूप भी।