Kom igångKom igång gratis

Förutsagda kontra faktiska priser I

Att plotta förutsagda obligationspriser för olika ränteniåver med hjälp av duration, och sedan jämföra dessa med de faktiska priserna, är ett bra sätt att visualisera hur träffsäker durationen är.

I den här övningen börjar du med att beräkna obligationens duration samt priset vid olika ränteniåver. I nästa övning beräknar du det förutsagda priset utifrån duration och plottar skillnaden.

Obligationen du arbetar med har en löptid på 10 år, en årlig kupongränta på 5 % och en effektiv ränta på 5 %.

numpy, numpy_financial, pandas och matplotlib har redan importerats som np, npf, pd respektive plt.

Den här övningen är en del av kursen

Obligationsvärdering och -analys i Python

Visa kurs

Övningsinstruktioner

  • Beräkna obligationens duration och dollarduration.
  • Skapa en array med obligationsräntor från 0 till 10 i steg om 0,1 och konvertera den till en pandas DataFrame med namnet bond_yield.
  • Lägg till kolumnen price med obligationspriset för varje ränteniåv.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____

# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____

# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)
Redigera och kör kod