@menu
* Introduction to finance::
* Functions and Variables for finance::
@end menu

@node Introduction to finance, Functions and Variables for finance, finance, finance
@section Introduction to finance

これは金融パッケージ(第0.1版)です。

すべての関数において、
@var{rate}は複利率であり、
@var{num}は期間で正でなくてはいけません。
また、@var{flow}はキャッシュフローを示すので、
産出はフローが負になり、投入は正になります。

このパッケージで定義された関数を使う前に、
@code{load(finance)$}と書いてパッケージをロードしなければいけないことに
注意してください。

著者: Nicolas Guarin Zapata.

@node Functions and Variables for finance,  , Introduction to finance, finance
@section Functions and Variables for finance


@deffn {関数} days360 (@var{year1},@var{month1},@var{day1},@var{year2},@var{month2},@var{day2})

2つの日付の距離を、
1年が360日、1月は30日と仮定して計算します。

例:

@example
(%i1) load(finance)$
(%i2) days360(2008,12,16,2007,3,25);
(%o2)                      - 621
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} fv (@var{rate},@var{PV},@var{num})

ある利率を与えられたとして、現在価値の将来価値を計算します。
@var{rate}は利率で、@var{PV}は現在価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) fv(0.12,1000,3);
(%o2)                     1404.928
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} pv (@var{rate},@var{FV},@var{num})

ある利率を与えられたとして、将来価値の現在価値を計算します。
@var{rate}は利率で、@var{PV}は現在価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) pv(0.12,1000,3);
(%o2)                711.7802478134108
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} graph_flow (@var{val})

時間順でマネーフローを、
正の値は青で上に、負の値は赤で下に
プロットします。
フローの向きは値の符号で与えられます。
@var{val}はフローの値のリストです。

例:

@example
(%i1) load(finance)$
(%i2) graph_flow([-5000,-3000,800,1300,1500,2000])$
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} annuity_pv (@var{rate},@var{PV},@var{num})

(総額のような)現在価値がわかっている年金を計算できます。
年金は一定で定期払いです。
@var{rate}は利率で、@var{PV}は現在価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) annuity_pv(0.12,5000,10);
(%o2)                884.9208207992202
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} annuity_fv (@var{rate},@var{FV},@var{num})

要望価値(将来価値)がわかっている年金を計算できます。
年金は一定で定期払いです。
@var{rate}は利率で、@var{PV}は将来価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) annuity_fv(0.12,65000,10);
(%o2)                3703.970670389863
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} geo_annuity_pv (@var{rate},@var{growing_rate},@var{PV},@var{num})

(総額のような)現在価値がわかっている年金を計算できます。
年金は割増定期払いです。
@var{rate}は利率で、@var{growing_rate}は成長率、
@var{PV}は現在価値、@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) geo_annuity_pv(0.14,0.05,5000,10);
(%o2)                802.6888176505123
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} geo_annuity_fv (@var{rate},@var{growing_rate},@var{FV},@var{num})

要望価値(将来価値)がわかっている年金を計算できます。
年金は割増定期払いです。
@var{rate}は利率で、@var{growing_rate}は成長率、
@var{FV}は将来価値、@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) geo_annuity_fv(0.14,0.05,5000,10);
(%o2)                216.5203395312695
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn

@deffn {関数} amortization (@var{rate},@var{ammount},@var{num})

特定率で決定された償却表。
@var{rate}は利率で、@var{ammount}は総価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) amortization(0.05,56000,12)$
      "n"    "Balance"     "Interest"   "Amortization"  "Payment"      
     0.000     56000.000         0.000         0.000         0.000  
     1.000     52481.777      2800.000      3518.223      6318.223  
     2.000     48787.643      2624.089      3694.134      6318.223  
     3.000     44908.802      2439.382      3878.841      6318.223  
     4.000     40836.019      2245.440      4072.783      6318.223  
     5.000     36559.597      2041.801      4276.422      6318.223  
     6.000     32069.354      1827.980      4490.243      6318.223  
     7.000     27354.599      1603.468      4714.755      6318.223  
     8.000     22404.106      1367.730      4950.493      6318.223  
     9.000     17206.088      1120.205      5198.018      6318.223  
    10.000     11748.170       860.304      5457.919      6318.223  
    11.000      6017.355       587.408      5730.814      6318.223  
    12.000         0.000       300.868      6017.355      6318.223
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} arit_amortization (@var{rate},@var{increment},@var{ammount},@var{num})

@code{arit_amortization}によって、特定率で決定された割増払いの償却表を計算することができます。
支払いは一定ではなく、算術級数的成長を示し、
増分は"Payment"列の連続する2行の差であることに注意してください。
@var{rate}は利率で、@var{increment}は増分、@var{ammount}は総価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) arit_amortization(0.05,1000,56000,12)$
      "n"    "Balance"     "Interest"   "Amortization"  "Payment"      
     0.000     56000.000         0.000         0.000         0.000  
     1.000     57403.679      2800.000     -1403.679      1396.321  
     2.000     57877.541      2870.184      -473.863      2396.321  
     3.000     57375.097      2893.877       502.444      3396.321  
     4.000     55847.530      2868.755      1527.567      4396.321  
     5.000     53243.586      2792.377      2603.945      5396.321  
     6.000     49509.443      2662.179      3734.142      6396.321  
     7.000     44588.594      2475.472      4920.849      7396.321  
     8.000     38421.703      2229.430      6166.892      8396.321  
     9.000     30946.466      1921.085      7475.236      9396.321  
    10.000     22097.468      1547.323      8848.998     10396.321  
    11.000     11806.020      1104.873     10291.448     11396.321  
    12.000        -0.000       590.301     11806.020     12396.321
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} geo_amortization (@var{rate},@var{growing_rate},@var{ammount},@var{num})

@code{geo_amortization}によって、ある率、ある総額、ある期間で決定された償却表を見つけることができます。

支払いは一定ではなく、幾何級数的成長を示し、
@var{growing_rate}は"Payment"列の連続する2行の比率であることに注意してください。
@var{rate}は利率で、@var{ammount}は総価値、
@var{num}は期間です。

例:

@example
(%i1) load(finance)$
(%i2) geo_amortization(0.05,0.03,56000,12)$
      "n"    "Balance"     "Interest"   "Amortization"  "Payment"      
     0.000     56000.000         0.000         0.000         0.000  
     1.000     53365.296      2800.000      2634.704      5434.704  
     2.000     50435.816      2668.265      2929.480      5597.745  
     3.000     47191.930      2521.791      3243.886      5765.677  
     4.000     43612.879      2359.596      3579.051      5938.648  
     5.000     39676.716      2180.644      3936.163      6116.807  
     6.000     35360.240      1983.836      4316.475      6300.311  
     7.000     30638.932      1768.012      4721.309      6489.321  
     8.000     25486.878      1531.947      5152.054      6684.000  
     9.000     19876.702      1274.344      5610.176      6884.520  
    10.000     13779.481       993.835      6097.221      7091.056  
    11.000      7164.668       688.974      6614.813      7303.787  
    12.000         0.000       358.233      7164.668      7522.901
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} saving (@var{rate},@var{ammount},@var{num})

@code{saving}によって、定額預金での価値を表すテーブルを見つけることができます。
@var{ammount}は要望量を、@var{num}は預金の期間を表します。

例:

@example
(%i1) load(finance)$
(%i2) saving(0.15,12000,15)$
      "n"    "Balance"     "Interest"   "Payment"      
     0.000         0.000         0.000         0.000  
     1.000       252.205         0.000       252.205  
     2.000       542.240        37.831       252.205  
     3.000       875.781        81.336       252.205  
     4.000      1259.352       131.367       252.205  
     5.000      1700.460       188.903       252.205  
     6.000      2207.733       255.069       252.205  
     7.000      2791.098       331.160       252.205  
     8.000      3461.967       418.665       252.205  
     9.000      4233.467       519.295       252.205  
    10.000      5120.692       635.020       252.205  
    11.000      6141.000       768.104       252.205  
    12.000      7314.355       921.150       252.205  
    13.000      8663.713      1097.153       252.205  
    14.000     10215.474      1299.557       252.205  
    15.000     12000.000      1532.321       252.205
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} npv (@var{rate},@var{val})

プロジェクトに関する存続可能性を評価するために、価値系列の正味現在価値を計算します。
@var{flowValues} es una lista con los valores para cada periodo.

例:

@example
(%i1) load(finance)$
(%i2) npv(0.25,[100,500,323,124,300]);
(%o2)                714.4703999999999
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} irr (@var{val},@var{IO})

IRR (内部利益率)は正味現在価値をゼロにする割引率の値です。
@var{flowValues} los valores para cada periodo (para periodos mayores a 0) y
@var{I0} el valor para el periodo cero.

例:

@example
(%i1) load(finance)$
(%i2) res:irr([-5000,0,800,1300,1500,2000],0)$
(%i3) rhs(res[1][1]);
(%o3)                .03009250374237132
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn


@deffn {関数} benefit_cost (@var{rate},@var{input},@var{output})

便益コスト比を計算します。
便益は投入の正味現在価値(NPV)で、
コストは産出の正味現在価値(NPV)です。
もし特定の期間に関して投入価値か産出価値がゼロなら、
投入/産出比はその期間で0となることに注意してください。
@var{rate}は利率であり、
@var{input}は投入価値のリスト、
@var{output}は産出価値のリストです。

例:

@example
(%i1) load(finance)$
(%i2) benefit_cost(0.24,[0,300,500,150],[100,320,0,180]);
(%o2)               1.427249324905784
@end example

@opencatbox
@category{Package finance}
@closecatbox

@end deffn

