FinancePy icon indicating copy to clipboard operation
FinancePy copied to clipboard

Can financepy calculate the amortized bonds?

Open piper0124 opened this issue 1 year ago • 2 comments

Can financepy calculate the amortized bonds? For example, a bond with an issue date of March 16, 2023, a maturity date of March 16, 2029, a fixed coupon rate of 4.5%, a face value of 100, and repayment of 25% of face value (or, alternatively, at 10%, 20%, 30%, and 40%) in 2026, 2027, 2028, and 2029, respectively? Thanks.

piper0124 avatar Dec 13 '24 02:12 piper0124

Hi - not easily. If you would like me to add this functionality then can you let me know the variations on such a structure and how it would be best described. How is it described for example on BBG. Once I know this I may be able to add at it.

domokane avatar Dec 14 '24 15:12 domokane

I checked the details of these amortizing bonds (many government bonds have early repayment provisions), and it seems there is no identical pattern regarding the repayment schedule. I think the hardest part is specifying the cash flows and their corresponding timing; the rest is simply applying the discounting curve to calculate the NPV and other metrics. I got some ideas (inspired by the book A QuantLib Guide by Luigi Ballabio) and would like to give it a try—would that be acceptable?

piper0124 avatar May 27 '25 06:05 piper0124

I added a reset flowss method to the bond class that allows for this.

domokane avatar Oct 05 '25 18:10 domokane