diff --git a/data-raw/US/Annuities/USA_Annuities.xlsx b/data-raw/US/Annuities/USA_Annuities.xlsx index b9afe1c2c49738bfbc13289ce10649c7e595d4ac..3959a56521269df0aabd2ec9dd9a3896934561a9 100644 Binary files a/data-raw/US/Annuities/USA_Annuities.xlsx and b/data-raw/US/Annuities/USA_Annuities.xlsx differ diff --git a/data-raw/US/create_MortalityTables_US_Annuities.R b/data-raw/US/create_MortalityTables_US_Annuities.R index 24e677872a516dfac09d31c12b3e493a51fe106d..981530aa14f8a6f0da710565d4e8c2ba296d9c86 100644 --- a/data-raw/US/create_MortalityTables_US_Annuities.R +++ b/data-raw/US/create_MortalityTables_US_Annuities.R @@ -457,70 +457,82 @@ save(USA1983GAM, ##############################################################################h# USA1994GAM.data = read_excel( - US.annuities.file, sheet = "1994 GAR", + US.annuities.file, sheet = "1994 GAM - GAR", col_names = c("age","qx", "AAx", "qy", "AAy", "qxBasic", "qyBasic"), - skip = 4) - -USA1994GAM.male.basic = mortalityTable.period( - name = "USA 1994 GAM basic (unloaded), male", - ages = USA1994GAM.data$age, - deathProbs = USA1994GAM.data$qxBasic, - data = list( - dim = list(table = "1994 GAM", sex = "m", collar = "group Mortality", type = "Rententafel", data = "unloaded", year = 1994) - ) -) - -USA1994GAM.female.basic = mortalityTable.period( - name = "USA 1994 GAM basic (unloaded), female", - ages = USA1994GAM.data$age, - deathProbs = USA1994GAM.data$qyBasic, - data = list( - dim = list(table = "1994 GAM", sex = "f", collar = "group Mortality", type = "Rententafel", data = "unloaded", year = 1994) - ) -) - + skip = 6) -USA1994GAR.male = mortalityTable.improvementFactors( - name = "USA 1994 GAR, male", - ages = USA1994GAM.data$age, - deathProbs = USA1994GAM.data$qx, - improvement = USA1994GAM.data$AAx, - data = list( - dim = list(table = "1994 GAR", sex = "m", collar = "group Reserving", type = "Rententafel", data = "loaded", year = 1994) - ) -) +USA1994GAM = array( + data = c( + mortalityTable.period( + name = "USA 1994 GAM basic, male", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qxBasic, + data = list( + dim = list(table = "1994 GAM Basic", sex = "m", collar = "group Mortality", type = "Rententafel", data = "unloaded", year = 1994, country = "USA") + ) + ), -USA1994GAR.female = mortalityTable.improvementFactors( - name = "USA 1994 GAR, female", - ages = USA1994GAM.data$age, - deathProbs = USA1994GAM.data$qy, - improvement = USA1994GAM.data$AAy, - data = list( - dim = list(table = "1994 GAR", sex = "f", collar = "group Reserving", type = "Rententafel", data = "loaded", year = 1994) - ) -) + mortalityTable.period( + name = "USA 1994 GAM basic, female", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qyBasic, + data = list( + dim = list(table = "1994 GAM Basic", sex = "f", collar = "group Mortality", type = "Rententafel", data = "unloaded", year = 1994, country = "USA") + ) + ), + mortalityTable.period( + name = "USA 1994 GAM, male", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qxBasic, + data = list( + dim = list(table = "1994 GAM", sex = "m", collar = "group Mortality", type = "Rententafel", data = "loaded", year = 1994, country = "USA") + ) + ), -USA1994GAM = array( - data = c( - USA1994GAM.male.basic, USA1994GAM.female.basic + mortalityTable.period( + name = "USA 1994 GAM, female", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qyBasic, + data = list( + dim = list(table = "1994 GAM", sex = "f", collar = "group Mortality", type = "Rententafel", data = "loaded", year = 1994, country = "USA") + ) + ) ), - dim = c(2), - dimnames = list(Sex = c("m", "f")) + dim = c(2, 2), + dimnames = list(Sex = c("m", "f"), type = c("basic", "loaded")) ) USA1994GAR = array( data = c( - USA1994GAR.male, USA1994GAR.female + mortalityTable.improvementFactors( + name = "USA 1994 GAR, male", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qx, + improvement = USA1994GAM.data$AAx, + data = list( + dim = list(table = "1994 GAR", sex = "m", collar = "group Reserving", type = "Rententafel", data = "loaded", year = 1994, country = "USA") + ) + ), + + mortalityTable.improvementFactors( + name = "USA 1994 GAR, female", + ages = USA1994GAM.data$age, + deathProbs = USA1994GAM.data$qy, + improvement = USA1994GAM.data$AAy, + data = list( + dim = list(table = "1994 GAR", sex = "f", collar = "group Reserving", type = "Rententafel", data = "loaded", year = 1994, country = "USA") + ) + ) ), dim = c(2), dimnames = list(Sex = c("m", "f")) ) -save(USA1994GAM, USA1994GAM.male.basic, USA1994GAM.female.basic, +save(USA1994GAM, file = here::here("data", "USA1994GAM.RData") ) -save(USA1994GAR, USA1994GAR.male, USA1994GAR.female, +save(USA1994GAR, file = here::here("data", "USA1994GAR.RData") ) @@ -528,6 +540,65 @@ save(USA1994GAR, USA1994GAR.male, USA1994GAR.female, +##############################################################################h# +### 1996 IAM individual annuity mortality table (period table) #### +##############################################################################h# + +USA1996IAM.data = read_excel( + US.annuities.file, sheet = "1996 IAM", + col_names = c("age","qx", "qy", "qxBasic", "qyBasic"), + skip = 6) + +USA1996IAM = array( + data = c( + mortalityTable.period( + name = "USA 1996 IAM basic, male", + ages = USA1996IAM.data$age, + deathProbs = USA1996IAM.data$qxBasic, + data = list( + dim = list(table = "1996 IAM Basic", sex = "m", collar = "Mortality", type = "Rententafel", data = "unloaded", year = 1996, country = "USA") + ) + ), + + mortalityTable.period( + name = "USA 1996 IAM basic, female", + ages = USA1996IAM.data$age, + deathProbs = USA1996IAM.data$qyBasic, + data = list( + dim = list(table = "1996 IAM Basic", sex = "f", collar = "Mortality", type = "Rententafel", data = "unloaded", year = 1996, country = "USA") + ) + ), + + mortalityTable.period( + name = "USA 1996 IAM, male", + ages = USA1996IAM.data$age, + deathProbs = USA1996IAM.data$qxBasic, + data = list( + dim = list(table = "1996 IAM", sex = "m", collar = "Mortality", type = "Rententafel", data = "loaded", year = 1996, country = "USA") + ) + ), + + mortalityTable.period( + name = "USA 1996 IAM, female", + ages = USA1996IAM.data$age, + deathProbs = USA1996IAM.data$qyBasic, + data = list( + dim = list(table = "1996 IAM", sex = "f", collar = "Mortality", type = "Rententafel", data = "loaded", year = 1996, country = "USA") + ) + ) + ), + dim = c(2, 2), + dimnames = list(Sex = c("m", "f"), type = c("basic", "loaded")) +) + +save(USA1996IAM, + file = here::here("data", "USA1996IAM.RData") +) + + + + + #################################################################################h# ### Annuity 2000 Basic (unloaded) and Mortality (loaded) Tables, PERIOD tables #### #################################################################################h# diff --git a/data/USA1994GAM.RData b/data/USA1994GAM.RData index 29dbbb73edca9b5676203845428ef4fcc1f902bc..36a1a92f809ed40a4b564f673693e00142b67d54 100644 Binary files a/data/USA1994GAM.RData and b/data/USA1994GAM.RData differ diff --git a/data/USA1994GAR.RData b/data/USA1994GAR.RData index d90ee6dfd05945bbe0eae72ece932b3e5b5685e2..2825a935e01316efd9f47f6bf1bf041bbcd76263 100644 Binary files a/data/USA1994GAR.RData and b/data/USA1994GAR.RData differ diff --git a/data/USA1996IAM.RData b/data/USA1996IAM.RData new file mode 100644 index 0000000000000000000000000000000000000000..c38eae9971cbc5127ac770b207db83bd72e67efa Binary files /dev/null and b/data/USA1996IAM.RData differ diff --git a/vignettes/international-mortality-tables-overview.Rmd b/vignettes/international-mortality-tables-overview.Rmd index d3db5509cd778b0cc8e3589ea5ae4ca1451eae95..8224a6881b2c4f916633c1d5a5b9a23200d63c4d 100644 --- a/vignettes/international-mortality-tables-overview.Rmd +++ b/vignettes/international-mortality-tables-overview.Rmd @@ -992,6 +992,7 @@ https://aktuar.de/unsere-themen/lebensversicherung/Seiten/default.aspx ## Population Mortality https://www.cso.ie/en/statistics/birthsdeathsandmarriages/archive/irishlifetables1926to2012/ +https://www.cso.ie/en/releasesandpublications/er/ilt/irishlifetablesno172015-2017/ * gender-specific period tables * male+female, ages 0--105, earlier tables gave only $l_x$ and $e_x$, but no $q_x$ @@ -1539,21 +1540,26 @@ plotMortalityTables( * 1983 IAM (Table a) (Individual Annuity) * Source: Society of Actuaries, “Report of the Committee to Recommend a New Mortality Table Basis for Individual Annuity Valuation (Derivation of the 1983 Table a)”, Transactions of the Society of Actuaries, Vol. 33. (1981). http://www.soa.org/Library/Research/Transactions-Of-Society-Of-Actuaries/1981/January/tsa81v3325.pdf * 1983 GAM (Group Annuity Mortality) - * Source: Committee on Annuities, “Development of the 1983 Group Annuity Mortality Table”, Transaction of the Society of Actuaries Vol. XXXV, pp.859-899 (1983). http://www.soa.org/Library/Research/Transactions-Of-Society-Of-Actuaries/1983/January/tsa83v3527.pdf + * Source: Committee on Annuities, “Development of the 1983 Group Annuity Mortality Table”, Transactions of the Society of Actuaries Vol. XXXV, pp.859-899 (1983). http://www.soa.org/Library/Research/Transactions-Of-Society-Of-Actuaries/1983/January/tsa83v3527.pdf +* 1994 GAR (Group Annuity Reserving), 1994 GAM, 1994 GAM Basic + * Source: Society of Actuaries +Group Annuity Valuation Table Task Force, "1994 Group Annuity Mortality Table and 1994 Group Annuity Reserving Table", Transactions of the Society of Actuaries, Vol.47, 1995, pp.865-872. https://www.soa.org/globalassets/assets/library/research/transactions-of-society-of-actuaries/1990-95/1995/january/tsa95v4722.pdf +* 1996 IAM (Individual Annuity Mortality) + * Source: Robert J. Johansen, “Review of Adequacy of 1983 Individual annuity Mortality Table”, Transactions of the Society of Actuaries Vol. XLVII (1995), http://www.soa.org/Library/Research/Transactions-Of-Society-Of-Actuaries/1990-95/1995/January/tsa95v479.pdf -* 1994 GAR (Group Annuity Reserving) -* 1996 IAM (Individual Annuity Mortality) -* 2012 IAR (Individual Annuity Reserving) -* Annuity 2000 * Annuity 2000 Mortality Table -* 2012 Individual Annuity Reserve Valuation Table (2012 IAR = 2012 IAM Period Table + Scale G2 - * 2012 IAM Basic table with selection factors $F_x$ (when little or no experience is available on a business sgment (VM-21 Section 11 B.3) + * Source: Society of +Actuaries Committee on Life Insurance Research and shown on page 240 of Volume XLVII of the +Transactions of the Society of Actuaries (1995) +* 2012 IAR (Individual Annuity Reserving) Valuation Table (2012 IAR = 2012 IAM Period Table + Scale G2 + * 2012 IAM Basic table with selection factors $F_x$ (when little or no experience is available on a business segment (VM-21 Section 11 B.3) -* GAM-94 generational tables using Scale AA * UP-94 table with 7% margin + + Usage in R: ```{r AnnuitiesUS} @@ -1568,13 +1574,15 @@ plotMortalityTables( USA1971GAM, USA1983IAM, USA1983GAM, - - USA1994GAR, USA1994GAM, + USA1994GAR, + USA1996IAM, + USAAnnuity2000, aes = aes(color = table), legend.position = "bottom", - legend.key.width = unit(2, "lines") + legend.key.width = unit(2, "lines"), + Period = 2020 ) + facet_grid(sex~data) ```