Description Usage Arguments Value Note Examples
View source: R/Step4_MonteCarloValuation.R
Age a portfolio of VA policies specified in each inPolicy of inPortfolio from currentDate (specified in inPolicy) to targetDate. The againg scenario is given in fundScen. The time step length is specified in dT. Here we input a rather irrelevant parameter df to "hack" for a more flexible user-defined projection function.
1 2 3 4 5 6 7 8 9 | agePortfolio(
inPortfolio,
mortTable,
fundScen,
scenDates,
dT = 1/12,
targetDate,
df
)
|
inPortfolio |
A dataframe containing numPolicy rows and 45 attributes of each VA policy. |
mortTable |
A dataframe with three columns of doubles representing the mortality table. |
fundScen |
A numScen-by-numStep-by-numFund array of doubles of return factors (i.e., exp(mu_t dt)) in each period. |
scenDates |
A vector containing strings in the format of "YYYY-MM-DD" of dates corresponding to each period in fundScen. |
dT |
A double of stepsize in years; dT = 1 / 12 would be monthly. |
targetDate |
A string in the format of "YYYY-MM-DD" of valuation date of the portfolio. |
df |
A vector of doubles of risk-free discount rates of different tenor (not forward rates), should have length being numStep. |
Outputs a dataframe containing numPolicy rows and 45 attributes of each VA policy, where currentDate, gbAmt, GMWBbalance, withdrawal, & fundValue of each policy could be updated as a result of aging.
Target date MUST be PRIOR to the last date of historical scenario date, Current date MUST be LATER than the first date of historical scenario date.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | targetDate <- "2016-01-01"
histFundScen <- genFundScen(fundMap, histIdxScen)
agePortfolio(VAPort[1:2, ], mortTable, histFundScen, histDates, dT = 1 / 12,
targetDate, cForwardCurve)
## Not run:
targetDate <- "2001-01-01"
histFundScen <- genFundScen(fundMap, histIdxScen)
agePortfolio(VAPort, mortTable, histFundScen, histDates, dT = 1 / 12,
targetDate, cForwardCurve)
## End(Not run)
## Not run:
VAPort[1, c("currentDate", "issueDate")] <- c("2001-01-01", "2001-01-01")
histFundScen <- genFundScen(fundMap, histIdxScen)
agePortfolio(VAPort, mortTable, histFundScen, histDates, dT = 1 / 12,
targetDate, cForwardCurve)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.