Strasmore Research

Brier score คืออะไร วิธีประเมินความแม่นยำของการพยากรณ์

Brier score คือเครื่องมือประเมินความแม่นยำของการพยากรณ์ความน่าจะเป็นเทียบกับผลลัพธ์จริง ค่าที่ต่ำกว่าแสดงถึงความแม่นยำที่สูงขึ้น โดยค่าศูนย์จุดสองห้าคือคะแนนจากการทายที่ร้อยละห้าสิบเสมอ

การวัดความแม่นยำด้วย Brier score

Brier score ใช้สำหรับประเมินความแม่นยำของการพยากรณ์ความน่าจะเป็นเทียบกับเหตุการณ์ที่เกิดขึ้นจริง วิธีการคำนวณคือให้นำความน่าจะเป็นที่ระบุไว้ ลบด้วยผลลัพธ์ที่เกิดขึ้นจริง (กำหนดให้เป็น 1 หากเหตุการณ์เกิดขึ้น และ 0 หากไม่เกิดขึ้น) จากนั้นนำผลต่างที่ได้มายกกำลังสอง แล้วหาค่าเฉลี่ยของผลรวมกำลังสองจากการพยากรณ์ทั้งหมด

ค่าที่ต่ำกว่าถือว่าดีกว่า โดยค่า 0 หมายถึงความแม่นยำที่สมบูรณ์แบบ ส่วนค่า 0.25 คือคะแนนที่ได้จากการระบุความน่าจะเป็นที่ระดับร้อยละ 50 ในทุกกรณี

Brier score คืออะไร

การพยากรณ์คือการกล่าวอ้างถึงความน่าจะเป็น และความน่าจะเป็นเพียงค่าเดียวไม่สามารถตัดสินได้ว่าถูกหรือผิดในตัวมันเอง คุณประเมินว่าเหตุการณ์หนึ่งมีโอกาสเกิดขึ้นสามสิบเปอร์เซ็นต์แล้วเหตุการณ์นั้นก็เกิดขึ้นจริง คุณตัดสินใจผิดหรือไม่ คำตอบคือยังไม่ใช่ Glenn Brier ซึ่งเขียนบทความสำหรับนักพยากรณ์อากาศในปีหนึ่งพันเก้าร้อยห้าสิบ ได้แก้ปัญหานี้โดยการปฏิเสธที่จะให้คะแนนการพยากรณ์เพียงครั้งเดียว แต่คะแนนนี้จะประเมินบันทึกการพยากรณ์ทั้งหมดพร้อมกัน

นี่คือตัวอย่างบันทึกการพยากรณ์สมมติสิบรายการ ตัวเลขเหล่านี้ไม่ได้มาจากตลาด แต่ถูกสร้างขึ้นเพื่อแสดงวิธีการคำนวณ

  • ระบุไว้เก้าสิบเปอร์เซ็นต์ เหตุการณ์เกิดขึ้นจริง ค่าความคลาดเคลื่อนยกกำลังสองคือศูนย์จุดศูนย์หนึ่ง
  • ระบุไว้แปดสิบเปอร์เซ็นต์ เหตุการณ์เกิดขึ้นจริง ค่าคือศูนย์จุดศูนย์สี่
  • ระบุไว้เจ็ดสิบเปอร์เซ็นต์ เหตุการณ์ไม่เกิดขึ้น ค่าคือศูนย์จุดสี่เก้า
  • ระบุไว้หกสิบเปอร์เซ็นต์ เหตุการณ์เกิดขึ้นจริง ค่าคือศูนย์จุดหนึ่งหก
  • ระบุไว้ห้าสิบเปอร์เซ็นต์ เหตุการณ์ไม่เกิดขึ้น ค่าคือศูนย์จุดสองห้า
  • ระบุไว้สี่สิบเปอร์เซ็นต์ เหตุการณ์ไม่เกิดขึ้น ค่าคือศูนย์จุดหนึ่งหก
  • ระบุไว้สามสิบเปอร์เซ็นต์ เหตุการณ์เกิดขึ้นจริง ค่าคือศูนย์จุดสี่เก้า
  • ระบุไว้ยี่สิบเปอร์เซ็นต์ เหตุการณ์ไม่เกิดขึ้น ค่าคือศูนย์จุดศูนย์สี่
  • ระบุไว้สิบเปอร์เซ็นต์ เหตุการณ์ไม่เกิดขึ้น ค่าคือศูนย์จุดศูนย์หนึ่ง
  • ระบุไว้เก้าสิบห้าเปอร์เซ็นต์ เหตุการณ์เกิดขึ้นจริง ค่าคือศูนย์จุดศูนย์ศูนย์สองห้า

ผลรวมของค่าความคลาดเคลื่อนยกกำลังสองทั้งสิบรายการเท่ากับหนึ่งจุดหกห้าสองห้า เมื่อหารด้วยสิบจะได้ Brier score เท่ากับศูนย์จุดหนึ่งหกห้า นี่คือการคำนวณทั้งหมด ซึ่งสามารถรันบน 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)) prints 0.165 0.25

เหตุผลที่ 0.25 คือตัวเลขที่ต้องเอาชนะ

สมมติว่าให้โอกาสทุกอย่างไว้ที่ 50% และทุกความผิดพลาดที่ยกกำลังสองมีค่าเท่ากับ 0.25 ไม่ว่าจะเกิดอะไรขึ้นก็ตาม ค่าคงที่ 0.25 นี้คือเกณฑ์มาตรฐานที่ไม่มีข้อมูลสำหรับชุดคำถามแบบใช่หรือไม่ใช่ และคะแนนทักษะ (skill score) จะเปลี่ยนค่านี้ให้เป็นตัวเลขเดียว คือ 1 ลบด้วยคะแนนของคุณหารด้วยคะแนนของเกณฑ์มาตรฐาน ค่า log สมมติที่ 0.165 จะคำนวณออกมาได้เป็นคะแนนทักษะที่ 0.34

ข้อควรระวังประการหนึ่งสามารถขจัดปัญหาการให้คะแนนที่ผิดพลาดได้มากมาย หากเหตุการณ์ที่คุณกำลังประเมินเกิดขึ้นเพียง 10% ของเวลาทั้งหมด การระบุค่าคงที่ไว้ที่ 10% ทุกครั้งจะทำให้ได้คะแนน 0.09 ในขณะที่ไม่รู้อะไรเลยเกี่ยวกับคำถามแต่ละข้อ คะแนนที่ต่ำกว่า 0.25 จึงไม่ใช่หลักฐานของทักษะในชุดคำถามที่มีความเอนเอียง เกณฑ์มาตรฐานที่ซื่อตรงคืออัตราพื้นฐาน (base rate) ของคำถามที่คุณได้ตอบไปจริง ๆ

การปรับเทียบและความเชื่อมั่นจะถูกประเมินร่วมกัน

การปรับเทียบ (Calibration) หมายความว่าในทุกสิ่งที่คุณคาดการณ์ไว้ที่ระดับร้อยละ 70 เหตุการณ์นั้นควรเกิดขึ้นจริงใกล้เคียงกับร้อยละ 70 ส่วนความเชื่อมั่น ซึ่งนักสถิติเรียกว่าความละเอียด (Resolution) คือระดับที่คุณกล้าที่จะเบี่ยงเบนออกจากอัตราพื้นฐาน (base rate) เมื่อคุณมีความรู้ในเรื่องนั้นๆ ผู้พยากรณ์ที่ตอบร้อยละ 50 ในทุกคำถามถือว่ามีการปรับเทียบที่สมบูรณ์แบบแต่ไร้ประโยชน์โดยสิ้นเชิง ทั้งนี้ Brier score จะประเมินคุณสมบัติทั้งสองประการนี้พร้อมกัน โดยการปรับเทียบที่ผิดพลาดจะทำให้คะแนนสูงขึ้น ในขณะที่ความเชื่อมั่นที่ผ่านการพิสูจน์แล้วจะช่วยลดคะแนนลง

การจัดกลุ่มบันทึกข้อมูลสมมติโดยแบ่งตามความน่าจะเป็นที่ระบุไว้ จะแสดงให้เห็นว่าการตรวจสอบการปรับเทียบมีลักษณะอย่างไร ในภาษา Python สามารถทำได้หนึ่งบรรทัดต่อหนึ่งกลุ่ม hits = [o for p, o in rows if p >= 0.8] จากนั้นจึงหาค่าเฉลี่ยของ hits

  • ระบุร้อยละ 10 ถึง 30 ค่าเฉลี่ยร้อยละ 20: เกิดขึ้นจริง 1 ใน 3 คิดเป็นร้อยละ 33
  • ระบุร้อยละ 40 ถึง 50 ค่าเฉลี่ยร้อยละ 45: เกิดขึ้นจริง 0 ใน 2 คิดเป็นร้อยละ 0
  • ระบุร้อยละ 60 ถึง 70 ค่าเฉลี่ยร้อยละ 65: เกิดขึ้นจริง 1 ใน 2 คิดเป็นร้อยละ 50
  • ระบุร้อยละ 80 ถึง 95 ค่าเฉลี่ยร้อยละ 88: เกิดขึ้นจริง 3 ใน 3 คิดเป็นร้อยละ 100

การพยากรณ์เพียงสิบครั้งไม่เพียงพอที่จะสรุปผลใดๆ จากกลุ่มข้อมูลเหล่านี้ การปรับเทียบจำเป็นต้องอาศัยคำถามที่ทราบผลลัพธ์แล้วหลายร้อยข้อต่อหนึ่งกลุ่มข้อมูล เนื้อหาที่เหลือของหน้านี้จะใช้บันทึกการพยากรณ์ที่มีข้อมูลจำนวนหลายล้านรายการ

การประเมินการคาดการณ์ของตลาด

Option ทุกรายการที่จดทะเบียนซื้อขายจะมีตัวเลขที่ทำหน้าที่เสมือนความน่าจะเป็นที่ระบุไว้ Delta เป็นตัววัดว่าราคาของ Option จะเปลี่ยนแปลงไปเท่าใดเมื่อราคาหุ้นอ้างอิงขยับขึ้นหนึ่งดอลลาร์ สำหรับสัญญาที่จะจบลงด้วยสถานะ in the money (มีมูลค่าเมื่อถึงวันหมดอายุ) หรือไร้มูลค่า ค่าสัมบูรณ์ของ Delta จะใกล้เคียงกับความน่าจะเป็นที่ตลาดคาดการณ์ไว้ว่าสัญญาดังกล่าวจะจบลงด้วยสถานะ in the money ซึ่งค่านี้มาจากพื้นฐานเดียวกับที่กำหนด AAPL implied volatility เนื่องจากทุกสัญญามีวันหมดอายุ การคาดการณ์เหล่านี้จึงถูกนำมาประเมินผลได้เสมอ

ตารางด้านล่างนี้รวบรวมข้อมูล Option ของ SPY ทุกรายการที่สังเกตการณ์ในช่วงเวลาประมาณหนึ่งเดือนก่อนหมดอายุ ตั้งแต่เดือนมกราคม 2025 จนถึงเดือนมิถุนายน 2026 โดยแบ่งกลุ่มตามค่า Delta ที่ระบุไว้ และนับความถี่ที่สัญญาเหล่านั้นจบลงด้วยสถานะ in the money

คำสั่งดึงข้อมูลค่า Delta ของออปชัน SPY เทียบกับความถี่ที่สัญญาปิดสถานะในราคา In-the-money
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
Run this yourself

เมื่อเปรียบเทียบข้อมูลทั้งสองชุด ในกลุ่มที่มีค่าต่ำสุด ตลาดระบุความน่าจะเป็นเฉลี่ยไว้ที่ 5.2% และสัญญาเหล่านั้นจบลงด้วยสถานะ in the money จริงที่ 3.7% ในขณะที่กลุ่มที่มีค่าสูงสุดซึ่งระบุไว้ที่ 94% มีสัญญาส่วนที่จบลงด้วยสถานะ in the money อยู่ที่ 96.5% ทั้งนี้ ในทุกกลุ่มจำนวน 10 ความถี่ที่เกิดขึ้นจริงอยู่ในระดับที่ใกล้เคียงกับค่าที่ระบุไว้ นี่คือหน้าที่หลักของตารางการสอบเทียบ (calibration table) ซึ่งทำหน้าที่เปิดเผยช่องว่างระหว่างสิ่งที่ผู้คาดการณ์กล่าวไว้กับสิ่งที่เกิดขึ้นจริงในแต่ละกลุ่ม แทนที่จะซ่อนความแตกต่างนั้นไว้ภายใต้ค่าเฉลี่ยเพียงค่าเดียว

ตลาดทำผลงานได้ดีกว่าการโยนเหรียญหรือไม่

มาดูที่คะแนนกัน โดยใช้โครงสร้างเดียวกันกับหุ้นชื่อดังหลายตัว โดยวางคะแนน Brier ของแต่ละชื่อไว้ข้างๆ ค่าพื้นฐานที่ร้อยละ 50 ซึ่งคำนวณจากสัญญาชุดเดียวกันทั้งหมด

คำสั่งดึงข้อมูลคะแนน Brier ของความน่าจะเป็นที่ตลาดระบุ จำแนกตามสินทรัพย์อ้างอิง
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
Run this yourself

NVDA ทำคะแนนได้ 0.1122 จากสัญญาที่ประเมินทั้งหมด 28.54 thousand ฉบับ เทียบกับค่าพื้นฐานที่ 0.25 ในชุดข้อมูลเดียวกัน ชื่อที่อ่อนที่สุดในบรรดา 6 ชื่อ คือ SPY ยังคงทำคะแนนได้ที่ 0.1375 ในกรณีนี้ Options ไม่ใช่เรื่องของเวทมนตร์ สัญญาที่อยู่ในสถานะ Deep out of the money มีค่า delta ใกล้เคียง 0.02 และส่วนใหญ่จะหมดอายุโดยไม่มีมูลค่า ซึ่งเป็นการคาดการณ์ที่ทำได้ง่าย และความง่ายนี้ถูกรวมอยู่ในตัวเลขดังกล่าวแล้ว นี่คือเหตุผลหลักที่คะแนน Brier เพียงอย่างเดียวแทบไม่ได้บอกข้อมูลอะไรแก่คุณเลย

ผู้พยากรณ์คนเดียวกันให้คะแนนที่แตกต่างกันในคำถามแต่ละข้อ

ให้แยกวิธีการเดียวกันตามระยะเวลาที่คำถามจะสิ้นสุดลง แล้วคะแนนจะเปลี่ยนแปลงไปตามนั้น

คำสั่งดึงข้อมูลคะแนน Brier ของตลาดจำแนกตามระยะเวลาหมดอายุ สำหรับ SPY
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
Run this yourself

ค่า Delta ของตลาดได้คะแนน 0.1084 ในสัญญาที่มีระยะเวลาเหลือ 1 to 7 days และได้คะแนน 0.1218 ในสัญญาที่มีระยะเวลาเหลือ 121 to 250 days ผู้พยากรณ์คนเดิม ใช้วิธีการเดิม แต่เป็นชุดคำถามที่แตกต่างกันสองชุด ค่าพื้นฐานที่ระดับร้อยละห้าสิบอยู่ที่ 0.25 ในแถวแรกและ 0.25 ในแถวสุดท้าย ซึ่งทำให้ค่านี้เป็นจุดอ้างอิงคงที่เพียงจุดเดียวในทุกช่วงเวลา การเปรียบเทียบระหว่างผู้พยากรณ์สองคนจะต้องทำบนชุดคำถามเดียวกันในช่วงเวลาเดียวกัน มิฉะนั้นจะเป็นการเปรียบเทียบความยากของคำถามแทนที่จะเป็นทักษะของผู้พยากรณ์

เหตุผลที่กฎการให้คะแนนที่เหมาะสมมีความสำคัญ

Mean absolute error ซึ่งเป็นค่าเฉลี่ยของระยะห่างระหว่างความน่าจะเป็นที่คุณคาดการณ์กับผลลัพธ์ที่เกิดขึ้นจริง ฟังดูเป็นทางเลือกที่สมเหตุสมผล แต่กลับให้ผลการประเมินที่แย่ สมมติว่าคุณเชื่ออย่างแท้จริงว่าเหตุการณ์หนึ่งมีโอกาสเกิดขึ้นเจ็ดสิบเปอร์เซ็นต์ หากคุณระบุที่เจ็ดสิบเปอร์เซ็นต์ ค่าความคลาดเคลื่อนสัมบูรณ์ที่คาดหวังของคุณจะเท่ากับ 0.7 x 0.3 + 0.3 x 0.7 = 0.42 แต่หากคุณระบุที่หนึ่งร้อยเปอร์เซ็นต์แทน ค่านี้จะลดลงเหลือ 0.7 x 0 + 0.3 x 1 = 0.30 ภายใต้เกณฑ์ความคลาดเคลื่อนสัมบูรณ์ การระบุตัวเลขตามความจริงกลับทำให้คุณเสียเปรียบ ดังนั้นตัวชี้วัดที่จูงใจให้คุณแสดงความมั่นใจเกินจริงจึงไม่ใช่เครื่องมือวัดผลการคาดการณ์ที่ดี

Brier score ไม่มีช่องโหว่ดังกล่าว หากคุณเชื่อที่เจ็ดสิบเปอร์เซ็นต์และระบุที่เจ็ดสิบเปอร์เซ็นต์ คะแนนที่คาดหวังของคุณจะเท่ากับ 0.7 x 0.09 + 0.3 x 0.49 = 0.21 หากคุณระบุที่หนึ่งร้อยเปอร์เซ็นต์ คะแนนจะเพิ่มขึ้นเป็น 0.30 และหากคุณระบุที่หกสิบเปอร์เซ็นต์ คะแนนจะเพิ่มขึ้นเป็น 0.22 ค่าต่ำสุดจะอยู่ที่ตัวเลขที่คุณเชื่อพอดี กฎที่มีคุณสมบัติดังกล่าวเรียกว่า proper และเป็นเหตุผลที่ Brier กลายเป็นมาตรฐานในการแข่งขันด้านการคาดการณ์

Log score เป็นอีกหนึ่งกฎที่เหมาะสมซึ่งนิยมใช้กันทั่วไป โดยการนำค่า natural log ของความน่าจะเป็นที่คุณกำหนดให้กับผลลัพธ์ที่เกิดขึ้นจริงมากลับเครื่องหมาย การระบุความน่าจะเป็นที่หนึ่งเปอร์เซ็นต์ให้กับเหตุการณ์ที่เกิดขึ้นจริงจะมีต้นทุนอยู่ที่ 4.6 และการระบุที่ศูนย์เปอร์เซ็นต์จะมีต้นทุนเป็นอนันต์ สำหรับการคาดการณ์สิบรายการที่สมมติขึ้น ค่า log score จะอยู่ที่ 0.483 เทียบกับ 0.693 สำหรับเกณฑ์พื้นฐานแบบคงที่ ทั้งนี้ Brier score จะมีค่าอยู่ระหว่าง 0 ถึง 1 ซึ่งอ่านเป็นตารางคะแนนได้เป็นธรรมชาติมากกว่า ในขณะที่ log score ไม่มีขอบเขตจำกัด ซึ่งเหมาะกับการประเมินผลในกรณีที่เหตุการณ์ปลายแถว (tails) มีความเสี่ยงสูง

ความหมายของสัญญาเหตุการณ์ (event contracts) สำหรับคุณ

สัญญาเหตุการณ์ที่จ่ายเงินหนึ่งดอลลาร์หากเหตุการณ์เกิดขึ้น และจ่ายศูนย์ดอลลาร์หากไม่เกิดขึ้น จะซื้อขายกันที่ราคาซึ่งสะท้อนความน่าจะเป็นอยู่แล้ว ราคาหกสิบสองเซนต์ถือเป็นการคาดการณ์ที่ระดับร้อยละหกสิบสอง ก่อนที่จะหักค่า spread และค่าธรรมเนียมออก คู่มือของเราในหัวข้อ ราคาของสัญญาเหตุการณ์ในฐานะความน่าจะเป็น ได้อธิบายการแปลงค่าดังกล่าวไว้ และหัวข้อ วิธีการชำระราคาของสัญญาเหตุการณ์ ได้อธิบายความหมายของคำว่า "เหตุการณ์เกิดขึ้น" ตามนิยามของสัญญา

ราคาดังกล่าวคือการคาดการณ์ที่มีประวัติผลการดำเนินงานสาธารณะและมีวันครบกำหนดชำระราคา ซึ่งทำให้มันกลายเป็นเกณฑ์มาตรฐานที่คุณต้องทำให้ได้ดีกว่าในบันทึกการเทรดของคุณเอง จงให้คะแนนการคาดการณ์ของคุณในคำถามชุดเดียวกันและในช่วงเวลาเดียวกัน เทรดเดอร์ที่มี Brier score สูงกว่าราคาตลาดถือว่าไม่มีความได้เปรียบที่วัดผลได้ในชุดคำถามนั้น ไม่ว่าคำอธิบายประกอบการเทรดจะดูดีเพียงใดก็ตาม การทดสอบแบบเดียวกันนี้สามารถนำไปใช้กับอัตราต่อรองกีฬาเมื่อคุณ หักค่าธรรมเนียม (vig) ออกจากอัตราต่อรองการพนัน และนำไปใช้กับตลาดอัตราดอกเบี้ย ซึ่ง อัตราต่อรองอัตราดอกเบี้ยของ Fed จะมอบความน่าจะเป็นที่มีกำหนดเวลาชัดเจนสำหรับคำถามที่มีวันทราบผลลัพธ์ที่แน่นอน

วิธีที่ตารางเหล่านี้ให้คะแนนตลาด

ค่า Delta มาจากบันทึก option greeks รายวันของแต่ละสัญญา โดยจะรวมเฉพาะสัญญาที่มีปริมาณการซื้อขายในวันที่สังเกตการณ์และมีค่าความผันผวนที่ลู่เข้าหากันเท่านั้น ผลลัพธ์จะอ่านจากราคาปิดของสินทรัพย์อ้างอิงในวันหมดอายุของสัญญา โดย Call option จะถือว่าอยู่ในสถานะ in the money เมื่อราคาปิดอยู่เหนือ strike price และ Put option จะถือว่าอยู่ในสถานะดังกล่าวเมื่อราคาปิดอยู่ต่ำกว่า strike price การชำระราคาจริงจะผ่านการตัดสินใจใช้สิทธิหลังปิดตลาด ดังนั้นสัญญาที่ราคาปิดอยู่ใกล้กับ strike price มาก ๆ อาจมีการชำระราคาที่ต่างจากการคำนวณแบบง่ายนี้ สัญญาแต่ละฉบับในตารางเหล่านี้หมดอายุไปแล้ว และกลุ่มข้อมูลที่มีระยะเวลาไกลออกไปจำเป็นต้องดึงข้อมูลมาจากวันที่สังเกตการณ์ก่อนหน้าในช่วงเวลาดังกล่าว การแตกหุ้น (share split) ที่เกิดขึ้นระหว่างวันที่สังเกตการณ์และวันหมดอายุจะทำให้ strike price และราคาชำระราคาอยู่บนมาตรวัดที่ต่างกัน ซึ่งเป็นอีกเหตุผลหนึ่งที่แต่ละกลุ่มข้อมูลต้องระบุจำนวนตัวอย่างไว้ด้วย

ค่า Delta เป็นการประมาณความน่าจะเป็นแบบ risk-neutral ไม่ใช่ความน่าจะเป็นในโลกความเป็นจริง ทั้งสองค่านี้แตกต่างกันด้วยค่า risk premium ที่แฝงอยู่ในราคา option และตารางการปรับเทียบ (calibration table) คือเครื่องมือที่ใช้วัดความแตกต่างนั้นแทนที่จะอนุมานว่ามันไม่มีอยู่จริง

คำถามที่พบบ่อย

Brier score ที่ต่ำกว่าถือว่าดีกว่าใช่หรือไม่

ใช่ Brier score เป็นการวัดค่าความคลาดเคลื่อน ดังนั้น 0 คือผลลัพธ์ที่สมบูรณ์แบบ และ 1 คือผลลัพธ์ที่แย่ที่สุด ซึ่งเกิดจากการระบุความน่าจะเป็นไว้ที่ร้อยละ 100 ในทุกเหตุการณ์ที่ไม่เกิดขึ้น ค่าใดก็ตามที่ต่ำกว่า 0.25 ถือว่าดีกว่าคะแนนที่คุณจะได้รับจากการตอบว่าร้อยละ 50 ในทุกคำถาม

Brier score ที่ดีควรเป็นเท่าใด

ไม่มีตัวเลขมาตรฐานที่เป็นสากล เนื่องจากคะแนนขึ้นอยู่กับความยากของคำถาม นักพยากรณ์อากาศที่ทำคะแนนได้ 0.10 ในการพยากรณ์ฝนวันพรุ่งนี้ กับนักวิเคราะห์การเมืองที่ทำคะแนนได้ 0.18 ในการเลือกตั้งที่สูสี ไม่สามารถนำมาจัดอันดับเปรียบเทียบกันได้ ควรเปรียบเทียบคะแนนระหว่างนักพยากรณ์ที่ตอบคำถามชุดเดียวกันในช่วงเวลาเดียวกันเท่านั้น

Brier score ที่ 0.25 หมายความว่าอย่างไร

เป็นคะแนนของผู้พยากรณ์ที่ตอบว่าร้อยละ 50 ในทุกคำถาม เนื่องจากความคลาดเคลื่อนที่นำไปยกกำลังสองจะมีค่าเท่ากับ 0.25 ไม่ว่าผลลัพธ์จะเป็นอย่างไร นี่คือเกณฑ์มาตรฐานที่ไม่มีข้อมูล (no-information benchmark) สำหรับชุดคำถามแบบใช่หรือไม่ใช่ อย่างไรก็ตาม หากชุดคำถามมีความเอนเอียง จำเป็นต้องใช้ base rate เป็นเกณฑ์มาตรฐานแทน

Brier score แตกต่างจาก log score อย่างไร

ทั้งสองเป็นกฎการให้คะแนนที่เหมาะสม (proper scoring rules) ซึ่งหมายความว่าแต่ละค่าจะถูกทำให้ต่ำที่สุดเมื่อคุณระบุความน่าจะเป็นที่คุณเชื่อจริง ๆ Brier score จะนำความคลาดเคลื่อนไปยกกำลังสองและมีค่าอยู่ระหว่าง 0 ถึง 1 ส่วน log score จะลงโทษความคลาดเคลื่อนที่เกิดจากความมั่นใจที่ผิดพลาดอย่างรุนแรงกว่ามาก และการระบุความน่าจะเป็นที่ร้อยละ 0 ในเหตุการณ์ที่เกิดขึ้นจริงจะมีค่าใช้จ่ายเป็นอนันต์

Option delta สามารถอ่านเป็นความน่าจะเป็นได้หรือไม่

ค่าสัมบูรณ์ของ delta มีค่าใกล้เคียงกับความน่าจะเป็นที่ตลาดคาดการณ์ไว้ว่า option นั้นจะจบลงในสถานะ in the money และเป็นความน่าจะเป็นแบบ risk-neutral ไม่ใช่ความน่าจะเป็นในโลกความเป็นจริง แผงข้อมูลด้านบนประเมินค่านี้ในฐานะการพยากรณ์ โดยแกนหนึ่งคือ delta ที่ระบุไว้ และอีกแกนหนึ่งคือสัดส่วนของสัญญาเหล่านั้นที่จบลงในสถานะ in the money จริง


แผงข้อมูลทุกชุดที่นี่มาพร้อมกับคำสั่ง SQL ที่ใช้จริงด้านล่าง เพื่อให้สามารถตรวจสอบการให้คะแนนได้ทีละบรรทัด หากต้องการให้คะแนน log score ของการพยากรณ์ของคุณเทียบกับตลาดในคำถามชุดเดียวกัน สามารถเรียกดูตัวเลขดังกล่าวเป็นภาษาอังกฤษแบบปกติได้ที่ Strasmore terminal

#prediction markets#forecasting#brier score#calibration#event contracts