> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> توثيق الدوال المالية

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

<Note>
  يتم توليد الوثائق أدناه من جدول النظام `system.functions`
</Note>

{/*AUTOGENERATED_START*/}

<div id="financialInternalRateOfReturn">
  ## financialInternalRateOfReturn
</div>

أُضيف في: v25.7.0

يحسب معدل العائد الداخلي (IRR) لسلسلة من التدفقات النقدية التي تحدث على فترات منتظمة.
وIRR هو معدل الخصم الذي عنده يساوي صافي القيمة الحالية (NPV) صفرًا.

يحاول IRR حل المعادلة التالية:

$$
\sum&#95;{i=0}^n \frac{cashflow_i}{(1 + irr)^i} = 0
$$

**الصيغة**

```sql theme={null}
financialInternalRateOfReturn(cashflows[, guess])
```

**الوسيطات**

* `cashflows` — مصفوفة من التدفقات النقدية. تمثل كل قيمة دفعة (قيمة سالبة) أو دخلاً (قيمة موجبة). [`Array(Int8/16/32/64)`](/reference/data-types/array) أو [`Array(Float*)`](/reference/data-types/array)
* `[, guess]` — قيمة تخمين أولية اختيارية (قيمة ثابتة) لمعدل العائد الداخلي (القيمة الافتراضية 0.1). [`Float*`](/reference/data-types/float)

**القيمة المُعادة**

يُرجع معدل العائد الداخلي أو `NaN` إذا تعذّر تقارب الحساب، أو كانت مصفوفة الإدخال فارغة أو تحتوي على عنصر واحد فقط، أو كانت جميع التدفقات النقدية صفراً، أو حدثت أخطاء حسابية أخرى. [`Float64`](/reference/data-types/float)

**أمثلة**

**simple\_example**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20])
```

```response title=Response theme={null}
0.2809484211599611
```

**simple\_example\_with\_guess**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturn([-100, 39, 59, 55, 20], 0.1)
```

```response title=Response theme={null}
0.2809484211599611
```

<h2 id="financialInternalRateOfReturnExtended">
  financialInternalRateOfReturnExtended
</h2>

مُقدَّم في: 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**

```sql theme={null}
financialInternalRateOfReturnExtended(cashflow, date [, guess, daycount])
```

**Arguments**

* `cashflow` — مصفوفة من التدفقات النقدية المقابلة للتواريخ في المعامل الثاني. [`Array(Int8/16/32/64)`](/reference/data-types/array) أو [`Array(Float*)`](/reference/data-types/array)
* `date` — مصفوفة مرتَّبة من التواريخ الفريدة المقابلة للتدفقات النقدية. [`Array(Date)`](/reference/data-types/array) أو [`Array(Date32)`](/reference/data-types/array)
* `[, guess]` — اختياري. التخمين الأولي (قيمة ثابتة) لحساب XIRR. [`Float*`](/reference/data-types/float)
* `[, daycount]` —
  اصطلاح احتساب الأيام اختياري (القيمة الافتراضية 'ACT\_365F'). القيم المدعومة:
* 'ACT\_365F' - فعلي/365 ثابت: يستخدم العدد الفعلي للأيام بين التواريخ مقسومًا على 365
* 'ACT\_365\_25' - فعلي/365.25: يستخدم العدد الفعلي للأيام بين التواريخ مقسومًا على 365.25
  [`String`](/reference/data-types/string)

**Returned value**

يُعيد قيمة XIRR. إذا تعذَّر إجراء الحساب، أعاد NaN. [`Float64`](/reference/data-types/float)

**Examples**

**simple\_example**

```sql title=Query theme={null}
SELECT financialInternalRateOfReturnExtended([-10000, 5750, 4250, 3250], [toDate('2020-01-01'), toDate('2020-03-01'), toDate('2020-10-30'), toDate('2021-02-15')])
```

```response title=Response theme={null}
0.6342972615260243
```

**simple\_example\_with\_guess**

```sql title=Query theme={null}
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 title=Response theme={null}
0.6342972615260243
```

**simple\_example\_daycount**

```sql title=Query theme={null}
SELECT round(financialInternalRateOfReturnExtended([100000, -110000], [toDate('2020-01-01'), toDate('2021-01-01')], 0.1, 'ACT_365_25'), 6) AS xirr_365_25
```

```response title=Response theme={null}
0.099785
```

<div id="financialNetPresentValue">
  ## financialNetPresentValue
</div>

أُضيفت في: v25.7.0

تحسب صافي القيمة الحالية (NPV) لسلسلة من التدفقات النقدية، بافتراض تساوي الفواصل الزمنية بين كل تدفق نقدي وآخر.

الصيغة الافتراضية (`start_from_zero` = true):

$$
\sum&#95;{i=0}^{N-1} \frac{values_i}{(1 + rate)^i}
$$

الصيغة المتوافقة مع Excel (`start_from_zero` = false):

$$
\sum&#95;{i=1}^{N} \frac{values_i}{(1 + rate)^i}
$$

**البنية**

```sql theme={null}
financialNetPresentValue(rate, cashflows[, start_from_zero])
```

**الوسائط**

* `rate` — معدل الخصم المطلوب تطبيقه. [`Float*`](/reference/data-types/float)
* `cashflows` — مصفوفة من التدفقات النقدية. تمثل كل قيمة دفعة (قيمة سالبة) أو دخلاً (قيمة موجبة). [`Array(Int8/16/32/64)`](/reference/data-types/array) أو [`Array(Float*)`](/reference/data-types/array)
* `[, start_from_zero]` — معلمة منطقية اختيارية تشير إلى ما إذا كان يجب بدء حساب NPV من الفترة `0` (true) أو من الفترة `1` (false، متوافق مع Excel). القيمة الافتراضية: true. [`Bool`](/reference/data-types/boolean)

**القيمة المُعادة**

يعيد صافي القيمة الحالية بوصفها قيمة Float64. [`Float64`](/reference/data-types/float)

**أمثلة**

**default\_calculation**

```sql title=Query theme={null}
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.])
```

```response title=Response theme={null}
3065.2226681795255
```

**excel\_compatible\_calculation**

```sql title=Query theme={null}
SELECT financialNetPresentValue(0.08, [-40000., 5000., 8000., 12000., 30000.], false)
```

```response title=Response theme={null}
2838.1691372032656
```

<h2 id="financialNetPresentValueExtended">
  financialNetPresentValueExtended
</h2>

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

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

معادلة XNPV لـ `ACT_365F`:

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

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

**Syntax**

```sql theme={null}
financialNetPresentValueExtended(rate, cashflows, dates[, daycount])
```

**الوسيطات**

* `rate` — معدل الخصم المراد تطبيقه. [`Float*`](/reference/data-types/float)
* `cashflows` — مصفوفة التدفقات النقدية. تمثل كل قيمة دفعةً (قيمة سالبة) أو دخلاً (قيمة موجبة). يجب أن تحتوي على قيمة موجبة واحدة على الأقل وقيمة سالبة واحدة على الأقل. [`Array(Int8/16/32/64)`](/reference/data-types/array) أو [`Array(Float*)`](/reference/data-types/array)
* `dates` — مصفوفة التواريخ المقابلة لكل تدفق نقدي. يجب أن يكون حجمها مساوياً لحجم مصفوفة cashflows. [`Array(Date)`](/reference/data-types/array) أو [`Array(Date32)`](/reference/data-types/array)
* `[, daycount]` — اصطلاح احتساب الأيام (اختياري). القيم المدعومة: `'ACT_365F'` (default) — فعلي/365 ثابت، `'ACT_365_25'` — فعلي/365.25. [`String`](/reference/data-types/string)

**القيمة المُعادة**

يُعيد صافي القيمة الحالية بوصفها قيمة Float64. [`Float64`](/reference/data-types/float)

**أمثلة**

**الاستخدام الأساسي**

```sql title=Query theme={null}
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 title=Response theme={null}
2506.579458169746
```

**استخدام اصطلاح احتساب أيام مختلف**

```sql title=Query theme={null}
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 title=Response theme={null}
2507.067268742502
```

<div id="related-resources">
  ## موارد ذات صلة
</div>

* [فيديو الدوال المالية في ClickHouse](https://www.youtube.com/watch?v=BePLPVa0w_o)
