حاسبة العائد السنوي الفعلي APY
تُحوِّل واجهة APY سعر الفائدة الاسمي المُعلَن إلى العائد السنوي الفعلي، أي السعر السنوي الحقيقي الذي تحصل عليه فعليًا بعد احتساب التراكم.
شغّل الأداة مجانًا
فحساب ادخار يُعلِن 5% بتراكم شهري لا يدفع 5% في السنة، بل يدفع 5.116%. تُرسِل السعر الاسمي وعدد دورات التراكم في السنة، فيعيد الطرف العائد الفعلي بدقة في كل مرة. وتعمل العملية نفسها مجانًا في متصفحك على هذه الصفحة، حتى تتمكن من التحقق من أي رقم يدويًا، ولا تدفع إلا عند أتمتته داخل منتج أو أداة مقارنة أو فحص امتثال.
لماذا السعر الاسمي ليس هو ما تجنيه فعلًا
تُعلِن البنوك والمقرضون عن سعر سنوي اسمي، لكن الفائدة تُضاف عادةً أكثر من مرة في السنة. وفي كل مرة تُضاف فيها، تبدأ الفائدة الجديدة نفسها في توليد فائدة، فينمو المال أسرع مما يوحي به الرقم المُعلَن. وتتسع الفجوة كلما زادت وتيرة التراكم: فـ5% بتراكم سنوي تبقى 5% ببساطة، لكنها بتراكم شهري تصبح نحو 5.116%، وبتراكم يومي نحو 5.127%. وهذا الرقم الفعلي هو APY، أي العائد السنوي الفعلي، وهو الطريقة الأمينة الوحيدة لمقارنة منتجين يتراكمان بوتيرتين مختلفتين. فمقارنة الأسعار الاسمية بين حساب ادخار بتراكم يومي وشهادة إيداع بتراكم ربع سنوي تُرجِّح كفة الأقل تراكمًا دون أن تنتبه. ولهذا تُلزِم التشريعات في بلدان كثيرة المؤسسات بالإفصاح عن APY تحديدًا لأن الأسعار الاسمية مضلِّلة، وهذا الطرف يحسب ذلك الرقم المطلوب من المدخَلين الموجودين في كل نشرة منتج.
كيف تعمل العملية الحسابية
الصيغة هي تعريف الفائدة المركبة في الكتب المدرسية مكثَّفًا في تعبير واحد: APY يساوي (1 + r/n) مرفوعًا إلى الأس ن، ناقص 1، حيث r هو السعر السنوي الاسمي معبَّرًا عنه بكسر عشري، وn هو عدد دورات التراكم في السنة. فمع سعر 5% بتراكم شهري يكون ذلك (1 + 0.05/12)^12 − 1 = 0.0511619. ويقبل الطرف السعر بصيغة عشرية، فـ0.05 تعني 5% — أما تمرير 5 فيصف سعرًا اسميًا قدره 500% ويُنتج نتيجة عبثية، ولهذا يكرر التوثيق هذا الاصطلاح في كل خطوة. ويجب أن تكون قيمة الدورات عددًا صحيحًا موجبًا: 1 للسنوي، و2 لنصف السنوي، و4 للربع سنوي، و12 للشهري، و365 لليومي. أما الترددات الكسرية أو الصفرية فلا معنى ماليًا لها وتُرفَض برسالة خطأ واضحة بدل تحويلها ضمنيًا. وتُقرَّب النتائج إلى عشر منازل عشرية حتى يعيد المدخَل نفسه مخرجات متطابقة تمامًا على أي جهاز.
أين يندرج في منتج حقيقي
تُعيد مواقع المقارنة حساب APY لكل منتج مُدرَج حتى يعكس ترتيب الفرز ما يجنيه العملاء فعلًا، لا ما تُبرزه صفحة التسويق. وتستخدمه الواجهات الخلفية للبنوك الرقمية وشركات التقنية المالية لعرض العائد الذي تفرضه الجهات التنظيمية بجانب كل حساب، مشتقًّا من السعر والتردد نفسيهما المخزَّنين في كتالوج المنتجات، فينتشر أي تغيير في السعر دون أن يحرِّر أحد أي نص. وتتحقق فرق المالية عند مراجعة صحيفة الشروط من أن السعر الفعلي المُقتبَس يطابق السعر الاسمي وجدول التراكم المكتوبين في العقد — فالتباين علامة تحذير تستحق الرصد قبل التوقيع. ولأن العملية حتمية ولا تعتمد على أي مصادر خارجية، فإنها تعمل بالطريقة نفسها على حواف شبكتنا، وفي مجموعة اختباراتك، وفي أداة المتصفح المجانية على هذه الصفحة؛ إذ تخدمها جميعًا الوحدة نفسها. وتبلغ كلفتها $0.002 لكل استدعاء عبر API، دون الاحتفاظ بأي بيانات بعد إرسال الاستجابة.
حالات الاستخدام
رتِّب منتجات الادخار حسب العائد الحقيقي
أعد حساب APY لكل حساب في أداة المقارنة حتى يعكس ترتيب الفرز ما يجنيه العملاء فعلًا عبر جداول التراكم المختلفة.
اعرض العائد الذي تفرضه الجهات التنظيمية
اشتقِق APY المُفصَح عنه من السعر الاسمي وتردد التراكم المخزَّنين أصلًا في كتالوج منتجاتك، دون تعديلات يدوية على النصوص عند تغيّر الأسعار.
تحقَّق من سعر فعلي مُقتبَس
تأكد قبل التوقيع من أن السعر السنوي الفعلي في صحيفة الشروط يطابق السعر الاسمي وجدول التراكم المدوَّنين في العقد.
الأسئلة الشائعة
كم تبلغ التكلفة؟
$0.002 لكل استدعاء عبر API. وتتوفر الحاسبة نفسها مجانًا في متصفحك على هذه الصفحة.
كيف أمرِّر سعر الفائدة؟
بصيغة عشرية: 0.05 تعني 5%. أما تمرير 5 فيصف سعرًا اسميًا قدره 500%.
ما ترددات التراكم المسموح بها؟
أي عدد صحيح موجب: 1 للسنوي، و2 لنصف السنوي، و4 للربع سنوي، و12 للشهري، و365 لليومي. وتُرفَض القيم غير الصحيحة.
ما الفرق بين APR وAPY؟
يشمل APY أثر التراكم خلال السنة، بينما لا يشمله APR. ويحسب هذا الطرف APY من سعر اسمي وتردد تراكمه.
هل يمكن أن يكون السعر الاسمي صفرًا أو سالبًا؟
يُسمَح بالصفر ويُنتج APY صفريًا. أما الأسعار السالبة فتُرفَض بوصفها مدخلًا غير صالح.
هل تُخزَّن أي من بياناتي؟
لا. فالعملية حسابية خالصة؛ لا يُحفَظ شيء ولا يُسجَّل شيء يتجاوز الطلب نفسه.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fin/apy \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nominal_rate":0.05,"periods_per_year":12}'const res = await fetch("https://api.kit.forhosting.com/fin/apy", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nominal_rate": 0.05,
"periods_per_year": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/apy",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nominal_rate": 0.05,
"periods_per_year": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/apy", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nominal_rate":0.05,"periods_per_year":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nominal_rate":0.05,"periods_per_year":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/apy", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"nominal_rate": 0.05,
"periods_per_year": 12
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.apy",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |