Commit a87e1a8a authored by Reinhold Kainhofer's avatar Reinhold Kainhofer
Browse files

Implement US UP-1984 and UP94 uninsured pensioners' mortality tables as data sets

parent 2295c840
################################################################################m#
# Skript to generate US Basic (select and ultimate) valuation table objects ####
################################################################################m#
library(MortalityTables)
library(here)
library(readxl)
library(dplyr)
US.pensions.file = here::here("data-raw", "US", "PensionPlans", "USA_PensionPlans.xlsx")
##############################################################################h#
### UP-1984 - US 1984 Uninsured PenSioner Mortality Table ####
##############################################################################h#
USA.UP1984.data = read_excel(
US.pensions.file, sheet = "UP-1984",
skip = 6)
USA.UP1984 = mortalityTable.period(
name = "USA UP-1984 unisex",
ages = USA.UP1984.data$Age,
baseYear = 1984,
deathProbs = USA.UP1984.data$qu,
data = list(
dim = list(table = "USA UP-1984", sex = "u", collar = "UninsuredPensioners", type = "PensionTable", data = "unloaded", year = 1984, country = "USA")
)
)
save(USA.UP1984,
file = here::here("data", "USA.UP1984.RData")
)
##############################################################################h#
### UP-94 - US 1994 Uninsured PenSioner Mortality Table ####
##############################################################################h#
USA.UP94.data = read_excel(
US.pensions.file, sheet = "UP-94",
col_names = c("age","qx", "AAx", "qy", "AAy"),
skip = 7)
USA.UP94 = array(
data = c(
mortalityTable.improvementFactors(
name = "USA UP-94, male",
ages = USA.UP94.data$age,
deathProbs = USA.UP94.data$qx,
improvement = USA.UP94.data$AAx,
data = list(
dim = list(table = "UP-94", sex = "m", collar = "UninsuredPensioners", type = "PensionTable", data = "unoaded", year = 1994, country = "USA")
)
),
mortalityTable.improvementFactors(
name = "USA UP-94, female",
ages = USA.UP94.data$age,
deathProbs = USA.UP94.data$qy,
improvement = USA.UP94.data$AAy,
data = list(
dim = list(table = "UP-94", sex = "f", collar = "UninsuredPensioners", type = "PensionTable", data = "unloaded", year = 1994, country = "USA")
)
)
),
dim = c(2),
dimnames = list(Sex = c("m", "f"))
)
save(USA.UP94,
file = here::here("data", "USA.UP94.RData")
)
......@@ -63,6 +63,7 @@ mortalityTables.load("Austria_Census")
* Pub-2010 Public Retirement Plans Mortality Tables
* RP-2014 Mortality Tables (and RPH-2014 for headcount-weighted)
* RP-2000 Mortality Tables
* US SSA mortality rates 1900-2007, https://mort.soa.org/ViewTable.aspx?&TableIdentity=1502
* US IRS Static mortality tables (prescribed for each year)
* Greece:
* EAE 2005 A (life products)
......@@ -1481,15 +1482,6 @@ Standard Industrial Mortality Tables
* 1964-68 Intercompany group annuity experience
* 1955 American Annuity
* UP-1984 (Unisex Pension)
* UP-94
* RP-2000 (Retirement Plan)
* RP-2014 + Scale MP-2014, MP-2015, MP-2016, MP-2017, MP-2018, MP-2019, MP-2020
* RPH-2014
* PubT-2010, PubS-2010, PubG-2010, PubNS-2010, Pub-2010 + Headcount versions
* Pri-2012, Pri.H-2012
* UP-94 table with 7% margin
* 2015 Preneed Basic
* https://www.soa.org/resources/experience-studies/2017/preneed-mortality-report/
......@@ -1714,8 +1706,51 @@ plotMortalityTables(
legend.position = "right", legend.key.width = unit(2, "lines")
) + facet_grid(sex~.)
```
## Pension Plans
* RP-2000 (Retirement Plan)
* Source: https://www.soa.org/resources/experience-studies/2000-2004/research-rp-2000-mortality-tables/
* RP-2014 + Scale MP-2014, MP-2015, MP-2016, MP-2017, MP-2018, MP-2019, MP-2020
* Source: https://www.soa.org/resources/experience-studies/2014/research-2014-mort-tables/
* https://www.soa.org/resources/experience-studies/2014/research-2014-rp/
* RPH-2014
* PubT-2010, PubS-2010, PubG-2010, PubNS-2010, Pub-2010 + Headcount versions
* Source: https://www.soa.org/resources/research-reports/2019/pub-2010-retirement-plans/
* Pri-2012, Pri.H-2012
* Source: https://www.soa.org/resources/experience-studies/2019/pri-2012-private-mortality-tables/
* UP-94 table with 7% margin
### UP-1984 - Unisex Uninsured Pensioner Mortality
* Source: Paul H. Jackson and William W. Fellers, “The UP-1984: A Unisex Mortality Table for Non-insured Pension Plans”, International Association of Consulting Actuaries (1976). https://www.actuaries.org/IACA/Colloquia/Sydney1976/Vol_1/Jackson_Fellers.pdf
* Note: Where separate male and female mortality rates are required,
the basic UP-1984 Mortality Table can be set forward two years in
age to develop appropriate male mortality rates (possibly set
forward only one year for a group in nonhazardous employment).
Similarly, the table can be set back four years in age to
approximate female mortality rates.
```{r}
plotMortalityTables(USA.UP1984)
```
### UP-94 - Uninsured Pensioner Mortality Table
Source: The Society of Actuaries UP-94 Task Force, "The 1994 Uninsured Pensioner Mortality Table", Transactions Society of Actuaries Vol. XLVII, (Chicago, 1995), p. 824-826.
http://www.soa.org/library/research/transactions-of-society-of-actuaries/1990-95/1995/january/tsa95v4721.pdf
```{r}
plotMortalityTables(USA.UP94, YOB = 1980, title = "UP-94 for birth year 1980")
```
### RP-2000
Projected beyond 2000 using scale AA
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment