Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

الدوال المالية

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

SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])
0.2809484211599611

simple_example_with_guess

SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)
0.2809484211599611

financialInternalRateOfReturnExtended

مُقدَّم في: v25.7.0

يحسب معدل العائد الداخلي الموسَّع (XIRR) لسلسلة من التدفقات النقدية التي تقع على فترات غير منتظمة. XIRR هو معدل الخصم الذي تنعدم عنده صافي القيمة الحالية (NPV) لجميع التدفقات النقدية.

يسعى XIRR إلى حل المعادلة التالية (مثال لـ ACT_365F):

\sum_{i=0}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}} = 0

يجب أن تكون المصفوفات مرتَّبة بحسب التاريخ تصاعديًا، وأن تكون التواريخ فريدة.

Syntax

financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])

Arguments

  • cashflow — مصفوفة من التدفقات النقدية المقابلة للتواريخ في المعامل الثاني. Array(Int8/16/32/64) أو Array(Float*)
  • date — مصفوفة مرتَّبة من التواريخ الفريدة المقابلة للتدفقات النقدية. Array(Date) أو Array(Date32)
  • [, guess] — اختياري. التخمين الأولي (قيمة ثابتة) لحساب XIRR. Float*
  • [, daycount] — اصطلاح احتساب الأيام اختياري (القيمة الافتراضية ‘ACT_365F’). القيم المدعومة:
  • ‘ACT_365F’ - فعلي/365 ثابت: يستخدم العدد الفعلي للأيام بين التواريخ مقسومًا على 365
  • ‘ACT_365_25’ - فعلي/365.25: يستخدم العدد الفعلي للأيام بين التواريخ مقسومًا على 365.25 String

Returned value

يُعيد قيمة XIRR. إذا تعذَّر إجراء الحساب، أعاد NaN. Float64

Examples

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.6342972615260243

simple_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.6342972615260243

simple_example_daycount

SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_25
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

SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])
3065.2226681795255

excel_compatible_calculation

SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)
2838.1691372032656

financialNetPresentValueExtended

Introduced in: v25.7.0

تحسب دالة صافي القيمة الحالية الممتدة (XNPV) لسلسلة من التدفقات النقدية التي تحدث بفترات غير منتظمة. تأخذ XNPV في الاعتبار توقيت كل تدفق نقدي عند حساب القيمة الحالية.

معادلة XNPV للمعيار ACT_365F:

XNPV=\sum_{i=1}^n \frac{cashflow_i}{(1 + rate)^{(date_i - date_0)/365}}

يجب أن تكون المصفوفات مرتبة حسب التاريخ بترتيب تصاعدي. يجب أن تكون التواريخ فريدة.

Syntax

financialNetPresentValueExtended(rate, cashflows, dates[, daycount])

Arguments

  • rate — معدل الخصم الذي يُطبق. Float*
  • cashflows — مصفوفة التدفقات النقدية. تمثل كل قيمة دفعة (قيمة سالبة) أو دخل (قيمة موجبة). يجب أن تحتوي على قيمة موجبة واحدة على الأقل وقيمة سالبة واحدة على الأقل. Array(Int8/16/32/64) or Array(Float*)
  • dates — مصفوفة التواريخ المقابلة لكل تدفق نقدي. يجب أن يكون حجمها مساويًا لمصفوفة التدفقات النقدية. Array(Date) or Array(Date32)
  • [, daycount] — اصطلاح اختياري لاحتساب الأيام. القيم المدعومة: 'ACT_365F' (الافتراضي) — Actual/365 Fixed، 'ACT_365_25' — Actual/365.25. String

Returned value

تعيد صافي القيمة الحالية كقيمة Float64. Float64

Examples

Basic usage

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

Using different day count convention

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
Navigation