> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4.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>

Introduced in: v25.7.0

Calculates the Extended صافي القيمة الحالية (XNPV) for a series of تدفق نقدي occurring at irregular intervals. XNPV considers the specific timing of each تدفق نقدي when calculating present value.

XNPV equation for `ACT_365F`:

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

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

<Note>
  هذه الدالة غير حتمية: قد تُعيد نتائج مختلفة لنفس الوسيطات.
</Note>

**Syntax**

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

**Arguments**

* `rate` — The معدل الخصم to apply. [`Float*`](/reference/data-types/float)
* `cashflows` — Array of التدفقات النقدية. Each value represents a payment (negative value) or income (positive value). Must contain at least one positive and one negative value. [`Array(Int8/16/32/64)`](/reference/data-types/array) or [`Array(Float*)`](/reference/data-types/array)
* `dates` — Array of dates corresponding to each تدفق نقدي. Must have the same size as cashflows array. [`Array(Date)`](/reference/data-types/array) or [`Array(Date32)`](/reference/data-types/array)
* `[, daycount]` — Optional اصطلاح احتساب الأيام. Supported values: `'ACT_365F'` (default) — Actual/365 Fixed, `'ACT_365_25'` — Actual/365.25. [`String`](/reference/data-types/string)

**Returned value**

Returns the صافي القيمة الحالية as a Float64 value. [`Float64`](/reference/data-types/float)

**Examples**

**Basic usage**

```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
```

**Using different اصطلاح احتساب الأيام**

```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)
