FinancePy

FinancePy API Reference

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.