في المثال التوضيحي ليوم 24 أكتوبر 2026، كان السعر 0.88 يعني احتمالًا ضمنيًّا قدره 88.0%. وإذا زاد مجموع الأسعار الخام لجميع نتائج السؤال على 1، فاقسم كل سعر على مجموعها.
نفّذ ذلك باستخدام واجهة API
في مثال 24 أكتوبر 2026، تتبع أسعار المنصات عُرف تسعير النتيجة بين 0 و1، بالدولار لكل دولار واحد من العائد. لذلك يعطي السعر الاحتمال الضمني الخام لتلك النتيجة. ويستخدم التطبيع الأسعار معًا، لأن المجموع يخص جميع نتائج السؤال الواحد.
تعيد Narwhal لكل نتيجة probability مدمجًا عبر المنصات، ولكل منصة أيضًا quotes خاصة بها. حدّد الحقل الذي تحتاج إليه قبل أي عملية حسابية: الاحتمالات المُعادة جاهزة للقراءة، أما أسعار النتائج الخام فتستخدم لها التحويل الوارد في مثال Python. يشترك REST وMCP في مفتاح API نفسه، فاستخدم مفتاح حسابك في Narwhal.
- احصل على مفتاح API الخاص بك احصل على مفتاح مجاني واحفظه في متغير بيئة اسمه
NARWHAL_API_KEY. أرسل المفتاح في الترويسةAuthorization: Bearer YOUR_KEYعند إجراء الطلب. - قراءة السؤال بالنسبة إلى قرار الاحتياطي الفيدرالي في 28 أكتوبر 2026، استخدم
GET /v1/predictions/scalar/usa-fed-2026-10علىhttps://api.narwhalapi.com. اقرأprobabilityلكل نتيجة للحصول على النتيجة المدمجة، أوquotesالخاصة بالمنصة عندما تريد أسعارها هي. - اقرأ الأودز مع تاريخها تحمل كل لقطة
as_of. اللقطة المؤرخة 24 أكتوبر 2026 قيمةas_ofفيها2026-10-24T00:00:00Z؛ احتفظ بهذا التاريخ بجانب أي أرقام تأخذها منها. - طبّع الأسعار الخام عند الحاجة بالنسبة إلى الأسعار الخام التوضيحية ليوم 24 أكتوبر 2026، اجمع أسعار جميع نتائج السؤال نفسه ثم اقسم كل سعر على هذا المجموع. استخدم هذا الحساب عندما تبدأ من أسعار خام؛ فقيم
probabilityالتي تعيدها Narwhal مجموعها 1 أصلًا.# A venue quotes each outcome as a price between 0 and 1 (cents on the dollar). # Narwhal returns the probabilities already # normalised, but if you start from raw prices you remove the overround yourself. yes_prices = {"cut": 0.05, "hold": 0.88, "hike": 0.10} # example raw prices, sum 1.03 total = sum(yes_prices.values()) for outcome, price in yes_prices.items(): print( f"{outcome:5} price {price:.2f} implied {price:.1%} " f"normalised {price / total:.1%}" ) print("overround", round(total - 1, 2))
نفّذ ذلك في جدول بيانات أو دون شيفرة
ضع الأسعار الخام لجميع نتائج السؤال نفسه في جدول بيانات. وفي مثال 24 أكتوبر 2026 استخدم B2:B4 للأسعار، وأدخل =B2/SUM($B$2:$B$4) بجوار السعر الأول. انسخ الصيغة بجوار بقية الأسعار وطبّق تنسيق النسبة المئوية على النتائج.
تُبقي علامات الدولار المجموع مرتبطًا بالنطاق نفسه عند نسخ الصيغة. يستخدم كل صف سعره هو بسطًا ومجموعة أسعار النتائج كلها مقامًا. أدرج كل النتائج في هذا النطاق، لأن التطبيع يستخدم مجموع السؤال بأكمله.
إذا أردت قراءة سؤال دون إجراء حساب، فافتح صفحات التنبؤات في Narwhal؛ إذ تعرض الاحتمالات مباشرة. استخدم جدول البيانات عندما تبدأ من مجموعة أسعار خام وتريد رؤية ناتج كل قسمة بجوار السعر الأصلي.
متى تستخدم كل خيار
| الحالة | الخيار الأنسب | السبب |
|---|---|---|
| سؤال واحد في التطبيق | اقرأ الاحتمال الذي تعيده واجهة API | هو مطبَّع بالفعل |
| أسعار خام من مصدر آخر | اقسم كل سعر على المجموع | بهذا تُزال الـ overround |
| الأودز العشرية أو الكسرية أو الأمريكية | حوّل بالصيغ ثم طبّع | يعطي التحويل احتمالات ضمنية خام |
الأودز العشرية والكسرية والأمريكية
ابدأ بالصيغة المناسبة لطريقة عرض الأودز. للأودز العشرية d يكون الاحتمال الضمني 1/d. وللأودز الكسرية a/b استخدم b/(a+b). وللأودز الأمريكية الموجبة +X استخدم 100/(X+100)، وللسالبة -X استخدم X/(X+100)، حيث X هو مقدار الرقم المعروض.
في هذه الأمثلة التوضيحية ليوم 24 أكتوبر 2026، تعني الأودز العشرية 2.50 والكسرية 3/2 والأمريكية +150 كلها احتمالًا ضمنيًّا قدره 40.0%، أما الأودز الأمريكية -200 فتعني 66.7%. اختر الدالة المناسبة لصيغة السعر المعروض وعبّر عن القيمة المُعادة كنسبة مئوية.
تقبل دالة الأودز الأمريكية القيمة المعروضة بإشارتها، فاحتفظ بالإشارة الموجبة أو السالبة معها. وفي الأودز السالبة تستخدم الدالة مقدارها في القسمة. أما دالة الأودز الكسرية فتأخذ البسط والمقام منفصلين؛ فأدخلهما بالترتيب نفسه الذي يظهران به في الأودز الكسرية.
def from_decimal(d): # decimal odds, e.g. 2.50
return 1 / d
def from_fractional(a, b): # fractional odds a/b, e.g. 3/2
return b / (a + b)
def from_american(x): # American odds, e.g. +150 or -200
return 100 / (x + 100) if x > 0 else -x / (-x + 100)
print(f"decimal 2.50 -> {from_decimal(2.50):.1%}")
print(f"fractional 3/2 -> {from_fractional(3, 2):.1%}")
print(f"American +150 -> {from_american(150):.1%}")
print(f"American -200 -> {from_american(-200):.1%}")تحوّل هذه الصيغ كل سعر على حدة. وإذا كانت لديك الأودز لجميع نتائج السوق نفسه، فاجمع احتمالاتها الضمنية الخام واقسم كلًّا منها على المجموع. تغيير صيغة السعر لا يزيل الـ overround، لذا فالتحويل والتطبيع حسابان منفصلان.
لماذا يزيد مجموع الأسعار على 100.0%؟
قد تجعل فروق الأسعار والرسوم مجموع أفضل أسعار شراء كل النتائج أعلى قليلًا من العائد الكامل. هذه الزيادة هي الـ overround. اقسم كل سعر خام على مجموع النتائج كلها لإزالتها وللتعبير عن النتائج بوصفها مجموعة احتمالات مطبَّعة.
هل السعر توقّع؟
هو ما يدفعه المتداولون، أي احتمال ضمني في السوق وليس ضمانًا.
هل أطبّع أرقام Narwhal مرة أخرى؟
لا، فمجموع قيم probability المُعادة هو 1 أصلًا. اقرأ هذه القيم مباشرة عندما تحتاج إلى الاحتمالات المدمجة لسؤال ما. طبّق حساب الأسعار الخام على الأسعار الخام فقط، ولا تعامل الاحتمالات المُعادة كأسعار ما زالت فيها overround.
مثال محسوب: تحويل أسعار النتائج الخام
أرقام هذا المثال التوضيحي مأخوذة من 24 أكتوبر 2026.
لنفترض مثلًا أن الأسعار الخام هي 0.05 للخفض و0.88 للإبقاء و0.10 للرفع. مجموعها 1.03. اطرح العائد الكامل 1 من هذا المجموع، فتكون الـ overround هي 0.03، أي 3 نقاط مئوية.
اقسم كل سعر على 1.03 لتحصل على حصته من المجموع. تأتي النسب الضمنية الخام مباشرة من الأسعار، أما النسب المطبَّعة فتستخدم هذا المقام المشترك. استخدم المقام نفسه لكل نتيجة حتى يشمل الحساب مجموعة الأسعار كلها.
| النتيجة | السعر الخام | الاحتمال الضمني الخام | الحساب | الاحتمال المطبَّع |
|---|---|---|---|---|
| خفض الفائدة | 0.05 | 5.0% | 0.05 / 1.03 | 4.9% |
| تثبيت الفائدة | 0.88 | 88.0% | 0.88 / 1.03 | 85.4% |
| رفع الفائدة | 0.10 | 10.0% | 0.10 / 1.03 | 9.7% |
نُشر في .