What the name means | "Ramped Rate"
| Syntax | Ramp ( Time, Base, Dates, AnnualRates, [PolyOrder], [DayCount], [Periods], [ProjMode] )
| Description | Projects amounts in timeperiods where the rates are roughly known at various points in time, and you need a best-fit polynomial curve fitted to the data.
| Auto Array Function | This function can be used as an array function as well as a normal function, by pluralising the first variable (in this case Time) to give an answer array. See Array Functions.
|
| Variable | Type or Value | Description |
Inputs: (8)
|
1
| Time
| TimePeriod Start
| The Time or Date that signifies the start of a time period. Usually accompanied by Base, the length (months) or end of the time period.
|
2
| Base
| TimePeriod Base
| Either the length of a Time Period, expressed in exact months, or as a date, in which case it is the date of the end of the time period.
|
3
| Dates
| Range Of Dates
| A range of dates.
|
4
| AnnualRates
| Range of Floats (numbers)
| Either a single AnnualRate or a range of annual rates.
|
5
| PolyOrder
| Integer (Optional)
| Order of polynomial you want (0 for best polynomial of order 1 to 20), or input -1 for straight line connection between each data point
(Optional)
|
6
| DayCount
| Float (Optional)
| Either a single number denoting the DayCount method, or a number in the form ww.ss where ww is the daycount of whole periods and ss applies to stub periods. See Using Daycount.
(Optional)
|
7
| Periods
| Annual Sequence (Optional)
| Either an option number, or a range of floats, describing the accruals periods or the timing of cash payments, in the format mm.dd for payments in advance or -mm.dd for payments in arrears. See Using Daycount
(Optional)
|
8
| ProjMode
| Float (Optional)
| Accruals=0, Cash=1. Has other settings. See detail and the topic Accruals and Cash
(Optional)
|
Output:
|
Return Value
| CalcdAmt
| Float
| The amount calculated for the time period
|
Defaults and Values The variable(s) of this function have certain defaults and/or switch values associated with them. Click here to see more. Type of Value | Value | Description | Detail | Default(s)
| PolyOrder | -1 | Straight Line
| | DayCount | 5 | Decimal Year (ACTM/12): ActualMonths / 12
| | Periods | 4 | Calendar quarters (1.01, 4.01, 7.01, 10.01)
| | ProjMode | 0 | Accruals Projection Mode | Switches
| PolyOrder | -1 | Straight Line
| | | 0 | Curve (Polynomial Regression)
| | | 1 | First order polynomial (y=a+bx)
| | | 2 | Second Order polynomial (y=a+bx+cx^2)
| | | 3 | Third Order polynomial (y=a+bx+cx^2+cx^4)
| | DayCount | 0 | 30/360 BMA (Bond Market Association, formerly the PSA)
| | | 1 | ACT/ACT (365 or 366)
| | | 2 | ACT/360: ActualDaysInPeriod / 360
| | | 3 | ACT/365: ActualDaysInPeriod / 365
| | | 4 | 30E/360: Also known as European 30/360. Standard bond literature definition.
| | | 5 | Decimal Year (ACTM/12): ActualMonths / 12
| | | 6 | ACT/ACT (in period)
| | | 7 | 30/360 BMA (Bond Market Association, formerly the PSA)
| | | 8 | ACT (Non Leap)/365: Same as ACT/365 but ignoring Feb 29
| | | 9 | 30/365: Standard bond literature definition (same as 30/360 but with 365 denominator)
| | | 10 | 30/360 ISDA
| | | 11 | 30/360 ISDA + Feb Adj
| | | 12 | ISDA + Feb EOM Adj
| | | 13 | Brazilian ACTBD/252
| | | -12 | Monthly in arrear, calendar months {1st Jan payment for Dec accrual, Feb 1 payment for Jan accrual etc}
| | | -4 | Quarterly in arrear, calendar quarters (1st April for Jan-March accrual, 1st Jul payment for April-June accrual, etc)
| | | -2 | 6 monthly in arrears (1st Jan payment for Jul-Dec accrual,1st July payment for Jan-June accrual )
| | | -1 | Annually In Arrear 1st Jan payment for Jul-Dec accrual
| | | 1 | Annually, 1st Jan
| | | 2 | 6 monthly (1st Jan, 1st July)
| | | 4 | Calendar quarters (1.01, 4.01, 7.01, 10.01)
| | | 12 | Calendar months {1.01, 1.02 etc}
| | | 13 | Real Estate English Quarter Days:25th March, 24th June, 29th September and 25th December of each year ie {3.25,6.24,9.29,12.25}
| | | 14 | Continuous (could be thought of as daily)
| | ProjMode | 0 | Accruals Projection Mode
| | | 1 | Cash Projection Mode
| | | 2 | Accruals Projection Mode (include last day)
| | | 3 | Cash Projection Mode (include last day) | Example(s)
| Time | 01/07/2002 |
| | Base | 01/01/2003 |
| | | 12 | |
Range Handling and Constraints This function has range inputs that are subject to range handling procedures to help reduce input errors and increase flexibility and speed. Click here to see more. The variables affected are as follows (in order): Variable | Type of Handling | Explanation | Dates AnnualRates | Date Size | The first (date) range will be shortened to the first non-zero element, eliminating trailing zeros. If the second range is then longer then it will be shortened to the size of the date range. If the second range is shorter it will be padded by zeros. If both the date and the corresponding value are zero at any location in the range, the range is compacted and shortened. |
Key Points | When using polynomial curve fitting, there is a minimum goodness of fit criteria built in to the function. If the R squared is below 50%, the function will return an #NUM! error, to protect you from inadvertently using a badly fitted curve. | Tip | Polynomial Curve Fitting (ØConnectOptØ>=0): We recommend letting the function choose the best polynomial for you (ØConnectOptØ=0). It will choose the polynomial with the best R squared from the first 20 degrees of order. Choosing your own polynomial degree (ØConnectOptØ>=1) does presuppose that you have some special knowledge about the data that leads you to think that one particular degree is most suitable, and increases your chances of having a failure of the function due to an unacceptably bad goodness of fit. |
Examples | - Preview of the Ramp example.
- The above spreadsheet can be accessed from the Quick Reference (on the Business Functions menu), on the Examples menu, or in the Business Functions\Component Examples directory
|
Published Edition Changes in Behaviour This function has experienced some changes in its behaviour over its history. Click here to see more. Version | No | Change In Behaviour |
---|
1 | 24 | New optional variable ConnectOpt introduced just before DayCount - you may need to reconfigure function calls. |
|