Actuarydesk
Python package for actuary to model and analyze simple products or for actuarial students to practice.
Install / Use
/learn @anbarief/ActuarydeskREADME
Actuarydesk
These modules are aimed to become a tool for actuary to model and analyze simple products or for actuarial students to practice.
Published: 29-8-2020
Author: Arief Anbiya - anbarief (at) live (dot) com
Version: 0.2.0
Requirements: Python >= 3.6, Pandas
Website: https://anbarief.github.io/actuarydesk/
Dataset download for math_economics_viz: dataset link
Installation: py -m pip install actuarydesk
Example of using the financial_math.py: analysing the growth of money from investments made at time 0, 1, and 1.5 with amount of 100, 100, and 200 respectively.
Assuming the interest rate is 0.04 annually for the first year and 0.03 semi-annually after that.
import actuarydesk.financial_math as fm
deposits = [fm.Contribution(0, 100), \
fm.Contribution(1, 100), \
fm.Contribution(1.5, 200)]
int_rates = [fm.InterestRate(0, 0.04, 'annual'), \
fm.InterestRate(1, 0.03, 'semi-annual')]
timeline = fm.FinancialTL(deposits, int_rates)
print(timeline.acc_value_at_point(5))
dynamics = timeline.acc_value_dynamics(5, 0.5)
dynamics_df = timeline.acc_value_dynamics_df(5, 0.5)
present_value = timeline.value_at(0)
Example of generating a cashflow for a particular actuarial model: insured age 50 with a 15-year life insurance term, the benefit amount is 10000 payable at the end year of death, the level-premium are paid at beginning of each year until term ends or as long as survival.
import actuarydesk.financial_math as fm
import actuarydesk.actuarial_tables as at
import actuarydesk.actuarial_math as am
table = at.UK_ONS_2016_to_2018_male
int_rate = [fm.InterestRate(0, 0.05, 'annual')]
x = 50; term = 15;
benefits = [am.Benefit(i, 10000) for i in range(x+1, x+term+1)]
ins_model = am.TermLifeInsurance(x, term, benefits, int_rate, table)
model = am.ActuarialModel(ins_model, ['due', 'annual'], 2020)
reserves = model.reserves_dynamics_df(0.5, 70)
cashflow = model.cashflow_df(65)
The tables are collected from: https://www.ons.gov.uk/ , https://mort.soa.org/
Related Skills
node-connect
348.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
108.8kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
108.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
348.0kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
