Skip to contents

Calculate the matrix of age-to-age factors (also called "report-to-report" factors, or "link ratios") for an object of class triangle.

Usage

ata(Triangle, NArow.rm = TRUE, colname.sep = "-",
        colname.order=c("ascending","descending"))

Arguments

Triangle

a loss "triangle". Must be a matrix.

NArow.rm

logical indicating if rows of age-to-age (ata) factors that are all NA should be removed. "All-NA" rows typically occur for the most recent origin year of a loss triangle.

colname.sep

a character indicating the separator character to place between the column names of Triangle that will be used to lable the columns of the resulting matrix of ata factors

colname.order

"ascending" indicates that the less mature age comes first in the column labels of the ata matrix

Details

ata constructs a matrix of age-to-age (ata) factors resulting from a loss "triangle" or a matrix. Simple averages and volume weighted averages are saved as "smpl" and "vwtd" attributes, respectively.

Value

A matrix with "smpl" and "vwtd" attributes.

Author

Daniel Murphy

Examples

ata(GenIns)
#>       dev
#> origin   1-2   2-3   3-4   4-5   5-6   6-7   7-8   8-9  9-10
#>   1    3.143 1.543 1.278 1.238 1.209 1.044 1.040 1.063 1.018
#>   2    3.511 1.755 1.545 1.133 1.084 1.128 1.057 1.086    NA
#>   3    4.448 1.717 1.458 1.232 1.037 1.120 1.061    NA    NA
#>   4    4.568 1.547 1.712 1.073 1.087 1.047    NA    NA    NA
#>   5    2.564 1.873 1.362 1.174 1.138    NA    NA    NA    NA
#>   6    3.366 1.636 1.369 1.236    NA    NA    NA    NA    NA
#>   7    2.923 1.878 1.439    NA    NA    NA    NA    NA    NA
#>   8    3.953 2.016    NA    NA    NA    NA    NA    NA    NA
#>   9    3.619    NA    NA    NA    NA    NA    NA    NA    NA
#>   smpl 3.566 1.746 1.452 1.181 1.111 1.085 1.053 1.075 1.018
#>   vwtd 3.491 1.747 1.457 1.174 1.104 1.086 1.054 1.077 1.018

# Volume weighted average age-to-age factor of the "RAA" data
y <- attr(ata(RAA), "vwtd")
y
#>      1-2      2-3      3-4      4-5      5-6      6-7      7-8      8-9 
#> 2.999359 1.623523 1.270888 1.171675 1.113385 1.041935 1.033264 1.016936 
#>     9-10 
#> 1.009217 
# "To ultimate" factors with a 10% tail
y <- rev(cumprod(rev(c(y, 1.1))))
names(y) <- paste(colnames(RAA), "Ult", sep="-")
y
#>    1-Ult    2-Ult    3-Ult    4-Ult    5-Ult    6-Ult    7-Ult    8-Ult 
#> 9.812257 3.271452 2.015033 1.585531 1.353218 1.215409 1.166493 1.128940 
#>    9-Ult   10-Ult 
#> 1.110138 1.100000 

## Label the development columns in "ratio-type" format
ata(RAA, colname.sep=":", colname.order="desc")
#>       dev
#> origin    2:1   3:2   4:3   5:4   6:5   7:6   8:7   9:8  10:9
#>   1981  1.650 1.319 1.082 1.147 1.195 1.113 1.033 1.003 1.009
#>   1982 40.425 1.259 1.977 1.292 1.132 0.993 1.043 1.033    NA
#>   1983  2.637 1.543 1.163 1.161 1.186 1.029 1.026    NA    NA
#>   1984  2.043 1.364 1.349 1.102 1.113 1.038    NA    NA    NA
#>   1985  8.759 1.656 1.400 1.171 1.009    NA    NA    NA    NA
#>   1986  4.260 1.816 1.105 1.226    NA    NA    NA    NA    NA
#>   1987  7.217 2.723 1.125    NA    NA    NA    NA    NA    NA
#>   1988  5.142 1.887    NA    NA    NA    NA    NA    NA    NA
#>   1989  1.722    NA    NA    NA    NA    NA    NA    NA    NA
#>   smpl  8.206 1.696 1.315 1.183 1.127 1.043 1.034 1.018 1.009
#>   vwtd  2.999 1.624 1.271 1.172 1.113 1.042 1.033 1.017 1.009