zfin/examples/pre-retirement-both/projections.srf

50 lines
2.1 KiB
Text

#!srfv1
# Pre-retirement projection: both targets configured.
#
# Pat (born 1981) and Sam (born 1983) plan to retire at age 65 AND
# want to spend $80k/yr in retirement. Combined annual contribution:
# $80k/yr (CPI-adjusted).
#
# This file exercises BOTH retirement-planning inputs simultaneously:
# - Target retirement date (`retirement_age:num:65`) drives the
# Accumulation phase block — median portfolio at retirement,
# p10-p90 range. The headline retirement line uses this
# configured date.
# - Target spending (`target_spending:num:80000`) drives the
# Earliest retirement grid — when each (horizon, confidence)
# pair becomes feasible.
#
# Both blocks render back-to-back; the comparison is the value-add
# (e.g. "you set a target retirement of 2046; at 95% confidence over
# 30 years you could retire as early as YYYY").
# Asset allocation target (80% stocks / 20% bonds — typical pre-retirement)
type::config,target_stock_pct:num:80
# Distribution-phase horizons to simulate
type::config,horizon:num:25
type::config,horizon:num:35
# Plan through age 95 — the older partner's first-to-hit-95 sets the floor
type::config,horizon_age:num:95
# Target retirement date: oldest partner (Pat) reaches 65 in 2046
type::config,retirement_age:num:65
# Annual household contribution to retirement accounts
type::config,annual_contribution:num:80000
type::config,contribution_inflation_adjusted:bool:true
# Target retirement spending
type::config,target_spending:num:80000
type::config,target_spending_inflation_adjusted:bool:true
# Birthdates (drives both retirement_age resolution and life-event ages)
type::birthdate,date::1981-04-12
type::birthdate,date::1983-09-08,person:num:2
# Social Security at age 70 (more conservative claim age)
type::event,name::Social Security (Pat),start_age:num:70,person:num:1,amount:num:38400
type::event,name::Social Security (Sam),start_age:num:70,person:num:2,amount:num:36000
# College tuition for the kids — 4-year overlap when Pat is age 50-53
type::event,name::College Tuition,start_age:num:50,person:num:1,duration:num:4,amount:num:-55000