YIELD Function (OpenOffice Calc)
Find a regular-coupon bond yield in Apache OpenOffice Calc. Check clean price, coupon frequency, day-count basis and a PRICE round-trip.
Verification status: Eight ordinary reference formulas were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, through generated native ODF and GUI hard recalculation. Saved identities, inputs and results were checked. How formula examples are checked
Quick answer: =YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;0) returned 0.060455667803 in the tested Apache OpenOffice 4.1.16 build.
Availability and version history
- Introduced: First release not established; documented by OpenOffice.org 3.3.
- Supported in: Apache OpenOffice 4.1.16; this is a verified release, not a final supported version.
- Scope: Desktop Calc, English function names and semicolon-separated formulas.
- Checked: October 14, 2026. Eight ordinary reference formulas were recalculated from generated ODF in 4.1.16 on Linux x86-64, Build 9816. Source and independent arithmetic were checked.
What YIELD returns
YIELD solves for the annual quoted yield used by the release’s regular-coupon PRICE calculation. Coupon rate and yield are different inputs: coupon rate sets cash payments, while the yield discounts those payments to the supplied clean price. Release implementation.
Syntax and arguments
=YIELD(Settlement;Maturity;Rate;Price;Redemption;Frequency[;Basis])
- Settlement, Maturity: numeric dates, with settlement strictly before maturity.
- Rate: annual coupon rate, expressed as a decimal.
- Price, Redemption: quoted amounts per 100 face value, both positive.
- Frequency: 1, 2 or 4 coupon payments per year.
- Basis: optional 0 for US 30/360, 1 actual/actual, 2 actual/360, 3 actual/365 or 4 European 30/360.
Eight reproducible examples
The native column contains saved 4.1.16 results; independent references use high-precision arithmetic and the stated source rules. Values are shown to twelve decimal places where needed. Enter DATE expressions directly rather than locale-dependent date text.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;0) |
0.060455667803 |
0.060455667803 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;1) |
0.060455667803 |
0.060455667803 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;2) |
0.060112506604 |
0.060112506604 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;3) |
0.060540885948 |
0.060540885948 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;2;4) |
0.060455667803 |
0.060455667803 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;1;0) |
0.060606060606 |
0.060606060606 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);.05;99;100;4;0) |
0.060380203063 |
0.060380203063 |
=YIELD(DATE(2024;1;1);DATE(2025;1;1);0;95;100;2;0) |
0.05195670417 |
0.05195670417 |
Practical worksheet
A 5% coupon bond settling January 1, 2024 and maturing January 1, 2025, with two coupons per year and redemption 100, has yield approximately 0.060455667803 when its clean price is 99 under basis 0. The coupon payments are 2.5 at half a year and 102.5 at maturity.
Independently solve 99=2.5/(1+y/2)+102.5/(1+y/2)^2. This identifies the annual nominal quote y, not the per-half-year rate y/2. For annual coupons, the same simple price gives 105/99-1, approximately 0.060606060606.
Advanced interpretation and checks
A direct worksheet check passes the returned yield back to PRICE with identical dates, coupon, redemption, frequency and basis. Recovering 99 within numerical tolerance confirms that the same pricing convention was used in both calls.
The basis-2 and basis-3 examples differ because PRICE uses its coupon day-count ratios. Do not replace those ratios with a generic number of calendar years. For the zero-coupon example priced at 95 with semiannual compounding, the independent yield is 2*(SQRT(100/95)-1), approximately 0.051956704170.
Boundaries and troubleshooting
The wrapper rejects a negative coupon rate, nonpositive price or redemption, unsupported frequency and settlement at or after maturity. The calculation then performs an iterative search starting from yields 0 and 1, expanding the upper bound as needed. These examples all have positive yields.
The source permits up to one hundred iterations and uses a final price-deviation check that can be as loose as one percent of the supplied price. Therefore, perform your own PRICE residual check rather than assuming a universal twelve-decimal guarantee from a displayed yield. Invalid domains and negative-yield searches were not executed.
Related functions
Official evidence and checking scope
- Function-specific release implementation
- getYield_ calculation
- getPrice_ calculation
- GetCoupdays calculation
- GetCoupdaysnc calculation
- GetCoupdaybs calculation
- GetCoupnum calculation
The generated ODF produced the informational load warning “Not all attributes could be read.” The sheet was hard-recalculated and saved separately. All eight ordinary function identities, inputs and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated examples, not every workbook style or invalid input. Other explanatory identities are independent calculations. The authoring-tool XLSX was not executed in OpenOffice, and its preview values are not the native results reported here.