Перейти к основному содержанию
Приведённая ниже документация сгенерирована на основе системной таблицы system.functions

financialInternalRateOfReturn

Добавленный в: v25.7.0 Вычисляет внутреннюю норму доходности (IRR) для серии денежных потоков, возникающих через равные промежутки времени. IRR — это ставка дисконтирования, при которой чистая приведённая стоимость (NPV) равна нулю. IRR находится из следующего уравнения: \sum_{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0 Синтаксис
financialInternalRateOfReturn(cashflows[, guess])
Аргументы
  • cashflows — Массив денежных потоков. Каждое значение представляет собой выплату (отрицательное значение) или поступление (положительное значение). Array(Int8/16/32/64) или Array(Float*)
  • [, guess] — Необязательное начальное приближение (постоянное значение) для внутренней нормы доходности (по умолчанию 0.1). Float*
Возвращаемое значение Возвращает внутреннюю норму доходности или NaN, если вычисление не сходится, входной массив пуст или содержит только один элемент, все денежные потоки равны нулю или возникают другие ошибки вычисления. Float64 Примеры simple_example
Query
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])
Response
0.2809484211599611
простой_пример_с_подбором
Query
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)
Response
0.2809484211599611

financialInternalRateOfReturnExtended

Добавленный в: v25.7.0 Вычисляет расширенную внутреннюю норму доходности (XIRR) для серии денежных потоков, возникающих через нерегулярные интервалы. XIRR — это ставка дисконтирования, при которой чистая приведённая стоимость (NPV) всех денежных потоков равна нулю. XIRR решает следующее уравнение (пример для ACT_365F): i=0ncashflowi(1+rate)(dateidate0)/365=0\sum_{i=0}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} = 0 Массивы должны быть отсортированы по дате в порядке возрастания. Даты должны быть уникальными. Синтаксис
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])
Аргументы
  • cashflow — Массив денежных потоков, соответствующих датам во втором параметре. Array(Int8/16/32/64) или Array(Float*)
  • date — Отсортированный массив уникальных дат, соответствующих денежным потокам. 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
Query
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])
Response
0.6342972615260243
simple_example_with_guess
Query
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')], 0.5)
Response
0.6342972615260243
simple_example_daycount
Query
SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_25
Response
0.099785

financialNetPresentValue

Добавленный в: 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(Int8/16/32/64) или Array(Float*)
  • [, start_from_zero] — Необязательный логический параметр, указывающий, следует ли начинать вычисление NPV с периода 0 (true) или с периода 1 (false, совместимо с Excel). По умолчанию: true. Bool
Возвращаемое значение Возвращает чистую приведенную стоимость в виде значения Float64. Float64 Примеры default_calculation
Query
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])
Response
3065.2226681795255
excel_compatible_calculation
Query
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)
Response
2838.1691372032656

financialNetPresentValueExtended

Добавленный в: v25.7.0 Вычисляет расширенную чистую приведённую стоимость (XNPV) для серии денежных потоков, возникающих через неравные промежутки времени. XNPV учитывает точный момент времени каждого денежного потока при расчёте приведённой стоимости. Уравнение XNPV для ACT_365F: XNPV=i=1ncashflowi(1+rate)(dateidate0)/365XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} Массивы должны быть отсортированы по дате в порядке возрастания. Даты должны быть уникальными. Syntax
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])
Аргументы
  • rate — Применяемая ставка дисконтирования. Float*
  • cashflows — Массив денежных потоков. Каждое значение представляет платёж (отрицательное значение) или доход (положительное значение). Должен содержать хотя бы одно положительное и одно отрицательное значение. Array(Int8/16/32/64) или Array(Float*)
  • dates — Массив дат, соответствующих каждому денежному потоку. Должен совпадать по размеру с массивом cashflows. Array(Date) или Array(Date32)
  • [, daycount] — Необязательное соглашение о подсчёте дней. Поддерживаемые значения: 'ACT_365F' (по умолчанию) — Actual/365 Fixed, 'ACT_365_25' — Actual/365.25. String
Возвращаемое значение Возвращает чистую приведённую стоимость в виде значения Float64. Float64 Примеры Базовое использование
Query
SELECT financialNetPresentValueExtended(0.1, [-10000., 5750., 4250., 3250.], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])
Response
2506.579458169746
Использование другого соглашения о подсчёте дней
Query
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')
Response
2507.067268742502
Последнее изменение 10 июня 2026 г.