Commit d783a1ae authored by Reinhold Kainhofer's avatar Reinhold Kainhofer

Add USA 1983 IAM / GAM annuity tables as data sets

parent 4e62d158
......@@ -403,73 +403,49 @@ save(USA1973AnnuityExperience,
### 1983 Table "a" (individual) and GAM (group annuities), period tables ####
##############################################################################h#
# TODO!
USA1983a.data = read_excel(
US.annuities.file, sheet = "1983a - GAM",
col_names = c("age","qx", "qy", "qxG", "qyG"),
skip = 4)
USA1983a.male = mortalityTable.period(
name = "USA 1983 Table a, male",
ages = USA1983a.data$age,
deathProbs = USA1983a.data$qx,
baseYear = 1983,
data = list(
dim = list(table = "1983 table a", sex = "m", collar = "Mortality", type = "Rententafel", data = "loaded", year = 1983)
)
)
USA1983a.female = mortalityTable.period(
name = "USA 1983 Table a, female",
ages = USA1983a.data$age,
deathProbs = USA1983a.data$qy,
baseYear = 1983,
data = list(
dim = list(table = "1983 table a", sex = "f", collar = "Mortality", type = "Rententafel", data = "loaded", year = 1983)
)
)
USA1983GAM.male = mortalityTable.period(
name = "USA 1983 GAM, male",
ages = USA1983a.data$age,
deathProbs = USA1983a.data$qxG,
baseYear = 1983,
data = list(
dim = list(table = "1983 GAM", sex = "m", collar = "group Mortality", type = "Rententafel", data = "loaded", year = 1983)
)
)
USA1983IAM.data = read_excel(
US.annuities.file, sheet = "1983 IAM - GAM",
col_names = c("age","qx", "qy", "qxBasic", "qyBasic", "qxG", "qyG", "qxGBasic", "qyGBasic"),
skip = 7)
USA1983GAM.female = mortalityTable.period(
name = "USA 1983 GAM, female",
ages = USA1983a.data$age,
deathProbs = USA1983a.data$qyG,
baseYear = 1983,
data = list(
dim = list(table = "1983 GAM", sex = "f", collar = "group Mortality", type = "Rententafel", data = "loaded", year = 1983)
USA1983IAM.generate = function(data, column, table, sex, type, collar = "Mortality") {
mortalityTable.period(
name = paste0(table, ", ", recode(sex, "m" = "male", "f" = "female")),
ages = USA1983IAM.data$age,
deathProbs = USA1983IAM.data[[column]],
baseYear = 1983,
data = list(
dim = list(table = table, sex = sex, collar = collar, type = "Rententafel", data = type, year = 1983, country = "USA")
)
)
)
}
USA1983a = array(
USA1983IAM = array(
data = c(
USA1983a.male, USA1983a.female
USA1983IAM.generate(USA1983IAM.data, "qx", table = "1983 IAM", sex = "m", type = "loaded", collar = "Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qy", table = "1983 IAM", sex = "f", type = "loaded", collar = "Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qxBasic", table = "1983 IAM basic", sex = "m", type = "unloaded", collar = "Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qyBasic", table = "1983 IAM basic", sex = "f", type = "unloaded", collar = "Mortality")
),
dim = c(2),
dimnames = list(Sex = c("m", "f"))
dim = c(2, 2),
dimnames = list(Sex = c("m", "f"), type = c("IAM", "Basic"))
)
USA1983GAM = array(
data = c(
USA1983GAM.male, USA1983GAM.female
USA1983IAM.generate(USA1983IAM.data, "qxG", table = "1983 GAM", sex = "m", type = "loaded", collar = "group Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qyG", table = "1983 GAM", sex = "f", type = "loaded", collar = "group Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qxGBasic", table = "1983 GAM basic", sex = "m", type = "unloaded", collar = "group Mortality"),
USA1983IAM.generate(USA1983IAM.data, "qyGBasic", table = "1983 GAM basic", sex = "f", type = "unloaded", collar = "group Mortality")
),
dim = c(2),
dimnames = list(Sex = c("m", "f"))
dim = c(2, 2),
dimnames = list(Sex = c("m", "f"), type = c("GAM", "Basic"))
)
save(USA1983a, USA1983a.male, USA1983a.female,
file = here::here("data", "USA1983a.RData")
save(USA1983IAM,
file = here::here("data", "USA1983IAM.RData")
)
save(USA1983GAM, USA1983GAM.male, USA1983GAM.female,
save(USA1983GAM,
file = here::here("data", "USA1983GAM.RData")
)
......
No preview for this file type
......@@ -1476,16 +1476,10 @@ Standard Industrial Mortality Tables
* 1961 Commissioners Industial Extended Term Insurance Table (1961 CIET), Proc.NAIC, 1961 Vo. II. pp.541-543
* 2017 Commissioners Standard Guaranteed Issue Mortality Tables (2017 CSGI)
* 2015 Preneed Basic
* https://www.soa.org/resources/experience-studies/2017/preneed-mortality-report/
* UP-1984
* 1946-50 Intercompany group annuity experience
* 1964-68 Intercompany group annuity experience
* 1955 American Annuity
* 1983 IAM
* 1983 GAM
* 1983a
* 1994 GAM
* 1996 IAM
* Annuity 2000
......@@ -1499,6 +1493,8 @@ Standard Industrial Mortality Tables
* PubT-2010, PubS-2010, PubG-2010, PubNS-2010, Pub-2010 + Headcount versions
* Pri-2012, Pri.H-2012
* 2015 Preneed Basic
* https://www.soa.org/resources/experience-studies/2017/preneed-mortality-report/
* 2000-2004 Preneed Mortality Table
* SAA Mortality Rates (Period, 1900-2007)
......@@ -1524,7 +1520,7 @@ plotMortalityTables(
## Annuities (individual and group)
* 1937 Standard Annuity Table (male)
* 1937 Standard Annuity Table (male) `r USA1937Annuity`
* Source: Frank D. Kineke, “A New Annuity Mortality Table”, Transactions Society of Actuaries XXXIX , Society of Actuaries, (1938) p. 18-19
* 1943 Annuity Experience table
* Source: William A. Jenkins and Edward A. Lew, “A New Mortality Basis for Annuities”; https://www.soa.org/essays-monographs/50th-anniversary/m-av99-1-01.pdf
......@@ -1540,22 +1536,22 @@ plotMortalityTables(
* Source: Transations of Socienty of Actuaries 1971, Vol. 23 Pt.1 NO.67, https://www.soa.org/library/research/transactions-of-society-of-actuaries/1971/january/tsa71v23pt1n6723.pdf, https://www.soa.org/globalassets/assets/library/research/transactions-of-society-of-actuaries/1971/january/tsa71v23pt1n6724.pdf
* 1973 Annuity Experience table
* 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 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)
* 1983 Table a IA (Individual Annuity)
* 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
* 1994 GAR (Group Annuity Reserving)
* 1996 IAM (Individual Annuity Mortality)
* 2012 IAR (Individual Annuity Reserving)
* Annuity 2000
* 1983 Group Annuity Mortality Table without Projection
* 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)
* 1983 IAM (1983a)
* GAM-94 generational tables using Scale AA
* UP-94 table with 7% margin
......@@ -1570,8 +1566,9 @@ plotMortalityTables(
USA1966GroupAnnuityExperience,
USA1971IAM,
USA1971GAM,
USA1983a,
USA1983IAM,
USA1983GAM,
USA1994GAR,
USA1994GAM,
USAAnnuity2000,
......
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