COUPDAYBS คำนวณจำนวนวันตั้งแต่วันเริ่มต้นงวดดอกเบี้ยจนถึงวันที่ซื้อขายพันธบัตร (settlement date) ใช้สำหรับคำนวณดอกเบี้ยค้างรับในการซื้อขายพันธบัตร
=COUPDAYBS(settlement, maturity, frequency, [basis])
=COUPDAYBS(settlement, maturity, frequency, [basis])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| settlement | Date | Yes | วันที่ซื้อขายพันธบัตร (วันที่ผู้ซื้อรับมอบพันธบัตร) ต้องเป็นวันที่หลังจากวันออกพันธบัตร | |
| maturity | Date | Yes | วันครบกำหนดของพันธบัตร ต้องเป็นวันที่หลังจาก settlement | |
| frequency | Number | Yes | ความถี่ในการจ่ายดอกเบี้ยต่อปี: 1 = จ่ายปีละครั้ง, 2 = จ่ายทุก 6 เดือน, 4 = จ่ายทุก 3 เดือน | |
| basis | Number | Optional | 0 | วิธีนับวันในปี: 0 หรือไม่ระบุ = US (NASD) 30/360, 1 = Actual/actual, 2 = Actual/360, 3 = Actual/365, 4 = European 30/360 |
COUPDAYBS(DATE(2024,1,25), DATE(2025,11,15), 2, 1)=COUPDAYBS(DATE(2024,1,25), DATE(2025,11,15), 2, 1)
71
COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 0) =COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 1)=COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 0)
=COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 1)
75 (basis 0: 30/360)
74 (basis 1: Actual/actual)
สมมติ: A2 = DATE(2024,4,10) (วันซื้อ) B2 = DATE(2027,12,31) (วันครบกำหนด) C2 = 2 (จ่ายทุก 6 เดือน) D2 = 100000 (มูลค่าพันธบัตร) E2 = 5% (อัตราดอกเบี้ยต่อปี) ดอก…สมมติ:
A2 = DATE(2024,4,10) (วันซื้อ)
B2 = DATE(2027,12,31) (วันครบกำหนด)
C2 = 2 (จ่ายทุก 6 เดือน)
D2 = 100000 (มูลค่าพันธบัตร)
E2 = 5% (อัตราดอกเบี้ยต่อปี)
ดอกเบี้ยค้างรับ = (COUPDAYBS(A2,B2,C2,1) / COUPDAYS(A2,B2,C2,1)) * (D2 * E2 / C2)
=COUPDAYBS(A2,B2,C2,1) / COUPDAYS(A2,B2,C2,1) * 2500
สัดส่วนดอกเบี้ยที่ผู้ขายมีสิทธิ์ได้รับ
COUPDAYBS(DATE(2024,2,20), DATE(2029,12,31), 4, 3)=COUPDAYBS(DATE(2024,2,20), DATE(2029,12,31), 4, 3)
51
COUPDAYBS = วันจากต้นงวดถึงวันซื้อ, COUPDAYSNC = วันจากวันซื้อถึงวันจ่ายดอกเบี้ยครั้งถัดไป, COUPDAYS = จำนวนวันทั้งหมดในงวดดอกเบี้ย โดย COUPDAYBS + COUPDAYSNC = COUPDAYS
Excel ใช้ maturity เพื่อหางวดดอกเบี้ยย้อนหลังจากวันครบกำหนด ถ้าไม่มี maturity Excel จะไม่รู้ว่างวดเริ่มวันไหน โดยเฉพาะพันธบัตรที่วันครบกำหนดไม่ตรงกับวันจ่ายดอกเบี้ย
ตลาดพันธบัตรไทยส่วนใหญ่ใช้ basis 3 (Actual/365) สำหรับพันธบัตรรัฐบาลและพันธบัตรองค์กร ส่วนตลาดต่างประเทศอาจใช้ basis 1 (Actual/actual) หรือ basis 0 (30/360) ขึ้นอยู่กับสกุลเงินและประเภทพันธบัตร
COUPDAYBS ใช้ได้กับ Excel 2007, 2010, 2013, 2016, 2019, Excel 365 และ Excel for Mac ทุกเวอร์ชันที่รองรับฟังก์ชันทางการเงิน
ใช่ ถ้าซื้อพันธบัตรตรงวันจ่ายดอกเบี้ย COUPDAYBS จะให้ผลลัพธ์เป็น 0 เพราะยังไม่มีดอกเบี้ยค้างรับในงวดใหม่ ผู้ขายจะได้รับดอกเบี้ยทั้งหมดของงวดที่แล้ว
COUPDAYBS เป็นฟังก์ชันสำหรับคำนวณจำนวนวันตั้งแต่วันเริ่มต้นของงวดดอกเบี้ย (coupon period) จนถึงวันที่ซื้อขายพันธบัตร (settlement date)
ใช้บ่อยในตลาดพันธบัตร เพราะเวลาซื้อพันธบัตรระหว่างงวด ผู้ขายมีสิทธิ์ได้รับดอกเบี้ยสะสมตั้งแต่วันจ่ายดอกเบี้ยครั้งล่าสุด ถึงวันที่โอนกรรมสิทธิ์ COUPDAYBS จะบอกว่ามีกี่วันที่ผู้ขายถือพันธบัตรไว้ในงวดนั้น
ตัวอย่างเช่น พันธบัตรจ่ายดอกเบี้ยทุก 6 เดือน (1 ม.ค. และ 1 ก.ค.) ถ้าซื้อวันที่ 25 ม.ค. COUPDAYBS จะคำนวณว่ามี 25 วัน (จาก 1 ม.ค. ถึง 25 ม.ค.) ที่ผู้ขายมีสิทธิ์ได้ดอกเบี้ย
ที่ต้องเข้าใจคือ COUPDAYBS นับจาก “วันเริ่มงวด” ไม่ใช่วันจ่ายดอกเบี้ยล่าสุด Excel จะหางวดย้อนหลังให้อัตโนมัติตาม frequency ที่ระบุ
ส่วนตัวผมใช้ฟังก์ชันนี้ร่วมกับ COUPDAYS เพื่อคำนวณสัดส่วนดอกเบี้ยค้างรับ = (COUPDAYBS/COUPDAYS) × ดอกเบี้ยต่องวด เป็นเทคนิคมาตรฐานในการคำนวณราคา Dirty Price ของพันธบัตร