YIELDDISC Function (LibreOffice Calc)
The YIELDDISC function returns the annual yield of a discount security based on its price, settlement date, maturity date, and redemption value. It is essential for valuing Treasury bills, commercial paper, and other discount instruments.
The **YIELDDISC** function calculates the **annual yield** of a discount security based on its price. It is the yield‑equivalent of PRICEDISC and DISC, and is essential for valuing Treasury bills, commercial paper, and other zero‑coupon discount instruments.
What the YIELDDISC Function Does
- Computes the annual yield of a discount (zero‑coupon) security
- Uses settlement date, maturity date, price, and redemption value
- Supports multiple day‑count basis systems
- Works with real dates, serial numbers, and DATEVALUE
- Fully compatible with Excel’s YIELDDISC function
It is designed to be precise, finance‑grade, and ideal for money‑market analytics.
Syntax
YIELDDISC(settlement; maturity; price; redemption; [basis])
Arguments
-
settlement:
The date the security is traded to the buyer. -
maturity:
The date the security matures. -
price:
Price per 100 face value. -
redemption:
Redemption value per 100 face value (usually 100). -
basis (optional):
Day-count convention:
| basis | Day-count convention |
|---|---|
| 0 | US 30/360 |
| 1 | Actual/Actual |
| 2 | Actual/360 |
| 3 | Actual/365 |
| 4 | European 30/360 |
Basic Examples
Yield of a Treasury bill
=YIELDDISC("2024-03-15"; "2024-09-15"; 97.8; 100; 2)
Using Actual/Actual
=YIELDDISC(A1; A2; Price; 100; 1)
Using text dates
=YIELDDISC(DATEVALUE(A1); DATEVALUE(A2); Price; Redemption)
Advanced Examples
Commercial paper yield
=YIELDDISC("2024-01-10"; "2024-04-10"; 98.6; 100; 2)
From imported CSV timestamps
=YIELDDISC(DATEVALUE(LEFT(A1;10)); DATEVALUE(LEFT(A2;10)); Price; Redemption)
From Excel serial dates stored as text
=YIELDDISC(DATE(1899;12;30)+VALUE(A1); DATE(1899;12;30)+VALUE(A2); Price; Redemption)
Compute price from yield (inverse)
=PRICEDISC(Settlement; Maturity; Discount; Redemption; Basis)
Compute discount rate (related)
=DISC(Settlement; Maturity; Price; Redemption; Basis)
Compute effective annual yield
=(Redemption / Price) - 1
Compute money‑market equivalent yield
=((Redemption - Price) / Price) * (360 / Days)
Edge Cases and Behavior Details
YIELDDISC returns a numeric value (annual yield)
Accepts:
- Real dates
- Serial numbers
- DATEVALUE outputs
Invalid text → Err:502
Behavior details
- Settlement < Maturity must hold
- Basis must be 0–4
- Price must be > 0
- Time components ignored
- Uses clean price (no accrued interest)
YIELDDISC of an error → error propagates
Common Errors and Fixes
Err:502 — Invalid argument
Cause:
- Dates not recognized
- Basis outside 0–4
- Price not numeric
Fix:
- Wrap dates with DATEVALUE
- Validate basis
- Ensure price is numeric
Err:504 — Invalid date sequence
Cause:
- Settlement after maturity
Fix:
- Correct date order
Unexpected yield
Cause:
- Wrong basis
- Incorrect price
- Incorrect redemption value
Fix:
- Verify inputs carefully
- Confirm day-count convention
Best Practices
- Use Actual/360 (basis 2) for money‑market instruments
- Use Actual/365 (basis 3) for UK T‑bills
- Normalize text dates with DATEVALUE
- Validate price carefully
- Use YIELDDISC with PRICEDISC and DISC for full discount‑security modeling
YIELDDISC is your discount‑security yield engine — essential for T‑bills, commercial paper, and any professional money‑market model.
Related Patterns and Alternatives
- Use PRICEDISC to compute price from yield
- Use DISC to compute discount rate
- Use PRICEMAT and YIELDMAT for interest‑at‑maturity securities
- Use ACCRINTM for zero‑coupon bonds
- Use YEARFRAC for fractional year calculations
By mastering YIELDDISC and its companion functions, you can build powerful, accurate, and fully professional money‑market valuation models in LibreOffice Calc.