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