حاسبة المدة الفعلية
سند سعره 100 يرتفع إلى 101.5 إذا انخفضت العوائد 0.25 نقطة وينخفض إلى 98.6 إذا ارتفعت 0.25 مدته الفعلية 5.8. وتصلح الحاسبة أيضًا للسندات القابلة للاستدعاء والأوراق المدعومة بالرهن. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- السعر
- 100
- السعر عند الانخفاض
- 101.5
- السعر عند الارتفاع
- 98.6
- تغير العائد
- 0.25
- تغير العائد (عشري)
- 0.0025
- المدة الفعلية
- 5.8
المدة الفعلية تقيس مقدار ما يُتوقع أن يتحرك سعر السند عندما تنزاح عوائد المرجع، مستخدمة أسعارًا مشاهدة أو نموذجية عند تلك العوائد المزاحَة لا جدول قسائم بصيغة مغلقة. تلك هي الحساسية المناسبة للسندات القابلة للاستدعاء والأوراق المدعومة بالرهن وأي أداة تتغير تدفقاتها عند حركة المعدلات. تقبل حاسبة المدة الفعلية هذه السعر الحالي والسعر بعد صدمة عائد هابطة والسعر بعد صدمة صاعدة وحجم تلك الصدمة بالنسبة المئوية، ثم تعيد المدة من صيغة الفرق المركزي القياسية.
ماذا تقيس المدة الفعلية وكيف تعمل صيغة الفرق المركزي
تفترض المدة المعدلة ومدة ماكولي أن كل قسيمة متبقية والقيمة الاسمية المستردّة معلومتان مسبقًا، فيعيد تغيّر عائد صغير خصم الشريط نفسه من التدفقات فقط. المدة الفعلية تسقط ذلك الافتراض. تطلب من نموذج تسعير أو من السوق ثلاثة أسعار: V0 على منحنى العائد الحالي، وV− بعد صدمة موازية هابطة بحجم Δy، وV+ بعد صدمة صاعدة مساوية، ثم تطبق الفرق المحدود المركزي: Deff يساوي (V− ناقص V+) مقسومًا على اثنين في V0 في القيمة المطلقة للمقدار Δy.
النتيجة هي التغيّر المئوي التقريبي للسعر لحركة نقطة مئوية واحدة في العائد، مع اصطلاح الإشارة المعتاد بأن مدة موجبة تعني هبوط السعر عندما ترتفع العوائد. ولأن الأسعار بعد الصدمة تضم أصلًا ما يحدث لتمرين الخيارات أو السداد المبكر أو صندوق الإطفاء، تبقى المقياس معرّفة لسندات الشركات القابلة للاستدعاء وممرّات الرهن وغيرها من الهياكل المعتمدة على المسار حيث تكون المدة المعدلة الرقم الخطأ.
القيمة المطلقة لصدمة العائد في المقام، لذا يُنتج إدخال موقّع بناقص خمس وعشرين نقطة أساس وزائد خمس وعشرين نقطة أساس المدة نفسها؛ وحدها صدمة صفرية حقًا غير معرّفة إذ لا فاصل حينئذ لقياس الميل.
أين تثبت حاسبة المدة الفعلية قيمتها
تحتاج الصفحات التعليمية وأدوات التحضير لـ CFA التي تنافس على حاسبة المدة الفعلية إلى ودجت حي يحوّل ثلاثة أسعار نموذج وصدمة عائد معلنة إلى الرقم نفسه الذي يحسبه المرشح يدويًا، بما في ذلك رفض القسمة على صدمة صفرية. المديرون الذين يشغّلون أصلًا محرك فارق معدَّل بالخيار يملكون V− وV+ على الشبكة؛ وصل تلك العلامات الثلاث إلى نقطة نهاية parse صغيرة يتجنب إعادة تنفيذ الهوية في كل دفتر ويثبّت الأمثلة الذهبية عندما تتغيّر مكتبة التسعير.
تستخدم الخزينة وفرق المخاطر المدة الفعلية لتحديد حجم التحوط على وكالات قابلة للاستدعاء وبرك مدعومة بالرهن، حيث تبالغ المدة المعدلة لشريط قسائم ساكن في تقدير ارتفاع السعر الممكن عندما تهبط العوائد إلى منطقة الاستدعاء أو السداد المبكر. تستطيع مواقع المحتوى مقابلة الرقم 5.8 من مثال بلا خيارات بمدة أصغر كثيرًا من مسار استدعاء ضيق حتى يرى القارئ لماذا تقصّر الخيارات المضمَّنة المدة الفعلية. يضع المدمجون العقد نفسه في تدفقات n8n أو عمال الحافة أو إضافات LMS للقاعة.
التحقق الفاشل لا يستهلك الرصيد.
حالات الاستخدام
تحوط سندات قابلة للاستدعاء والبيع
حوّلوا أسعارًا معدَّلة بالخيار بعد صدمة عائد صاعدة وهابطة إلى مدة فعلية حتى تعكس التحوطات الاستدعاء أو البيع لا شريط قسائم ساكنًا.
برك رهن حسّاسة للسداد المبكر
قيسوا حساسية المعدلات من أسعار نموذج تضم السداد المبكر أصلًا، لا من مدة ماكولي على مسار تدفقات مجدول.
الأسئلة الشائعة
بم تختلف المدة الفعلية عن المدة المعدلة؟
تعيد المدة المعدلة خصم جدول قسائم ثابت. تستخدم المدة الفعلية أسعارًا تضم أصلًا تمرين الخيارات أو السداد المبكر أو تغيّرات تدفق أخرى عند حركة العوائد، فهي حساسية الرتبة الأولى الصحيحة للسندات ذات الخيارات المضمَّنة.
ماذا يحدث إذا كانت إزاحة العائد صفرًا؟
صدمة صفرية تجعل مقام الفرق المركزي صفرًا، فتكون المدة الفعلية غير معرّفة ولا تُفوتر الطلب.
كيف تُحسب المدة الفعلية؟
اطرح السعر بعد ارتفاع العوائد من السعر بعد انخفاضها، ثم اقسم على ضعف السعر الحالي مضروبًا في حجم الإزاحة بصيغة عشرية. هذا الفرق المركزي يقيس ميل السعر مقابل العائد.
كيف أُدخل إزاحة العائد؟
بالنقاط المئوية: 0.25 تعني 25 نقطة أساس و1 تعني نقطة كاملة. وتستخدم الحاسبة حجم الإزاحة فقط، لذا تعطي زائد أو ناقص 0.25 المدة نفسها.
من أين تأتي الأسعار بعد الإزاحة؟
من نموذج تسعير أو من السوق. أنت تُدخل الأسعار الثلاثة، والحاسبة لا تعيد تسعير السند من قسائمه، لذا قد تتضمن تلك الأسعار أثر الاستدعاء المبكر أو السداد المسبق أو صناديق الإطفاء.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fin/effective-duration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":100,"price_down":101.5,"price_up":98.6,"yield_shift":0.25}'const res = await fetch("https://api.kit.forhosting.com/fin/effective-duration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": 100,
"price_down": 101.5,
"price_up": 98.6,
"yield_shift": 0.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/effective-duration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": 100,
"price_down": 101.5,
"price_up": 98.6,
"yield_shift": 0.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/effective-duration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":100,"price_down":101.5,"price_up":98.6,"yield_shift":0.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":100,"price_down":101.5,"price_up":98.6,"yield_shift":0.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/effective-duration", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"price": 100,
"price_down": 101.5,
"price_up": 98.6,
"yield_shift": 0.25
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.effective_duration",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
إزاحة عائد صفرية تُرفض بـ invalid_input لأن المقام سيكون صفرًا. تغذّي الحسابات النقية نفسها أداة المتصفح المجانية ومسار API، فلا تختلف مراجعة الصفحة وسيناريو محفوظ على الرقم المحسوب.
ماذا تقيس المدة الفعلية وكيف تعمل صيغة الفرق المركزي
لا تعيد نقطة النهاية هذه تسعير السند من القسائم: لديكم الأسعار الثلاثة أصلًا، وتحوّلها الحاسبة إلى الحساسية التي تسميها مكاتب الدخل الثابت وبنود CFA وأدوات التعليم المدة الفعلية.
عقد الإدخال وشكل الاستجابة وسلوك الخطأ
الصدمة الصفرية هي خطأ العقد الذي وُجد هذا المنتج لالتقاطه: لا ميل معرّفًا حين يجلس السعران بعد الصدمة فوق العائد نفسه. أرسلوا جسم JSON عبر POST بأربعة أرقام منتهية إلزامية: price وهو السعر المتسخ أو النموذجي الحالي V0 ويجب أن يكون أكبر من صفر (الأسماء البديلة current_price وv0 وp0)؛ وprice_down سعر ما بعد صدمة عائد هابطة بالحجم نفسه (الأسماء البديلة price_minus وv_minus وp_down)؛ وprice_up سعر ما بعد صدمة صاعدة (الأسماء البديلة price_plus وv_plus وp_up)؛ وyield_shift الصدمة الموازية بالنسبة المئوية، فـ 0.25 يعني خمسًا وعشرين نقطة أساس و1 يعني نقطة مئوية كاملة (الأسماء البديلة yield_shift_percent وdelta_y وdy وyield_change). decimals اختياري، عدد صحيح من صفر إلى اثني عشر (الافتراضي ستة) يتحكّم في تقريب half-up لـ yield_shift_decimal وeffective_duration. عند النجاح يعيد الجسم الأسعار الثلاثة وyield_shift المرسل، ويضيف yield_shift_decimal (الصدمة نفسها ككسر عشري مع حفظ إشارة الإدخال) وeffective_duration بسنوات حساسية المعدلات وسلسلة formula تعيد صياغة هوية الفرق المركزي. مثال محلول: price 100 وprice_down 101.5 وprice_up 98.6 وyield_shift 0.25 ينتج Δy قدره 0.0025 ومدة فعلية 5.8 لأن 2.9 مقسومًا على 0.5 يساوي 5.8. الحقول الناقصة والقيم غير المنتهية وprice أو price_down أو price_up غير الموجب أو yield_shift الصفر تمامًا تفشل بـ invalid_input مع تسمية الحقل ولا تُفوتر.
أين تثبت حاسبة المدة الفعلية قيمتها
ولأن التنفيذ parse من المستوى A النقي، تكلّف كل مكالمة ناجحة السعر الأساسي المنشور $0.002 دون رموز نموذج ودون شبكة صادرة. أبقوا الأسعار الثلاثة موجبة تمامًا ولا ترسلوا yield_shift صفريًا وثبّتوا effective_duration المقرّب في الاختبارات لتحصلوا على رقم حساسية معدلات قابل لإعادة الإنتاج دون بناء مكتبة دخل ثابت خاصة بكم.
حالات التكامل
تحضير CFA وفحوص القاعة
قدّموا للمتعلمين أوراكل حتميًا لهوية (V− − V+) / (2 V0 Δy)، بما في ذلك invalid_input بلا فاتورة عندما تكون صدمة العائد صفرًا.
أسئلة تقنية
كيف تُحسب المدة الفعلية من أسعار عند عوائد مزاحة؟
أرسلوا السعر الحالي V0 وسعر ما بعد صدمة عائد هابطة V− وسعر ما بعد صدمة صاعدة V+ وyield_shift بالنسبة المئوية. تعيد API القيمة Deff = (V− − V+) / (2 × V0 × |Δy|)، حيث Δy يساوي yield_shift مقسومًا على مئة.
بأي وحدة يأتي yield_shift؟
بالنسبة المئوية. 0.25 يعني صدمة موازية قدرها 0.25 بالمئة (25 نقطة أساس)؛ و1 يعني نقطة مئوية واحدة. تعيد الاستجابة أيضًا yield_shift_decimal، الصدمة نفسها ككسر عشري.
كم تكلفة حاسبة المدة الفعلية؟
أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُفوتر.