تنبيه تغير احتمالات Polymarket عند تحركها

في 24 أكتوبر 2026، كان احتمال عدم التغيير في اجتماع الاحتياطي الفيدرالي يوم 28 أكتوبر 91.9%. يقارن نص برمجي قصير يعمل وفق جدول الاحتمالات بقراءته السابقة، ويطبع تنبيهًا عندما يبلغ التغير العتبة التي حددتها. وفي مسار سياسة الاحتياطي الفيدرالي، قارن p_hold، أي احتمال عدم التغيير، بالقيمة المحفوظة من التشغيل السابق.

نفّذ ذلك باستخدام واجهة API

استعلم دوريًا من GET /v1/predictions/policy-paths/federal-reserve واحتفظ بالقراءة السابقة في ملف JSON. يقرأ النص البرمجي p_hold من أول اجتماع في الاستجابة. ويتبع تنبيهه احتمال عدم التغيير في ذلك الاجتماع، فضع هذه النتيجة في الاعتبار عند اختيار العتبة.

  1. اضبط مفتاح API الخاص بك احصل على مفتاح مجاني واحفظه في متغير البيئة NARWHAL_API_KEY. يرسله الطلب بالصيغة Authorization: Bearer YOUR_KEY إلى https://api.narwhalapi.com.
  2. حفظ نص الاستعلام الدوري استخدم نص Python البرمجي بعتبة قدرها 10 نقاط. فهو يقارن القيمة المطلقة للفرق، ولذلك قد يؤدي الارتفاع أو الانخفاض إلى طباعة التنبيه.
    Python، تنبيه عند تغير بمقدار 10 نقاط
    import json, os, pathlib
    import requests
    
    STATE = pathlib.Path("fed_hold.json")
    MOVE = 0.10  # alert when the chance of "no change" moves by 10 points or more
    path = requests.get(
        "https://api.narwhalapi.com/v1/predictions/policy-paths/federal-reserve",
        headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"},
        timeout=10,
    ).json()
    hold = float(path["meetings"][0]["p_hold"])
    if STATE.exists():
        before = json.loads(STATE.read_text())["hold"]
        if abs(hold - before) >= MOVE:
            print(
                f"ALERT: chance of no change moved from {before:.1%} to {hold:.1%}"
            )  # email or chat message here
    STATE.write_text(json.dumps({"hold": hold}))
    print(f"hold {hold:.1%}")
  3. الاحتفاظ بملف الحالة بين مرات التشغيل في التشغيل الأول تُحفظ القراءة في fed_hold.json؛ ويقرأ التشغيل اللاحق هذا الملف قبل مقارنة الاحتمالات. ويكتب كل تشغيل قراءته مجددًا في الملف، بما في ذلك مرات التشغيل التي لا تطبع تنبيهًا.
  4. جدولة تشغيل النص البرمجي شغّل النص البرمجي وفق جدول، كل ساعة أو كل يوم؛ ويستهلك كل تشغيل استدعاءً واحدًا. يطبع الكود التنبيه فقط؛ فإذا أردت وصوله عبر البريد الإلكتروني أو الدردشة، فاستخدم المكان المعلَّم في النص البرمجي.

لتصلك التنبيهات عبر البريد الإلكتروني أو الدردشة، ضع الرسالة داخل شرط العتبة الذي يشير إليه التعليق. فالرسالة الموضوعة خارج هذا الشرط ستُرسل حتى لو لم يبلغ أي تغير العتبة.

دون كود

في Zapier أو Make أو n8n، ابدأ بمشغّل مجدول وطلب HTTP إلى مسار السياسة نفسه. احفظ قراءة p_hold ليكون لدى سير العمل قيمة للمقارنة عند تشغيله مرة أخرى. أضف مرشحًا للفرق بين القراءة الجديدة والقراءة المحفوظة، ثم خطوة بريد إلكتروني أو دردشة للتغير الذي يبلغ العتبة التي اخترتها.

اجعل المقارنة قبل الخطوة التي تستبدل القيمة المخزنة. يحتاج التنبيه إلى القراءتين: القيمة المحفوظة من التشغيل السابق والقيمة التي يعيدها الطلب الجديد. وبعد المقارنة، احفظ القراءة الجديدة للتشغيل التالي، سواء أرسل المرشح رسالة أم لا. دليل n8n ودليل Zapier هما المساران بلا كود ضمن دروس Narwhal.

متى تستخدم كل خيار

الحالةالخيار الأنسبالسبب
فحص منتظم للاحتمالاتنص برمجي يعمل وفق جدولالاحتمالات مباشرة؛ ويستهلك كل تشغيل استدعاءً واحدًا.
تنبيه عند إغلاق السوق أو تسويتهإشعارات Webhookترسل webhooks الحدثين prediction.event.closed وprediction.event.settled لأحداث التنبؤ.
أسئلة كثيرة لمتابعتهاالتكرار على أحداث /v1/predictions/eventsطبّق المقارنة نفسها على الأحداث التي تتابعها.

تُبلغ webhooks عن إغلاق حدث تنبؤ أو تسويته. ولا ترسل إشعارات بتغير الاحتمالات، فاستخدم الاستعلام الدوري وقراءة محفوظة لتنبيه العتبة الموصوف هنا. أما تنبيه الإغلاق أو التسوية فيجيب عن سؤال مختلف عن سؤال: هل تغير احتمال نتيجة ما؟

ما العتبة التي ينبغي أن أستخدمها؟

اختر عتبة تناسب السؤال الذي تتابعه. فتغير بمقدار 10 نقاط كبير بالنسبة إلى نتيجة ذات احتمال مرتفع؛ أما السؤال الهادئ فيحتاج إلى عتبة أصغر. فكّر بالنقاط المئوية عند اختيارها، لأن المقارنة تقيس التغير بين الاحتمالات نفسها. في النص البرمجي، تعني MOVE = 0.10 عتبة قدرها 10 نقاط. أبقِ هذا الإعداد كسرًا عشريًا عند تغييره. ويعرض نص التنبيه الاحتمالين قبل التغير وبعده كنسب مئوية، ولذلك يختلف شكل الكسر المخزن عن الاحتمال المطبوع. وقد يبلغ الارتفاع أو الانخفاض العتبة.

لماذا أقارن بقيمة محفوظة؟

يعيد API الاحتمالات وقت الطلب، بينما يحتفظ ملف الحالة بالقراءة السابقة. يحتاج النص البرمجي إلى هذه القيمة المحفوظة لحساب التغير. وفي التشغيل الأول لا توجد قراءة سابقة في الملف، فيحفظ القيمة ويطبع احتمال عدم التغيير دون تنبيه بتغير.

تتم المقارنة مع التشغيل السابق، حتى لو لم يُصدر ذلك التشغيل تنبيهًا. فالتغير الأصغر من العتبة يستبدل القراءة المحفوظة أيضًا. ولذلك لا تتراكم التغيرات الصغيرة المتعددة مقابل أول قيمة حفظها هذا النص البرمجي. أبقِ fed_hold.json متاحًا للنص المجدول ليقرأ خط الأساس الذي حفظه. وإذا غاب الملف، يعود النص البرمجي إلى مسار التشغيل الأول ويحفظ خط أساس جديدًا. استخدم دليل العمل نفسه في عمليات التشغيل المجدولة ليشير fed_hold.json إلى الملف نفسه في كل مرة.

كم مرة يمكنني تشغيله؟

يمكنك تشغيله بقدر ما يسمح به رصيدك. الاحتمالات مباشرة، والفحص اليومي يستهلك نحو 30 استدعاءً في الشهر. وكلما زادت وتيرة الجدولة زادت الاستدعاءات، ويُقارن كل قراءة جديدة بالقيمة السابقة في ملفك.

يمكن لكل حساب أيضًا فتح بث WebSocket للتنبؤات على /v1/predictions/stream؛ ويستهلك كل اتصال استدعاءً واحدًا. وهذا مسار آخر لتلقي تحديثات التنبؤات؛ أما نص الاستعلام الدوري هنا فيحتفظ بمقارنته وعتبته ضمن سير عمل الحالة المحفوظة.

مثال تطبيقي: عتبة 10 نقاط

الأرقام من 24 أكتوبر 2026، والقراءة الثانية للتوضيح فقط. يقرأ التشغيل الأول احتمال عدم التغيير 91.9% ويحفظه ويطبع hold 91.9%. وعلى سبيل المثال، افترض أن قراءة اليوم التالي هي 79.0%. اطرحها من القراءة المحفوظة لتحصل على تغير قدره 12.9 نقطة.

الخطوةالرقم أو النتيجة
حفظ القراءة الأولى91.9%
قراءة قيمة اليوم التالي التوضيحية79.0%
حساب القيمة المطلقة للتغيرالتغير من 91.9% إلى 79.0% هو 12.9 نقطة
المقارنة بالعتبة12.9 نقطة تتجاوز 10 نقاط

يتجاوز التغير العتبة، فيطبع النص البرمجي التنبيه ثم يحفظ القراءة التوضيحية كقيمة للمقارنة التالية.

مثال على تنبيه
ALERT: chance of no change moved from 91.9% to 79.0%

نُشر في .

الخطوات التالية