BondCalc Version History
1.3F (3/25/98)
- Added a new security type to input schema F. It is Type 12 and creates an instrument with level debt that has preset steps in it.
- Added discount rate to the IRR calculator that can be found on Alt-F4 (selection G). When entered on the F3 input screen present and future values will be calculated.
- Added a flag to the mortgage input screen (Schema H) that has the program calculate the mortgage from the issue date, using original balance, and determine the current balance outstanding.
- Developed facility in portfolio section to securitize B and C commercial mortgage loans. It produces a senior/subordinated structure with a reserve fund. Input is on Alt-S and a choice is on the report menu. Call developer for more information.
- Added column to report writer for amount of balloon, or difference, in the last payment of a mortgage, usually a commercial one using Type 5 on Screen F. It is number 220.
- Added input field for MBS securities (Screen H) for the annual default rate. Alternatively, defaults may be entered as a vector on a popup controlled by Alt-D. When used an extra column will appear on the cash flow, report plus related notes. A column, 161, was added to the portfolio report writer.
- Added columns to the portfolio report writer for Investment Grade. The column will say YES or NO depending on whether the rating is higher or the same as BBB-. They are numbers 291, etc. for the different rating input fields.
- Added report to the single security section for prepayment analysis (screen H only). For range of 0-20% CPR it has columns for CPR, IRR, average life, duration, and spread. Can export to spreadsheet for graphing. It is on the last page of the report menu.
- Added report to the single security section for loss analysis (screen H only). It is the same as the previous feature, except for a range of annual losses from 0-10%.
- Added new bond type to screen F. It is a serial structure will all interest compounded and paid at maturity. It settles plus accrued interest so the price can be kept at 100 for the GIC market. It it Type 13. It is similar to Type 9, except 9 has a price that includes the accrued.
- Added capability to import commercial mortgages using a user defined format. See import screen.
- Added feature that allows accrued interest to be calculated when using the N input screen. See Accrued Interest Type on the last page of the security input, which needs to be set to a 4.
- Added two new security types on the F input screen. These new type, 14 and 15, are level debt types like types 2 and 5, except that the principal amount inputted is assumed to be the balance on the issue date. The current balance outstanding will be derived.
- Added finer control over the interaction when a Speed Table is designated and a speed or rate is also entered in the mortgage security. It is discussed behind the Speed Table name input field.
- Added cabability to use two yield curves together when matrix pricing. See Matrix Code at bottom of Portfolio Alt-O screen and last input field in security. Also added report column 119 for this second matrix name.
- Added columns to portfolio report writer for the columns in the matrix pricing evaluation report. They are columns 451-468.
- Added columns to report writer that shows change in price from prior period.
- Changed matrix pricing so that yields and spreads entered at the portfolio level will now also override the matrix pricing process.
- Enhanced Delayed Delivery Bonds on Alt-F4 to also be able to handle sinking funds, and warrants and bonds.
- Added two new columns to single security reportwriter for bonds with make whole calls. Column 48 shows the average life remaining on the call dates that is used for finding the Treasury rate and Column 49 is the breakeven Treasury rate (excluding any make whole premium) that the call price goes to 100.
- Added single security reportwriter column which shows the amortized values on the call dates. It is column 76.
- Added capability to mortages to be able to backsolve on the CPR rate. After the spread or yield enter a +R+ then the CPR rate you want to price using.
- Added calculation of partial (or key rate) durations.
- Added flag to PIK input screen that calculates with the assumption the entered principal is the amount that was outstanding at the beginning.
- Added backsolving flag to Yield field for using specific yields for each of the pieces of a serial issue. The yields must be entered, as before, on the F9 popup. Now a +Y in the yield input field will use these results to price the issue.
- Added two report writer columns that switch between before tax and after tax yields (or spreads) depending on whether the instrument has a tax benefit. It is only available for yield-to-worst. See columns 213 & 214.
- Added ability for BondCalc to have various Rating Personalities. This is useful for someone that has more than one client, and ratings are being stored in different input fields. Set personality on the Portfolio Override screen. The global default is at the bottom of Shft-F5. And the database of personalities is on Ctrl-B.
- Added "Net" Price to display screen when the regular price is being priced with the accrued included. Examples are PIKs and preferred. Can also input this price by entering a "+N" after the price in the price input field.
- Added report to single security section that shows the bond's prices into the future holding the yield-to-maturity constant. See last page of report menu.
- Added capability to enter spreads into a portfolio more easily. The Yield column in the portfolio now supports all the yield field modifiers that are available in the single security section. The setting on the Alt-O override screen will only affect single numbers (w/o a "+") found in the input field.
- Added facility to export the portfolio pricing input used, and then import it into another user's system. See selection at the bottom of the 4th page of the portfolio report menu for export, and 2nd choice on the Import menu to import.
- Added capability to price a security off of a selected Treasury. To use, enter the years and a Y in front of the + sign, in front of the spread. For example 10Y+100. If a yield curve exists with the name 10Y, then it will be used in the current fashion and this feature will not be in effect. Also added a note to the Term Sheet when this feature is being used. Also added column 261 to the Portfolio Reportwriter which shows which benchmark it was priced off of, or the word "Interp" if regular interpolation was used.
- Added prepayment premium option to Screen H. The premium declines over time, and a portion of it can be designated as defaults which have no premium.
- Added switch on the bottom of Ctrl-F6 that controls how average life is calculated when the bond has negative amortization.
- Added calculation of static prepayment speed when the mortgage has a vector for prepayments. This will appear in the notes on the standard calculation page.
- Added capability for mortgages on Screen H to have day countings other than 30/360. See DCC input field on first input screen.
- Added multi-tranche capability to both senior and subordinated levels in the securitization section. Both A and/or B can have unlimited levels. Added tranche detail report and another summary report.
- Added CMO capability to single security level. Initially on implmented on input screen H. See secondary input screen on Alt-S. Yield curve shift reports are implemented.
- Added better control over the input of partial PIKs. The F9 popup has four different input personalities. See help behind popup and behind the F9 Type input field.
- Added Day Counting Control to the PIK screen.
- Added Delay Days to the PIK screen.
- Added capability to securitization for floating rate tranches.
- Can now import mortgage factors and put them on the popup. See import menu.
- Added a new input control feature to the yield field to price the security at its purchase yield or discount. It requires purchase information. Enter a +P in the yield field.
- Added feature to PIKs that allows one to enter all sinking funds except the principal on the maturity date, where whatever remains is matured. See sinking fund feature code -3.
- Added serial church bonds. These are a mix of coupon bonds and compounding bonds. See Input Schema O.
- Added ability to change the price increment for a the yield movement for a price move. It had been hard coded at 1/32, but this allows higher yield markets to use something like an 1/8. See last input field on Shft-F5.
1.3E (7/10/95)
- Added new Type 11 to Input Schema F. Allows user to input principal balances on F7 instead of principal payments.
- Added prepayment factor history to F9 in Input Schema H. When input is found the program will calculate the implied speeds/rates for the past month, three months, six months, and past year.
- Added new type to PIK input screen (entering a -2 in the first sinking fund date field). When turned on the security pays out the accumulated interest on the last PIK date and the balance drops to the starting balance and the issue then pays out currently.
- The dated cash flows on Input Schema N and the IRRs on Alt-F4 Option G can now import cash flows from each other.
- Added 53 columns to the portfolio report writer that provide statistics for yield curve shift analysis for +/- 100, 200, 300 basis points change. For each shift columns are available for: yield, price, duration, convexity, average life, ending date, change in value, and percent change.
- Added several new exports to portfolio processing.
- Added capability to spread matrix database to store several matrices under one date in the file system. To implement create spread matrix with name in format CCYYMMDD and then entered named matrices below. On the portfolio override screen (Alt-O inside portfolio) one then designates the date. This feature should speed up portfolio matrix pricing. Also added import facility to import numbers created in a spreadsheet and put into a PRN file.
- Portfolio cash flow graphs now include mortgage prepayments and mortgage service fees.
- For those of you desiring to switch to T+3, there is an input field for number of business days on the Ctrl-F6 Defaults screen.
- Completely rewrote facility that stores prices (and other stats) on securities. See F12 when on a security input screen, Alt-P when on a portfolio input screen, and portfolio report option (on fourth page of output menu) that stores prices.
- Added columns to the Portfolio Report Writer that allow the inclusion of the data from the price database described in the previous entry. They are column numbers 2001-2012 and specifics on them are entered on F8 when on the main input screen of the report format when in the Ctrl-R database.
- ESOP Make-whole call calculations now gross up the coupon by the ESOP factor before calculating the make-whole call price.
- Added two more methods of pricing ESOPs. A footnote with the yield (and spread) will appear using the grossed up coupon method of pricing (dividing by the ESOP factor of about 0.79). Four columns were also added to the reportwriter to allow adding to the single security display. Columns 47 and 304 are, like the footnote, the yield and spread calculated with the coupon grossed up, but will show them to each call date. Columns 305 and 306 are from the before taxes yield which is grossed up by the ESOP tax factor. All of these fields can be clicked on with the mouse for backsolving.
- Expanded comprehensive import format. A copy of it, in Microsoft Word 6.0 format, is on this update disk under the name BCLAYOUT.DOC.
- Added database of Prepayment Speed Tables for mortgage-backed securities. These tables will allow removal of prepayment assumptions from the securities, but more importantly they allow for dynamic prepayment assumptions when doing yield curve shift analyses. Can access the database from the F2 menu or on Ctrl-A. If a table is designated a range of price differentials for standard shifts will appear on single security on-screen results.
- Added fields on Ctrl-F3 to globally designate a spread matrix nest and a speed table nest. These are files with a date for a name that have sub-matrices inside. Can still designate on Portfolio Override Screen.
- Added popup input box for security extraordinary calls. They are on Alt-G and can be used to supplement or in lieu of the calls on the main input screen. Dates can be random. This feature also now allows for calls on the J input screen for money market securities.
- Added popup screen for yield curve shift sensitivity when viewing the single security on-screen results (on F7).
1.3D (2/28/95)
- Rewrote how BondCalc processes cash flows. System now requires more memory but will backsolve more quickly.
- Removed default display screen from single security section and there is now only the custom screen controller. Screen columns default to a similar format, but can be changed by the user by pressing F4 when on the display. This change also increased memory usage.
- Added backsolvable fields to the single security display screen. They are in reverse video and if the left mouse button is clicked on them a prompt will pop up for input. The right mouse button will display a paragraph about the results that are under the cursor. (This is a subset of the entire help that is available under F1.) If the mouse does not appear then you need to add mouse support to your autoexec.bat.
- Added many more backsolving capabilities to the yield input field. The new ones are:
- +E Effective Yield. This is the Modified IRR or Horizon Yield, and first uses any reinvestment rate on the second input page, or defaults to the global rate set on ShftF5. Yield and spread are columns 22 and 303.
- +H Horizon Return using the horizon input on the second input page. A +D may also be included. Result is in a footnote.
- +P Yield from Purchase. Purchase Date and Price is required input and result will appear as a footnote. Optionally see input at bottom of second page for using a known reinvestment rate.
- +L Leveraged or After Financing Yield. Yield and spread are columns 30 and 73.
- +B Brady Stripped Yield (or Pure Country Yield).
- +X Return in Base Currency. Yield and spread are columns 36 and 75.
- +J Japanese Simple Yield. Also column 41.
- +V Return with Reserve Bond. Also column 42.
- +I Effective Yield/Horizon Return using Implied Forward Yield curve. Also column 26.
- +M Make-Whole Yield Convention. This is the conventional method found in indentures when an issue has been called. It is not a true present value.
- +! Money Market Discount Rate.
- +@ Interest Bearing Rate.
- +# CD Equivalent Rate.
- +$ Bond Equivalent Rate.
- +% In Display Frequency Compounding.
- +U Current Yield. Coupon divided by price.
- +K To First Call (or clean-up call).
- +^ Spread for Life (on Floaters).
- +& Effective Margin.
- +* Adjusted Total Margin.
- +( Yield-to-Maturity Spread.
- Added toggle that allows the Import Entire File facility to have a file system as its front end. This will simplify it for someone importing several files on a regular basis. To set on see last field on Ctrl-F6.
- Added input field at bottom of third security input page for FASB 115.
- Added toggle that allows a choice of convexity units. Choices are: Bloomberg or Fabozzi/EJV. To change see second field on Ctrl-F6.
- Changed portfolio matrix pricing to a "mode" instead of just a report. When selection is checked all portfolio calculations will be done using the price derived from matrix pricing.
- F5 when on security list now displays calculations without going into security. Now only the insert key can be used to create a new security. Elsewhere, F5 is still a synonym for the insert key.
- Added HEP prepayment curve for Home Equity Loans, as developed by Prudential Securities.
- Rewrote code underlying yield curve shift analysis. Worst cash flows are now dynamically reselected for each curve shift. Now has same control as matrix pricing on ShftF6 and can alternatively be priced with either OAS or spot pricing. Can now handle ESOPs. [ESOPs not yet working. OAS and spot only okay if portfolio is matrix priced at the same time.]
1.3C (12/08/94)
- Added two new yield curve input screens. They are both simple, one with 11 input points, the other with 32. They were added to conform with the Bloomberg yield curves found on OAS1 Page 2 of 2.
- Redesigned FX Rate input screen. Can now enter any currency code. Existing input will be converted over.
- Added control option to Ctrl-F6 Date Control Screen that controls date format on output. Now have the choice between American (MM/DD/YY) and European (DD/MM/YY).
- Added database to store indexes. These various indexes will be used for inflation adjustments and benchmark comparisons. Access the database at any time with Ctrl-I.
- If a yield curve name is entered in the security yield input field (preceding the spread) it will now be used as the yield curve base for all security calculations and a curve name need not be entered globally. (Because of this change versions prior to version 1.3C cannot read data saved by 1.3C.)
- Entering a +C in the yield input field will take the closest Treasury and now use it for comparison numbers in addition to being the base for the yield.
- Removed display of subdirectory from program file lists. This subdirectory was not intended to be for user data. If user data is stored there you have two ways of transferring it to a different subdirectory. (1) Use Ctrl-F3 and set path to subdirectory. Enter file list and use F8 to transfer each file to a new location. (2) Use import facility off of main menu to merge data in path into another location.
- Split second security input page into two pages. Securities now have three input pages.
- Added inflation adjusted bonds to input screen F. Set SF Type to 10 and enter name of index (from Ctrl-I database) on third security input page.
- Added Stripped Yield (or pure country yield) for Brady Bonds. On the third security input page enter the percent of principal that is covered by zeros, and the number of months of interest cover in escrow. Numbers will appear on screen results, term sheet and column 240 in portfolio report writer. See report on last page of security report menu for calculation description.
- Added input field to OAS input screen that controls whether OAS is calculated when there are no calls.
- Added input field to bottom of third security input page that allows the user to designate a numeric number to use as the treasury base. It also allows for the entry of a yield curve name that overrides the globally designated yield curve.
- Enhanced matrix pricing to use any of the eight rating fields or to use a weighted average of the rates it finds in specified fields. Weightings are controlled by pressing Alt-R twice when on the security input screen. The blended rating will appear on the portfolio credit distribution report and is column 139 in portfolio report writer. Note that the scale designated for the first input field will be used for spread matrix scaling and the blended rating label.
- Enhanced rating display on Term Sheet. Now prints up to all eight ratings with scale labels. No longer prints an NAIC rating in User Field #1. Move data to third rating field on Alt-R popup input.
- When bond is currently callable the phantom call is now in thirty days but moves to a Monday when it falls on a weekend.
- Added column to pretax cash flow report when the day counting convention results in each period having a different payout. For example, when Actual/360 day counting.
- BondCalc now conforms to industry convention and displays the money market rate in the IRR column when the ending date is one period or less away from the settlement date. The semiannual IRR is displayed in a footnote.
- Enhanced control of day counting convention. Can now separately control convention used for interest calculations and convention used for cash flow discounting (and average life calculation). Enter both in existing field, separated by a + sign.
- Added capability to include unscheduled principal payments in addition to the scheduled sinking funds or in lieu of them. Enter on F10 popup when in single security. (Additional interest payments were already supported.)
- Added another yield curve input screen. This one has three columns: date, coupon, and price or discount rate. Using this curve will produce the most accurate spot curve.
1.3B (10/2/94)
- Improved facility that controls the custom results display option. It is now easier to switch from the default display to a custom one (which gives the user the choice of over 50 columns in any order). One way to try out this option: (1) Display single security results on screen, (2) press F4, (3) on the next screen press F4 twice, (4) press F5 to set. To return to the default repeat the steps but replace step (3) with Ctrl-C. The default custom screen will display a column for Static Spread when the issue does not have after tax effect calculations. Use to check that the OAS spread is in line with these numbers.
- Added capability to have the portfolio calculations to include changes that have been traded but have not yet settled. To use one must first create transaction tickets. They are created inside a security with Alt-T. The database of existing is accessed with Ctrl-T. Designate transaction book name on the portfolio's Alt-O Override screen.
- Added Cash Available Report to Portfolio Report menu (at end). For a time frame (with end set on Shft-F6) it will list the cash in- and out-flows expected. Not yet settled transactions are taken from the ticket database described in previous entry. Cash transactions are created with F5/Ins when viewing the list of tickets in the Ctrl-T database.
- Added column to Single Security Report Writer for Simple Yield, or Japanese Yield. The addition of this measure (that does not include the effects of compounding) brings the total number of columns in this report writer to 52.
- Improved statistics that display when the security has a floating rate. Now also displays Discounted Margin.
- Added routine to Calculation Menu (on Alt-F4) that displays the combined IRR for a short-term financing which rolls over into a long-term bond.
- Added option to Portfolio Parameter Screen (Shft-F6) that changes the Book Processing Facility to act like it is managing a portfolio of short-term investments that are accreted to par daily. Initial reports are a variant on the trader's monthly P&L and a report of investments sold during the year (IRS Schedule D).
- Fixed bug that screwed up the spread matrix in versions 1.3 and 1.3A. An extra line for GOVT was appearing in the input scale. This has now been removed. Any input that was entered in versions 1.3 and 1.3A now no longer lines up. To readjust your input press F8 when over the input screen and your data will be shifted up a row.
- Added report to File Maintenance Menu that prints a list of the securities in the database that have matured.
- Added new solving type to the security's yield input field. +T designates the input to be the Static Spread, which is the constant spread over the theoretical spot rates for each of the issue's cash flows. Can combine with the +W to Worst option. Also can vary the spread over time with F11. Added to the list of personality choices that the portfolio yield input column can be. For this see yield field control on ShftF6 and Portfolio's Alt-O Override Screen. Also added cash flow report to single security section that shows how static spread calculations are done.
- Added choice to Portfolio Report Menu that clones the portfolio cash flows and creates a Security (Schema N). See last choice on report menu. This choice is sensitive to the grouping control that is on ShftF6.
- Fixed bug in Yield from Purchase when security had sinking funds in the past.
- Added field to Portfolio Override Screen that allows the user to override the globally designated DOS path to the spread matrix database.
- Added capability to calculate a projected total return. This feature allows a portfolio to end on a specified horizon date and then be matrix priced on that date. Use -1 in Specified Ending Price field on Portfolio's Alt-O Override Screen to turn on. Also added report to end of Portfolio Report menu that shows the details behind the matrix valuation at the ending date. [PIKs and some other unusual securities may not yet work.]
- Added selection for the calculation of currency equivalences to the Calculations Menu on Alt-F4.
- Enhanced matrix pricing to also have the option to price using spot rates. Each cash flow is priced from respective spot rates and spreads. Set Matrix Pricing Type to 4 on ShftF6.
- Added ability to enter numbers in scientific notation. An example would be 1.23E6 for 1,230,000.
- Enhanced the screen print facility on the popup input boxes that have scrolling capability. Now it only prints the respective input panel with all its pages of data. Previously it just printed the screen. This enhancement is most useful when one has entered many pages of notes on a security.
- Added additional method of calculating accrued interest. Can now have instrument earn interest on the first day instead of the usual last day. See Acc.Int. Type in lower right of second page of security input.
- Can now enter the name of a Yield Curve in the Floating Rate name input field. Program uses security's average life to interpolate out a base rate, then adds any spread to determine security's coupon rate.
- Improved OAS calibration [when all coupon periods are even]. Calibration can be observed by changing the volatility on a non-callable bond and seeing the OAS spread not change. It should also be the same as, or very close to, the Static Spread which can be seen by changing to the custom display format (as noted in first note above).
- Added global default reinvestment rate to ShftF5 Report Parameter Screen. Column 22 of the single security report writer is Effective Yield to each call date and this rate will be used if there is no input on the second security input page. Suggest switching to custom display format (as noted in first note) and replacing convexity (col 144) with 22.
- Added three columns to the single security report writer for Duration Equivalency Bond Analysis. This is the same analysis that is available on the Bloomberg Sinking Fund Screen. A pseudo straight bond with the same duration as the bond being priced is created. An IRR on this pseudo-bond is calculated and along with the b.p. spread to the true cash flow IRR. See columns 147-9. Also added column to portfolio report writer for spread at maturity.
- Added horizontal scrolling to results screen display. Now can create a report named ALL in the ^Q Report Format Database and enter all 55 single security report columns (^Q, <Ins>, ALL, <enter>, F7, F3, (F4 optional - change sort to column number), press <enter> until all numbers are transferred, <esc>, <esc>, <esc>, <esc>). To designate as display either: (1) enter as Screen Override Format in lower section of second page of security input, or (2) when viewing results press: F4 (to bring up custom display control facility), ^C (to clear screen if necessary), enter ALL in last field of first column, then <esc> to redisplay results screen.
- Added two reports to yield curve scenario output menu. They simply print the yield curve. One has more columns and includes the maturity dates and the spot rates. The other only has two columns: years and yields. Also added optional as-of-date to each of the yield curve input screens. Will override system date when finding maturity dates on fuller report version.
- Added clean-up call capability to the Mortgage Screen (Screen H). In the call price field append +B (for balance) after the principal balance percentage that will trigger the call (at a price of 100).
- Added capability to calculate the combined return of two bonds: the underlying security and a Treasury bullet bond put in reserve. The percent of the deal amount that is invested in the Treasury is controlled by a new field at the bottom of the second input page. If input exists a line will appear on the results display and a cash flow report on the second page of the report menu will be enabled. Also added four columns to the single security report writer (42-45) for the combined yield, the combined average life, and the combined duration. This is an NAIC requirement for lower rated bonds.
- Moved convertible bond predictions parameters from third input page to new input screen on Alt-V.
- Now multiplies Pool Factor times Par Amount on Passthrough Input screen.
- Added option to Portfolio Output Menu that creates an ASCII text file in the PAM Standard Price Record Layout. It is on last page.
- Added ability to all bonds to be either a PO or an IO. See new input fields at bottom of second input page.
- Added Dollar Duration to both reportwriters. It is modified duration multiplied by the current market value of the security (price plus accrued interest). It is column 243 in the single security reportwriter and column 404 in the portfolio one.
- Added calculation routine for Delayed Delivery Bonds. In these partial pay bonds only 15-25% of the price is paid at issuance with the rest paid six months, or so, in the future. It is near bottom of Alt-F4 menu.
- Added calculation routine for various warrant pricing models that have been around for many years. It is last choice on Alt-F4 Menu.
1.3A (5/9/94)
- Added OAS capabilities. BondCalc can now calculate the OAS spread, option value, option free yield and effective duration for all bonds that it handles (excluding tax preferences and equity conversion features). Numbers will be displayed on screen along with other results when a volatility is found on the Ctrl-O OAS Control Screen (see next entry). Numbers will also appear on the term sheet. Methodology follows "An Introduction to Option-Adjusted Spread Analysis" by Tom Windas (published by Bloomberg - can order free copy on SVY screen.) Numbers agree with Bloomberg's OAS1 screen for non-sinking fund bonds. However, Bloomberg's numbers for amortizing bonds are not correct. Note that this feature REQUIRES a math coprocessor and is an additional module not included in the basic version. Also note that RAM use goes up geometrically for bonds with more periods. A mortgage with 360 periods will require 16MB of RAM for BondCalc's binomial tree but the prepayments would be better analyzed using a Monte Carlo simulation.
- Added Ctrl-O OAS Input Screen where one can control volatility and have it change over time. The user also has control over the normally neutral probability assumption about rates going up or down (also controllable over time). 3-D skyscraper graphs are available for the binomial probability distribution and the risk free rates.
- Added OAS backsolving capability. Can enter the OAS spread or the Option Free Yield in the Yield Input Field. Append +O behind a spread for the OAS spread and +F behind any form of yield input for Option Free Yield. Entering +FD will find the Option Free Yield assuming maximum double-ups taken.
- Added eight columns to the portfolio report writer to cover new OAS numbers. There are now 197 columns to choose from.
- Added OAS pricing to matrix pricing. Yields built from the spread matrices will be the option free yields for the securities. BondCalc will iteratively solve for the price that will give this yield. When the issue has sinking fund double-ups the program will take the lower of the price calculated using maturity flows and the one calculated assuming maximum double-ups taken. To activate set Matrix Pricing Type Field on Shft-F6 Portfolio Parameter Screen. In the single security section the OAS matrix price will appear as the average on the report, which matrix prices to each call date. See How-to notes on F1 at program top for more explanation.
- Added capability to price a sinking fund security by inputting the yield to average life (non-DCF). After the yield input append a +G to so designate. Note that this feature requires a single coupon rate entered only on the front input screen. Added column for this yield to portfolio report writer. Can also be input in portfolio yield column.
- Changed units on Price Value of an 01 to conform to Bloomberg. Also now call it risk.
- Changed units on Convexity. BondCalc is now in conformance with Frank Fabozzi's "Valuation of Fixed Income Securities". It is now half the size that it used to be. However it is still 50 times greater than the units used by Bloomberg.
- Added popup IRR Calculator that is date driven. It is menu choice G on the Alt-F4 Calculations Menu. Facility has choice of file saving between: 0-none, 1-continuous memory, and 2-full file saving system. Basic numbers are returned to the screen. Compounding and day counting convention are controlled by an F3 popup.
- Added field to ShftF6 that controls whether the report writers have two or four digit years. Also now when Printer Type on CtrlF4 Default Screen is set to ASCII the number formatting will be omitted. These will facilitate the use of report writer output as input to other programs.
- Enhanced choices for the input in the portfolio yield column. It can now also be OAS spread and Option Free Yield. It is controlled on ShftF6 with an override on the Alt-O Portfolio Override screen.
- Added regression to method used to fill in blank spreads in spread matrices used when matrix pricing. Also added F5 to display spreads to the screen when over the spread input screen. See Ctrl-M or ShftF10.
- Added choice to portfolio output menu that exports all of the securities in the portfolio to another drive or subdirectory. See last report menu page.
- Added +W option to yield input field. Along with a spread input this capability will find which call date will produce the worst price. Can optionally enter a spread curve on F11 instead of the single spread number in the yield input field.
- Added facility to Total Return section that creates a new portfolio using a starting portfolio and a transaction history (created in the Total Return section).
- Split Amount in Arrears input field into two input fields, principal and interest. Amounts in fields will keep a matured investment in the portfolio and add an amount to the next trade date for an investment still open.
1.3 (4/4/94)
- Upgraded underlying APL interpreter to latest version available. BondCalc will now run under OS/2 and runs a little faster. New version will also allow for the development of DDE communications under Windows to retrieve data from the major quote vendors. On the downside it does require approximately 140K of additional RAM. Also updated all subsidiary programs.
- Added input screen that allows the user to specify the distribution ranges for the breakdowns on the portfolio summary report. Screen is on F8 over the Shft-F6 Portfolio Parameter Screen.
- Changed the 30-day phantom call from 30 days from the settlement date to one month from the trade date. This change brings BondCalc into conformance with Bloomberg's PRPL screen. This date will automatically be generated when the bonds are currently callable. Also added money market rates when the first call is less than one period away. Note that yield column in BondCalc is always in semiannual compounding.
- Added capability to handle Negative Amortization Bonds. These bonds have specified debt service payments that are approximately once a year. Any interest that is earned, but not paid, will increase the principal balance outstanding. Enter debt service and BondCalc will solve for principal. Use Type 8 on Input Screen F. Used in conjunction with the Pct/Amount Included field (on the second input page) schedules can be created for a predetermined principal amount.
- Added choice to File Maintenance Menu to facilitate the updating of the PC system's date. This date can fall behind if the computer is left on over the weekend.
- Added report to Portfolio Report Menu that show the diversification by Issuer, or any other choices that are in the Portfolio Report Writer. The report has columns for par and market value, with monetary amounts and percentages of the portfolio. It is at the end of the menu.
- Added capability to handle notes where all interest is compounded and paid with each principal redemption. They are issued at par, structured as serial notes, and are used in forfaiting (using strips of bills to finance export - see explanation on How-to Notes Menu at F1 at top of program). Use Type 9 on Input Screen F.
- Added user control over the offset differences that are used on the popup sensitivity by spread difference display (F5 over the single security on-screen display). Input screen pops up with F4 when viewing the sensitivity.
- Added credit distribution report to the portfolio report menu (at the end). Based on what rating scales are in the security input it will have distribution columns for S&P, Moody's, NAIC, Best's, Duff & Phelps, etc.
- Added capability to price serial zeros on screen F as a discount rate. Forfaiters price them this way. Append +S to the yield (for simple interest). Also added "How-to" notes on forfaiting to F1 menu at top menu of program.
- Added report to portfolio menu that lists all portfolio flows that fall on a weekend or bank holiday. It reads the country from the security and uses the correct holiday table. Days delayed and opportunity cost are shown.
- Added control over the portfolio distribution choices that are available on the Portfolio Summary report. User can input up to 20 choices from the Portfolio Report Writer code list. See F9 at the ShftF6 Portfolio Parameter screen.
- Added report to end of Portfolio Report Menu that compares the true cash flow IRR of the portfolio with various weighted averages that other software packages use.
- Added module to handle book processing. It can handle the trading position of a portfolio hedged with shorted bonds. A daily cost of funds is used to calculate a Net Interest Expense and portfolio is marked to market daily. Month-to-date P/L reports are available. It has two subsystems: a Trade Ticket database on the Ctrl-T Hotkey and the Book Processing Menu, which is off the Top program menu.
- Added columns to Portfolio and Security report writers for Static Spread and Functional Duration.
- Added more rating input fields bringing the total to eight. The first two are on the back input page and the other six are accessed with Alt-R at the security input screen. Also added complete user control over the rating scales and values for each of these input fields. Includes custom rating scales. Added columns to Portfolio Report Writer.
- Expanded capability of the portfolio vertical bar chart of cash flows to maturities to optionally go to: next calls, worst calls, first par calls, or to a specified date. Also, in addition to pretax, it can now have a choice of cash flows that are after tax, after financing, or converted back to base currency.
- Added new Yield Curve Scenario type. Allows for reading curve into program from DOS file. Also added scatter plot to view dispersion of curve (especially if entire Treasury curve was read in).
- Added new input screen in single security section to handle money market funds. It is Schema D.
1.2T (1/09/94)
- Added new auxiliary database for storage of sector spread differentials to be used when matrix pricing. See Ctrl-J for database. Designate differential table on Alt-O Override Screen inside portfolio. Also added as attribution category when calculating portfolio total return.
- Added reinvestment rate to portfolio's Alt-O Override Screen to use when running a portfolio cash flows to a specified date. See portfolio report menu. Opt Date column on portfolio main input screen is now a date that will override the specified ending date.
- For Total Return: Added to report menu (1) attribution by each holding in the portfolio and, (2) graph of beginning and ending yield curves. Added attribution category for change in exchange rate.
- Added input field to bottom of second input page for Accrued Interest Type. When set to 1 the program will use the Trade Date instead of the Settlement when calculating accrued interest. Use for bonds such as Portuguese OT's. Trade Date will be the computer's clock date unless entered in new field that is just after the Accrued Interest Type.
- Added report to Portfolio Report Menu for a price/yield sensitivity matrix (see last page). Similar to the one in the single security section but instead of call dates has along the top the following four endings: to First Call, to Worst Call, to First Par Call, and to Maturity. Initially implemented for Price to Yield: Pretax, After Tax and After Financing; and Yield to Price: Pretax.
- Rewrote second Yield Curve input screen to have the following options: (1) handle Maturity Dates instead of years, (2) have Coupon Rates to enhance the zero spot curve calculation, and (3) handle the inputting of Prices instead of Yields. Also added popup display on F5 to show all yield curve numbers. See Ctrl-Y database, use Insert to create a new scenario, then select 2 from the menu.
- Added column to portfolio input page for rating override. If entered it will be used instead of the rating entered on the second security input page. Will allow single security data base to be used for performance attribution calculations.
- Added popup input that allows the inputting of an unlimited number of call dates. Use Alt-E when on main security input screen.
- Added option to yield input field that tells program to take the closest Treasury on-the-run instead of its usual interpolation. To turn on add +C after the yield or basis point spread in the input.
- Added hotkey to pop up a screen display of the yield curve that is globally designated as the default curve. Just press Ctrl/Shft-Y at any time.
- Added control to ShftF6 Portfolio Parameter screen that controls the processing for the portfolio summary report. Report can be either: 1-Pretax, 2-After Tax, 3-After Financing, 4-Multi-currency. Multi-currency option also turns columns in Portfolio Report Writer back to base currency. Also added override on Portfolio Alt-O Override Screen. Added column for par amount in issue's currency to report writer.
- Enhanced F5 on Portfolio Input Screen to display summary statistics on the portfolio. It is also sensitive to the parameter on ShftF6 (and Alt-O Override Screen) noted in the previous entry.
- Added daily compounding to Input Schema J, Money Market Instruments.
- Added control over sensitivity column on the left side of the sensitivity reports. Numbers can now be spread evenly around the center point or they can be even numbers with the center point then added to the list. The toggle to control this feature can be found on the Shft-F5 Report Parameter Screen. If numbers are even differences from the center point then a difference column will appear on the single security sensitivity report.
1.2S (11/07/93)
- Reorganized Report Menu in Single Security section into logical groupings. The popular cash flow report is now in the middle of the second page and is called Basic. Cash flow report selection ability enhanced to make reports to dates other than maturity available for more variants. Report selections that are unavailable due to missing input, and selections not licensed, are now shaded gray.
- Added custom index rate database on F7 when on the ^F Floating Index Menu. This indexes are interchangeable with the standard floating rate names. Added facilities to rate input to merge in other rate/time series (on F12) and to import data from a Lotus print file (on Alt-I). Added input screen to each index for additional input. Now includes input for using a implied forward yield curve for future rates and an override label for the index name.
- Added new Security Type field to bottom of second page of input. A code, if entered, will change the top label. Initial choices are: 2-Euro, 3-GIC, 4-Bank Loan.
- Added optional discount rate to bottom of second page of input. If entered the present value will be calculated and added to the cash flow reports.
- Rearranged and simplified Tax Rate Input Screen (on ShftF3).
- Added optional custom control over the on-screen results display. Formats in the Single Security Report Database on ^Q/ShftF12 can be designated on a popup screen found on F4 (1) when viewing the results on-screen, and (2) behind the CtrlF6 Defaults Screen. Also added Override Display Format to bottom of second input screen. If entered this name will be used instead of the format entered on F4 off Results/CtrlF6 or the program defaults.
- Added country code table popup when at security input screen. Alt-C will display the two letter ISO 3166 codes and country name. Added portfolio report writer column that prints out name.
- Added portfolio report writer column for security's FX spot rate.
- Added new sinking fund type to Input Schema F. If Type is set to 7 the numbers entered in the sinking fund amount fields will be the percent of principal redeemed at that date. Enter current principal amount in the Par Amount field. Can use to estimate principal prepayments on bullet bonds.
- Reorganized Report Menu in Portfolio section into cleaner groupings. Cash flow report selections are now all at the beginning.
- Added popup display for sensitivity to changes in spread over Treasuries (i.e. change in yield). When viewing the single security on-screen results pressing F5 a second time will bring up a sub-screen with changes for the spread range of: -20, -10, -5, -3, -1, 0, 1, 3, 5, 10, 20.
- Added report to price and calculate the profit on the actual stripping of a bond. Similar to the theoretical zero curve pricing but uses actual yields that are inputted on a new popup screen on Alt-Z at the main security input screen.
- Added an Alt-H Help Screen when over the main security input screen. Lists actions of other Alt keys.
- Converted portfolio return capability into performance attribution. BondCalc will matrix price portfolio four times at the beginning and end of the period to attribute performance to (1) change in yield curve, (2) change in spread matrix, and (3) change in rating. Facility requires transaction history and complete portfolio data for each period ending.
- Added capability for portfolio processing to repay all securities at a specified date. Program can either use a specified price or use each security's call price on that date. Control with input on the Portfolio Alt-O Override popup screen.
- Added reports to Portfolio Section for combining of additional cash flows. They are after tax, after financing and multi-currency. Ending selections are the same as pretax cash flows and are to: to maturity, to next call, to worst call, to first par call and to specified date.
- Improved format of reports in swap section.
- Added capability to add or subtract constant number from spread matrices used in matrix pricing. See database on Ctrl-M.
- Added submenu to Help Menu at program top that has various "How-to Notes".
1.2R (7/27/93)
- Added popup screen for unscheduled cash flows which are then added to the security being priced/analyzed. See F10 at the single security input screen and respective help screen for limitations on using this feature.
- Added capability to margin bonds and bank loans. Financing input is controlled on Alt-F popup screen. An additional option for after financing return has been added to the choices available for display in the last on-screen results column (controlled on Ctrl-F6 Defaults Screen). Two additional reports have been added to last page of single security report menu. A column has been added to the Portfolio Report Writer.
- Added Insert and Delete keys as synonyms to F5 and F11 for creating a new and deleting an existing file when on a file listing screen.
- Fixed bug (introduced in version 1.2O) in Swap Calculations when sell side was defaulting to its own yield to solve for Horizon Price/Basis.
- Added Override Label input field to bottom of second input page. If entered this label will replace the descriptive label that BondCalc automatically generates for the report headings.
- Fixed bug when interpolating yields from the zero spot curve for calculation of zero spot prices. Program was using issue periods from settlement date when it should have been using years.
- Added report to portfolio section that prints out report with the respective service fees for each security in portfolio with them. If there are more than a dozen issues with them then send to 123 format. See last portfolio report menu page.
- Added new facility to edit the quality rating labels that the system uses. Generally set to S&P and Moody's but can now use different rating systems. See F8 (menu then input screens) when at the ShftF5 Parameter Input Screen. Moved storage location for rating values (used in interpolation and returning a label from a calculated average) from startup directory to Parameter Path that is set on CtrlF3 Default Input.
- Added logic to switch security label to "Note", instead of "Bond", when issue had original life of 10 years or less.
- Added Underlying Asset Type to Equity database which applies to convertible securities in the Predictions Analysis. See ^E. Note that old data was not converted. (Users with data should call developer regarding use of utility to modify the data found at F8 at the TOP Menu.)
- Added specialized statistics for floating rate securities. In the single security section the statistics display will now also include: current yield, effective margin, total adjusted margin, YTM spread, [and discounted margin]. The swap section has weighted average rate and weighted current yield [and spread for life].
- Added calculation of spread over zero spot IRR. (Difference of cash flow IRR and zero IRR calculated using a zero NPV with no spread over). It is (1) an additional choice for the last column of the on-screen display, and (2) two additional report writer columns (worst and to maturity). Also added column for difference between this spread number and the spread to current coupon treasuries (both screen and report writer).
- Added override settlement date to bottom of second page of input. If entered it will be used instead of the Global settlement date.
- Added Report Writer to the Single Security Section. Has over 35 columns to choose from, each listing the numbers to each call date. Use ShftF12 to design reports. (Predictions Parameters previously on ShftF12 have been moved to F7 off of ShftF6.) See last page of security report menu to run reports. Other column variations easily added to database.
- Added another popup notes box. The new box (F4 twice from security input screen) is for public notes which are printed at the bottom of the Term Sheet report. The notes on the existing box (F4 once from input screen) remain private. Beefed up Term Sheet report.
- Added yield value of a 1/32 and price value of an 01 to screen display and report writer columns. Also added current yield to display screen.
- Added FX cross rates calculator to Calculations Menu. Also beefed up FX rate and appreciation rate input screen, now available on ^X in addition to F7 off of ShftF5. Now uses SWIFT codes for currencies. All multi-currency reports now correctly convert back to base currency (pretax only). Columns added to report writers for Return in Base Currency. This return can also be last column on screen display (set at bottom of CtrlF6).
- Widened year input fields. Now can input bonds with 100 year maturities. Years can be entered with either two or four digits. Two digits, as currently done, will choose their century based on the crossover year entered on the CtrlF6 Defaults Screen.
- Output menus now display the number of choices selected in the upper left of the popup window.
- Added new sinking fund type to input screen F. Type 6 designates a pro rata sinking fund doubleup. Amounts doubled are reduced ratably from future doubleup amounts.
- Fixed mortgage calculations when service fee is present and program has principal input and is calculating for the payment amount. Correction increases average life slightly.