Jump to content
Savvysoft Forums

How TOPS deals with schedules

Recommended Posts

In many places, TOPS accepts a range of values in addition to a single value. For example, yield curves, amortization schedules, step-up coupon schedules, and volatility curves, to name just a few. When the input is for a market data item, we often refer to it as a curve (a yield curve, for instance) and when it is something built into the contract, we refer to it as a schedule (for example, notional schedule).


How TOPS interprets schedules may be slightly different than a user intended. This note is meant to clarify what TOPS does when presented with a schedule.


First, the interpretation depends on the type of instrument. Models which take a frequency input, such as BondVal and Swaption, will use the frequency to generate a series of dates for the instrument. Other instruments, like StdOpt, have no frequency, and therefore no associated date series.


In general, for models which have a frequency, the date series is determined by the combination of the frequency and the maturity, along with settlement, weekend, and holiday inputs. In these cases, any dates in an input range for par, or coupon, or anything else that is a schedule, are not used to determine the date series. Instead, TOPS uses the dates in the data series to interpolate on the schedule to determine the relevant value of the item on each date in the date series. For example, given a par schedule, TOPS first uses the maturity and frequency to get cash flow dates, and then for each date, it looks at the schedule to get the proper par for that date.


So given the following par schedule in (mm/dd/yy format):


6/18/05 100

6/18/06 90

6/18/07 80


If the maturity is 6/23/08, with annual payments, the payment dates are 6/23/06, 6/23/07, and 6/23/08. The par outstanding for 6/23/06 is based on the 6/18/06 value of 90 and the 6/18/07 value of 80. Exactly what ends up being used for the par depends on the interpolation method, but TOPS will be interpolating between those two points (the default for a schedule is None, meaning the par will be 90). So amortization doesn’t occur on 6/18/06, but rather 6/23/06 instead. The schedule is simply used to interpolate to get the real value.


Suppose instead that the schedule were presented a little bit more normally:


6/23/05 100

6/23/06 90

6/23/07 80


and suppose the input for weekends says no payments on weekends and we’re using the preceding convention. In this case, the 6/23/06 date is a Sunday, so it gets pushed to 6/21/06. Now, when TOPS goes to get the par for 6/21/06, it will use 100 instead of 90.


The exception to this rule is when TOPS is dealing with a strip of options, such as with CapFlr and StdStrip. In these models, the par schedule represents not just amortization dates, but option expiration dates, as well, overriding the frequency input.

Share this post

Link to post
Share on other sites

Your content will need to be approved by a moderator

You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.