Strasmore Research

วิธีเลือก Risk-free rate ที่ถูกต้องสำหรับ Sharpe ratio

อัตราผลตอบแทนที่ปราศจากความเสี่ยงใน Sharpe ratio เปลี่ยนแปลงตามเวลา การจับคู่ผลตอบแทนตั๋วเงินให้ตรงกับความถี่ของข้อมูลมีความสำคัญ

อัตราผลตอบแทนที่ปราศจากความเสี่ยง (risk-free rate) ใน Sharpe ratio คือผลตอบแทนที่คุณสามารถได้รับในช่วงเวลาเดียวกันโดยไม่ต้องแบกรับความเสี่ยงที่คุณกำลังประเมินอยู่ อัตรานี้เป็นชุดข้อมูลที่มีค่าหนึ่งค่าต่อหนึ่งงวดการคำนวณ โดยระบุเป็นสกุลเงินเดียวกับผลตอบแทน คุณต้องปรับความถี่ของอัตรานี้ให้ตรงกับความถี่ของผลตอบแทนและนำมาหักลบกันทีละงวด แล้วจึงปรับเป็นรายปี (annualize) ในขั้นตอนสุดท้ายเพียงครั้งเดียว

การข้ามขั้นตอนดังกล่าวเป็นจุดที่ Sharpe ratio ที่เผยแพร่กันส่วนใหญ่ผิดพลาด การหยิบตัวเลขเพียงตัวเดียวจากประวัติผลตอบแทนยี่สิบปี ซึ่งมักจะเป็นอัตราดอกเบี้ยตั๋วเงินคลัง (Treasury bill) ในสัปดาห์ปัจจุบัน มาใช้คำนวณนั้น เท่ากับเป็นการกำหนดเกณฑ์มาตรฐาน (hurdle) ให้ปี 2009 เท่ากับปี 2024 คู่มือ Sharpe ratio ของเรา อธิบายถึงสิ่งที่อัตราส่วนนี้วัดผล ส่วนหน้านี้จะกล่าวถึงข้อมูลนำเข้าที่แทบไม่มีใครบันทึกไว้

อัตราผลตอบแทนที่ปราศจากความเสี่ยงไม่ใช่ค่าคงที่

Sharpe ratio ที่วัดผลตลอดระยะเวลายี่สิบปีนั้นครอบคลุมประวัติอัตราดอกเบี้ยที่เปลี่ยนแปลงไป แผงข้อมูลด้านล่างใช้ตั๋วเงินคลังอายุสามเดือนและสรุปผลแต่ละปีปฏิทินเป็นค่าเฉลี่ยและช่วงความผันผวนของอัตราดอกเบี้ยนั้น

คำสั่งดึงข้อมูลอัตราผลตอบแทนตั๋วเงินคลัง 3 เดือน จำแนกตามปีปฏิทิน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    toString(toYear(date))                  AS year,
    round(avg(toFloat64(yield_3_month)), 2) AS avg_bill_pct,
    round(min(toFloat64(yield_3_month)), 2) AS low_bill_pct,
    round(max(toFloat64(yield_3_month)), 2) AS high_bill_pct
FROM global_markets.treasury_yields
WHERE date >= '2005-01-01'
  AND yield_3_month IS NOT NULL
GROUP BY year
ORDER BY year
Run this yourself

ค่าเฉลี่ยรายปีอยู่ที่ 3.22% ในปี 2005 และ 3.74% ในปี 2026 ตลอดระยะเวลา 22 ปีปฏิทิน เส้นทางระหว่างตัวเลขสองค่านี้คือส่วนที่มีความสำคัญ เส้นกราฟปรับตัวลดลงสู่ระดับต่ำสุด คงอยู่ที่ระดับนั้นเกือบหนึ่งทศวรรษ แล้วจึงปรับตัวสูงขึ้นอีกครั้ง คอลัมน์ค่าต่ำสุดและสูงสุดแสดงให้เห็นว่าอัตราดอกเบี้ยเคลื่อนไหวไปไกลเพียงใดภายในปีเดียว ซึ่งเป็นเหตุผลว่าทำไมแม้แต่ Sharpe ratio รายปีก็ยังต้องการชุดข้อมูลที่สอดคล้องกันมากกว่าการใช้ตัวเลขเพียงค่าเดียว

อัตราผลตอบแทนที่ปราศจากความเสี่ยงแบบใดที่ควรใช้ใน Sharpe ratio

คุณสมบัติสี่ประการเป็นตัวกำหนดการเลือกใช้

  1. อายุคงเหลือสั้น อัตราดอกเบี้ยต้องมีความแน่นอนเกือบสมบูรณ์ในช่วงเวลาที่วัดผล ตั๋วเงินคลังอายุสามเดือนเหมาะสมสำหรับการคำนวณรายเดือน ในขณะที่พันธบัตรอายุสิบปีไม่เหมาะสม เนื่องจากราคาของพันธบัตรจะเคลื่อนไหวระหว่างเดือนที่คุณกำลังวัดผล
  2. สกุลเงินเดียวกับผลตอบแทน กลยุทธ์ที่ระบุเป็นสกุลเงินยูโรต้องประเมินเทียบกับตั๋วเงินคลังสกุลยูโร
  3. ความถี่เดียวกับผลตอบแทน อัตราผลตอบแทนของตั๋วเงินคลังจะระบุเป็นอัตราต่อปี ดังนั้นต้องแปลงอัตราต่อปีให้เป็นความถี่ที่ต่ำลงก่อนนำไปคำนวณกับผลตอบแทนรายเดือน
  4. นิยามผลตอบแทนที่เทียบเคียงกันได้ทั้งสองฝั่ง ผลตอบแทนของตั๋วเงินคลังคือผลตอบแทนทั้งหมด ดังนั้นผลตอบแทนของกลยุทธ์ที่ไม่รวมเงินปันผลจึงไม่สามารถนำมาเปรียบเทียบกันบนฐานเดียวกันได้ Price return เทียบกับ Total return อธิบายถึงช่องว่างดังกล่าว

การแปลงค่าในข้อสามมีธรรมเนียมปฏิบัติที่ใช้กันอยู่สองแบบ แบบแรกคือการหารด้วยสิบสองโดยตรง (Simple division) แบบที่สองคือการทบต้น (Compounding) โดยใช้รากที่สิบสองของหนึ่งบวกด้วยอัตราต่อปี สำหรับตั๋วเงินคลังที่สมมติว่าให้ผลตอบแทน 5% วิธีการเหล่านี้จะได้ค่า 0.4167% และ 0.4074% ต่อเดือน ซึ่งต่างกันประมาณหนึ่ง basis point และจะเกิดขึ้นซ้ำในทุกเดือนของกลุ่มตัวอย่าง แผงข้อมูลที่นี่ใช้วิธีทบต้น หากคุณสนใจผลตอบแทนจากตั๋วเงินคลังในฐานะสินทรัพย์ที่ถือครองมากกว่าเป็นเกณฑ์มาตรฐาน Dividend yield เทียบกับ Treasury yields และ แหล่งพักเงินสด ได้ครอบคลุมเนื้อหาในส่วนนี้

วิธีการสร้างชุดข้อมูลผลตอบแทนส่วนเกินรายเดือน

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

คำสั่งดึงข้อมูลผลตอบแทนรายเดือน อัตราปลอดความเสี่ยงรายเดือน และส่วนต่างผลตอบแทน ปี 2020 ถึง 2024
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    monthly_px AS
    (
        SELECT
            toStartOfMonth(date)           AS m,
            argMax(toFloat64(close), date) AS month_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2019-12-01'
          AND date <  '2025-01-01'
        GROUP BY m
    ),
    prior_px AS
    (
        SELECT
            addMonths(m, 1) AS m,
            month_close     AS prev_close
        FROM monthly_px
    ),
    monthly_rf AS
    (
        SELECT
            toStartOfMonth(date)                                       AS m,
            pow(1 + avg(toFloat64(yield_3_month)) / 100, 1.0 / 12) - 1 AS rf_month
        FROM global_markets.treasury_yields
        WHERE date >= '2019-12-01'
          AND date <  '2025-01-01'
          AND yield_3_month IS NOT NULL
        GROUP BY m
    )
SELECT
    toString(cur.m)                                                      AS month,
    round(100 * (cur.month_close / prv.prev_close - 1), 2)               AS spy_ret_pct,
    round(100 * rf.rf_month, 3)                                          AS rf_pct,
    round(100 * (cur.month_close / prv.prev_close - 1 - rf.rf_month), 2) AS excess_pct
FROM monthly_px AS cur
INNER JOIN prior_px AS prv ON prv.m = cur.m
INNER JOIN monthly_rf AS rf ON rf.m = cur.m
ORDER BY cur.m
Run this yourself

ข้อมูลเหล่านี้คือราคาปิดของ SPY ดังนั้นคอลัมน์ผลตอบแทนจึงเป็น price return ที่ไม่รวมเงินปันผล คอลัมน์อัตราที่ปราศจากความเสี่ยงเริ่มต้นที่ 0.128% สำหรับเดือนแรกที่แสดงและสิ้นสุดที่ 0.359% เมื่อเทียบกับเดือนที่หุ้นมีความผันผวนหลายเปอร์เซ็นต์ แถบอัตราที่ปราศจากความเสี่ยงดูเหมือนจะเป็นเพียงการปัดเศษ แต่ตลอดระยะเวลา 60 เดือนของการหักลบ นี่คือความแตกต่างทั้งหมดระหว่าง Sharpe ratio สองค่าที่อ้างว่าวัดผลสิ่งเดียวกัน

หักลบก่อน แล้วจึงปรับเป็นรายปี

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

คำสั่งดึงข้อมูลส่วนชดเชยความเสี่ยงแบบปรับเป็นรายปี: การหักลบรายเดือนเทียบกับการปรับเป็นรายปีก่อนหักลบ
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    monthly_px AS
    (
        SELECT
            toStartOfMonth(date)           AS m,
            argMax(toFloat64(close), date) AS month_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2004-12-01'
          AND date <  '2025-01-01'
        GROUP BY m
    ),
    prior_px AS
    (
        SELECT
            addMonths(m, 1) AS m,
            month_close     AS prev_close
        FROM monthly_px
    ),
    monthly_rf AS
    (
        SELECT
            toStartOfMonth(date)                                       AS m,
            pow(1 + avg(toFloat64(yield_3_month)) / 100, 1.0 / 12) - 1 AS rf_month
        FROM global_markets.treasury_yields
        WHERE date >= '2004-12-01'
          AND date <  '2025-01-01'
          AND yield_3_month IS NOT NULL
        GROUP BY m
    ),
    excess AS
    (
        SELECT
            cur.m                                             AS m,
            cur.month_close / prv.prev_close - 1              AS ret,
            rf.rf_month                                       AS rf_month,
            cur.month_close / prv.prev_close - 1 - rf.rf_month AS exc
        FROM monthly_px AS cur
        INNER JOIN prior_px AS prv ON prv.m = cur.m
        INNER JOIN monthly_rf AS rf ON rf.m = cur.m
    )
SELECT
    concat(toString(intDiv(count(), 12)), '-year')            AS horizon,
    round(100 * (exp(12 * avg(log(1 + exc))) - 1), 2)         AS excess_first_pct,
    round(100 * ((exp(12 * avg(log(1 + ret))) - 1)
               - (exp(12 * avg(log(1 + rf_month))) - 1)), 2)  AS annualize_first_pct,
    round(100 * ((exp(12 * avg(log(1 + ret))) - 1)
               - (exp(12 * avg(log(1 + rf_month))) - 1)
               - (exp(12 * avg(log(1 + exc))) - 1)), 3)       AS gap_pct
FROM excess
CROSS JOIN (SELECT arrayJoin([1, 3, 5, 10, 20]) AS years) AS hz
WHERE m >= subtractYears(toDate('2025-01-01'), years)
GROUP BY years
ORDER BY years
Run this yourself

ในช่วงเวลา 20-year คำตอบแบบหักลบส่วนเกินก่อนคือ 6.49% ต่อปี เทียบกับ 6.59% สำหรับอีกวิธีหนึ่ง ซึ่งต่างกัน 0.099 เปอร์เซ็นต์ ในช่วงเวลา 1-year การคำนวณทั้งสองแบบให้ผลต่างกัน 0.814 จุด ตัวเลขที่ปรับเป็นรายปีตั้งแต่วันแรกจะแสดงค่าสูงกว่าแบบหักลบส่วนเกินก่อนในทุกช่วงเวลาที่นี่ สิ่งที่แยกทั้งสองวิธีออกจากกันคือ cross term: การทบต้นชุดข้อมูลผลตอบแทนให้เป็นตัวเลขรายปีรวมถึงการได้รับอัตราดอกเบี้ยตั๋วเงินคลังทับซ้อนอยู่บน risk premium เอง และการนำอัตราตั๋วเงินคลังที่ปรับเป็นรายปีมาหักลบในภายหลังไม่สามารถดึงส่วนนั้นออกไปได้ cross term นี้จะแปรผันตามผลคูณของตัวเลขที่ปรับเป็นรายปีทั้งสองค่า ดังนั้นส่วนต่างจะกว้างที่สุดเมื่อตั๋วเงินคลังให้ผลตอบแทนสูง

การปรับเป็นรายปีมีอีกทางเลือกหนึ่ง คือการปรับแบบเลขคณิต (Arithmetic annualization) ซึ่งเป็นการคูณค่าเฉลี่ยส่วนเกินรายเดือนด้วยสิบสอง และการปรับแบบเรขาคณิต (Geometric annualization) ซึ่งเป็นการทบต้น: คืออัตราคงที่รายปีที่ให้ผลลัพธ์สะสมเท่าเดิม สมมติช่วงเวลาสองงวดที่ได้ +50% ตามด้วย -33.3% ซึ่งจบลงที่จุดเริ่มต้นพอดี ค่าเฉลี่ยเลขคณิตจะเท่ากับ +8.35% ต่องวด และค่าเฉลี่ยเรขาคณิตจะเท่ากับศูนย์ แผงข้อมูลที่นี่ใช้วิธีทบต้น ข้อควรจำประการหนึ่งคือ ภายใต้การปรับแบบเลขคณิต สิบสองคูณด้วยผลตอบแทนเฉลี่ยลบด้วยสิบสองคูณด้วยอัตราตั๋วเงินคลังเฉลี่ย จะมีค่าเท่ากับสิบสองคูณด้วยส่วนเกินเฉลี่ยในเชิงพีชคณิต ภายใต้ธรรมเนียมปฏิบัตินี้ ลำดับการหักลบจะไม่ส่งผลต่อตัวเศษ แต่ตัวส่วนจะยังคงเปลี่ยนแปลง เนื่องจากส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนส่วนเกินจะแยกออกจากส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนดิบเมื่ออัตราดอกเบี้ยมีการเคลื่อนไหว

ต้นทุนของการใช้อัตราคงที่เพียงค่าเดียว

ทางลัดที่ใช้กันทั่วไปคือการนำอัตราผลตอบแทนตั๋วเงินคลังปัจจุบันมาหักออกจากทุกช่วงเวลาในประวัติข้อมูล แผงข้อมูลด้านล่างแสดง Sharpe ratio ทั้งสองวิธีตลอดห้าช่วงเวลาที่สิ้นสุดในวันที่เดียวกัน: ครั้งแรกเทียบกับชุดข้อมูลรายเดือนที่สอดคล้องกัน และครั้งที่สองเทียบกับอัตราตั๋วเงินคลังที่มีผล ณ สิ้นช่วงเวลา

คำสั่งดึงข้อมูลอัตราส่วน Sharpe ของชุดข้อมูลอัตราดอกเบี้ยที่จับคู่กันเทียบกับอัตราดอกเบี้ยคงที่
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    monthly_px AS
    (
        SELECT
            toStartOfMonth(date)           AS m,
            argMax(toFloat64(close), date) AS month_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2004-12-01'
          AND date <  '2025-01-01'
        GROUP BY m
    ),
    prior_px AS
    (
        SELECT
            addMonths(m, 1) AS m,
            month_close     AS prev_close
        FROM monthly_px
    ),
    monthly_rf AS
    (
        SELECT
            toStartOfMonth(date)                                       AS m,
            pow(1 + avg(toFloat64(yield_3_month)) / 100, 1.0 / 12) - 1 AS rf_month
        FROM global_markets.treasury_yields
        WHERE date >= '2004-12-01'
          AND date <  '2025-01-01'
          AND yield_3_month IS NOT NULL
        GROUP BY m
    ),
    excess AS
    (
        SELECT
            cur.m                                AS m,
            cur.month_close / prv.prev_close - 1 AS ret,
            rf.rf_month                          AS rf_month
        FROM monthly_px AS cur
        INNER JOIN prior_px AS prv ON prv.m = cur.m
        INNER JOIN monthly_rf AS rf ON rf.m = cur.m
    )
SELECT
    concat(toString(intDiv(count(), 12)), '-year')                             AS horizon,
    round(sqrt(12) * avg(ret - rf_month) / stddevSamp(ret - rf_month), 2)      AS sharpe_matched_rf,
    round(sqrt(12) * avg(ret - rf_fixed) / stddevSamp(ret - rf_fixed), 2)      AS sharpe_fixed_rf,
    round(abs(sqrt(12) * avg(ret - rf_month) / stddevSamp(ret - rf_month)
            - sqrt(12) * avg(ret - rf_fixed) / stddevSamp(ret - rf_fixed)), 2) AS abs_gap
FROM excess
CROSS JOIN
(
    SELECT pow(1 + avg(toFloat64(yield_3_month)) / 100, 1.0 / 12) - 1 AS rf_fixed
    FROM global_markets.treasury_yields
    WHERE date >= '2024-12-01'
      AND date <  '2025-01-01'
      AND yield_3_month IS NOT NULL
) AS fixed_rate
CROSS JOIN (SELECT arrayJoin([1, 3, 5, 10, 20]) AS years) AS hz
WHERE m >= subtractYears(toDate('2025-01-01'), years)
GROUP BY years
ORDER BY years
Run this yourself

ในช่วงเวลา 1-year ค่าทั้งสองต่างกัน 0.07 ตลอดสิบสองเดือน อัตราคงที่มีโอกาสเบี่ยงเบนจากค่าเฉลี่ยของช่วงเวลานั้นเพียงเล็กน้อย ในช่วงเวลา 20-year ค่าทั้งสองต่างกัน 0.18 โดยได้ 0.49 จากชุดข้อมูลที่สอดคล้องกัน เทียบกับ 0.32 จากอัตราคงที่ ความผิดพลาดจะติดตามระยะห่างระหว่างอัตราที่คุณเลือกกับอัตราเฉลี่ยที่เกิดขึ้นจริง และระยะห่างนั้นมีโอกาสกว้างขึ้นเมื่อช่วงเวลาคำนวณยาวนานขึ้น สิ่งใดก็ตามที่คำนวณต่อจากนี้จะได้รับผลกระทบดังกล่าว และ การกำหนดเป้าหมายความผันผวนและการจัดสรรขนาดสถานะ ก็ใช้ข้อมูลนำเข้าประเภทนี้โดยตรง

กับดักทางสกุลเงิน

กลยุทธ์ที่สร้างผลตอบแทนในสกุลเงินหนึ่งและถูกประเมินเทียบกับตั๋วเงินคลังของอีกสกุลเงินหนึ่งจะได้ตัวเลขที่ไม่มีความหมายในทั้งสองสกุลเงิน ให้คำนวณผลตอบแทนส่วนเกินภายในสกุลเงินเดียวกัน: ผลตอบแทนยูโรเทียบกับตั๋วเงินคลังยูโร ผลตอบแทนเยนเทียบกับตั๋วเงินคลังเยน กลยุทธ์ที่ป้องกันความเสี่ยงด้านค่าเงิน (hedged) มีกับดักอีกประการหนึ่ง การป้องกันความเสี่ยงด้านค่าเงินจะอ้างอิงราคาจาก forward และ forward points จะอยู่ใกล้กับส่วนต่างอัตราดอกเบี้ยระหว่างสองสกุลเงิน ซึ่งเป็นการนำส่วนหนึ่งของอัตราดอกเบี้ยในประเทศเข้าไปอยู่ในผลตอบแทนต่างประเทศที่ป้องกันความเสี่ยงแล้ว การนำตั๋วเงินคลังต่างประเทศมาหักลบเพิ่มอีกเป็นการคิดอัตราดอกเบี้ยซ้ำซ้อน ให้ระบุสกุลเงินกำกับไว้ข้างอัตราดอกเบี้ยเพื่อขจัดความคลุมเครือ

เผยแพร่อัตราดอกเบี้ยควบคู่ไปกับอัตราส่วน

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

หมายเหตุข้อมูลและความสามารถในการทำซ้ำ

ชุดข้อมูลอัตราดอกเบี้ยในทุกแผงคือตั๋วเงินคลังอายุสามเดือนจากเส้นอัตราผลตอบแทนตั๋วเงินคลังรายวัน (daily Treasury yield curve) ซึ่งหาค่าเฉลี่ยภายในแต่ละเดือนปฏิทิน และแปลงเป็นอัตรารายเดือนโดยใช้รากที่สิบสองของหนึ่งบวกด้วยอัตราต่อปี ผลตอบแทนคือราคาปิดสิ้นเดือนของ SPY เป็น price return เท่านั้น ไม่รวมเงินปันผล อัตราส่วนใช้ส่วนเบี่ยงเบนมาตรฐานของกลุ่มตัวอย่างของผลตอบแทนส่วนเกินรายเดือนและใช้รากที่สองของสิบสองสำหรับการปรับเป็นรายปี แผงข้อมูลสองแผงสุดท้ายใช้ช่วงเวลาที่สิ้นสุดในวันที่เดียวกัน และคอลัมน์อัตราคงที่ใช้ค่าเฉลี่ยตั๋วเงินคลังในเดือนสุดท้ายของช่วงเวลานั้น ตัวเลขทุกตัวในเนื้อหาข้างต้นมาจากแผงข้อมูลที่อยู่ติดกัน

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

ฉันควรใช้อัตราผลตอบแทนที่ปราศจากความเสี่ยงใดใน Sharpe ratio?

ตั๋วเงินคลังระยะสั้นของรัฐบาลในสกุลเงินเดียวกับผลตอบแทน โดยแปลงเป็นความถี่เดียวกับผลตอบแทน สำหรับผลตอบแทน USD รายเดือน หมายถึงตั๋วเงินคลังอายุหนึ่งเดือนหรือสามเดือน ตราสารที่มีอายุคงเหลือยาวนานกว่าจะมีความเสี่ยงด้านราคาในช่วงเวลาที่วัดผล ซึ่งทำให้ไม่เหมาะสมที่จะนำมาใช้เป็นส่วนประกอบที่ปราศจากความเสี่ยง

ฉันสามารถนำอัตราผลตอบแทนตั๋วเงินคลังของวันนี้มาหักออกจากประวัติผลตอบแทนระยะยาวได้หรือไม่?

นั่นเป็นความผิดพลาดที่พบบ่อยที่สุดใน Sharpe ratio ที่เผยแพร่กัน ตลอดช่วงเวลา 20-year ข้างต้น อัตราคงที่ ณ สิ้นช่วงเวลาและชุดข้อมูลรายเดือนที่สอดคล้องกันให้ผลลัพธ์ต่างกัน 0.18 บนผลตอบแทนชุดเดียวกัน

ฉันต้องปรับอัตราผลตอบแทนที่ปราศจากความเสี่ยงเป็นรายปีก่อนนำมาหักลบหรือไม่?

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

อัตราผลตอบแทนที่ปราศจากความเสี่ยงส่งผลต่อ Sharpe ratio มากน้อยเพียงใด?

ประมาณการเปลี่ยนแปลงของอัตราดอกเบี้ยหารด้วยความผันผวนรายปี สำหรับกลยุทธ์สมมติที่มีความผันผวนรายปี 15% ความแตกต่างของอัตราดอกเบี้ยที่สมมติไว้ 4% จะทำให้ค่าอัตราส่วนเปลี่ยนไปประมาณ 0.27 ซึ่งเป็นระยะห่างระหว่างผลการดำเนินงานทั่วไปกับผลการดำเนินงานที่โดดเด่น

ความแตกต่างระหว่างการปรับเป็นรายปีแบบเลขคณิตและแบบเรขาคณิตคืออะไร?

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


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

#sharpe ratio#risk-free rate#excess returns#annualization#performance measurement