financialInternalRateOfReturn
導入バージョン: v25.7.0
一定間隔で発生する一連のキャッシュフローに対する内部収益率 (IRR) を計算します。 IRR は、正味現在価値 (NPV) が 0 となる割引率です。
IRR は、次の方程式の解として求められます。
\sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0構文
financialInternalRateOfReturn(cashflows[, guess])引数
cashflows— キャッシュフローの Array。各値は、支払い (負の値) または収入 (正の値) を表します。Array(Int8/16/32/64)またはArray(Float*)[, guess]— 内部収益率の初期推定値 (定数値、省略可能) です (既定値は 0.1) 。Float*
戻り値
内部収益率を返します。計算が収束しない場合、入力配列が空であるか要素が 1 つしかない場合、すべてのキャッシュフローが 0 である場合、またはその他の計算エラーが発生した場合は、NaN を返します。Float64
例
simple_example
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])0.2809484211599611simple_example_with_guess
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)0.2809484211599611financialInternalRateOfReturnExtended
導入バージョン: v25.7.0
不規則な間隔で発生する一連のキャッシュフローに対して、拡張内部収益率(XIRR)を計算します。XIRRとは、すべてのキャッシュフローの正味現在価値(NPV)がゼロになる割引率です。
XIRRは以下の方程式を解こうとします(ACT_365F の場合の例):
\sum_{i=0}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} = 0Arrayは日付の昇順でソートされている必要があります。日付は重複なしで指定してください。
Syntax
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])引数
cashflow— 第2引数の日付に対応するキャッシュフローのArray。Array(Int8/16/32/64)またはArray(Float*)date— キャッシュフローに対応する一意の日付を昇順に並べたArray。Array(Date)またはArray(Date32)[, guess]— 省略可能。XIRR計算の初期推定値(定数値)。Float*[, daycount]— 省略可能。日数計算規則(デフォルト: ‘ACT_365F’)。指定可能な値:- ‘ACT_365F’ - Actual/365 Fixed: 日付間の実際の日数を365で除算
- ‘ACT_365_25’ - Actual/365.25: 日付間の実際の日数を365.25で除算
String
戻り値
XIRR値を返します。計算を実行できない場合はNaNを返します。Float64
例
simple_example
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])0.6342972615260243simple_example_with_guess
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 0.5)0.6342972615260243simple_example_daycount
SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_250.099785financialNetPresentValue
導入バージョン: v25.7.0
各キャッシュフロー間の時間間隔が等しいと仮定して、一連のキャッシュフローの正味現在価値 (NPV) を計算します。
デフォルトのバリアント (start_from_zero = true) :
\sum_{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}Excel互換のバリアント (start_from_zero = false) :
\sum_{i=1}^{N} \frac{values_i}{(1 + rate)^i}構文
financialNetPresentValue(rate, cashflows[, start_from_zero])引数
rate— 適用する割引率です。Float*cashflows— キャッシュフローの Array です。各値は支払い (負の値) または収入 (正の値) を表します。Array(Int8/16/32/64)またはArray(Float*)[, start_from_zero]— NPV の計算を期間0(true) から開始するか、期間1(false、Excel 互換) から開始するかを示す、省略可能なブール値 parameter です。デフォルトは true です。Bool
戻り値
正味現在価値を Float64 の値として返します。Float64
例
default_calculation
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])3065.2226681795255excel_compatible_calculation
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)2838.1691372032656financialNetPresentValueExtended
導入バージョン: v25.7.0
不規則な間隔で発生する一連のキャッシュフローに対して、拡張正味現在価値(XNPV)を計算します。XNPVは現在価値を計算する際に各キャッシュフローの具体的なタイミングを考慮します。
XNPV equation for ACT_365F:
XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}}Arrayは日付の昇順にソートされている必要があります。日付は一意である必要があります。
Syntax
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])引数
rate— 適用する割引率。Float*cashflows— キャッシュフローのArray。各値は支払い(負の値)または収入(正の値)を表します。少なくとも1つの正の値と1つの負の値を含む必要があります。Array(Int8/16/32/64)またはArray(Float*)dates— 各キャッシュフローに対応する日付のArray。cashflowsArrayと同じサイズである必要があります。Array(Date)またはArray(Date32)[, daycount]— オプションの日数計算規則。サポートされる値:'ACT_365F'(デフォルト)— Actual/365 Fixed、'ACT_365_25'— Actual/365.25。String
戻り値
正味現在価値をFloat64値として返します。Float64
Examples
基本的な使い方
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])2506.579458169746異なる日数計算規則を使用する場合
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 'ACT_365_25')2507.067268742502