Bug 137465 - YIELD function in Calc provides wrong result (different result than Excel), when bond settlement date is within one coupon period until maturity.
Summary: YIELD function in Calc provides wrong result (different result than Excel), w...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
(earliest affected) release
Hardware: All All
: medium normal
Assignee: Not Assigned
Depends on:
Blocks: Calc-Function
  Show dependency treegraph
Reported: 2020-10-14 02:40 UTC by Jack
Modified: 2020-11-18 09:46 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Note You need to log in before you can comment on or make changes to this bug.
Description Jack 2020-10-14 02:40:33 UTC Comment hidden (obsolete)
Comment 1 Jack 2020-10-14 04:26:50 UTC
There are supposed to be two different formulas, one for when a bond is purchased during final coupon period, and one for when the bond is purchased not within the final coupon period.

Calc does not use the correct formula when the purchase is within the final coupon period. Excel does use the correct formula. Thus the YIELD will result in different values depending on whether using Calc or Excel.

The correct formula can be found here: https://support.office.com/en-us/article/yield-function-f5f5ca43-c4bd-434f-8bd2-ed3c9727a4fe



Will result in .01993617 in Calc, but will result in .01987303 in Excel.

This is a very bad bug, because in the real world, bonds are bought and sold all the time during the final coupon period. This makes the YIELD function not reliable enough for use.
Comment 2 pavlog 2020-11-10 20:34:18 UTC
Thanks for reporting. I can reproduce same values in Excel and in

Version: (x64)
Build ID: 91c5642bf0ee48ff91181d779c3a84c768f340df
CPU threads: 4; OS: Windows 10.0 Build 18363; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL

But I'm not sure is the function correct or no
Comment 3 Jack 2020-11-13 17:12:58 UTC
Thanks. I'm a bond investment professional and can verify the function is wrong. I have other professional bond software and it provides the same result as Excel.