Groovy Java中Excel的屈服公式

Groovy Java中Excel的屈服公式,groovy,excel-formula,jvm,finance,Groovy,Excel Formula,Jvm,Finance,有没有办法在Java中复制Excel产量公式?我能够计算内部收益率公式,我在Excel中也有相同的结果 然而,对于产量公式,我无法复制完全相同的结果。从我所看到的,有不同的例子,但它们有不同的参数 我想复制完全相同的Excel 请查找我使用的示例: def BondYieldNewton(def price , def faceValue, def periods, def rate, def years){ def oldYield = 0 def yield = 0.1

有没有办法在Java中复制Excel产量公式?我能够计算内部收益率公式,我在Excel中也有相同的结果

然而,对于产量公式,我无法复制完全相同的结果。从我所看到的,有不同的例子,但它们有不同的参数

我想复制完全相同的Excel

请查找我使用的示例:

def BondYieldNewton(def price , def faceValue, def periods, def rate, def years){


    def oldYield = 0
    def yield = 0.1

    def presentValue = 0.00
    def presentValueDerivate = 0.00

    def tolerance = 1E-16
    while (tolerance < Math.abs(yield - oldYield)) {

        oldYield = yield
        for(int i = 1; i < periods * years; i++) {
            presentValue += (rate / periods) * faceValue / Math.pow((1 + oldYield / periods), i)
        }
        presentValue += faceValue / Math.pow((1 + oldYield), periods) - price

        for(int i = 1; i < periods * years; i++) {

            presentValueDerivate += -i * (rate / periods) * faceValue / Math.pow((1 + oldYield / periods), years * i + 1) - years * periods * faceValue / Math.pow((1 + oldYield / years), years * periods + 1)

        }
        yield = oldYield - presentValue / presentValueDerivate


    }
    return yield
}
提前谢谢大家,

凯特

更新:请在Groovy代码中找到我试图复制的公式和更新

这是不是很棒?另外,请向我们展示Excel中的公式以及Excel和此处的不同结果。这是Groovy吗?另外,请向我们展示Excel中的公式以及Excel和此处的不同结果。
        def price = 90
        def faceValue = 100;
        def years = 12;
        def period = 2
        def rate = 0.07