Định giá trái phiếu có kỳ trả lãi đầu tiên bất thường luôn là nỗi đau đầu. Tôi từng mất hơn 30 phút để tính toán thủ công một trái phiếu phát hành giữa kỳ, tra công thức từ sách giáo khoa tài chính, nhập từng biến số vào máy tính. Kết quả thường sai lệch do tính nhầm số ngày hoặc làm tròn sai. Hàm ODDFPRICE giải quyết vấn đề này trong vài giây.
ODDFPRICE Là Gì Và Khi Nào Cần Dùng
ODDFPRICE tính giá trị trên mỗi 100 đô la mệnh giá của chứng khoán có kỳ đầu tiên lẻ. Kỳ đầu lẻ xảy ra khi trái phiếu được phát hành giữa hai ngày trả lãi thông thường, khiến khoảng thời gian từ phát hành đến trả lãi đầu tiên ngắn hơn hoặc dài hơn các kỳ sau.
Ví dụ thực tế: Một trái phiếu trả lãi 6 tháng một lần, phát hành ngày 15 tháng 3, nhưng ngày trả lãi đầu tiên rơi vào 30 tháng 6. Kỳ đầu tiên chỉ có 3.5 tháng thay vì 6 tháng tiêu chuẩn. Đây chính là kỳ lẻ.
Hàm PRICE thông thường không xử lý được tình huống này. ODDFPRICE áp dụng công thức điều chỉnh để tính chính xác giá trị hiện tại của dòng tiền bất thường này.
Cú Pháp Và 9 Tham Số Bạn Cần Biết
Công thức đầy đủ của ODDFPRICE:
=ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])
Các tham số bắt buộc:
- settlement – Ngày thanh toán (ngày giao dịch hoàn tất)
- maturity – Ngày đáo hạn của trái phiếu
- issue – Ngày phát hành trái phiếu
- first_coupon – Ngày trả lãi đầu tiên
- rate – Lãi suất danh nghĩa hàng năm (coupon rate)
- yld – Lợi suất kỳ vọng hàng năm (yield)
- redemption – Giá trị hoàn trả trên 100 đô la mệnh giá (thường là 100)
- frequency – Tần suất trả lãi: 1 (hàng năm), 2 (nửa năm), 4 (quý)
Tham số tùy chọn:
- [basis] – Phương pháp đếm ngày:
- 0 hoặc bỏ trống: US 30/360 (mặc định)
- 1: Actual/actual
- 2: Actual/360
- 3: Actual/365
- 4: European 30/360
Ví Dụ Thực Tế: Tính Giá Trái Phiếu Chính Phủ
Giả sử bạn cần định giá trái phiếu có thông tin sau:
- Ngày phát hành: 1/12/2024
- Ngày thanh toán: 1/2/2025
- Ngày trả lãi đầu tiên: 31/3/2025
- Ngày đáo hạn: 31/3/2029
- Lãi suất coupon: 5.5% năm
- Lợi suất kỳ vọng: 6% năm
- Giá trị hoàn trả: 100
- Tần suất trả lãi: Nửa năm (2 lần/năm)
- Cơ sở đếm ngày: US 30/360
Bước 1: Nhập ngày tháng chính xác
Excel yêu cầu ngày ở dạng serial number. Cách tốt nhất là dùng hàm DATE hoặc nhập trực tiếp theo định dạng dd/mm/yyyy. Đặt dữ liệu vào các ô:
- A2: 1/2/2025 (settlement)
- A3: 31/3/2029 (maturity)
- A4: 1/12/2024 (issue)
- A5: 31/3/2025 (first_coupon)
- A6: 0.055 (rate 5.5%)
- A7: 0.06 (yield 6%)
- A8: 100 (redemption)
- A9: 2 (frequency)
Bước 2: Viết công thức ODDFPRICE
Trong ô B2, nhập công thức:
=ODDFPRICE(A2, A3, A4, A5, A6, A7, A8, A9)
Hoặc viết trực tiếp với hàm DATE:
=ODDFPRICE(DATE(2025,2,1), DATE(2029,3,31), DATE(2024,12,1), DATE(2025,3,31), 0.055, 0.06, 100, 2)
Kết quả: 98.44 đô la trên 100 đô la mệnh giá.
Điều này có nghĩa với giá 98.44 đô la, bạn sẽ nhận được lợi suất 6% kỳ vọng cho trái phiếu này. Giá thấp hơn mệnh giá vì yield (6%) cao hơn coupon rate (5.5%).
3 Lỗi Phổ Biến Và Cách Khắc Phục Ngay
Lỗi #VALUE! – Ngày Không Hợp Lệ
Nguyên nhân: Excel không nhận diện được định dạng ngày.
Khắc phục:
- Dùng hàm DATE thay vì nhập text:
DATE(2025,2,1)
thay vì"01/02/2025"
- Kiểm tra format ô phải là Date, không phải Text
- Tránh nhập ngày 30/2 hoặc 32/1 (không tồn tại)
Lỗi #NUM! – Giá Trị Số Không Hợp Lệ
Nguyên nhân thường gặp:
- Rate hoặc yield âm: Lãi suất không thể âm
- Sửa: Kiểm tra A6 và A7 phải > 0
- Frequency sai: Chỉ chấp nhận 1, 2, hoặc 4
- Sửa: Thay 12 (tháng) thành 1 (năm) hoặc 4 (quý)
- Thứ tự ngày sai: Phải thỏa mãn
maturity > first_coupon > settlement > issue
- Sửa: Kiểm tra ngày đáo hạn > ngày trả lãi đầu > ngày thanh toán > ngày phát hành
- Basis ngoài phạm vi: Chỉ từ 0-4
- Sửa: Dùng 0 (mặc định) nếu không chắc chắn
Kết Quả Không Như Mong Đợi
Vấn đề: Giá tính ra quá cao hoặc quá thấp.
Kiểm tra:
- Rate và yield đã nhập ở dạng thập phân chưa? (0.055 chứ không phải 5.5)
- Format ô rate/yield có đang là Percentage không? Nếu có, nhập 5.5 thay vì 0.055
- Redemption có phải 100 không? Một số trái phiếu hoàn trả với giá khác
Tôi từng gặp trường hợp công thức trả về 5544 thay vì 98.44 vì nhập rate là 5.5 trong khi format ô đang là Percentage, Excel hiểu thành 550%.
So Sánh ODDFPRICE vs PRICE: Khi Nào Dùng Cái Nào
Tiêu chí | ODDFPRICE | PRICE |
---|---|---|
Kỳ trả lãi | Kỳ đầu tiên bất thường | Tất cả kỳ đều đều |
Tham số | 9 tham số | 7 tham số (không có issue và first_coupon) |
Độ phức tạp | Cao hơn | Đơn giản hơn |
Trường hợp dùng | Trái phiếu phát hành giữa kỳ | Trái phiếu phát hành đúng kỳ |
Quy tắc đơn giản:
- Nếu ngày phát hành trùng hoặc rất gần ngày trả lãi thông thường → Dùng PRICE
- Nếu kỳ đầu tiên ngắn hoặc dài hơn các kỳ sau → Dùng ODDFPRICE
Để kiểm tra nhanh, tính số ngày từ issue đến first_coupon, chia cho 365, nhân với frequency. Nếu kết quả gần bằng 1 thì kỳ đầu chuẩn (dùng PRICE). Nếu lệch nhiều thì kỳ lẻ (dùng ODDFPRICE).
Ứng Dụng Thực Tế Trong Phân Tích Tài Chính
Định Giá Danh Mục Trái Phiếu
Nếu quản lý danh mục nhiều trái phiếu, tạo bảng với các cột:
Tên TP | Settlement | Maturity | Issue | First Coupon | Rate | Yield | Price |
---|---|---|---|---|---|---|---|
TP A | … | … | … | … | … | … | =ODDFPRICE(…) |
TP B | … | … | … | … | … | … | =ODDFPRICE(…) |
Tổng giá trị danh mục = SUM của cột Price nhân với khối lượng nắm giữ.
Tính Toán Lãi/Lỗ Thực Tế
So sánh giá ODDFPRICE tính được với giá mua thực tế:
=ODDFPRICE(...) - Giá_Mua
Kết quả dương = lời, âm = lỗ. Nhân với khối lượng để có giá trị tuyệt đối.
Sensitivity Analysis
Tạo Data Table để xem giá thay đổi như thế nào khi yield biến động:
- Liệt kê các mức yield từ 4% đến 8% (cột A)
- Công thức ODDFPRICE ở hàng đầu (hàng 1)
- Chọn vùng → Data → What-If Analysis → Data Table
- Column input cell: ô chứa yield
Kết quả cho thấy với mỗi 1% tăng yield, giá giảm bao nhiêu.
4 Mẹo Tối Ưu Khi Dùng ODDFPRICE
Mẹo 1: Dùng Named Ranges
Thay vì nhớ ô A2, A3, A4…, đặt tên cho các ô:
- Chọn ô A2 → Name Box → nhập “Ngay_Thanh_Toan”
- Làm tương tự với các ô khác
Công thức trở nên dễ đọc:
=ODDFPRICE(Ngay_Thanh_Toan, Ngay_Dao_Han, Ngay_Phat_Hanh, Ngay_Tra_Lai_Dau, Lai_Suat, Loi_Suat, Hoan_Tra, Tan_Suat)
Mẹo 2: Tạo Template Tái Sử Dụng
Lưu workbook với:
- Các ô input được format sẵn
- Công thức ODDFPRICE đã thiết lập
- Data validation cho frequency (dropdown chỉ có 1, 2, 4)
- Conditional formatting cảnh báo khi rate/yield âm
Mỗi lần định giá mới chỉ cần nhập số liệu vào template.
Mẹo 3: Kết Hợp Với XNPV Để Double-Check
ODDFPRICE dùng công thức chuẩn. Để verify, tính bằng XNPV với dòng tiền thực tế:
- Liệt kê tất cả ngày trả lãi từ first_coupon đến maturity
- Tính tiền lãi = Rate × 100 / Frequency
- Ngày cuối thêm 100 (hoàn trả gốc)
- Dùng XNPV với yield làm discount rate
Kết quả XNPV nên gần bằng ODDFPRICE (sai lệch < 0.01 do làm tròn).
Mẹo 4: Xử Lý Ngày Cuối Tuần
Nếu settlement hoặc first_coupon rơi vào cuối tuần, thị trường thường điều chỉnh sang ngày làm việc gần nhất. Dùng hàm WORKDAY để tự động:
=ODDFPRICE(WORKDAY(A2,0), ...)
WORKDAY(A2,0) chuyển A2 sang ngày làm việc tiếp theo nếu là cuối tuần.
Khi Nào Không Nên Dùng ODDFPRICE
Hàm này không phù hợp cho:
1. Trái phiếu không trả lãi (Zero-coupon bonds)
- Dùng PRICE với rate = 0 thay vì ODDFPRICE
2. Trái phiếu có kỳ cuối cùng lẻ
- Dùng ODDLPRICE (odd last period price)
3. Chứng khoán trả lãi vào đáo hạn
- Dùng PRICEMAT thay thế
4. Tín phiếu kho bạc (T-bills)
- Dùng TBILLPRICE vì có công thức riêng
Nhận biết nhanh: Nếu đề bài nói “kỳ đầu tiên bất thường” hoặc “first odd period” thì dùng ODDFPRICE. Các trường hợp khác kiểm tra kỹ xem hàm nào phù hợp.
Checklist Trước Khi Chạy Công Thức
Trước khi nhấn Enter, kiểm tra:
- Tất cả ngày đã format đúng (Date, không phải Text)
- Thứ tự ngày: maturity > first_coupon > settlement > issue
- Rate và yield ở dạng thập phân (0.055 không phải 5.5) trừ khi ô format là Percentage
- Frequency chỉ là 1, 2, hoặc 4
- Redemption thường là 100
- Basis từ 0-4 (hoặc bỏ trống để mặc định 0)
- Không có ô nào bị #REF! hoặc trống
Sau khi có kết quả:
- Giá có trong khoảng hợp lý? (thường 80-120 cho trái phiếu bình thường)
- Nếu yield > rate, giá phải < 100 (và ngược lại)
- Thử thay đổi một tham số nhỏ xem kết quả có biến động hợp lý không
Kết Quả Sau 1 Tuần Sử Dụng
Sau khi áp dụng ODDFPRICE cho công việc định giá, tôi giảm thời gian tính toán từ 30 phút xuống 2 phút cho mỗi trái phiếu. Độ chính xác tăng vì loại bỏ sai sót tính tay. Quan trọng hơn, tôi có thể chạy sensitivity analysis với nhiều kịch bản yield khác nhau trong vài giây thay vì phải tính lại từng trường hợp.
Hàm ODDFPRICE có sẵn từ Excel 2007 trở đi, bao gồm Excel 365 và Excel for Mac. Không cần cài add-in hay kích hoạt gì thêm. Đối với những ai chưa quen, hãy bắt đầu với ví dụ đơn giản ở phần trên, sau đó áp dụng vào dữ liệu thực tế. Nếu gặp lỗi, quay lại checklist để debug nhanh chóng.