__author__ = "PedroCR" import pytest from essential_life import mortality_table as mt, mortality_table, commutation_table, annuities from soa_tables import read_soa_table_xml as rst from toDelete.mortality_tables_old import TV7377, GRF95 lt_tv7377 = mortality_table.MortalityTable(mt=TV7377) lt_grf95 = mortality_table.MortalityTable(mt=GRF95) soa_TV7377 = rst.SoaTable('../../soa_tables/TV7377.xml') soa_GRF95 = rst.SoaTable('../../soa_tables/GRF95.xml') mt_GRF95 = mt.MortalityTable(mt=soa_GRF95.table_qx) mt_TV7377 = mt.MortalityTable(mt=soa_TV7377.table_qx) def test_ax(): i = 2 g = 1 m = 1 x = 45 method = 'udd' cf_grf95 = commutation_table.CommutationFunctions(i=i, g=g, mt=soa_GRF95.table_qx) cf_tv7377 = commutation_table.CommutationFunctions(i=i, g=g, mt=soa_TV7377.table_qx) a_grf = annuities.ax(mt=mt_GRF95, x=x, i=i, g=g, m=m, method=method)
import pandas as pd from soa_tables import read_soa_table_xml as rst from essential_life import mortality_table, commutation_table import matplotlib.pyplot as plt table_names = ['TV7377', 'GRF95', 'GRM95'] interest_rate = 4 name = table_names[0] mt = rst.SoaTable('../../soa_tables/' + name + '.xml') lt = mortality_table.MortalityTable(mt=mt.table_qx) ct = commutation_table.CommutationFunctions(i=interest_rate, g=0, mt=mt.table_qx) lx = 1000 frequency = 1 first_instalment_at = 5 number_of_instalments = 1000 premium_instalments = 5 instalment = 10000 dict_annuity = {'x': 50, 'n': 1000, 'm': 1, 'defer': first_instalment_at} renda_premium = ct.naax(x=dict_annuity['x'], n=premium_instalments) full_liability = ct.t_naax(x=dict_annuity['x'], n=dict_annuity['n'], m=dict_annuity['m'], defer=dict_annuity['defer']) * \ instalment * lx premium1 = full_liability / lx / renda_premium i = interest_rate / 100 dict_liability = { 't': [], 'x': [],
import sys from soa_tables import read_soa_table_xml as rst from essential_life import mortality_table, commutation_table this_py = os.path.split(sys.argv[0])[-1][:-3] def parse_table_name(name): return name.replace(' ', '').replace('/', '') table_names = ['TV7377', 'GRF95', 'GRM95'] interest_rate = 6 mt_lst = [ rst.SoaTable('../../soa_tables/' + name + '.xml') for name in table_names ] lt_lst = [mortality_table.MortalityTable(mt=mt.table_qx) for mt in mt_lst] ct_lst = [ commutation_table.CommutationFunctions(i=interest_rate, g=0, mt=mt.table_qx) for mt in mt_lst ] ages = np.linspace(start=20, stop=40, num=5, dtype=int) ''' Prepare the solution for Equal Instalments ''' capital = 100000 terms = 25 ac = annuities_certain.Annuities_Certain(interest_rate=interest_rate, frequency=1)
# author: PedroCR # from soa_tables import read_soa_table_xml as rst from essential_life import mortality_table, commutation_table mt_TV7377 = rst.SoaTable('../soa_tables/TV7377.xml') mt_GRF95 = rst.SoaTable('../soa_tables/GRF95.xml') mt_GRM95 = rst.SoaTable('../soa_tables/GRM95.xml') lt_tv7377 = mortality_table.MortalityTable(mt=mt_TV7377.table_qx) lt_gRF95 = mortality_table.MortalityTable(mt=mt_GRF95.table_qx) lt_gRM95 = mortality_table.MortalityTable(mt=mt_GRM95.table_qx) cf_tv7377 = commutation_table.CommutationFunctions(i=1.4, g=1, mt=mt_TV7377.table_qx) cf_grf95 = commutation_table.CommutationFunctions(i=1.4, g=1, mt=mt_GRF95.table_qx) cf_grm95 = commutation_table.CommutationFunctions(i=1.4, g=1, mt=mt_GRM95.table_qx) print(cf_tv7377.df_commutation_table()) print(cf_tv7377.t_aax(55, m=1, defer=(67 - 55))) print(cf_grm95.t_aax(55, m=1, defer=(67 - 55))) print(cf_grf95.t_aax(55, m=1, defer=(67 - 55)))