You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For pricing bonds that are issued with face values other than $100 (e.g. baby bonds which are issued with FV of $25), there is an automatic conversion of any prices calculated to be out of $100 in both BondFunctions analytics and the internal bond analytics. In the example below, I set a face amount to be $25 in the pricer, but when I call cleanPrice() or other relevant method, the price is automatically converted internally by multiplying with 100/notional. To convert the returned clean price back to the desired unit of par, I have to do it on my end by multiplying by faceAmount/100 (or alternatively I can use following to get cleanPrice: settlementValue - accruedAmount/(100/faceAmount)). Similarly, if I try to pass in the original price and retrieve a zspread, the price is assumed to be on $100 FV and the zspread calculated is wrong, so I have to convert the price the same way before passing it into the zspread method.
Is there a more direct way to retrieve clean price and other bond analytics in the unit specified by the notional without have to do additional pre/post conversion?
This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.
These baby bonds and preferred shares that trade on equity exchanges are traded in shares like common stocks and are quoted in dollar value. Bonds in general trade over the counter and are quoted as a percent of face value. Most of them are in denominations of 100 and 1000. So if you buy a bond at 70 with 1000 face value you don't buy shares as in equity exchanges but lots of face value. For example if you buy 5000 face value you will pay 5000*70/100=3500. So you have to convert market price as a percent of par to work correctly and convert back calculated clean and dirty prices as they are in percent.
This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.
For pricing bonds that are issued with face values other than $100 (e.g. baby bonds which are issued with FV of $25), there is an automatic conversion of any prices calculated to be out of $100 in both BondFunctions analytics and the internal bond analytics. In the example below, I set a face amount to be $25 in the pricer, but when I call cleanPrice() or other relevant method, the price is automatically converted internally by multiplying with 100/notional. To convert the returned clean price back to the desired unit of par, I have to do it on my end by multiplying by faceAmount/100 (or alternatively I can use following to get cleanPrice: settlementValue - accruedAmount/(100/faceAmount)). Similarly, if I try to pass in the original price and retrieve a zspread, the price is assumed to be on $100 FV and the zspread calculated is wrong, so I have to convert the price the same way before passing it into the zspread method.
Is there a more direct way to retrieve clean price and other bond analytics in the unit specified by the notional without have to do additional pre/post conversion?
Please run below code for example.
Thanks for any thoughts.
The text was updated successfully, but these errors were encountered: