Bond Frn
financepy.products.bonds.bond_frn
Classes
BondFRN
BondFRN(issue_dt: financepy.utils.date.Date, maturity_dt: financepy.utils.date.Date, quoted_margin: float, freq_type: financepy.utils.frequency.FrequencyTypes, accrual_dc_type: financepy.utils.day_count.DayCountTypes, cal_type: financepy.utils.calendar.CalendarTypes = <CalendarTypes.WEEKEND: 2>)
Class for managing floating rate notes that pay a floating index plus a
quoted margin.
Methods
dirty_price_from_dm
dirty_price_from_dm(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the full price of the bond from its discount margin (DM)
using standard model based on assumptions about future Ibor rates. The
next Ibor payment which has reset is entered, so to is the current
Ibor rate from settlement to the next coupon date (NCD). Finally, there
is the level of subsequent future Ibor payments and the discount
margin.
principal
principal(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float, face: float = 100.0)
Calculate the clean trade price of the bond based on the face
amount from its discount margin and making assumptions about the
future Ibor rates.
dollar_duration
dollar_duration(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the risk or dP/dy of the bond by bumping. This is also
known as the DV01 in Bloomberg.
dollar_credit_duration
dollar_credit_duration(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the risk or dP/dy of the bond by bumping.
macaulay_duration
macaulay_duration(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the Macaulay duration of the FRN on a settlement date
given its yield to maturity.
modified_duration
modified_duration(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the modified duration of the bond on a settlement date
using standard model based on assumptions about future Ibor rates. The
next Ibor payment which has reset is entered, so to is the current
Ibor rate from settlement to the next coupon date (NCD). Finally, there
is the level of subsequent future Ibor payments and the discount
margin.
modified_credit_duration
modified_credit_duration(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the modified duration of the bond on a settlement date
using standard model based on assumptions about future Ibor rates. The
next Ibor payment which has reset is entered, so to is the current
Ibor rate from settlement to the next coupon date (NCD). Finally, there
is the level of subsequent future Ibor payments and the discount
margin.
convexity_from_dm
convexity_from_dm(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the bond convexity from the discount margin (DM) using a
standard model based on assumptions about future Ibor rates. The
next Ibor payment which has reset is entered, so to is the current
Ibor rate from settlement to the next coupon date (NCD). Finally, there
is the level of subsequent future Ibor payments and the discount
margin.
clean_price_from_dm
clean_price_from_dm(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, dm: float)
Calculate the bond clean price from the discount margin
using standard model based on assumptions about future Ibor rates. The
next Ibor payment which has reset is entered, so to is the current
Ibor rate from settlement to the next coupon date (NCD). Finally, there
is the level of subsequent future Ibor payments and the discount
margin.
discount_margin
discount_margin(self, settle_dt: financepy.utils.date.Date, next_cpn: float, current_ibor: float, future_ibor: float, clean_price: float)
Calculate the bond's yield to maturity by solving the price
yield relationship using a one-dimensional root solver.
accrued_interest
accrued_interest(self, settle_dt: financepy.utils.date.Date, next_cpn: float)
Calculate the amount of coupon that has accrued between the
previous coupon date and the settlement date. Ex-dividend dates are
not handled. Contact me if you need this functionality.
print_payments
print_payments(self, settle_dt: financepy.utils.date.Date)
Print a list of the unadjusted coupon payment dates used in
analytic calculations for the bond.
Generated automatically from the FinancePy source code.
Do not edit this file manually.