モデルの構成要素¶
モデルは、以下の階層構造になっています。
モデル ⇒ 計算クラス ⇒ モジュール ⇒ モジュールパラメータ・変数・関数・埋め込み関数
モデル¶
モデルは、計算クラスの集合で、さまざまな種類の保険契約を計算するロジックの集合を表します。
ランを行う場合は、どのモデルを用いるか指定する必要があります。
- モデルは、1つ以上の計算クラスで構成されます
計算クラス¶
計算クラスは、ある種類の保険契約を計算する一連のロジックを表します。
ランを行う場合は、どの計算クラスを用いるか指定する必要があります。
- 計算クラスは、0個以上のモジュールで構成されます
- 他の計算クラスから、継承を行うことができます
モジュール¶
モジュールは、変数や関数を集めたものであり、計算ロジックを区切る役割をします。
(例:基数モジュール、レートモジュール、キャッシュフローモジュール)
また、出力を行うときには、モジュールを指定することで出力する変数を定めます。
(例:収益性出力モジュール、BS/PL出力モジュール)
- モジュールは、0個以上のモジュールパラメータ・変数・関数・埋め込み関数で構成されます
- モジュールにはタイムステップを1つ持つことができます
- モジュールが配列型の変数を持つには、タイムステップを持っている必要があります
モジュールパラメータ¶
モジュールパラメータには以下の種類があります。
- @range
- タイムステップに用いる文字列を指定します
- @range_last
- タイムステップの終わりの値を指定します。(例: 100を指定した場合、タイムステップは0-100になります)
- @rangeを指定した場合には、@range_lastを指定する必要があります
変数¶
変数は、計算ロジックであり、またその計算結果を保持するものです。
Excelでプロジェクションを行う場合のセルや列(行)に相当します。
関数¶
関数は、やや複雑な計算ロジックを表すためのものです。
埋め込み関数¶
埋め込み関数は、通常の機能では表せないロジックを表現するために、C#コードを直接埋め込んで計算するためのものです。
- 複雑なロジックを表現する場合の 上級者向け機能 です
- 埋め込み関数は返り値の型・引数・埋め込み算式文を持ちます
$(variable1)
,$($scenario)
などと記述することで、他の関数・変数やシナリオ番号などを参照できます