शुरू करेंमुफ़्त में शुरू करें

फैक्टर के मुकाबले convexity का प्लॉट

किसी विशेष फैक्टर का बॉन्ड की convexity पर क्या असर पड़ता है, यह देखने का एक और तरीका है उस फैक्टर को सीधे बॉन्ड की convexity के साथ प्लॉट करना.

इस अभ्यास में, आप 20 साल के एक बॉन्ड की प्राइसिंग करेंगे जिसमें 6% कूपन और USD 100 का फेस वैल्यू है, फिर अलग‑अलग यील्ड स्तरों पर इस बॉन्ड की convexity निकालेंगे.

numpy, numpy_financial, pandas, और matplotlib पहले से ही क्रमशः np, npf, pd, और plt के रूप में इंपोर्ट किए गए हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में बॉन्ड वैल्यूएशन और एनालिसिस

पाठ्यक्रम देखें

अभ्यास निर्देश

  • 0 से 20 तक 0.1 की वृद्धि में बॉन्ड यील्ड्स का एक array बनाएँ और उसे pandas DataFrame में कनवर्ट करें.
  • बॉन्ड की कीमत निकालें, यील्ड्स को ऊपर और नीचे शिफ्ट करके दोबारा प्राइस करें, फिर बॉन्ड की convexity की गणना करें.
  • x-axis पर बॉन्ड यील्ड्स और y-axis पर convexity के साथ ग्राफ प्लॉट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create array of bond yields and covert to pandas DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)

# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____
कोड संपादित करें और चलाएँ