درجة Brier: كيف تقيّم توقعاً؟
تشرح درجة Brier دقة التوقعات الاحتمالية باعتبارها متوسط الخطأ التربيعي مقارنةً بما حدث. الدرجة الأقل أفضل، و0.25 نتيجة قول «50%» دائماً.
تقيّم درجة Brier توقعاً احتماليًا مقارنةً بما حدث فعلياً. خذ الاحتمال الذي ذكرته، واطرح منه النتيجة (1 إذا وقع الحدث، و0 إذا لم يقع)، ثم ربّع الفرق، وبعد ذلك احسب متوسط مربعات الفروق عبر جميع التوقعات التي أجريتها. الدرجة الأقل أفضل: فالصفر يمثل سجلاً مثالياً، بينما 0.25 هي الدرجة التي تحصل عليها عندما تقول «50%» بشأن كل شيء.
ما هي درجة Brier؟
التنبؤ هو ادعاء بشأن الاحتمال، ولا يمكن أن يكون أي احتمال صحيحاً أو خاطئاً بمفرده. قلت إن احتمال وقوع شيء ما هو 30%، ثم وقع فعلاً. فهل كنت مخطئاً؟ ليس بالضرورة. عندما كتب Glenn Brier لمتنبئي الطقس في عام 1950، عالج المسألة برفض تقييم أي تنبؤ منفرد. إذ تقيس الدرجة سجل التنبؤات بأكمله دفعة واحدة.
فيما يلي سجل افتراضي يضم عشرة تنبؤات. لا يأتي أي من هذه الأرقام من سوق؛ فقد أُنشئت فقط لشرح الحساب.
- ذُكر احتمال قدره 90%، ووقع الحدث. الخطأ التربيعي 0.01.
- ذُكر احتمال قدره 80%، ووقع الحدث. الخطأ التربيعي 0.04.
- ذُكر احتمال قدره 70%، ولم يقع الحدث. الخطأ التربيعي 0.49.
- ذُكر احتمال قدره 60%، ووقع الحدث. الخطأ التربيعي 0.16.
- ذُكر احتمال قدره 50%، ولم يقع الحدث. الخطأ التربيعي 0.25.
- ذُكر احتمال قدره 40%، ولم يقع الحدث. الخطأ التربيعي 0.16.
- ذُكر احتمال قدره 30%، ووقع الحدث. الخطأ التربيعي 0.49.
- ذُكر احتمال قدره 20%، ولم يقع الحدث. الخطأ التربيعي 0.04.
- ذُكر احتمال قدره 10%، ولم يقع الحدث. الخطأ التربيعي 0.01.
- ذُكر احتمال قدره 95%، ووقع الحدث. الخطأ التربيعي 0.0025.
مجموع الأخطاء التربيعية العشرة هو 1.6525. وبقسمة هذا الرقم على عشرة، تصبح درجة Brier مقدارها 0.165. هذا هو كامل الحساب، ويمكن تنفيذه باستخدام python3 المثبّت أصلاً على أي جهاز يعمل بنظام Mac أو Linux. لا تحتاج إلى تثبيت أي شيء أو استخدام مكتبات.
rows = [(0.90, 1), (0.80, 1), (0.70, 0), (0.60, 1), (0.50, 0), (0.40, 0), (0.30, 1), (0.20, 0), (0.10, 0), (0.95, 1)]brier = sum((p - o) * (p - o) for p, o in rows) / len(rows)flat = sum((0.5 - o) * (0.5 - o) for _, o in rows) / len(rows)print(round(brier, 3), round(flat, 3))الصفقات المنفذة0.165 0.25
لماذا يُعدّ 0.25 الرقم الذي يجب تجاوزه
افترض احتمالاً قدره 50% لكل شيء، وستكون نتيجة كل إجابة مربعة خاطئة 0.25 مهما حدث. تمثل قيمة 0.25 الثابتة معيار عدم امتلاك معلومات لأي مجموعة من الأسئلة التي تكون إجابتها نعم أو لا. وتحول درجة المهارة ذلك إلى رقم واحد: واحد ناقص نتيجتك مقسومة على نتيجة المعيار. ويُترجم السجل الافتراضي البالغ 0.165 إلى درجة مهارة قدرها 0.34.
هناك تحفظ واحد يكشف كثيراً من أساليب احتساب الدرجات الرديئة. فإذا كانت الأحداث التي تقيّمها لا تقع إلا في 10% من الحالات، فإن ذكر احتمال ثابت قدره 10% في كل مرة يحقق نتيجة تبلغ 0.09، رغم عدم امتلاكك أي معرفة على الإطلاق بالأسئلة الفردية. ولا تمثل نتيجة تقل عن 0.25 دليلاً على المهارة عند التعامل مع مجموعة أسئلة غير متوازنة. والمعيار الصادق هو معدل الأساس للأسئلة التي أجبت عنها فعلياً.
المعايرة والثقة تُقيَّمان معاً
تعني المعايرة أن ما تتوقع حدوثه باحتمال 70% يحدث فعلاً في نحو 70% من الحالات. أما الثقة، التي يسميها الإحصائيون القدرة على التمييز، فهي مدى استعدادك للابتعاد عن المعدل الأساسي عندما تعرف شيئاً ما. يستطيع متنبئ يقول «50%» لكل سؤال أن يكون معايراً تماماً وعديم الفائدة تماماً. وتقيّم درجة Brier الخاصيتين معاً: إذ يرفع سوء المعايرة الدرجة، بينما تخفضها الثقة التي تؤدي إلى نتائج صحيحة.
يُظهر تصنيف السجل الافتراضي بحسب الاحتمال المعلن كيف تبدو عملية فحص المعايرة. في Python، يتطلب ذلك سطراً واحداً لكل فئة، hits = [o for p, o in rows if p >= 0.8]، ثم حساب متوسط hits.
- الاحتمال المعلن من 10% إلى 30%، بمتوسط 20%: حدثت حالة واحدة من أصل 3، أي 33%.
- الاحتمال المعلن من 40% إلى 50%، بمتوسط 45%: لم تحدث أي حالة من أصل حالتين، أي 0%.
- الاحتمال المعلن من 60% إلى 70%، بمتوسط 65%: حدثت حالة واحدة من أصل حالتين، أي 50%.
- الاحتمال المعلن من 80% إلى 95%، بمتوسط 88%: حدثت 3 حالات من أصل 3، أي 100%.
لا تكفي عشرة تنبؤات إطلاقاً لاستخلاص أي نتيجة من هذه الفئات. تحتاج المعايرة إلى مئات الأسئلة التي حُسمت نتائجها في كل فئة. ويستخدم باقي هذه الصفحة سجلاً للتنبؤات يضم ملايين الحالات.
تقييم توقّعات السوق
يحمل كل خيار مُدرج رقماً يتصرف كما لو كان احتمالاً معلناً. يقيس Delta مقدار تحرك سعر الخيار مقابل تحرك السهم الأساسي بمقدار دولار واحد. وبالنسبة إلى عقد ينتهي داخل نطاق الربح، أي تكون له قيمة عند الاستحقاق، أو ينتهي بلا قيمة، تقترب القيمة المطلقة لـ Delta من الاحتمال الضمني في السوق لانتهاء العقد داخل نطاق الربح. ويُستخرج هذا الرقم من منحنى التسعير نفسه الذي يحدد التقلب الضمني لسهم AAPL. وينتهي أجل كل عقد، ولذلك يمكن تقييم كل واحد من هذه التوقعات.
يعرض الرسم أدناه كل خيار من خيارات SPY جرت مشاهدته قبل نحو شهر من تاريخ الاستحقاق، خلال الفترة من يناير 2025 إلى مايو 2026. ويصنّف الخيارات بحسب Delta المعلنة، ثم يحصي عدد المرات التي انتهى فيها العقد داخل نطاق الربح.
استعلام SQL الدقيق وراء كل رقم
WITH settle AS
(
SELECT
date AS settle_date,
any(toFloat64(underlying_close)) AS settle_px
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2025-01-01'
AND date < '2026-08-01'
GROUP BY date
),
scored AS
(
SELECT
toUInt8(floor(abs(toFloat64(g.delta)) * 10)) AS bucket,
abs(toFloat64(g.delta)) AS stated,
startsWith(lower(toString(g.option_type)), 'c') AS is_call,
if(is_call,
s.settle_px > toFloat64(g.strike_price),
s.settle_px < toFloat64(g.strike_price)) AS finished_itm
FROM global_markets.options_greeks AS g
INNER JOIN settle AS s ON s.settle_date = g.expiration_date
WHERE g.underlying_symbol = 'SPY'
AND g.date >= '2025-01-01'
AND g.date < '2026-06-01'
AND g.expiration_date <= '2026-07-31'
AND g.days_to_expiry BETWEEN 28 AND 35
AND g.iv_converged = 1
AND g.volume > 0
AND abs(g.delta) > 0.02
AND abs(g.delta) < 0.98
)
SELECT
concat(toString(bucket * 10), ' to ', toString(bucket * 10 + 10), '%') AS stated_bucket,
round(avg(stated) * 100, 1) AS stated_pct,
round(avg(finished_itm) * 100, 1) AS finished_itm_pct,
count() AS sample_size
FROM scored
GROUP BY bucket
ORDER BY bucketاقرأ السلسلتين جنباً إلى جنب. في أدنى فئة، أعلن السوق متوسطاً قدره 5.2%، وانتهت تلك العقود داخل نطاق الربح في 3.7% من الحالات. وفي أعلى فئة، اقترنت قيمة معلنة قدرها 94% بانتهاء العقود داخل نطاق الربح في 96.5% من الحالات. وعبر جميع الفئات البالغ عددها 10، تقترب النسبة المحققة من النسبة المعلنة. هذه هي الوظيفة الأساسية لجدول المعايرة: فهو يكشف الفجوة بين ما يقوله المتنبئ وما يحدث فعلياً، فئةً بعد فئة، بدلاً من إخفائها داخل متوسط واحد.
هل يتفوق السوق على رمية العملة؟
ننتقل الآن إلى النتيجة نفسها. نستخدم المنهجية ذاتها مع عدة أسماء معروفة، ونضع درجة Brier لكل اسم إلى جانب خط الأساس الثابت البالغ 50%، والمحتسب على العقود نفسها تماماً.
استعلام SQL الدقيق وراء كل رقم
WITH settle AS
(
SELECT
underlying_symbol AS sym,
date AS settle_date,
any(toFloat64(underlying_close)) AS settle_px
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'TSLA')
AND date >= '2025-01-01'
AND date < '2026-08-01'
GROUP BY sym, settle_date
),
scored AS
(
SELECT
g.underlying_symbol AS symbol,
abs(toFloat64(g.delta)) AS stated,
startsWith(lower(toString(g.option_type)), 'c') AS is_call,
if(is_call,
s.settle_px > toFloat64(g.strike_price),
s.settle_px < toFloat64(g.strike_price)) AS finished_itm
FROM global_markets.options_greeks AS g
INNER JOIN settle AS s
ON s.sym = g.underlying_symbol AND s.settle_date = g.expiration_date
WHERE g.underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'TSLA')
AND g.date >= '2025-01-01'
AND g.date < '2026-06-01'
AND g.expiration_date <= '2026-07-31'
AND g.days_to_expiry BETWEEN 28 AND 35
AND g.iv_converged = 1
AND g.volume > 0
AND abs(g.delta) > 0.02
AND abs(g.delta) < 0.98
)
SELECT
symbol,
round(avg((stated - finished_itm) * (stated - finished_itm)), 4) AS market_brier,
round(avg((0.5 - finished_itm) * (0.5 - finished_itm)), 4) AS coin_flip_brier,
formatReadableQuantity(count()) AS graded_contracts
FROM scored
GROUP BY symbol
ORDER BY market_brierحققت NVDA درجة قدرها 0.1122 عبر 28.54 thousand عقداً جرى تقييمها، مقارنةً بدرجة خط الأساس الثابت البالغة 0.25 على المجموعة المطابقة نفسها. وحتى أضعف الأسماء وعددها 6، وهو SPY، سجّل 0.1375. لا تنطوي الخيارات هنا على أي سحر. تحمل العقود البعيدة جداً عن سعر التنفيذ دلتا تقترب من 0.02، وتنتهي في معظمها بلا قيمة. لذلك يكون التنبؤ بنتيجتها سهلاً، وينعكس هذا الأمر في الدرجة. وهذا هو السبب الرئيسي في أن درجة Brier، عند عرضها منفردة، لا تخبرك بشيء يُذكر.
يسجّل المتنبئ نفسه نتائج مختلفة في أسئلة مختلفة
قسّم المنهج المتطابق بحسب المدة المتبقية حتى حسم السؤال، وستتغير النتيجة تبعاً لذلك.
استعلام SQL الدقيق وراء كل رقم
WITH settle AS
(
SELECT
date AS settle_date,
any(toFloat64(underlying_close)) AS settle_px
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2025-01-01'
AND date < '2026-08-01'
GROUP BY date
),
scored AS
(
SELECT
multiIf(g.days_to_expiry <= 7, 1,
g.days_to_expiry <= 14, 2,
g.days_to_expiry <= 30, 3,
g.days_to_expiry <= 60, 4,
g.days_to_expiry <= 120, 5,
6) AS horizon_rank,
abs(toFloat64(g.delta)) AS stated,
startsWith(lower(toString(g.option_type)), 'c') AS is_call,
if(is_call,
s.settle_px > toFloat64(g.strike_price),
s.settle_px < toFloat64(g.strike_price)) AS finished_itm
FROM global_markets.options_greeks AS g
INNER JOIN settle AS s ON s.settle_date = g.expiration_date
WHERE g.underlying_symbol = 'SPY'
AND g.date >= '2025-01-01'
AND g.date < '2026-06-01'
AND g.expiration_date <= '2026-07-31'
AND g.days_to_expiry BETWEEN 1 AND 250
AND g.iv_converged = 1
AND g.volume > 0
AND abs(g.delta) > 0.02
AND abs(g.delta) < 0.98
)
SELECT
multiIf(horizon_rank = 1, '1 to 7 days',
horizon_rank = 2, '8 to 14 days',
horizon_rank = 3, '15 to 30 days',
horizon_rank = 4, '31 to 60 days',
horizon_rank = 5, '61 to 120 days',
'121 to 250 days') AS horizon,
round(avg((stated - finished_itm) * (stated - finished_itm)), 4) AS market_brier,
round(avg((0.5 - finished_itm) * (0.5 - finished_itm)), 4) AS coin_flip_brier,
count() AS sample_size
FROM scored
GROUP BY horizon_rank
ORDER BY horizon_rankسجّل مؤشر السوق 0.1084 في العقود التي تبقى على استحقاقها 1 to 7 days، وسجّل 0.1218 في العقود التي تبقى على استحقاقها 121 to 250 days. المتنبئ نفسه والمنهج نفسه، لكن مجموعتان مختلفتان من الأسئلة. يقع خط الأساس الثابت البالغ 50% عند 0.25 في الصف الأول وعند 0.25 في الصف الأخير، ما يجعله المرجع الثابت الوحيد عبر جميع الآفاق الزمنية. يجب أن تستند أي مقارنة بين متنبئين إلى الأسئلة نفسها خلال الفترة نفسها، وإلا فإنها تقارن صعوبة الأسئلة لا المهارة.
لماذا تهم قواعد التقييم السليمة
يبدو متوسط الخطأ المطلق، أي متوسط المسافة المباشرة بين احتمال تقدّره والنتيجة الفعلية، بديلاً معقولاً، لكنه يقيّم التنبؤات بصورة سيئة. افترض أنك تعتقد فعلاً أن احتمال وقوع حدث ما يبلغ 70%. إذا ذكرت 70%، فإن متوسط خطئك المطلق المتوقع يساوي 0.7 × 0.3 + 0.3 × 0.7 = 0.42. أما إذا ذكرت 100%، فينخفض إلى 0.7 × 0 + 0.3 × 1 = 0.30. وفق مقياس الخطأ المطلق، يعاقبك الرقم الصادق، وأي مقياس يكافئك على المبالغة في الثقة لا يقيس جودة التنبؤ.
لا توجد هذه الثغرة في مقياس Brier. إذا كنت تعتقد أن الاحتمال يبلغ 70% وذكرت 70%، فإن نتيجتك المتوقعة تساوي 0.7 × 0.09 + 0.3 × 0.49 = 0.21. وإذا ذكرت 100%، ترتفع النتيجة إلى 0.30. وإذا ذكرت 60%، ترتفع إلى 0.22. ويقع الحد الأدنى تماماً عند الرقم الذي تؤمن به. وتُسمى القاعدة التي تتمتع بهذه الخاصية قاعدة سليمة، وهذا هو سبب تحول مقياس Brier إلى المعيار الافتراضي في مسابقات التنبؤ.
ويُعد مقياس اللوغاريتم القاعدة السليمة الشائعة الأخرى. خذ اللوغاريتم الطبيعي للاحتمال الذي منحته للنتيجة التي وقعت فعلاً، ثم اعكس إشارته. إن ذكر احتمال قدره 1% لحدث يقع فعلاً يكلفك 4.6، بينما يؤدي ذكر 0% إلى تكلفة لا نهائية. وفي مجموعة التنبؤات العشر الافتراضية، يبلغ مقياس اللوغاريتم 0.483، مقارنةً بـ0.693 لخط الأساس الثابت. ويبقى مقياس Brier بين 0 و1، ما يجعله أسهل قراءةً في بطاقة التقييم. أما مقياس اللوغاريتم فغير محدود، وهو ما يلائم التقييم الذي تحمل فيه الاحتمالات الطرفية جانباً كبيراً من المخاطر.
ما الذي يعنيه ذلك لعقود الأحداث
يتداول عقد الأحداث الذي يدفع $1 إذا وقع أمر ما و$0 إذا لم يقع بسعر يعبّر عن احتمال محدد. فسعر اثنين وستين سنتاً يعني توقعاً بنسبة 62%، قبل استبعاد spread والرسوم. يشرح دليلنا أسعار عقود الأحداث بوصفها احتمالات كيفية إجراء هذا التحويل، بينما يوضح كيفية تسوية عقود الأحداث المقصود بعبارة «لقد وقع الأمر» وفقاً لنص العقد نفسه.
يمثل هذا السعر توقعاً له سجل أداء متاحاً للجمهور وتاريخ تسوية محدد. لذلك فهو المعيار الذي يجب أن يتجاوزه سجل توقعاتك. قيّم توقعاتك بشأن الأسئلة نفسها خلال الفترة الزمنية نفسها. فإذا جاء Brier score لمتداول أعلى من الدرجة المست implied by السعر، فلا تكون لديه أفضلية مقاسة في مجموعة الأسئلة تلك، مهما بدت الرواية المرتبطة بالتداول مقنعة. وينطبق الاختبار نفسه على احتمالات الرياضة بعد إزالة هامش المراهن من احتمالات المراهنات، وعلى أسواق أسعار الفائدة، حيث تمنحك احتمالات سعر الفائدة لدى Fed احتمالاً مؤرخاً لسؤال له يوم تسوية معروف.
كيف تقيّم هذه اللوحات السوق
تأتي Delta من سجل Greeks اليومي للخيارات لكل عقد. ولا تُدرج إلا العقود التي سجلت تداولاً في يوم الرصد والتي أمكن حل تقلبها الضمني بصورة متقاربة. وتُستخلص النتيجة من سعر إغلاق الأصل الأساسي في تاريخ انتهاء العقد: ويُعد عقد Call داخل نطاق الربح عندما يكون سعر الإغلاق أعلى من سعر التنفيذ، بينما يُعد عقد Put كذلك عندما يكون سعر الإغلاق أدنى منه. تجري التسوية الفعلية بعد الإغلاق عبر قرار ممارسة العقد، ولذلك قد تخالف العقود التي يكون سعرها مثبتاً ضمن بضعة سنتات من سعر التنفيذ هذا التبسيط. انتهت جميع العقود الواردة في هذه اللوحات بالفعل، كما أن فئات الآفاق الأطول تستند بالضرورة إلى تواريخ رصد أسبق ضمن الفترة. وإذا حدث تجزئة للسهم بين تاريخ الرصد وتاريخ الانتهاء، فسيصبح سعر التنفيذ وسعر التسوية على مقياسين مختلفين، وهذا سبب إضافي لإظهار عدد العينة لكل فئة.
تقارب Delta احتمالاً محايداً للمخاطر، لا احتمالاً يعكس العالم الفعلي. ويختلف الاحتمالان بسبب علاوة المخاطر المضمّنة في أسعار الخيارات. ويُعد جدول المعايرة الأداة التي تقيس هذا الفرق بدلاً من افتراض عدم وجوده.
:::
الأسئلة الشائعة
هل انخفاض Brier score أفضل؟
نعم. Brier score هو مقياس للخطأ، لذا تعني الدرجة 0 سجلاً مثالياً، بينما تمثل الدرجة 1 أسوأ نتيجة ممكنة، وتتحقق عند إسناد احتمال 100% إلى كل الأحداث التي لم تقع. وأي درجة تقل عن 0.25 تتفوق على الدرجة التي ستحصل عليها عند الإجابة بـ50% عن كل سؤال.
ما الدرجة الجيدة على مقياس Brier؟
لا توجد درجة جيدة موحّدة، لأن النتيجة تعتمد على مدى صعوبة الأسئلة. ولا يمكن مقارنة متنبئ بالطقس يسجل 0.10 في توقع هطول المطر غداً بمتنبئ سياسي يسجل 0.18 في انتخابات متقاربة. قارن الدرجات فقط بين متنبئين يجيبون عن الأسئلة نفسها خلال الفترة الزمنية نفسها.
ماذا تعني درجة Brier البالغة 0.25؟
هذه هي درجة المتنبئ الذي يجيب بـ50% عن كل شيء، لأن مربع الخطأ يكون عندها 0.25 بغض النظر عن النتيجة. وهي المعيار القياسي لغياب المعلومات في مجموعة من الأسئلة التي تتطلب إجابة بنعم أو لا، لكن مجموعة الأسئلة غير المتوازنة تحتاج إلى معدل الأساس معياراً مرجعياً بدلاً من ذلك.
كيف يختلف Brier score عن log score؟
كلاهما من قواعد التقييم السليمة، أي إن أقل درجة تتحقق عندما تذكر الاحتمال الذي تؤمن به فعلياً. يحسب Brier مربع الخطأ، وتبقى درجته بين 0 و1. أما log score فيعاقب الأخطاء الواثقة بدرجة أكبر بكثير، كما أن إسناد احتمال 0% إلى حدث يقع فعلاً يؤدي إلى تكلفة لا نهائية.
هل يمكن قراءة دلتا الخيار باعتبارها احتمالاً؟
تقترب القيمة المطلقة لـdelta من الاحتمال الضمني في السوق لانتهاء الخيار داخل نطاق الربح، وهي احتمال محايد للمخاطر وليس احتمالاً في العالم الحقيقي. وتقيّم اللوحات أعلاه هذه القيمة باعتبارها توقعاً: تُعرض delta المعلنة على أحد المحورين، ونسبة تلك العقود التي انتهت فعلاً داخل نطاق الربح على المحور الآخر.
تتضمن كل لوحة هنا SQL الدقيق المستخدم أسفلها، ما يجعل عملية التقييم قابلة للتدقيق سطراً بسطر. ولتقييم سجل توقعات خاص بك مقابل توقعات السوق للأسئلة نفسها، اطلب الأرقام بلغة إنجليزية واضحة على منصة Strasmore.