AIFACTOR
Updated 2023-10-06 11:52:14.687000
Syntax
SELECT [wct].[AIFACTOR] (
<@Basis, nvarchar(4000),>
,<@Rate, float,>
,<@Maturity, datetime,>
,<@Settlement, datetime,>
,<@Frequency, int,>
,<@FirstInterestDate, datetime,>
,<@LastInterestDate, datetime,>
,<@IssueDate, datetime,>
,<@Holidays, nvarchar(max),>);
Description
Use the scalar-valued function AIFACTOR to calculate the Accrued Interest Factor. AIFACTOR returns a decimal value which can then be multiplied by the face amount of the bond to return the monetary value of the accrued interest.
Arguments
@LastInterestDate
the last coupon date of the security prior to maturity date, if the last coupon period is an odd period. The period from the last interest date date until the maturity date defines the odd last interest period. All previous coupon dates are assumed to occur at regular periodic intervals as defined by @Frequency. @LastInterestDate is an expression of type datetime or of a type that can be implicitly converted to datetime.
@Basis
the day-count convention used in the calculation of the accrued coupon interest. @Basis is an expression of the character string data type category.
{"columns":[{"field":"@Basis","width":139},{"field":"Day count basis","width":396}],"rows":[{"@Basis":"0 or omitted","Day count basis":"US (NASD) 30/360"},{"@Basis":"1","Day count basis":"Actual/Actual"},{"@Basis":"2","Day count basis":"Actual/360"},{"@Basis":"3","Day count basis":"Actual/365"},{"@Basis":"4","Day count basis":"European 30/360"},{"@Basis":"5","Day count basis":"30/360 ISDA"},{"@Basis":"6","Day count basis":"NL/ACT"},{"@Basis":"7","Day count basis":"NL/365"},{"@Basis":"8","Day count basis":"NL/360"},{"@Basis":"9","Day count basis":"A/364"},{"@Basis":"10","Day count basis":"US (NASD) 30/360 non-end-of-month"},{"@Basis":"11","Day count basis":"Actual/Actual non-end-of-month"},{"@Basis":"12","Day count basis":"Actual/360 non-end-of-month"},{"@Basis":"13","Day count basis":"Actual/365 non-end-of-month"},{"@Basis":"14","Day count basis":"European 30/360 non-end-of-month"},{"@Basis":"15","Day count basis":"30/360 ISDA non-end-of-month"},{"@Basis":"16","Day count basis":"NL/ACT non-end-of-month"},{"@Basis":"17","Day count basis":"NL/365 non-end-of-month"},{"@Basis":"18","Day count basis":"NL/360 non-end-of-month"},{"@Basis":"19","Day count basis":"A/364 non-end-of-month"},{"@Basis":"20","Day count basis":"BUS/252"},{"@Basis":"21","Day count basis":"Actual/ISDA"},{"@Basis":"22","Day count basis":"Actual/ISMA"},{"@Basis":"23","Day count basis":"Actual/365L"},{"@Basis":"24","Day count basis":"Actual/AFB"},{"@Basis":"30","Day count basis":"BUS/252 non-end-of-month"}]}
@Frequency
the number of coupon payments per year. For annual payments, @Frequency = 1; for semi-annual, @Frequency = 2; for quarterly, @Frequency = 4; for monthly, @Frequency = 12. @Frequency is an expression of type float or of a type that can be implicitly converted to float.
@FirstInterestDate
the first coupon date of the security. The period from the issue date until the first coupon date defines the odd first interest period. All subsequent coupon dates are assumed to occur at regular periodic intervals as defined by @Frequency in relation to the @LastInterestDate (if entered) or @Maturity. @FirstInterestDate is an expression of type datetime or of a type that can be implicitly converted to datetime.
@Rate
the coupon rate, as a decimal, for the financial instrument. @Rate is an expression of type float or of a type that can be implicitly converted to float.
@IssueDate
the issue date of the security; the date from which the security starts accruing interest. @IssueDate is an expression of type datetime or of a type that can be implicitly converted to datetime. ### @Settlement the settlement date of the transaction. @Settlement is an expression of type datetime or of a type that can be implicitly converted to datetime.
@Maturity
the maturity date for the financial instrument. @Maturity is an expression of type datetime or of a type that can be implicitly converted to datetime.
@Holidays
a comma separated string containing the holiday (non-business) dates to be used in the calculation of the number of business days. You can use the aggregate function NBD to create an appropriately formatted string.
Return Type
float
Remarks
If @Basis IS NULL, then @Basis = '0'.
For bonds with regular period coupons, coupon dates are calculated backwards from @Maturity.
For bonds with an odd first coupon period, settling in the odd period, the coupon dates are calculated backward from @FirstInterestDate.
Odd first coupon bonds with @Settlement >= @FirstInterestDate and no @LastInterestDate are treated as regular periodic bonds.
If the last interest date is not NULL and the settlement date is less than the @LastInterestDate and greater than or equal to the @FirstInterestDate or @FirstInterestDate IS NULL, than the coupon dates are calculated backwards from @LastInterestDate.
If the @LastInterestDate IS NOT NULL and @Settlement >= @LastInterestDate then coupon dates are calculated from the quasi-maturity date, which is calculated forward from @LastInterestDate.
Examples
Calculate the accrued interest factor for a bond with a coupon rate of 5% paying coupons semi-annually, with a Maturity Date of 2012-05-15 and a settlement date of 2012-02-15.
SELECT wct.AIFACTOR( '0', --Basis
.05, --Rate
'2012-05-15', --Maturity
'2012-02-15', --Settlement
2, --Frequency
NULL, --FirstInterestDate
NULL, --LastInterestDate
NULL, --IssueDate
NULL --Holidays
) as AIFACTOR;
This produces the following result.
{"columns":[{"field":"AIFACTOR","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"AIFACTOR":"0.0125"}]}
We can use the SeriesDate Function to calculate the AIFACTOR for every day from the settlement date to the maturity date.
SELECT k.SeriesValue,
wct.AIFACTOR( '0', --Basis
.05, --Rate
'2012-05-15', --Maturity
k.SeriesValue, --Settlement
2, --Frequency
NULL, --FirstInterestDate
NULL, --LastInterestDate
NULL, --IssueDate
NULL --Holidays
) as AIFACTOR
FROM wct.SeriesDate('2012-02-15', '2012-05-15', NULL, NULL, NULL) k;
This produces the following result.
{"columns":[{"field":"SeriesValue","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"AIFACTOR","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"SeriesValue":"2012-02-15 00:00:00.000","AIFACTOR":"0.0125"},{"SeriesValue":"2012-02-16 00:00:00.000","AIFACTOR":"0.0126388888888889"},{"SeriesValue":"2012-02-17 00:00:00.000","AIFACTOR":"0.0127777777777778"},{"SeriesValue":"2012-02-18 00:00:00.000","AIFACTOR":"0.0129166666666667"},{"SeriesValue":"2012-02-19 00:00:00.000","AIFACTOR":"0.0130555555555556"},{"SeriesValue":"2012-02-20 00:00:00.000","AIFACTOR":"0.0131944444444444"},{"SeriesValue":"2012-02-21 00:00:00.000","AIFACTOR":"0.0133333333333333"},{"SeriesValue":"2012-02-22 00:00:00.000","AIFACTOR":"0.0134722222222222"},{"SeriesValue":"2012-02-23 00:00:00.000","AIFACTOR":"0.0136111111111111"},{"SeriesValue":"2012-02-24 00:00:00.000","AIFACTOR":"0.01375"},{"SeriesValue":"2012-02-25 00:00:00.000","AIFACTOR":"0.0138888888888889"},{"SeriesValue":"2012-02-26 00:00:00.000","AIFACTOR":"0.0140277777777778"},{"SeriesValue":"2012-02-27 00:00:00.000","AIFACTOR":"0.0141666666666667"},{"SeriesValue":"2012-02-28 00:00:00.000","AIFACTOR":"0.0143055555555556"},{"SeriesValue":"2012-02-29 00:00:00.000","AIFACTOR":"0.0144444444444444"},{"SeriesValue":"2012-03-01 00:00:00.000","AIFACTOR":"0.0147222222222222"},{"SeriesValue":"2012-03-02 00:00:00.000","AIFACTOR":"0.0148611111111111"},{"SeriesValue":"2012-03-03 00:00:00.000","AIFACTOR":"0.015"},{"SeriesValue":"2012-03-04 00:00:00.000","AIFACTOR":"0.0151388888888889"},{"SeriesValue":"2012-03-05 00:00:00.000","AIFACTOR":"0.0152777777777778"},{"SeriesValue":"2012-03-06 00:00:00.000","AIFACTOR":"0.0154166666666667"},{"SeriesValue":"2012-03-07 00:00:00.000","AIFACTOR":"0.0155555555555556"},{"SeriesValue":"2012-03-08 00:00:00.000","AIFACTOR":"0.0156944444444444"},{"SeriesValue":"2012-03-09 00:00:00.000","AIFACTOR":"0.0158333333333333"},{"SeriesValue":"2012-03-10 00:00:00.000","AIFACTOR":"0.0159722222222222"},{"SeriesValue":"2012-03-11 00:00:00.000","AIFACTOR":"0.0161111111111111"},{"SeriesValue":"2012-03-12 00:00:00.000","AIFACTOR":"0.01625"},{"SeriesValue":"2012-03-13 00:00:00.000","AIFACTOR":"0.0163888888888889"},{"SeriesValue":"2012-03-14 00:00:00.000","AIFACTOR":"0.0165277777777778"},{"SeriesValue":"2012-03-15 00:00:00.000","AIFACTOR":"0.0166666666666667"},{"SeriesValue":"2012-03-16 00:00:00.000","AIFACTOR":"0.0168055555555556"},{"SeriesValue":"2012-03-17 00:00:00.000","AIFACTOR":"0.0169444444444444"},{"SeriesValue":"2012-03-18 00:00:00.000","AIFACTOR":"0.0170833333333333"},{"SeriesValue":"2012-03-19 00:00:00.000","AIFACTOR":"0.0172222222222222"},{"SeriesValue":"2012-03-20 00:00:00.000","AIFACTOR":"0.0173611111111111"},{"SeriesValue":"2012-03-21 00:00:00.000","AIFACTOR":"0.0175"},{"SeriesValue":"2012-03-22 00:00:00.000","AIFACTOR":"0.0176388888888889"},{"SeriesValue":"2012-03-23 00:00:00.000","AIFACTOR":"0.0177777777777778"},{"SeriesValue":"2012-03-24 00:00:00.000","AIFACTOR":"0.0179166666666667"},{"SeriesValue":"2012-03-25 00:00:00.000","AIFACTOR":"0.0180555555555556"},{"SeriesValue":"2012-03-26 00:00:00.000","AIFACTOR":"0.0181944444444444"},{"SeriesValue":"2012-03-27 00:00:00.000","AIFACTOR":"0.0183333333333333"},{"SeriesValue":"2012-03-28 00:00:00.000","AIFACTOR":"0.0184722222222222"},{"SeriesValue":"2012-03-29 00:00:00.000","AIFACTOR":"0.0186111111111111"},{"SeriesValue":"2012-03-30 00:00:00.000","AIFACTOR":"0.01875"},{"SeriesValue":"2012-03-31 00:00:00.000","AIFACTOR":"0.0188888888888889"},{"SeriesValue":"2012-04-01 00:00:00.000","AIFACTOR":"0.0188888888888889"},{"SeriesValue":"2012-04-02 00:00:00.000","AIFACTOR":"0.0190277777777778"},{"SeriesValue":"2012-04-03 00:00:00.000","AIFACTOR":"0.0191666666666667"},{"SeriesValue":"2012-04-04 00:00:00.000","AIFACTOR":"0.0193055555555556"},{"SeriesValue":"2012-04-05 00:00:00.000","AIFACTOR":"0.0194444444444444"},{"SeriesValue":"2012-04-06 00:00:00.000","AIFACTOR":"0.0195833333333333"},{"SeriesValue":"2012-04-07 00:00:00.000","AIFACTOR":"0.0197222222222222"},{"SeriesValue":"2012-04-08 00:00:00.000","AIFACTOR":"0.0198611111111111"},{"SeriesValue":"2012-04-09 00:00:00.000","AIFACTOR":"0.02"},{"SeriesValue":"2012-04-10 00:00:00.000","AIFACTOR":"0.0201388888888889"},{"SeriesValue":"2012-04-11 00:00:00.000","AIFACTOR":"0.0202777777777778"},{"SeriesValue":"2012-04-12 00:00:00.000","AIFACTOR":"0.0204166666666667"},{"SeriesValue":"2012-04-13 00:00:00.000","AIFACTOR":"0.0205555555555556"},{"SeriesValue":"2012-04-14 00:00:00.000","AIFACTOR":"0.0206944444444444"},{"SeriesValue":"2012-04-15 00:00:00.000","AIFACTOR":"0.0208333333333333"},{"SeriesValue":"2012-04-16 00:00:00.000","AIFACTOR":"0.0209722222222222"},{"SeriesValue":"2012-04-17 00:00:00.000","AIFACTOR":"0.0211111111111111"},{"SeriesValue":"2012-04-18 00:00:00.000","AIFACTOR":"0.02125"},{"SeriesValue":"2012-04-19 00:00:00.000","AIFACTOR":"0.0213888888888889"},{"SeriesValue":"2012-04-20 00:00:00.000","AIFACTOR":"0.0215277777777778"},{"SeriesValue":"2012-04-21 00:00:00.000","AIFACTOR":"0.0216666666666667"},{"SeriesValue":"2012-04-22 00:00:00.000","AIFACTOR":"0.0218055555555556"},{"SeriesValue":"2012-04-23 00:00:00.000","AIFACTOR":"0.0219444444444444"},{"SeriesValue":"2012-04-24 00:00:00.000","AIFACTOR":"0.0220833333333333"},{"SeriesValue":"2012-04-25 00:00:00.000","AIFACTOR":"0.0222222222222222"},{"SeriesValue":"2012-04-26 00:00:00.000","AIFACTOR":"0.0223611111111111"},{"SeriesValue":"2012-04-27 00:00:00.000","AIFACTOR":"0.0225"},{"SeriesValue":"2012-04-28 00:00:00.000","AIFACTOR":"0.0226388888888889"},{"SeriesValue":"2012-04-29 00:00:00.000","AIFACTOR":"0.0227777777777778"},{"SeriesValue":"2012-04-30 00:00:00.000","AIFACTOR":"0.0229166666666667"},{"SeriesValue":"2012-05-01 00:00:00.000","AIFACTOR":"0.0230555555555556"},{"SeriesValue":"2012-05-02 00:00:00.000","AIFACTOR":"0.0231944444444444"},{"SeriesValue":"2012-05-03 00:00:00.000","AIFACTOR":"0.0233333333333333"},{"SeriesValue":"2012-05-04 00:00:00.000","AIFACTOR":"0.0234722222222222"},{"SeriesValue":"2012-05-05 00:00:00.000","AIFACTOR":"0.0236111111111111"},{"SeriesValue":"2012-05-06 00:00:00.000","AIFACTOR":"0.02375"},{"SeriesValue":"2012-05-07 00:00:00.000","AIFACTOR":"0.0238888888888889"},{"SeriesValue":"2012-05-08 00:00:00.000","AIFACTOR":"0.0240277777777778"},{"SeriesValue":"2012-05-09 00:00:00.000","AIFACTOR":"0.0241666666666667"},{"SeriesValue":"2012-05-10 00:00:00.000","AIFACTOR":"0.0243055555555556"},{"SeriesValue":"2012-05-11 00:00:00.000","AIFACTOR":"0.0244444444444444"},{"SeriesValue":"2012-05-12 00:00:00.000","AIFACTOR":"0.0245833333333333"},{"SeriesValue":"2012-05-13 00:00:00.000","AIFACTOR":"0.0247222222222222"},{"SeriesValue":"2012-05-14 00:00:00.000","AIFACTOR":"0.0248611111111111"},{"SeriesValue":"2012-05-15 00:00:00.000","AIFACTOR":"0"}]}
In this SELECT statement we will calculate the AIFACTOR for each date from the 2012-02-15 though 2012-05-15 and for each day-count convention 0 through 9.
SELECT SeriesValue as SettDate,
ROUND([0], 6) as [0],
ROUND([1], 6) as [1],
ROUND([2], 6) as [2],
ROUND([3], 6) as [3],
ROUND([4], 6) as [4],
ROUND([5], 6) as [5],
ROUND([6], 6) as [6],
ROUND([7], 6) as [7],
ROUND([8], 6) as [8],
ROUND([9], 6) as [9]
FROM
(
SELECT k.SeriesValue,
l.seriesvalue as basis,
wct.AIFACTOR( l.seriesValue, --Basis
.05, --rate
'2012-05-15', --Maturity Date
k.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as AIF
FROM wct.SeriesDate('2012-02-15', '2012-05-15', NULL, NULL, NULL) k
CROSS APPLY wct.SERIESINT(0, 9, NULL, NULL, NULL) l
) d
PIVOT
(
min(AIF)
for basis in ([0], [1], [2], [3], [4], [5], [6], [7], [8], [9])
) as P;
This produces the following result.
{"columns":[{"field":"SettDate","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"0","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"1","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"2","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"3","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"4","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"5","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"6","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"7","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"8","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"9","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"0":"0.0125","1":"0.012637","2":"0.012778","3":"0.012603","4":"0.0125","5":"0.0125","6":"0.012707","7":"0.012603","8":"0.012778","9":"0.012637","SettDate":"2012-02-15 00:00:00.000"},{"0":"0.012639","1":"0.012775","2":"0.012917","3":"0.01274","4":"0.012639","5":"0.012639","6":"0.012845","7":"0.01274","8":"0.012917","9":"0.012775","SettDate":"2012-02-16 00:00:00.000"},{"0":"0.012778","1":"0.012912","2":"0.013056","3":"0.012877","4":"0.012778","5":"0.012778","6":"0.012983","7":"0.012877","8":"0.013056","9":"0.012912","SettDate":"2012-02-17 00:00:00.000"},{"0":"0.012917","1":"0.013049","2":"0.013194","3":"0.013014","4":"0.012917","5":"0.012917","6":"0.013122","7":"0.013014","8":"0.013194","9":"0.013049","SettDate":"2012-02-18 00:00:00.000"},{"0":"0.013056","1":"0.013187","2":"0.013333","3":"0.013151","4":"0.013056","5":"0.013056","6":"0.01326","7":"0.013151","8":"0.013333","9":"0.013187","SettDate":"2012-02-19 00:00:00.000"},{"0":"0.013194","1":"0.013324","2":"0.013472","3":"0.013288","4":"0.013194","5":"0.013194","6":"0.013398","7":"0.013288","8":"0.013472","9":"0.013324","SettDate":"2012-02-20 00:00:00.000"},{"0":"0.013333","1":"0.013462","2":"0.013611","3":"0.013425","4":"0.013333","5":"0.013333","6":"0.013536","7":"0.013425","8":"0.013611","9":"0.013462","SettDate":"2012-02-21 00:00:00.000"},{"0":"0.013472","1":"0.013599","2":"0.01375","3":"0.013562","4":"0.013472","5":"0.013472","6":"0.013674","7":"0.013562","8":"0.01375","9":"0.013599","SettDate":"2012-02-22 00:00:00.000"},{"0":"0.013611","1":"0.013736","2":"0.013889","3":"0.013699","4":"0.013611","5":"0.013611","6":"0.013812","7":"0.013699","8":"0.013889","9":"0.013736","SettDate":"2012-02-23 00:00:00.000"},{"0":"0.01375","1":"0.013874","2":"0.014028","3":"0.013836","4":"0.01375","5":"0.01375","6":"0.01395","7":"0.013836","8":"0.014028","9":"0.013874","SettDate":"2012-02-24 00:00:00.000"},{"0":"0.013889","1":"0.014011","2":"0.014167","3":"0.013973","4":"0.013889","5":"0.013889","6":"0.014088","7":"0.013973","8":"0.014167","9":"0.014011","SettDate":"2012-02-25 00:00:00.000"},{"0":"0.014028","1":"0.014148","2":"0.014306","3":"0.01411","4":"0.014028","5":"0.014028","6":"0.014227","7":"0.01411","8":"0.014306","9":"0.014148","SettDate":"2012-02-26 00:00:00.000"},{"0":"0.014167","1":"0.014286","2":"0.014444","3":"0.014247","4":"0.014167","5":"0.014167","6":"0.014365","7":"0.014247","8":"0.014444","9":"0.014286","SettDate":"2012-02-27 00:00:00.000"},{"0":"0.014306","1":"0.014423","2":"0.014583","3":"0.014384","4":"0.014306","5":"0.014306","6":"0.014503","7":"0.014384","8":"0.014583","9":"0.014423","SettDate":"2012-02-28 00:00:00.000"},{"0":"0.014444","1":"0.01456","2":"0.014722","3":"0.014521","4":"0.014444","5":"0.014583","6":"0.014503","7":"0.014384","8":"0.014583","9":"0.01456","SettDate":"2012-02-29 00:00:00.000"},{"0":"0.014722","1":"0.014698","2":"0.014861","3":"0.014658","4":"0.014722","5":"0.014722","6":"0.014641","7":"0.014521","8":"0.014722","9":"0.014698","SettDate":"2012-03-01 00:00:00.000"},{"0":"0.014861","1":"0.014835","2":"0.015","3":"0.014795","4":"0.014861","5":"0.014861","6":"0.014779","7":"0.014658","8":"0.014861","9":"0.014835","SettDate":"2012-03-02 00:00:00.000"},{"0":"0.015","1":"0.014973","2":"0.015139","3":"0.014932","4":"0.015","5":"0.015","6":"0.014917","7":"0.014795","8":"0.015","9":"0.014973","SettDate":"2012-03-03 00:00:00.000"},{"0":"0.015139","1":"0.01511","2":"0.015278","3":"0.015068","4":"0.015139","5":"0.015139","6":"0.015055","7":"0.014932","8":"0.015139","9":"0.01511","SettDate":"2012-03-04 00:00:00.000"},{"0":"0.015278","1":"0.015247","2":"0.015417","3":"0.015205","4":"0.015278","5":"0.015278","6":"0.015193","7":"0.015068","8":"0.015278","9":"0.015247","SettDate":"2012-03-05 00:00:00.000"},{"0":"0.015417","1":"0.015385","2":"0.015556","3":"0.015342","4":"0.015417","5":"0.015417","6":"0.015331","7":"0.015205","8":"0.015417","9":"0.015385","SettDate":"2012-03-06 00:00:00.000"},{"0":"0.015556","1":"0.015522","2":"0.015694","3":"0.015479","4":"0.015556","5":"0.015556","6":"0.01547","7":"0.015342","8":"0.015556","9":"0.015522","SettDate":"2012-03-07 00:00:00.000"},{"0":"0.015694","1":"0.015659","2":"0.015833","3":"0.015616","4":"0.015694","5":"0.015694","6":"0.015608","7":"0.015479","8":"0.015694","9":"0.015659","SettDate":"2012-03-08 00:00:00.000"},{"0":"0.015833","1":"0.015797","2":"0.015972","3":"0.015753","4":"0.015833","5":"0.015833","6":"0.015746","7":"0.015616","8":"0.015833","9":"0.015797","SettDate":"2012-03-09 00:00:00.000"},{"0":"0.015972","1":"0.015934","2":"0.016111","3":"0.01589","4":"0.015972","5":"0.015972","6":"0.015884","7":"0.015753","8":"0.015972","9":"0.015934","SettDate":"2012-03-10 00:00:00.000"},{"0":"0.016111","1":"0.016071","2":"0.01625","3":"0.016027","4":"0.016111","5":"0.016111","6":"0.016022","7":"0.01589","8":"0.016111","9":"0.016071","SettDate":"2012-03-11 00:00:00.000"},{"0":"0.01625","1":"0.016209","2":"0.016389","3":"0.016164","4":"0.01625","5":"0.01625","6":"0.01616","7":"0.016027","8":"0.01625","9":"0.016209","SettDate":"2012-03-12 00:00:00.000"},{"0":"0.016389","1":"0.016346","2":"0.016528","3":"0.016301","4":"0.016389","5":"0.016389","6":"0.016298","7":"0.016164","8":"0.016389","9":"0.016346","SettDate":"2012-03-13 00:00:00.000"},{"0":"0.016528","1":"0.016484","2":"0.016667","3":"0.016438","4":"0.016528","5":"0.016528","6":"0.016436","7":"0.016301","8":"0.016528","9":"0.016484","SettDate":"2012-03-14 00:00:00.000"},{"0":"0.016667","1":"0.016621","2":"0.016806","3":"0.016575","4":"0.016667","5":"0.016667","6":"0.016575","7":"0.016438","8":"0.016667","9":"0.016621","SettDate":"2012-03-15 00:00:00.000"},{"0":"0.016806","1":"0.016758","2":"0.016944","3":"0.016712","4":"0.016806","5":"0.016806","6":"0.016713","7":"0.016575","8":"0.016806","9":"0.016758","SettDate":"2012-03-16 00:00:00.000"},{"0":"0.016944","1":"0.016896","2":"0.017083","3":"0.016849","4":"0.016944","5":"0.016944","6":"0.016851","7":"0.016712","8":"0.016944","9":"0.016896","SettDate":"2012-03-17 00:00:00.000"},{"0":"0.017083","1":"0.017033","2":"0.017222","3":"0.016986","4":"0.017083","5":"0.017083","6":"0.016989","7":"0.016849","8":"0.017083","9":"0.017033","SettDate":"2012-03-18 00:00:00.000"},{"0":"0.017222","1":"0.01717","2":"0.017361","3":"0.017123","4":"0.017222","5":"0.017222","6":"0.017127","7":"0.016986","8":"0.017222","9":"0.01717","SettDate":"2012-03-19 00:00:00.000"},{"0":"0.017361","1":"0.017308","2":"0.0175","3":"0.01726","4":"0.017361","5":"0.017361","6":"0.017265","7":"0.017123","8":"0.017361","9":"0.017308","SettDate":"2012-03-20 00:00:00.000"},{"0":"0.0175","1":"0.017445","2":"0.017639","3":"0.017397","4":"0.0175","5":"0.0175","6":"0.017403","7":"0.01726","8":"0.0175","9":"0.017445","SettDate":"2012-03-21 00:00:00.000"},{"0":"0.017639","1":"0.017582","2":"0.017778","3":"0.017534","4":"0.017639","5":"0.017639","6":"0.017541","7":"0.017397","8":"0.017639","9":"0.017582","SettDate":"2012-03-22 00:00:00.000"},{"0":"0.017778","1":"0.01772","2":"0.017917","3":"0.017671","4":"0.017778","5":"0.017778","6":"0.01768","7":"0.017534","8":"0.017778","9":"0.01772","SettDate":"2012-03-23 00:00:00.000"},{"0":"0.017917","1":"0.017857","2":"0.018056","3":"0.017808","4":"0.017917","5":"0.017917","6":"0.017818","7":"0.017671","8":"0.017917","9":"0.017857","SettDate":"2012-03-24 00:00:00.000"},{"0":"0.018056","1":"0.017995","2":"0.018194","3":"0.017945","4":"0.018056","5":"0.018056","6":"0.017956","7":"0.017808","8":"0.018056","9":"0.017995","SettDate":"2012-03-25 00:00:00.000"},{"0":"0.018194","1":"0.018132","2":"0.018333","3":"0.018082","4":"0.018194","5":"0.018194","6":"0.018094","7":"0.017945","8":"0.018194","9":"0.018132","SettDate":"2012-03-26 00:00:00.000"},{"0":"0.018333","1":"0.018269","2":"0.018472","3":"0.018219","4":"0.018333","5":"0.018333","6":"0.018232","7":"0.018082","8":"0.018333","9":"0.018269","SettDate":"2012-03-27 00:00:00.000"},{"0":"0.018472","1":"0.018407","2":"0.018611","3":"0.018356","4":"0.018472","5":"0.018472","6":"0.01837","7":"0.018219","8":"0.018472","9":"0.018407","SettDate":"2012-03-28 00:00:00.000"},{"0":"0.018611","1":"0.018544","2":"0.01875","3":"0.018493","4":"0.018611","5":"0.018611","6":"0.018508","7":"0.018356","8":"0.018611","9":"0.018544","SettDate":"2012-03-29 00:00:00.000"},{"0":"0.01875","1":"0.018681","2":"0.018889","3":"0.01863","4":"0.01875","5":"0.01875","6":"0.018646","7":"0.018493","8":"0.01875","9":"0.018681","SettDate":"2012-03-30 00:00:00.000"},{"0":"0.018889","1":"0.018819","2":"0.019028","3":"0.018767","4":"0.01875","5":"0.01875","6":"0.018785","7":"0.01863","8":"0.018889","9":"0.018819","SettDate":"2012-03-31 00:00:00.000"},{"0":"0.018889","1":"0.018956","2":"0.019167","3":"0.018904","4":"0.018889","5":"0.018889","6":"0.018923","7":"0.018767","8":"0.019028","9":"0.018956","SettDate":"2012-04-01 00:00:00.000"},{"0":"0.019028","1":"0.019093","2":"0.019306","3":"0.019041","4":"0.019028","5":"0.019028","6":"0.019061","7":"0.018904","8":"0.019167","9":"0.019093","SettDate":"2012-04-02 00:00:00.000"},{"0":"0.019167","1":"0.019231","2":"0.019444","3":"0.019178","4":"0.019167","5":"0.019167","6":"0.019199","7":"0.019041","8":"0.019306","9":"0.019231","SettDate":"2012-04-03 00:00:00.000"},{"0":"0.019306","1":"0.019368","2":"0.019583","3":"0.019315","4":"0.019306","5":"0.019306","6":"0.019337","7":"0.019178","8":"0.019444","9":"0.019368","SettDate":"2012-04-04 00:00:00.000"},{"0":"0.019444","1":"0.019505","2":"0.019722","3":"0.019452","4":"0.019444","5":"0.019444","6":"0.019475","7":"0.019315","8":"0.019583","9":"0.019505","SettDate":"2012-04-05 00:00:00.000"},{"0":"0.019583","1":"0.019643","2":"0.019861","3":"0.019589","4":"0.019583","5":"0.019583","6":"0.019613","7":"0.019452","8":"0.019722","9":"0.019643","SettDate":"2012-04-06 00:00:00.000"},{"0":"0.019722","1":"0.01978","2":"0.02","3":"0.019726","4":"0.019722","5":"0.019722","6":"0.019751","7":"0.019589","8":"0.019861","9":"0.01978","SettDate":"2012-04-07 00:00:00.000"},{"0":"0.019861","1":"0.019918","2":"0.020139","3":"0.019863","4":"0.019861","5":"0.019861","6":"0.01989","7":"0.019726","8":"0.02","9":"0.019918","SettDate":"2012-04-08 00:00:00.000"},{"0":"0.02","1":"0.020055","2":"0.020278","3":"0.02","4":"0.02","5":"0.02","6":"0.020028","7":"0.019863","8":"0.020139","9":"0.020055","SettDate":"2012-04-09 00:00:00.000"},{"0":"0.020139","1":"0.020192","2":"0.020417","3":"0.020137","4":"0.020139","5":"0.020139","6":"0.020166","7":"0.02","8":"0.020278","9":"0.020192","SettDate":"2012-04-10 00:00:00.000"},{"0":"0.020278","1":"0.02033","2":"0.020556","3":"0.020274","4":"0.020278","5":"0.020278","6":"0.020304","7":"0.020137","8":"0.020417","9":"0.02033","SettDate":"2012-04-11 00:00:00.000"},{"0":"0.020417","1":"0.020467","2":"0.020694","3":"0.020411","4":"0.020417","5":"0.020417","6":"0.020442","7":"0.020274","8":"0.020556","9":"0.020467","SettDate":"2012-04-12 00:00:00.000"},{"0":"0.020556","1":"0.020604","2":"0.020833","3":"0.020548","4":"0.020556","5":"0.020556","6":"0.02058","7":"0.020411","8":"0.020694","9":"0.020604","SettDate":"2012-04-13 00:00:00.000"},{"0":"0.020694","1":"0.020742","2":"0.020972","3":"0.020685","4":"0.020694","5":"0.020694","6":"0.020718","7":"0.020548","8":"0.020833","9":"0.020742","SettDate":"2012-04-14 00:00:00.000"},{"0":"0.020833","1":"0.020879","2":"0.021111","3":"0.020822","4":"0.020833","5":"0.020833","6":"0.020856","7":"0.020685","8":"0.020972","9":"0.020879","SettDate":"2012-04-15 00:00:00.000"},{"0":"0.020972","1":"0.021016","2":"0.02125","3":"0.020959","4":"0.020972","5":"0.020972","6":"0.020994","7":"0.020822","8":"0.021111","9":"0.021016","SettDate":"2012-04-16 00:00:00.000"},{"0":"0.021111","1":"0.021154","2":"0.021389","3":"0.021096","4":"0.021111","5":"0.021111","6":"0.021133","7":"0.020959","8":"0.02125","9":"0.021154","SettDate":"2012-04-17 00:00:00.000"},{"0":"0.02125","1":"0.021291","2":"0.021528","3":"0.021233","4":"0.02125","5":"0.02125","6":"0.021271","7":"0.021096","8":"0.021389","9":"0.021291","SettDate":"2012-04-18 00:00:00.000"},{"0":"0.021389","1":"0.021429","2":"0.021667","3":"0.02137","4":"0.021389","5":"0.021389","6":"0.021409","7":"0.021233","8":"0.021528","9":"0.021429","SettDate":"2012-04-19 00:00:00.000"},{"0":"0.021528","1":"0.021566","2":"0.021806","3":"0.021507","4":"0.021528","5":"0.021528","6":"0.021547","7":"0.02137","8":"0.021667","9":"0.021566","SettDate":"2012-04-20 00:00:00.000"},{"0":"0.021667","1":"0.021703","2":"0.021944","3":"0.021644","4":"0.021667","5":"0.021667","6":"0.021685","7":"0.021507","8":"0.021806","9":"0.021703","SettDate":"2012-04-21 00:00:00.000"},{"0":"0.021806","1":"0.021841","2":"0.022083","3":"0.021781","4":"0.021806","5":"0.021806","6":"0.021823","7":"0.021644","8":"0.021944","9":"0.021841","SettDate":"2012-04-22 00:00:00.000"},{"0":"0.021944","1":"0.021978","2":"0.022222","3":"0.021918","4":"0.021944","5":"0.021944","6":"0.021961","7":"0.021781","8":"0.022083","9":"0.021978","SettDate":"2012-04-23 00:00:00.000"},{"0":"0.022083","1":"0.022115","2":"0.022361","3":"0.022055","4":"0.022083","5":"0.022083","6":"0.022099","7":"0.021918","8":"0.022222","9":"0.022115","SettDate":"2012-04-24 00:00:00.000"},{"0":"0.022222","1":"0.022253","2":"0.0225","3":"0.022192","4":"0.022222","5":"0.022222","6":"0.022238","7":"0.022055","8":"0.022361","9":"0.022253","SettDate":"2012-04-25 00:00:00.000"},{"0":"0.022361","1":"0.02239","2":"0.022639","3":"0.022329","4":"0.022361","5":"0.022361","6":"0.022376","7":"0.022192","8":"0.0225","9":"0.02239","SettDate":"2012-04-26 00:00:00.000"},{"0":"0.0225","1":"0.022527","2":"0.022778","3":"0.022466","4":"0.0225","5":"0.0225","6":"0.022514","7":"0.022329","8":"0.022639","9":"0.022527","SettDate":"2012-04-27 00:00:00.000"},{"0":"0.022639","1":"0.022665","2":"0.022917","3":"0.022603","4":"0.022639","5":"0.022639","6":"0.022652","7":"0.022466","8":"0.022778","9":"0.022665","SettDate":"2012-04-28 00:00:00.000"},{"0":"0.022778","1":"0.022802","2":"0.023056","3":"0.02274","4":"0.022778","5":"0.022778","6":"0.02279","7":"0.022603","8":"0.022917","9":"0.022802","SettDate":"2012-04-29 00:00:00.000"},{"0":"0.022917","1":"0.02294","2":"0.023194","3":"0.022877","4":"0.022917","5":"0.022917","6":"0.022928","7":"0.02274","8":"0.023056","9":"0.02294","SettDate":"2012-04-30 00:00:00.000"},{"0":"0.023056","1":"0.023077","2":"0.023333","3":"0.023014","4":"0.023056","5":"0.023056","6":"0.023066","7":"0.022877","8":"0.023194","9":"0.023077","SettDate":"2012-05-01 00:00:00.000"},{"0":"0.023194","1":"0.023214","2":"0.023472","3":"0.023151","4":"0.023194","5":"0.023194","6":"0.023204","7":"0.023014","8":"0.023333","9":"0.023214","SettDate":"2012-05-02 00:00:00.000"},{"0":"0.023333","1":"0.023352","2":"0.023611","3":"0.023288","4":"0.023333","5":"0.023333","6":"0.023343","7":"0.023151","8":"0.023472","9":"0.023352","SettDate":"2012-05-03 00:00:00.000"},{"0":"0.023472","1":"0.023489","2":"0.02375","3":"0.023425","4":"0.023472","5":"0.023472","6":"0.023481","7":"0.023288","8":"0.023611","9":"0.023489","SettDate":"2012-05-04 00:00:00.000"},{"0":"0.023611","1":"0.023626","2":"0.023889","3":"0.023562","4":"0.023611","5":"0.023611","6":"0.023619","7":"0.023425","8":"0.02375","9":"0.023626","SettDate":"2012-05-05 00:00:00.000"},{"0":"0.02375","1":"0.023764","2":"0.024028","3":"0.023699","4":"0.02375","5":"0.02375","6":"0.023757","7":"0.023562","8":"0.023889","9":"0.023764","SettDate":"2012-05-06 00:00:00.000"},{"0":"0.023889","1":"0.023901","2":"0.024167","3":"0.023836","4":"0.023889","5":"0.023889","6":"0.023895","7":"0.023699","8":"0.024028","9":"0.023901","SettDate":"2012-05-07 00:00:00.000"},{"0":"0.024028","1":"0.024038","2":"0.024306","3":"0.023973","4":"0.024028","5":"0.024028","6":"0.024033","7":"0.023836","8":"0.024167","9":"0.024038","SettDate":"2012-05-08 00:00:00.000"},{"0":"0.024167","1":"0.024176","2":"0.024444","3":"0.02411","4":"0.024167","5":"0.024167","6":"0.024171","7":"0.023973","8":"0.024306","9":"0.024176","SettDate":"2012-05-09 00:00:00.000"},{"0":"0.024306","1":"0.024313","2":"0.024583","3":"0.024247","4":"0.024306","5":"0.024306","6":"0.024309","7":"0.02411","8":"0.024444","9":"0.024313","SettDate":"2012-05-10 00:00:00.000"},{"0":"0.024444","1":"0.024451","2":"0.024722","3":"0.024384","4":"0.024444","5":"0.024444","6":"0.024448","7":"0.024247","8":"0.024583","9":"0.024451","SettDate":"2012-05-11 00:00:00.000"},{"0":"0.024583","1":"0.024588","2":"0.024861","3":"0.024521","4":"0.024583","5":"0.024583","6":"0.024586","7":"0.024384","8":"0.024722","9":"0.024588","SettDate":"2012-05-12 00:00:00.000"},{"0":"0.024722","1":"0.024725","2":"0.025","3":"0.024658","4":"0.024722","5":"0.024722","6":"0.024724","7":"0.024521","8":"0.024861","9":"0.024725","SettDate":"2012-05-13 00:00:00.000"},{"0":"0.024861","1":"0.024863","2":"0.025139","3":"0.024795","4":"0.024861","5":"0.024861","6":"0.024862","7":"0.024658","8":"0.025","9":"0.024863","SettDate":"2012-05-14 00:00:00.000"},{"0":"0","1":"0","2":"0","3":"0","4":"0","5":"0","6":"0","7":"0","8":"0","9":"0","SettDate":"2012-05-15 00:00:00.000"}]}
If the maturity date, last interest date, or first interest date is the last day of the month, then the calculation of the previous coupon date (which is used in the calculation of the accrued interest), can be affected by the choice of @Basis. In this example, we will look at the difference between the Actual/Actual (1) and the Actual/Actual NON_EOM (11) values for @Basis.
SELECT LEFT(convert(varchar, l.seriesvalue, 106), 11) as Settlement,
wct.AIFACTOR( 1, --Basis
.05, --rate
'2012-06-30', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as [Actual/Actual],
wct.AIFACTOR( 11, --Basis
.05, --rate
'2012-06-30', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as [Actual/Actual NON EOM]
FROM wct.SeriesDate('2011-11-30', '2012-01-31', NULL, NULL, NULL) l;
This produces the following result.
{"columns":[{"field":"Settlement","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"Actual/Actual","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"Actual/Actual NON EOM","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Settlement":"30 Nov 2011","Actual/Actual":"0.0207880434782609","Actual/Actual NON EOM":"0.0209016393442623"},{"Settlement":"01 Dec 2011","Actual/Actual":"0.0209239130434783","Actual/Actual NON EOM":"0.0210382513661202"},{"Settlement":"02 Dec 2011","Actual/Actual":"0.0210597826086957","Actual/Actual NON EOM":"0.0211748633879781"},{"Settlement":"03 Dec 2011","Actual/Actual":"0.021195652173913","Actual/Actual NON EOM":"0.0213114754098361"},{"Settlement":"04 Dec 2011","Actual/Actual":"0.0213315217391304","Actual/Actual NON EOM":"0.021448087431694"},{"Settlement":"05 Dec 2011","Actual/Actual":"0.0214673913043478","Actual/Actual NON EOM":"0.0215846994535519"},{"Settlement":"06 Dec 2011","Actual/Actual":"0.0216032608695652","Actual/Actual NON EOM":"0.0217213114754098"},{"Settlement":"07 Dec 2011","Actual/Actual":"0.0217391304347826","Actual/Actual NON EOM":"0.0218579234972678"},{"Settlement":"08 Dec 2011","Actual/Actual":"0.021875","Actual/Actual NON EOM":"0.0219945355191257"},{"Settlement":"09 Dec 2011","Actual/Actual":"0.0220108695652174","Actual/Actual NON EOM":"0.0221311475409836"},{"Settlement":"10 Dec 2011","Actual/Actual":"0.0221467391304348","Actual/Actual NON EOM":"0.0222677595628415"},{"Settlement":"11 Dec 2011","Actual/Actual":"0.0222826086956522","Actual/Actual NON EOM":"0.0224043715846995"},{"Settlement":"12 Dec 2011","Actual/Actual":"0.0224184782608696","Actual/Actual NON EOM":"0.0225409836065574"},{"Settlement":"13 Dec 2011","Actual/Actual":"0.022554347826087","Actual/Actual NON EOM":"0.0226775956284153"},{"Settlement":"14 Dec 2011","Actual/Actual":"0.0226902173913043","Actual/Actual NON EOM":"0.0228142076502732"},{"Settlement":"15 Dec 2011","Actual/Actual":"0.0228260869565217","Actual/Actual NON EOM":"0.0229508196721312"},{"Settlement":"16 Dec 2011","Actual/Actual":"0.0229619565217391","Actual/Actual NON EOM":"0.0230874316939891"},{"Settlement":"17 Dec 2011","Actual/Actual":"0.0230978260869565","Actual/Actual NON EOM":"0.023224043715847"},{"Settlement":"18 Dec 2011","Actual/Actual":"0.0232336956521739","Actual/Actual NON EOM":"0.0233606557377049"},{"Settlement":"19 Dec 2011","Actual/Actual":"0.0233695652173913","Actual/Actual NON EOM":"0.0234972677595628"},{"Settlement":"20 Dec 2011","Actual/Actual":"0.0235054347826087","Actual/Actual NON EOM":"0.0236338797814208"},{"Settlement":"21 Dec 2011","Actual/Actual":"0.0236413043478261","Actual/Actual NON EOM":"0.0237704918032787"},{"Settlement":"22 Dec 2011","Actual/Actual":"0.0237771739130435","Actual/Actual NON EOM":"0.0239071038251366"},{"Settlement":"23 Dec 2011","Actual/Actual":"0.0239130434782609","Actual/Actual NON EOM":"0.0240437158469945"},{"Settlement":"24 Dec 2011","Actual/Actual":"0.0240489130434783","Actual/Actual NON EOM":"0.0241803278688525"},{"Settlement":"25 Dec 2011","Actual/Actual":"0.0241847826086957","Actual/Actual NON EOM":"0.0243169398907104"},{"Settlement":"26 Dec 2011","Actual/Actual":"0.024320652173913","Actual/Actual NON EOM":"0.0244535519125683"},{"Settlement":"27 Dec 2011","Actual/Actual":"0.0244565217391304","Actual/Actual NON EOM":"0.0245901639344262"},{"Settlement":"28 Dec 2011","Actual/Actual":"0.0245923913043478","Actual/Actual NON EOM":"0.0247267759562842"},{"Settlement":"29 Dec 2011","Actual/Actual":"0.0247282608695652","Actual/Actual NON EOM":"0.0248633879781421"},{"Settlement":"30 Dec 2011","Actual/Actual":"0.0248641304347826","Actual/Actual NON EOM":"0"},{"Settlement":"31 Dec 2011","Actual/Actual":"0","Actual/Actual NON EOM":"0.000136612021857923"},{"Settlement":"01 Jan 2012","Actual/Actual":"0.000137362637362637","Actual/Actual NON EOM":"0.000273224043715847"},{"Settlement":"02 Jan 2012","Actual/Actual":"0.000274725274725275","Actual/Actual NON EOM":"0.000409836065573771"},{"Settlement":"03 Jan 2012","Actual/Actual":"0.000412087912087912","Actual/Actual NON EOM":"0.000546448087431694"},{"Settlement":"04 Jan 2012","Actual/Actual":"0.000549450549450549","Actual/Actual NON EOM":"0.000683060109289617"},{"Settlement":"05 Jan 2012","Actual/Actual":"0.000686813186813187","Actual/Actual NON EOM":"0.000819672131147541"},{"Settlement":"06 Jan 2012","Actual/Actual":"0.000824175824175824","Actual/Actual NON EOM":"0.000956284153005465"},{"Settlement":"07 Jan 2012","Actual/Actual":"0.000961538461538462","Actual/Actual NON EOM":"0.00109289617486339"},{"Settlement":"08 Jan 2012","Actual/Actual":"0.0010989010989011","Actual/Actual NON EOM":"0.00122950819672131"},{"Settlement":"09 Jan 2012","Actual/Actual":"0.00123626373626374","Actual/Actual NON EOM":"0.00136612021857923"},{"Settlement":"10 Jan 2012","Actual/Actual":"0.00137362637362637","Actual/Actual NON EOM":"0.00150273224043716"},{"Settlement":"11 Jan 2012","Actual/Actual":"0.00151098901098901","Actual/Actual NON EOM":"0.00163934426229508"},{"Settlement":"12 Jan 2012","Actual/Actual":"0.00164835164835165","Actual/Actual NON EOM":"0.00177595628415301"},{"Settlement":"13 Jan 2012","Actual/Actual":"0.00178571428571429","Actual/Actual NON EOM":"0.00191256830601093"},{"Settlement":"14 Jan 2012","Actual/Actual":"0.00192307692307692","Actual/Actual NON EOM":"0.00204918032786885"},{"Settlement":"15 Jan 2012","Actual/Actual":"0.00206043956043956","Actual/Actual NON EOM":"0.00218579234972678"},{"Settlement":"16 Jan 2012","Actual/Actual":"0.0021978021978022","Actual/Actual NON EOM":"0.0023224043715847"},{"Settlement":"17 Jan 2012","Actual/Actual":"0.00233516483516484","Actual/Actual NON EOM":"0.00245901639344262"},{"Settlement":"18 Jan 2012","Actual/Actual":"0.00247252747252747","Actual/Actual NON EOM":"0.00259562841530055"},{"Settlement":"19 Jan 2012","Actual/Actual":"0.00260989010989011","Actual/Actual NON EOM":"0.00273224043715847"},{"Settlement":"20 Jan 2012","Actual/Actual":"0.00274725274725275","Actual/Actual NON EOM":"0.00286885245901639"},{"Settlement":"21 Jan 2012","Actual/Actual":"0.00288461538461538","Actual/Actual NON EOM":"0.00300546448087432"},{"Settlement":"22 Jan 2012","Actual/Actual":"0.00302197802197802","Actual/Actual NON EOM":"0.00314207650273224"},{"Settlement":"23 Jan 2012","Actual/Actual":"0.00315934065934066","Actual/Actual NON EOM":"0.00327868852459016"},{"Settlement":"24 Jan 2012","Actual/Actual":"0.0032967032967033","Actual/Actual NON EOM":"0.00341530054644809"},{"Settlement":"25 Jan 2012","Actual/Actual":"0.00343406593406593","Actual/Actual NON EOM":"0.00355191256830601"},{"Settlement":"26 Jan 2012","Actual/Actual":"0.00357142857142857","Actual/Actual NON EOM":"0.00368852459016393"},{"Settlement":"27 Jan 2012","Actual/Actual":"0.00370879120879121","Actual/Actual NON EOM":"0.00382513661202186"},{"Settlement":"28 Jan 2012","Actual/Actual":"0.00384615384615385","Actual/Actual NON EOM":"0.00396174863387978"},{"Settlement":"29 Jan 2012","Actual/Actual":"0.00398351648351648","Actual/Actual NON EOM":"0.00409836065573771"},{"Settlement":"30 Jan 2012","Actual/Actual":"0.00412087912087912","Actual/Actual NON EOM":"0.00423497267759563"},{"Settlement":"31 Jan 2012","Actual/Actual":"0.00425824175824176","Actual/Actual NON EOM":"0.00437158469945355"}]}
The BUS/252 day-count convention only accrues interest on business days, so there is no change in the AIFACTOR on weekends or holidays. In addition, the calculation of the coupon interest amount for the coupon period is different than for other day-count conventions and is consistent with the ANDIMA specification.
SELECT LEFT(convert(varchar, l.seriesvalue, 106), 11) as Settlement,
wct.AIFACTOR( 20, --Basis
.05, --rate
'2012-06-30', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
'20111225,20120101,20120220,20120221,20120406,20120421,20120501,20120607' --Holidays
) as AIFACTOR
FROM wct.SeriesDate('2011-11-30', '2012-01-31', NULL, NULL, NULL) l
GROUP BY l.seriesvalue
ORDER BY SeriesValue
This produces the following result.
Settlement AIFACTOR
----------- ----------------------
30 Nov 2011 0.0203921465830275
01 Dec 2011 0.0205792304966333
02 Dec 2011 0.020766314410239
03 Dec 2011 0.0209533983238448
04 Dec 2011 0.0209533983238448
05 Dec 2011 0.0209533983238448
06 Dec 2011 0.0211404822374505
07 Dec 2011 0.0213275661510563
08 Dec 2011 0.0215146500646621
09 Dec 2011 0.0217017339782678
10 Dec 2011 0.0218888178918736
11 Dec 2011 0.0218888178918736
12 Dec 2011 0.0218888178918736
13 Dec 2011 0.0220759018054793
14 Dec 2011 0.0222629857190851
15 Dec 2011 0.0224500696326908
16 Dec 2011 0.0226371535462966
17 Dec 2011 0.0228242374599024
18 Dec 2011 0.0228242374599024
19 Dec 2011 0.0228242374599024
20 Dec 2011 0.0230113213735081
21 Dec 2011 0.0231984052871139
22 Dec 2011 0.0233854892007196
23 Dec 2011 0.0235725731143254
24 Dec 2011 0.0237596570279311
25 Dec 2011 0.0237596570279311
26 Dec 2011 0.0237596570279311
27 Dec 2011 0.0239467409415369
28 Dec 2011 0.0241338248551427
29 Dec 2011 0.0243209087687484
30 Dec 2011 0.0245079926823542
31 Dec 2011 0
01 Jan 2012 0
02 Jan 2012 0
03 Jan 2012 0.000197560612767679
04 Jan 2012 0.000395121225535359
05 Jan 2012 0.000592681838303038
06 Jan 2012 0.000790242451070718
07 Jan 2012 0.000987803063838397
08 Jan 2012 0.000987803063838397
09 Jan 2012 0.000987803063838397
10 Jan 2012 0.00118536367660608
11 Jan 2012 0.00138292428937376
12 Jan 2012 0.00158048490214144
13 Jan 2012 0.00177804551490911
14 Jan 2012 0.00197560612767679
15 Jan 2012 0.00197560612767679
16 Jan 2012 0.00197560612767679
17 Jan 2012 0.00217316674044447
18 Jan 2012 0.00237072735321215
19 Jan 2012 0.00256828796597983
20 Jan 2012 0.00276584857874751
21 Jan 2012 0.00296340919151519
22 Jan 2012 0.00296340919151519
23 Jan 2012 0.00296340919151519
24 Jan 2012 0.00316096980428287
25 Jan 2012 0.00335853041705055
26 Jan 2012 0.00355609102981823
27 Jan 2012 0.00375365164258591
28 Jan 2012 0.00395121225535359
29 Jan 2012 0.00395121225535359
30 Jan 2012 0.00395121225535359
31 Jan 2012 0.00414877286812127
Here’s an example of the accrued interest factor calculation using the Actual/Actual ISDA day-count convention.
SELECT LEFT(convert(varchar, l.seriesvalue, 106), 11) as Settlement,
wct.AIFACTOR( 21, --Basis
.05, --rate
'2012-05-31', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as AIFACTOR
FROM wct.SeriesDate('2011-11-30', '2012-01-31', NULL, NULL, NULL) l;
This produces the following result.
{"columns":[{"field":"Settlement","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"AIFACTOR","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Settlement":"30 Nov 2011","AIFACTOR":"0"},{"Settlement":"01 Dec 2011","AIFACTOR":"0.000136986301369863"},{"Settlement":"02 Dec 2011","AIFACTOR":"0.000273972602739726"},{"Settlement":"03 Dec 2011","AIFACTOR":"0.000410958904109589"},{"Settlement":"04 Dec 2011","AIFACTOR":"0.000547945205479452"},{"Settlement":"05 Dec 2011","AIFACTOR":"0.000684931506849315"},{"Settlement":"06 Dec 2011","AIFACTOR":"0.000821917808219178"},{"Settlement":"07 Dec 2011","AIFACTOR":"0.000958904109589041"},{"Settlement":"08 Dec 2011","AIFACTOR":"0.0010958904109589"},{"Settlement":"09 Dec 2011","AIFACTOR":"0.00123287671232877"},{"Settlement":"10 Dec 2011","AIFACTOR":"0.00136986301369863"},{"Settlement":"11 Dec 2011","AIFACTOR":"0.00150684931506849"},{"Settlement":"12 Dec 2011","AIFACTOR":"0.00164383561643836"},{"Settlement":"13 Dec 2011","AIFACTOR":"0.00178082191780822"},{"Settlement":"14 Dec 2011","AIFACTOR":"0.00191780821917808"},{"Settlement":"15 Dec 2011","AIFACTOR":"0.00205479452054795"},{"Settlement":"16 Dec 2011","AIFACTOR":"0.00219178082191781"},{"Settlement":"17 Dec 2011","AIFACTOR":"0.00232876712328767"},{"Settlement":"18 Dec 2011","AIFACTOR":"0.00246575342465753"},{"Settlement":"19 Dec 2011","AIFACTOR":"0.0026027397260274"},{"Settlement":"20 Dec 2011","AIFACTOR":"0.00273972602739726"},{"Settlement":"21 Dec 2011","AIFACTOR":"0.00287671232876712"},{"Settlement":"22 Dec 2011","AIFACTOR":"0.00301369863013699"},{"Settlement":"23 Dec 2011","AIFACTOR":"0.00315068493150685"},{"Settlement":"24 Dec 2011","AIFACTOR":"0.00328767123287671"},{"Settlement":"25 Dec 2011","AIFACTOR":"0.00342465753424658"},{"Settlement":"26 Dec 2011","AIFACTOR":"0.00356164383561644"},{"Settlement":"27 Dec 2011","AIFACTOR":"0.0036986301369863"},{"Settlement":"28 Dec 2011","AIFACTOR":"0.00383561643835616"},{"Settlement":"29 Dec 2011","AIFACTOR":"0.00397260273972603"},{"Settlement":"30 Dec 2011","AIFACTOR":"0.00410958904109589"},{"Settlement":"31 Dec 2011","AIFACTOR":"0.00424657534246575"},{"Settlement":"01 Jan 2012","AIFACTOR":"0.00438356164383562"},{"Settlement":"02 Jan 2012","AIFACTOR":"0.00452017366569354"},{"Settlement":"03 Jan 2012","AIFACTOR":"0.00465678568755146"},{"Settlement":"04 Jan 2012","AIFACTOR":"0.00479339770940939"},{"Settlement":"05 Jan 2012","AIFACTOR":"0.00493000973126731"},{"Settlement":"06 Jan 2012","AIFACTOR":"0.00506662175312523"},{"Settlement":"07 Jan 2012","AIFACTOR":"0.00520323377498316"},{"Settlement":"08 Jan 2012","AIFACTOR":"0.00533984579684108"},{"Settlement":"09 Jan 2012","AIFACTOR":"0.00547645781869901"},{"Settlement":"10 Jan 2012","AIFACTOR":"0.00561306984055693"},{"Settlement":"11 Jan 2012","AIFACTOR":"0.00574968186241485"},{"Settlement":"12 Jan 2012","AIFACTOR":"0.00588629388427278"},{"Settlement":"13 Jan 2012","AIFACTOR":"0.0060229059061307"},{"Settlement":"14 Jan 2012","AIFACTOR":"0.00615951792798862"},{"Settlement":"15 Jan 2012","AIFACTOR":"0.00629612994984655"},{"Settlement":"16 Jan 2012","AIFACTOR":"0.00643274197170447"},{"Settlement":"17 Jan 2012","AIFACTOR":"0.00656935399356239"},{"Settlement":"18 Jan 2012","AIFACTOR":"0.00670596601542032"},{"Settlement":"19 Jan 2012","AIFACTOR":"0.00684257803727824"},{"Settlement":"20 Jan 2012","AIFACTOR":"0.00697919005913616"},{"Settlement":"21 Jan 2012","AIFACTOR":"0.00711580208099409"},{"Settlement":"22 Jan 2012","AIFACTOR":"0.00725241410285201"},{"Settlement":"23 Jan 2012","AIFACTOR":"0.00738902612470993"},{"Settlement":"24 Jan 2012","AIFACTOR":"0.00752563814656786"},{"Settlement":"25 Jan 2012","AIFACTOR":"0.00766225016842578"},{"Settlement":"26 Jan 2012","AIFACTOR":"0.0077988621902837"},{"Settlement":"27 Jan 2012","AIFACTOR":"0.00793547421214163"},{"Settlement":"28 Jan 2012","AIFACTOR":"0.00807208623399955"},{"Settlement":"29 Jan 2012","AIFACTOR":"0.00820869825585747"},{"Settlement":"30 Jan 2012","AIFACTOR":"0.0083453102777154"},{"Settlement":"31 Jan 2012","AIFACTOR":"0.00848192229957332"}]}
Notice how the AIFACTOR increases smoothly by 0.00013698630 for each day in 2011 and then AIFACTOR changes by 0.00013661202 for each day in 2012.
Here’s an example of the accrued interest factor calculation using the Actual/365L day-count convention.
SELECT LEFT(convert(varchar, l.seriesvalue, 106), 11) as Settlement,
wct.AIFACTOR( 23, --Basis
.05, --rate
'2012-05-31', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as AIFACTOR
FROM wct.SeriesDate('2011-11-30', '2012-01-31', NULL, NULL, NULL) l;
This produces the following result.
{"columns":[{"field":"Settlement","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"AIFACTOR","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Settlement":"30 Nov 2011","AIFACTOR":"0"},{"Settlement":"01 Dec 2011","AIFACTOR":"0.000136612021857923"},{"Settlement":"02 Dec 2011","AIFACTOR":"0.000273224043715847"},{"Settlement":"03 Dec 2011","AIFACTOR":"0.000409836065573771"},{"Settlement":"04 Dec 2011","AIFACTOR":"0.000546448087431694"},{"Settlement":"05 Dec 2011","AIFACTOR":"0.000683060109289617"},{"Settlement":"06 Dec 2011","AIFACTOR":"0.000819672131147541"},{"Settlement":"07 Dec 2011","AIFACTOR":"0.000956284153005465"},{"Settlement":"08 Dec 2011","AIFACTOR":"0.00109289617486339"},{"Settlement":"09 Dec 2011","AIFACTOR":"0.00122950819672131"},{"Settlement":"10 Dec 2011","AIFACTOR":"0.00136612021857923"},{"Settlement":"11 Dec 2011","AIFACTOR":"0.00150273224043716"},{"Settlement":"12 Dec 2011","AIFACTOR":"0.00163934426229508"},{"Settlement":"13 Dec 2011","AIFACTOR":"0.00177595628415301"},{"Settlement":"14 Dec 2011","AIFACTOR":"0.00191256830601093"},{"Settlement":"15 Dec 2011","AIFACTOR":"0.00204918032786885"},{"Settlement":"16 Dec 2011","AIFACTOR":"0.00218579234972678"},{"Settlement":"17 Dec 2011","AIFACTOR":"0.0023224043715847"},{"Settlement":"18 Dec 2011","AIFACTOR":"0.00245901639344262"},{"Settlement":"19 Dec 2011","AIFACTOR":"0.00259562841530055"},{"Settlement":"20 Dec 2011","AIFACTOR":"0.00273224043715847"},{"Settlement":"21 Dec 2011","AIFACTOR":"0.00286885245901639"},{"Settlement":"22 Dec 2011","AIFACTOR":"0.00300546448087432"},{"Settlement":"23 Dec 2011","AIFACTOR":"0.00314207650273224"},{"Settlement":"24 Dec 2011","AIFACTOR":"0.00327868852459016"},{"Settlement":"25 Dec 2011","AIFACTOR":"0.00341530054644809"},{"Settlement":"26 Dec 2011","AIFACTOR":"0.00355191256830601"},{"Settlement":"27 Dec 2011","AIFACTOR":"0.00368852459016393"},{"Settlement":"28 Dec 2011","AIFACTOR":"0.00382513661202186"},{"Settlement":"29 Dec 2011","AIFACTOR":"0.00396174863387978"},{"Settlement":"30 Dec 2011","AIFACTOR":"0.00409836065573771"},{"Settlement":"31 Dec 2011","AIFACTOR":"0.00423497267759563"},{"Settlement":"01 Jan 2012","AIFACTOR":"0.00437158469945355"},{"Settlement":"02 Jan 2012","AIFACTOR":"0.00450819672131148"},{"Settlement":"03 Jan 2012","AIFACTOR":"0.0046448087431694"},{"Settlement":"04 Jan 2012","AIFACTOR":"0.00478142076502732"},{"Settlement":"05 Jan 2012","AIFACTOR":"0.00491803278688525"},{"Settlement":"06 Jan 2012","AIFACTOR":"0.00505464480874317"},{"Settlement":"07 Jan 2012","AIFACTOR":"0.00519125683060109"},{"Settlement":"08 Jan 2012","AIFACTOR":"0.00532786885245902"},{"Settlement":"09 Jan 2012","AIFACTOR":"0.00546448087431694"},{"Settlement":"10 Jan 2012","AIFACTOR":"0.00560109289617486"},{"Settlement":"11 Jan 2012","AIFACTOR":"0.00573770491803279"},{"Settlement":"12 Jan 2012","AIFACTOR":"0.00587431693989071"},{"Settlement":"13 Jan 2012","AIFACTOR":"0.00601092896174863"},{"Settlement":"14 Jan 2012","AIFACTOR":"0.00614754098360656"},{"Settlement":"15 Jan 2012","AIFACTOR":"0.00628415300546448"},{"Settlement":"16 Jan 2012","AIFACTOR":"0.0064207650273224"},{"Settlement":"17 Jan 2012","AIFACTOR":"0.00655737704918033"},{"Settlement":"18 Jan 2012","AIFACTOR":"0.00669398907103825"},{"Settlement":"19 Jan 2012","AIFACTOR":"0.00683060109289617"},{"Settlement":"20 Jan 2012","AIFACTOR":"0.0069672131147541"},{"Settlement":"21 Jan 2012","AIFACTOR":"0.00710382513661202"},{"Settlement":"22 Jan 2012","AIFACTOR":"0.00724043715846995"},{"Settlement":"23 Jan 2012","AIFACTOR":"0.00737704918032787"},{"Settlement":"24 Jan 2012","AIFACTOR":"0.00751366120218579"},{"Settlement":"25 Jan 2012","AIFACTOR":"0.00765027322404372"},{"Settlement":"26 Jan 2012","AIFACTOR":"0.00778688524590164"},{"Settlement":"27 Jan 2012","AIFACTOR":"0.00792349726775956"},{"Settlement":"28 Jan 2012","AIFACTOR":"0.00806010928961749"},{"Settlement":"29 Jan 2012","AIFACTOR":"0.00819672131147541"},{"Settlement":"30 Jan 2012","AIFACTOR":"0.00833333333333333"},{"Settlement":"31 Jan 2012","AIFACTOR":"0.00846994535519126"}]}
Notice how the AIFACTOR increases smoothly by 0.00013661202 for each day in the coupon period even as the year changes from 2011 to 2012.
Here’s an example of the accrued interest factor calculation using the Actual/AFB day-count convention.
SELECT LEFT(convert(varchar, l.seriesvalue, 106), 11) as Settlement,
wct.AIFACTOR( 24, --Basis
.05, --rate
'2012-05-31', --Maturity Date
l.SeriesValue, --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
NULL --Holidays
) as AIFACTOR
FROM wct.SeriesDate('2011-11-30', '2012-01-31', NULL, NULL, NULL) l;
This produces the following results.
{"columns":[{"field":"Settlement","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"},{"field":"AIFACTOR","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Settlement":"30 Nov 2011","AIFACTOR":"0"},{"Settlement":"01 Dec 2011","AIFACTOR":"0.000136612021857923"},{"Settlement":"02 Dec 2011","AIFACTOR":"0.000273224043715847"},{"Settlement":"03 Dec 2011","AIFACTOR":"0.000409836065573771"},{"Settlement":"04 Dec 2011","AIFACTOR":"0.000546448087431694"},{"Settlement":"05 Dec 2011","AIFACTOR":"0.000683060109289617"},{"Settlement":"06 Dec 2011","AIFACTOR":"0.000819672131147541"},{"Settlement":"07 Dec 2011","AIFACTOR":"0.000956284153005465"},{"Settlement":"08 Dec 2011","AIFACTOR":"0.00109289617486339"},{"Settlement":"09 Dec 2011","AIFACTOR":"0.00122950819672131"},{"Settlement":"10 Dec 2011","AIFACTOR":"0.00136612021857923"},{"Settlement":"11 Dec 2011","AIFACTOR":"0.00150273224043716"},{"Settlement":"12 Dec 2011","AIFACTOR":"0.00163934426229508"},{"Settlement":"13 Dec 2011","AIFACTOR":"0.00177595628415301"},{"Settlement":"14 Dec 2011","AIFACTOR":"0.00191256830601093"},{"Settlement":"15 Dec 2011","AIFACTOR":"0.00204918032786885"},{"Settlement":"16 Dec 2011","AIFACTOR":"0.00218579234972678"},{"Settlement":"17 Dec 2011","AIFACTOR":"0.0023224043715847"},{"Settlement":"18 Dec 2011","AIFACTOR":"0.00245901639344262"},{"Settlement":"19 Dec 2011","AIFACTOR":"0.00259562841530055"},{"Settlement":"20 Dec 2011","AIFACTOR":"0.00273224043715847"},{"Settlement":"21 Dec 2011","AIFACTOR":"0.00286885245901639"},{"Settlement":"22 Dec 2011","AIFACTOR":"0.00300546448087432"},{"Settlement":"23 Dec 2011","AIFACTOR":"0.00314207650273224"},{"Settlement":"24 Dec 2011","AIFACTOR":"0.00327868852459016"},{"Settlement":"25 Dec 2011","AIFACTOR":"0.00341530054644809"},{"Settlement":"26 Dec 2011","AIFACTOR":"0.00355191256830601"},{"Settlement":"27 Dec 2011","AIFACTOR":"0.00368852459016393"},{"Settlement":"28 Dec 2011","AIFACTOR":"0.00382513661202186"},{"Settlement":"29 Dec 2011","AIFACTOR":"0.00396174863387978"},{"Settlement":"30 Dec 2011","AIFACTOR":"0.00409836065573771"},{"Settlement":"31 Dec 2011","AIFACTOR":"0.00423497267759563"},{"Settlement":"01 Jan 2012","AIFACTOR":"0.00437158469945355"},{"Settlement":"02 Jan 2012","AIFACTOR":"0.00450819672131148"},{"Settlement":"03 Jan 2012","AIFACTOR":"0.0046448087431694"},{"Settlement":"04 Jan 2012","AIFACTOR":"0.00478142076502732"},{"Settlement":"05 Jan 2012","AIFACTOR":"0.00491803278688525"},{"Settlement":"06 Jan 2012","AIFACTOR":"0.00505464480874317"},{"Settlement":"07 Jan 2012","AIFACTOR":"0.00519125683060109"},{"Settlement":"08 Jan 2012","AIFACTOR":"0.00532786885245902"},{"Settlement":"09 Jan 2012","AIFACTOR":"0.00546448087431694"},{"Settlement":"10 Jan 2012","AIFACTOR":"0.00560109289617486"},{"Settlement":"11 Jan 2012","AIFACTOR":"0.00573770491803279"},{"Settlement":"12 Jan 2012","AIFACTOR":"0.00587431693989071"},{"Settlement":"13 Jan 2012","AIFACTOR":"0.00601092896174863"},{"Settlement":"14 Jan 2012","AIFACTOR":"0.00614754098360656"},{"Settlement":"15 Jan 2012","AIFACTOR":"0.00628415300546448"},{"Settlement":"16 Jan 2012","AIFACTOR":"0.0064207650273224"},{"Settlement":"17 Jan 2012","AIFACTOR":"0.00655737704918033"},{"Settlement":"18 Jan 2012","AIFACTOR":"0.00669398907103825"},{"Settlement":"19 Jan 2012","AIFACTOR":"0.00683060109289617"},{"Settlement":"20 Jan 2012","AIFACTOR":"0.0069672131147541"},{"Settlement":"21 Jan 2012","AIFACTOR":"0.00710382513661202"},{"Settlement":"22 Jan 2012","AIFACTOR":"0.00724043715846995"},{"Settlement":"23 Jan 2012","AIFACTOR":"0.00737704918032787"},{"Settlement":"24 Jan 2012","AIFACTOR":"0.00751366120218579"},{"Settlement":"25 Jan 2012","AIFACTOR":"0.00765027322404372"},{"Settlement":"26 Jan 2012","AIFACTOR":"0.00778688524590164"},{"Settlement":"27 Jan 2012","AIFACTOR":"0.00792349726775956"},{"Settlement":"28 Jan 2012","AIFACTOR":"0.00806010928961749"},{"Settlement":"29 Jan 2012","AIFACTOR":"0.00819672131147541"},{"Settlement":"30 Jan 2012","AIFACTOR":"0.00833333333333333"},{"Settlement":"31 Jan 2012","AIFACTOR":"0.00846994535519126"}]}
This produces the same result as Actual/Actual Long.
Finally, let’s look at a comparison of all the day-count conventions for a single settlement date.
DECLARE @h as varchar(max);
SET @h = '20120101,20120220,20120221,20120406,20120421,20120501,20120607,20120907,
20121012,20121102,20121115,20121225';
SELECT n.description,
wct.AIFACTOR( n.basis, --Basis
.10, --Rate
'2012-05-31', --Maturity Date
'2012-03-31', --Settlement Date
2, --Frequency
NULL, --First Interest Date
NULL, --Last Interest Date
NULL, --Issue Date
@h --Holidays
) * 10000 as [Interest]
FROM
(
SELECT 0,
'BOND'
UNION ALL
SELECT 1,
'Actual / Actual'
UNION ALL
SELECT 2,
'Actual / 360'
UNION ALL
SELECT 3,
'Actual / 365'
UNION ALL
SELECT 4,
'30E / 360'
UNION ALL
SELECT 5,
'30 / 360 ISDA'
UNION ALL
SELECT 6,
'NL / ACT'
UNION ALL
SELECT 7,
'NL / 365'
UNION ALL
SELECT 8,
'NL / 360'
UNION ALL
SELECT 9,
'Actual / 364'
UNION ALL
SELECT 10,
'BOND NON-EOM'
UNION ALL
SELECT 11,
'Actual / Actual NON-EOM'
UNION ALL
SELECT 12,
'Actual / 360 NON-EOM'
UNION ALL
SELECT 13,
'Actual / 365 NON-EOM'
UNION ALL
SELECT 14,
'30E / 360 NON-EOM'
UNION ALL
SELECT 15,
'30 / 360 ISDA NON-EOM'
UNION ALL
SELECT 16,
'NL / ACT NON-EOM'
UNION ALL
SELECT 17,
'NL / 365 NON-EOM'
UNION ALL
SELECT 18,
'NL / 360 NON-EOM'
UNION ALL
SELECT 19,
'Actual / 364 NON-EOM'
UNION ALL
SELECT 20,
'BUS / 252'
UNION ALL
SELECT 21,
'Actual / ISDA'
UNION ALL
SELECT 22,
'Actual / ISMA'
UNION ALL
SELECT 23,
'Actual / 365L'
UNION ALL
SELECT 24,
'Actual / AFB'
UNION ALL
SELECT 30,
'BUS / 252 NON-EOM'
) n(basis, Description);
This produces the following result.
{"columns":[{"field":"Description"},{"field":"Interest","headerClass":"ag-right-aligned-header","cellClass":"ag-right-aligned-cell"}],"rows":[{"Description":"BOND","Interest":"333.333333333333"},{"Description":"Actual / Actual","Interest":"333.333333333333"},{"Description":"Actual / 360","Interest":"338.888888888889"},{"Description":"Actual / 365","Interest":"334.246575342466"},{"Description":"30E / 360","Interest":"333.333333333333"},{"Description":"30 / 360 ISDA","Interest":"333.333333333333"},{"Description":"NL / ACT","Interest":"332.417582417582"},{"Description":"NL / 365","Interest":"331.506849315069"},{"Description":"NL / 360","Interest":"336.111111111111"},{"Description":"Actual / 364","Interest":"335.164835164835"},{"Description":"BOND NON-EOM","Interest":"333.333333333333"},{"Description":"Actual / Actual NON-EOM","Interest":"333.333333333333"},{"Description":"Actual / 360 NON-EOM","Interest":"338.888888888889"},{"Description":"Actual / 365 NON-EOM","Interest":"334.246575342466"},{"Description":"30E / 360 NON-EOM","Interest":"333.333333333333"},{"Description":"30 / 360 ISDA NON-EOM","Interest":"333.333333333333"},{"Description":"NL / ACT NON-EOM","Interest":"332.417582417582"},{"Description":"NL / 365 NON-EOM","Interest":"331.506849315069"},{"Description":"NL / 360 NON-EOM","Interest":"336.111111111111"},{"Description":"Actual / 364 NON-EOM","Interest":"335.164835164835"},{"Description":"BUS / 252","Interest":"330.516609656145"},{"Description":"Actual / ISDA","Interest":"333.572872220975"},{"Description":"Actual / ISMA","Interest":"333.333333333333"},{"Description":"Actual / 365L","Interest":"333.333333333333"},{"Description":"Actual / AFB","Interest":"333.333333333333"},{"Description":"BUS / 252 NON-EOM","Interest":"330.516609656145"}]}
See Also
ACCRINT - Calculate the accrued interest for a security that pays periodic interest.
ACCRINTM - Calculate the accrued interest for a security that pays interest at maturity.
AIFACTOR_IAM - Calculate the Accrued Interest Factor for an Interest-at-Maturity security
AIFACTOR_OFC - Calculate the Accrued Interest Factor for a bond during its odd first coupon period
AIFACTOR_OLC - Calculate the Accrued Interest Factor for a bond during its odd last coupon period
AIFACTOR_RPI - Calculate the Accrued Interest Factor for a Regular Periodic Interest period
BONDINT - Accrued interest on a bond paying regular, periodic interest
ODDFINT - Accrued interest for a bond with an odd first coupon
ODDLINT - Accrued interest for a bond with an odd last coupon