zoukankan      html  css  js  c++  java
  • 公式和函数代码使用手册

    (2017-11-30银河统计)


    寿险精算这门课程涉及大量公式和生命表及其转换数据,本文汇总对各章节主要公式、数据和函数代码加以汇总,并提供不同水平学生在线分类练习和综合测试题库模板。

    一、利息基础理论

    序号名称公式函数
    1单利函数(利率相等)$large{A(t)=A(0)(1+t imes i)}$webActuary.getDL(m,t,i)
    2单利累计(利率不相等)$large{A(t)=A(0)(1+i_{1}+i_{2}+i_{3}+ldots+i_{t})}$webActuary.getDLs(c,prr)
    3复利函数(利率相等)$large{A(t)=A(0)(1+i)^t}$webActuary.getFL(c,t,i)
    4复利函数(利率不相等)$large{A(t)=A(0)(1+i_{1})(1+i_{2}) imes ldots imes (1+i_{t})}$webActuary.FLs(c,prr)
    5复贴现函数(利率相等)$large{A(t)=A(0) imes (1-d)^t}$webActuary.getTX(c,t,d)
    6由利率计算贴现率$large{d=frac{i}{1+i}}$webActuary.getDfromI(i)
    7由贴现率计算利率$large{i=frac{d}{1-d}}$webActuary.getIfromD(d)
    8由名义利率计算利率$large{i=(1+frac{i^{(m)}}{m})^m-1}$webActuary.getIfromIm(im,m)
    9由利率计算名义利率$large{i^{(m)}=m imes [(1+i)^{frac{1}{m}}-1]}$webActuary.getImfromI(i,m)
    10由名义贴现率计算贴现率$large{d=1-(1-frac{d^{^{(m)}}}{m})^{^m}}$webActuary.getDfromDm(dm,m)
    11由贴现率计算名义贴现率$large{d^m=m imes [1-(1-d)^{^frac{1}{m}}]}$webActuary.getDmfromD(d,m)
    12由利息率计算利息力$large{delta=limlimits_{m ightarrowinfty}i^{(m)}}$webActuary.getIwfromI(i)
    将案例代码复制到网页后面代码窗口,点击“运行代码”获得计算结果。表中,A(0)、c - 本金、t - 投资期、i - 利率、prr - 各期利率数组、d - 贴现率、im - 名义利率、dm -名义 贴现率、n - 结算次数。

    1、类函数样例代码

    var m = 13600; //设置投资本金变量
    var t = 3; //设置投资期限变量
    var p = 0.05; //设置银行利率变量(5%)
    var s = webActuary.getDL(m,t,p); //计算到期单利本利和
    webTJ.display("到期本利和 = "+s+"(元)",0); //显示计算结果
    

    注:用表中案例函数替换代码中的函数,将案例代码复制到网页后面代码窗口,点击“运行代码”获得计算结果

    2、JavaScript样例代码

    由利率计算贴现率公式:(large{d=frac{i}{1+i}})

    var p = 0.05; //设置银行利率变量(5%)
    var d = p/(1+p); //由利率计算贴现率
    webTJ.display("贴现率 = "+d,0); //显示计算结果
    

    注:当公式比较简单时,可直接编制JavaScript小程序代码,将JavaScript代码复制到网页后面代码窗口,点击“运行代码”获得计算结果计算

    二、确定型年金

    序号名称公式函数
    1期初年金现值$ddot{a}_{_n}=1+v+v^{^2}+dots+v^{^{n-1}}=large{frac{1-v^{^n}}{1-v}=frac{1-v^{^n}}{d}}$webActuary.getIFA(n,i,0)
    2期末年金现值$a_n=v+v^2+dots+v^n=large{frac{1-v^{^n}}{i}}$webActuary.getIFA(n,i,1)
    3期初年金终值$ddot{s}_{_n}=(1+i)+(1+i)^{^2}+dots+(1+i)^{^n}=large{frac{(1+i)^{^n}-1}{d}}$webActuary.getIFS(n,i,0)
    4期末年金终值$s_n=1+(1+i)+(1+i)^2+dots+(1+i)^{n-1}=large{frac{(1+i)^{^n}-1}{i}}$webActuary.getIFS(n,i,1)
    5延期期初年金现值$_{_m}ddot{a}_{_n}=v^m+v^{m+1}+dots+v^{m+n-1}=v^m imesddot{a}_{_n}=ddot{a}_{_{n+m}}-ddot{a}_{_m}$webActuary.getMIFA(n,i,m,0)
    6延期期末年金现值$_{_m}a_{_n}=v^{^m} imes a_{_n}=a_{_{m+n}}-a_{_m}$webActuary.getMIFA(n,i,m,1)
    7延期期初年金终值$_{_m}ddot{s}_{_n}=large{frac{(1+i)^{^n}-1}{d}}$webActuary.getMIFS(n,i,m,0)
    8延期期末年金终值$_{_m}s_{_n}=large{frac{(1+i)^{^n}-1}{i}}$webActuary.getMIFS(n,i,m,1)
    9期初递增型年金现值$(Iddot{a})_{_n}=1+2v+3v^2+dots+nv^{n-1}=large{frac{ddot{a}_{_n}-nv^n}{d}}$webActuary.getIIFA(n,i,0)
    10期末递增型年金现值$(Ia)_{_n}=v+2v^2+3v^3+dots+nv^n=large{frac{ddot{a}_{_n}-nv^n}{i}}$webActuary.getIIFA(n,i,1)
    11期初递增型年金终值$(Iddot{s})_{_n}=(Iddot{a})_{_n} imes(1+i)^n=large{frac{ddot{s}_{_n}-n}{d}}$webActuary.getIIFS(n,i,0)
    12期末递增型年金终值$(Is)_{_n}=(Ia)_{_n} imes(1+i)^n=large{frac{ddot{s}_{_n}-n}{i}}$webActuary.getIIFS(n,i,1)
    13期初递减型年金现值$(Dddot{a})_{_n}=n+(n-1)v+(n-2)v^2+dots+v^{n-1}=large{frac{n-a_{_n}}{d}}$webActuary.getDIFA(n,i,0)
    14期末递减型年金现值$(Da)_{_n}=nv+(n-1)v^2+(n-2)v^3+dots+v^n=large{frac{n-a_{_n}}{i}}$webActuary.getDIFA(n,i,1)
    15期初递减型年金终值$(Dddot{s})_{_n}=(Dddot{a})_{_n} imes(1+i)^n=large{frac{n(1+i)^n-s_{_n}}{d}}$webActuary.getDIFS(n,i,0)
    16期末递增型年金终值$(Ds)_{_n}=(Da)_{_n} imes(1+i)^n=large{frac{n(1+i)^n-s_{_n}}{i}}$webActuary.getDIFS(n,i,1)
    17期初等比年金现值$(Pddot{a})_{_n}=sumlimits_{k=1}^n (1+j)^{k-1} imes v^{k-1}=large{frac{1-(1+j)^nv^n}{1-(1+j)v}}$webActuary.getRIFA(n,i,j,0)
    18期末等比年金现值$(Pa)_{_n}=sumlimits_{k=1}^n (1+j)^{k} imes v^{k}=large{frac{1-(1+j)^nv^n}{(i-j)div(1+j)}}$webActuary.getRIFA(n,i,j,1)
    19期初等比年金终值$(Pddot{s})_{_n}=(1+i)^n imes(Pddot{a})_{_n}$webActuary.getRIFS(n,i,j,0)
    20期末等比年金终值$(Ps)_{_n}=(1+i)^n imes(Pa)_{_n}$webActuary.getRIFS(n,i,j,1)
    21期初年付r次一般年金现值$ddot{a}_n^{(r)}=large{frac{1-v^n}{r(1-v^{^{frac{1}{r}}})}=frac{1-v^n}{d^{(r)}}}$webActuary.getGIFA(n,r,i,0)
    22期末年付r次一般年金现值$a_n^{(r)}=large{frac{(1-v^n)}{r[(1+i)^{frac{1}{r}}-1]}=frac{1-v^n}{i^{(r)}}}$webActuary.getGIFA(n,r,i,1)
    23期初年付r次一般年金终值$ddot{s}_n^{(r)}=(1+i)^n imes ddot{a}_n^{(r)}=frac{(1+i)^n-1}{d^{(r)}}$webActuary.getGIFS(n,r,i,0)
    24期末年付r次一般年金终值$s_n^{(r)}=(1+i)^n imes a_n^{(r)}=frac{(1+i)^n-1}{i^{(r)}}$webActuary.getGIFS(n,r,i,1)
    25期初年结k次一般年金现值$ddot{a}_n(k)=1+v^k+v^{2k}+dots+v^{(n-1)k}=frac{1-v^{kn}}{1-v^k}=frac{a_{_{kn}}}{a_k}$webActuary.getKIFA(n,k,i,0)
    26期末年结k次一般年金现值$a_n(k)=v^k+v^{2k}+dots+v^{nk}=frac{v^k(1-v^{kn})}{1-v^k}=frac{a_{_{kn}}}{s_k}$webActuary.getKIFA(n,k,i,1)
    27期初年结k次一般年金终值$ddot{s}_n(k)=(1+i)^{kn} imesddot{a}_n(k)=frac{(1+i)^{kn}-1}{1-v^k}=frac{s_{_{kn}}}{a_k}$webActuary.getKIFS(n,k,i,0)
    28期末年结k次一般年金终值$s_n(k)=(1+i)^{kn} imes a_n(k)=frac{v^k[(1+i)^{kn}-1]}{1-v^k}=frac{s_{_{kn}}}{s_k}$webActuary.getKIFS(n,k,i,1)
    29连续年金现值$large{ar{a}_n=lim_{m oinfty}ddot{a}_n^{(m)}=frac{1-v^n}{d^{(m)}}=frac{1-v^n}{delta}}$
    30连续年金终值$large{ar{s}_n=lim_{m oinfty}ddot{s}_n^{(m)}=frac{(1+i)^n-1}{d^{(m)}}=frac{(1+i)^n-1}{delta}}$
    31期初永续年金现值$large{ddot{a}_{infty}=lim_{m oinfty}ddot{a}_n=lim_{m oinfty}frac{1-v^n}{d}=frac{1}{d}}$
    32期末永续年金现值$large{a_{infty}=lim_{m oinfty}a_n=lim_{m oinfty}frac{1-v^n}{i}=frac{1}{i}}$
    33期初年付r次永续年金现值$large{ddot{a}_{infty}^{(r)}=lim_{r oinfty}ddot{a}_n^{(r)}=lim_{r oinfty}frac{1-v^n}{d^{(r)}}=frac{1}{d^{(r)}}}$
    34期末年付r次永续年金现值$large{a_{infty}^{(r)}=lim_{r oinfty}a_n^{(r)}=lim_{r oinfty}frac{1-v^n}{i^{(r)}}=frac{1}{i^{(r)}}}$
    注:表中,n - 投资期、i - 利率、d - 贴现率、v - 折现因子($d=frac{1}{1+i}$)、m - 延期、j - 收付额递增(减)比例、r - 一年支付次数、k - 一年结算次数。将案例代码复制到网页后面代码窗口,点击“运行代码”获得计算结果

    1、类函数样例代码

    【例1.10】某人从银行贷款20万元用于购买住房,贷款年利率为5%,还款期为30年。如果从第一年开始每年等额还款,求每年还款数额。

    解:设每年还款数额为(X),由于贷款额和还款数额在零时刻的现值是相等的,即,

    [200000=X imesddot{a}_{_{30}}Leftrightarrow X=frac{200000}{ddot{a}_{_{30}}}=frac{200000}{16.14107358}=12390.75(元) ]

    其中,

    [ddot{a}_{_{30}}=1+v+v^{^2}+dots+v^{^{29}}=frac{1-v^{^{30}}}{1-v}=[1-frac{1}{(1+i)^{^{30}}}]div{(1-frac{1}{1+i})}=16.14107358 ]

    webTJ.clear();//清空输出
    var m = 200000;//银行贷款额
    var i = 0.05;//年利息率
    var t = 30;//还款期
    var a = webActuary.getIFA(t,i,0);//单位元期初年金现值
    webTJ.display("期初年金现值:"+a+"元",0);
    var v = webTJ.getDecimal(m/a,2);//每年还款数额
    webTJ.display("每年还款数额:"+v+"元",0);
    

    2、JavaScript样例代码

    参见【例1.10】

    var m = 200000;//银行贷款额
    var i = 0.05;//年利息率
    var t = 30;//还款期
    var a =(1-1/Math.pow (1+i,t))/(1-1/(1+i)); //单位元期初年金现值
    var v =m/a; //每年还款数额
    webTJ.display("单位元期初年金现值 = "+a,0); //显示计算结果
    webTJ.display("每年还款数额 = "+v,0); //显示计算结果
    

    三、债务偿还

    1、等额分期偿还

    期初等额分期偿还,每年偿还金额R为:(R=frac{B_0}{ddot{a}_{n|i}})

    期末等额分期偿还,每年偿还金额R为:(R=frac{B_0}{a_{n|i}})

    其它指标递推公式为,

    (B_k=R imes a_{n-k|i})
    (I_k=i imes B_{k-1}=i imes R imes a_{n-k+|i}=R(1-v^{n-k+1}))
    (P_k=R-I_k=R imes v^{n-k+1})
    (sI_n=sumlimits_{k=1}^n I_k=R[(1-v^n)+(1-v^{n-1})+dots+(1-v)]=nR-Ra_{n|i})

    注:债务偿还部分基本上都是递推计算,可以根据递推公式采用JavaScript代码结合精算类函数编程输出计算表

    【例1.23】某企业向银行借款20000元,期限为5年,年利率为6%。该企业在每年年末以等额分期方式偿还贷款,计算等额分期偿还表。

    案例代码

    webTJ.clear();
    var Bo = 20000;//银行借款额
    var p= 0.06;//年利息率
    var t = 5;//还款期
    var R =Bo/webActuary.getIFA(t,p,1); //每年年末偿还金额
    var oArrs = []; //设置数组变量
    for (var i=0; i<=t+1; i++) {oArrs[i] = [];} //建立二维数组
    oArrs[0][0] = 0; oArrs[0][1] = 0; oArrs[0][2] = Bo; oArrs[0][3] = 0; oArrs[0][4] = 0;  //数组赋值
    var s1=0; 
    var s2=0;
    var s3=0;
    for (var i=1; i<=t; i++) {
        oArrs[i][0] = i; //序号
        oArrs[i][1] = R; //每年偿还金额
        oArrs[i][2] = R*webActuary.getIFA(t-i,p,1); //未偿还余额
        oArrs[i][3] = p*oArrs[i-1][2]; //每年偿还利息
        oArrs[i][4] = R-oArrs[i][3]; //每年偿还本金
        s1+=R; //累计每年偿还金额
        s2+=oArrs[i][3]; //累计每年偿还利息
        s3+=oArrs[i][4]; //累计每年偿还本金
        }
    oArrs[t+1][0] = "合计"; 
    oArrs[t+1][1] = s1; 
    oArrs[t+1][2] =  "*"; 
    oArrs[t+1][3] = s2; 
    oArrs[t+1][4] = s3;
    var oStr="<table style='100%; font-size:8pt; color:#990000;'>"; //表格HTML字符
    oStr+="<tr><th>时期k</th><th>偿还金额R</th><th>未偿还余额B<sub>k</sub></th><th>偿还利息I<sub>k</sub></th><th>偿还本金P<sub>k</sub></th></tr>"; //标题
    for (var i=0; i<=t+1; i++) {
        oStr+="<tr><td>"+oArrs[i][0]+"</td><td>"+webTJ.getDecimal(oArrs[i][1],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][2],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][3],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][4],2)+"            </td></tr>";
        }
    oStr+="</table>";
    webTJ.display(oStr,0); //显示计算表
    

    注:在代码中替换银行借款额、年利息率和还款期指标值可得不同条件计算表。以上过程也可以通过EXCEL计算

    2、变额分期偿还

    (1)每期偿还本金相等

    设每期偿还本金为(P),年利率为(i),还款期限为(n),贷款总金额为(nP)。则,

    每期未偿还的本金余额:(B_k=(n-k) imes P)
    (k)期应支付利息:(I_k=i imes B_{k-1}=i imes (n-k+1) imes P)
    (k)期偿还本利和:(R_k=P+I_k=P imes [1+i imes (n-k+1)])
    支付利息总和:(sI_n=sumlimits_{k=1}^nI_k=sumlimits_{k=1}^ni imes (n-k+1) imes P=i imes P imesfrac{n(n+1)}{2})
    付款金额总和:(sR_n=n imes P+i imes P imesfrac{n(n+1)}{2})

    【例1.25】某笔20000元的贷款,每年年末偿还4000元本金,年利率6%,制作贷款偿还表。

    解:根据题意还款期限,n = 5。

    案例代码

    webTJ.clear();
    var P = 4000;//银行借款额
    var i= 0.06;//年利息率
    var n = 5;//还款期
    var k = 3; //k个时期
    var Bk = (n-k)*P; //第k期未偿还本金余额
    var Ik = i*(n-k+1)*P; //第k期应付利息
    var Rk = P*(1+i*(n-k+1)); //第k期偿还本利和
    var sIn = i*P*n*(n+1)/2; //支付利息总和
    var sRn = n*P+i*P*n*(n+1)/2; //付款金额总和
    var sPn = n*P; //支付本金总和
    var oStr="<table style='100%; font-size:8pt; color:#990000;'>"; //表格HTML字符
    oStr+="<tr><th>时期k</th><th>未偿还本金余额</th><th>应付利息</th><th>偿还本利和</th><th>偿还本金</th></tr>"; //标题
    oStr+="<tr><td>"+k+"</td><td>"+webTJ.getDecimal(Bk,2)+"</td><td>"+webTJ.getDecimal(Ik,2)+"</td><td>"+webTJ.getDecimal(Rk,2)+"</td><td>"+webTJ.getDecimal(sPn,2)+"</td></tr>";
    oStr+="</table>";
    webTJ.display(oStr,0); //显示计算表
    var oStr="<table style='100%; font-size:8pt; color:#990000;'>"; 
    oStr+="<tr><th>支付利息总和</th><th>付款金额总和</th><th>支付本金总和</th></tr>";
    oStr+="<tr><td>"+webTJ.getDecimal(sIn,2)+"</td><td>"+webTJ.getDecimal(sRn,2)+"</td><td>"+webTJ.getDecimal(sPn,2)+"</td></tr>";
    oStr+="</table>";
    webTJ.display(oStr,0); //显示计算表
    

    (2)每期递增(减)变额还款

    最初贷款额(B_0),每期偿还金额为 (B_k(1=1,2,dots,n)),第一笔偿还额为(R),以后每年递增(减)比例为(1+j)。则有,

    (R=frac{B_0(1-frac{1+j}{1+i})}{frac{1}{1+i}[1-(frac{1+j}{1+i})^n]})    ((i ot=j))

    ((i=j))时,为分期等额还款,此时已知(R=frac{B_0}{a_{n|i}})

    (k)期付款:(R_k=R(1+j)^{k-1})
    (k)期利息:(I_k=i imes B_{k-1})
    (k)期本金:(P_k=R_k-I_k)
    (k)期贷款余额:(B_k=B_{k-1}-P_k)

    【例1.27】某人从银行获得10000贷款,期限为8年,年利率10%。每年年末偿还一次,每次偿还金额以30%递增制作分期偿还表。

    案例代码

    webTJ.clear();
    var Bo = 10000; //银行借款额
    var p= 0.1; //年利息率
    var q= 0.3; //年利息率
    var t = 8; //还款期
    var R; //第一笔偿还额
    if (p!=q) {
        R = (Bo*(1-(1+q)/(1+p)))/(1/(1+p)*(1-Math.pow((1+q)/(1+p),t)));
    } else {
        R = Bo/webActuary.getIFA(t,p,1); 
        }
    var oArrs = []; //设置数组变量
    for (var i=0; i<=t+1; i++) {oArrs[i] = [];} //建立二维数组
    oArrs[0][0] = 0; oArrs[0][1] = 0; oArrs[0][2] = 0; oArrs[0][3] = 0; oArrs[0][4] = Bo;  //数组赋值
    var s1=0; 
    var s2=0;
    var s3=0;
    for (var i=1; i<=t; i++) {
        oArrs[i][0] = i; //序号
        oArrs[i][1] = R*Math.pow(1+q,i-1); //第k期付款
        oArrs[i][2] = p*oArrs[i-1][4]; //第k期利息
        oArrs[i][3] = oArrs[i][1]-oArrs[i][2]; //第k期本金
        oArrs[i][4] = oArrs[i-1][4]-oArrs[i][3]; //第k期贷款余额
        s1+=oArrs[i][1]; //累计每年偿还金额
        s2+=oArrs[i][2]; //累计每年偿还利息
        s3+=oArrs[i][3]; //累计每年偿还本金
        }
    oArrs[t+1][0] = "合计"; 
    oArrs[t+1][1] = s1; 
    oArrs[t+1][2] = s2; 
    oArrs[t+1][3] = s3; 
    oArrs[t+1][4] = "*";
    var oStr="<table style='100%; font-size:8pt; color:#990000;'>"; //表格HTML字符
    oStr+="<tr><th>时期k</th><th>偿还金额R<sub>k</sub></th><th>偿还利息I<sub>k</sub></th><th>偿还本金P<sub>k</sub></th><th>未偿还余额B<sub>k</sub></th></tr>"; //标题
    for (var i=0; i<=t+1; i++) {
        oStr+="<tr><td>"+oArrs[i][0]+"</td><td>"+webTJ.getDecimal(oArrs[i][1],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][2],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][3],2)+"</td><td>"+webTJ.getDecimal(oArrs[i][4],2)+"</td></tr>";
        }
    oStr+="</table>";
    webTJ.display(oStr,0); //显示计算表
    

    3、偿债基金

    (D)为借款人每期向偿债基金储蓄的金额。偿债基金各期利率为(j)、银行贷款利率为(i),贷款期为(n),期初贷款额为(B_0),则有,

    各期利息:(I=i imes B_0)
    每期向偿债基金储蓄金额:(D=frac{B_0}{s_{n|j}})
    每期支付总额为:(R=I+D=i imes B_0+frac{B_0}{s_{n|j}}=B_0(i+frac{1}{s_{n|j}}))
    (k)期末贷款余额为:(B_k=B_0-D imes s_{k|j}=B_0-frac{B_0}{s_{n|j}}s_{k|j}=B_0(1-frac{s_{k|j}}{s_{n|j}}))
    (k)期偿债基金的余额:(F_k=D imes s_{k|j}=B_0frac{s_{k|j}}{s_{n|j}})
    (k)期偿债基金所生成的利息:(M_k=j imes D imes s_{k-1|j}=j imes B_0 imesfrac{s_{k-1|j}}{s_{n|j}})
    (k)期实际支付的利息: (I_k=i imes B_0-j imes D imes s_{k-1|j}=B_0 imes (i-j imesfrac{s_{k-1|j}}{s_{n|j})}))

    式中,偿债基金每期产生的利息为上期期末累积值与基金利率的乘积。(i=j)时,等额偿债基金等价于等额分期还款。

    【例1.28】某笔20000元的贷款,基金存款年利率5%,银行贷款年利率6%,贷款期限为5年。制作等额偿债基金表。

    四、生命表数据资料及引用

    1、生命表结构数据(表 - 1)[返回]

    生命表结构数据包中包括在一定人口基数水平下(通常为一百万),以不同生命表为基础计算出的各年龄存活人数、死亡人数等重要指标。

    基数   生命表 

    注:设置人口基数、选择生命表可获得不同条件水平下的生命表结构数据表

    2、转换基数表(表 - 1)[返回]

    在一定利率水平条件下,不同时期和种类的生命表可以计算出无数转换基数表,引入转换基数可以建立较简洁的趸缴纯保费计算公式。

    银行利率   生命表   

    年龄(x)DxNxSxCxMxRx
    0100000020033986.54375885120.8045999.3492180557.499
    1949488.571419033986.54355851134.32892.38145999.3492134558.15
    2902324.308418084497.97336817147.71950.521543106.96812088558.801
    3857972.063517182173.66318732649.71384.420741156.44652045451.833
    4816094.857616324201.6301550476.11021.393339772.02582004295.387
    5776455.963315508106.74285226274.5777.234538750.63251964523.361
    6738874.756414731650.78269718167.7607.113437973.3981925772.728
    7703204.692513992776.02254986517485.551737366.28461887799.33
    8669321.612513289571.33240993740.9397.142336880.73291850433.046
    9637117.683912620249.72227704169.6331.470836483.59071813552.313
    10606494.774911983132.03215083919.9283.971736152.11991777068.722

    注:设置银行利率、选择生命表或点击“运 行”按钮可获得不同条件水平期望值基数表

    3、数据引用

    (1)转换公式(表 - 2)

        (D_x=v^x imes l_x)
        (N_x=D_x+D_{x+1}+D_{x+2}+...+D_{omega-1})
        (S_x=N_x+N_{x+1}+N_{x+2}+...+N_{omega-1})

        (C_x=v^{x+1} imes d_x)
        (M_x=C_x+C_{x+1}+C_{x+2}+...+C_{omega-1})
        (R_x=M_x+M_{x+1}+M_{x+2}+...+N_{omega-1})

    (2)获得指定生命表x岁的存活人数(l_x)(基数100万人)[返回]

    函数:webActuary.getSCRS(x,smb);
    参数:x - 年龄;smb - 生命表索引代码
    

    注:生命表索引代码:CL93M,CL93F,CL93U,CL93AM,CL93AF,CL93AU,CL03M,CL03F,CL03AM,CL03AF,CL13M1,CL13F1,CL13M2,CL13F2,CL13AM,CL13AF

    样例代码

    webTJ.clear();
    var oS=webActuary.getSCRS(2,"CL93U");
    webTJ.display(oS,0);
    

    注:0岁时100万人(基数100万人),依据生命表CL93U获得2岁时的存活人数

    (3)获得生命表结构数组[返回]

    函数:webActuary.getJGArrs(smb);
    参数:smb - 生命表索引代码
    

    注:该函数根据指定生命表索引代码返回生命表结构数组(参见”表 - 1:生命表结构数据“),各列数据依次为:((x),q_x,l_x,d_x,L_x,T_x,e_x)

    样例代码

    webTJ.clear();
    var myArrs=webActuary.getJGArrs("CL93M");
    webTJ.display(myArrs[20][6],0); //CL93M表(20)平均剩余寿命
    webTJ.display(myArrs[50][2],0); //CL93M表(50)存活人数
    

    参考文献:生命表 - 寿险精算(6)

    二、公式和代码函数

    三、分类练习

    四、水平测试

    五、寿险精算代码窗口[返回]


    代码窗口 注:可将例题实例代码复制、粘贴到“代码窗口”,点击“运行代码”获得计算结果(鼠标选择实例代码$ ightarrow$Ctrl+C:复制$ ightarrow$鼠标点击“代码窗口”使其获得焦点$ ightarrow$Ctrl+V:粘贴)

    代码运行效果

    上篇文章:责任准备金 - 寿险精算(10)

  • 相关阅读:
    javascript之全局函数
    讲真,MySQL索引优化看这篇文章就够了
    aws亚马逊磁盘扩展卷步骤
    google支付回调验证(备用)
    Linux TCP状态TIME_WAIT 过多的处理
    MySQL索引优化分析
    CSS使图片变模糊,亲测非常好用
    linux ss 命令用法说明
    php一行代码获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期
    有哪些你追了很多女生才明白的道理?
  • 原文地址:https://www.cnblogs.com/cloudtj/p/7928804.html
Copyright © 2011-2022 走看看