![]() |
| サイトマップ | |
|
キャッシュフローの構築が全て完了しましたので、所有者に帰属する純価 (Ownership equity) が 24か月の期間満了時にどれだけになるかについて検討を始めることにしましょう。また、当然のことながら、期間満了時における残りの借入金残高 (loan balance) についても計算する必要があります。ローンにおける資金の動きには、定額返済による複利の相殺が含まれるのが普通です。借入金残高の式を取り入れるのは非常に簡単ですが、このセクションでは、式そのものに関する説明ではなく、式を適用する方法に焦点をしぼって話を進めたいと思います。自分の式を作成している読者の方は、必要があれば下記と見比べてください:
B0
= ローンの初期残高12%
= 名目金利60
= ローン返済に必要な期間の総数Period
= 現在の期間を 0 から 24 であらわした数値B(Period)
= 現在の期間における残りの借入金残高(1 + 12% / 12)
B(Period) = B0 * (A^60 - A^Period) / (A^60 - 1)
要求される B(0)=B0
と B(60)=0
を検証するのは容易です。
この式で "A
" という量が数回あらわれますが、これを媒介変数として定義すると有効です。 Analytica でこれと同じことを行うには、A
という名称の新規変数を定義し、借入金残高 (loan balance) 変数のインプットとしてこれを使用することもできるでしょう。しかしこれを行うと、ダイアグラムが不確実性ノードで煩雑になります。
Analytica では、定義内にローカル変数とインデックスを一時的に使用することができます。このケースでは、ローカル変数を定義することにします。
Loan balance というタイトルの新規変数を作成し、以下の定義を入力します (青のテキストのみをコピーします)。
Variable Loan_balance :=
var A := (1 + 12%/12);
Car_price * (1 - 10%) * (A^60 - A^Period)/(A^60 - 1)
ローカルオブジェクトの構文規則は以下のとおりです:
var
または index
で命令文を開始して、ローカル変数またはインデックスを宣言します。;
) が必要です。セミコロンの後に視覚的に分かりやすくする目的で改行 (Enter キー) を入れても構いませんが、これはオプションです。Analytica ではセミコロンのみがコード内の行末記号として認識されます。各ローカル変数は、それぞれ、異なるコード行に宣言する必要があります。ローカルオブジェクトは一次的に使用されるもので、その式が評価されると内容が消去されます。従って、複数のノードで同じ識別子 (例えば "A
" など) を利用しても、混乱が生じることはありません。
![]() |
Loan Balance 変数の式に関する最後の注意点:
Period はインデックスのひとつですが、数式内でこれを変数として利用しています。これは、Period が数値リストから成り立っているためです。これに対して、Car type や Finance option は、ラベルからなるリストであるため、数式内で利用することはできません (論理文や条件文で利用することは可能です)。一般に、インデックスは、それ自身の値をインデックスとして利用できる1次元配列として考えることができます。
配列概念に関するこの原則に従えば、Loan Balance は、Car type (Car price のインデックス) と Period によってインデックス化される2次元配列になることが期待されます。
![]() |
Future Value 関数 FV() は、式を使用せずに借入金残高 (loan balance) と年金の値を計算する便利な手段です。引数は順番に以下のようになります:期間ごとの金利、将来の期間、支払額 (支出は負の値)、初期値。例えば、Loan Balance は、以下のように定義できます: |
FV(1%, Period, -Car_price*2%, Car_price*90%) |
詳しくは、User Guide の第13章をご覧ください。 |
![]() |
![]() |
![]() |