Bojan Nikolic: Using and Understanding the QuantLib Addin

[website home] | [BN Algorithms]

qlEONIA – Create an EONIA object

EONIA [1] stands for Euro OverNight Index Average and represents a weighted market average overnight interest rate for unsecured lending in Euros between participating banks. The day count convention is Actual/360 and the calendar is TARGET (see TARGET Calendar)

Usage:

=qlEonia(<ObjPrefix>, <YieldTermStructure>)
<ObjPrefix>

Usual meaning

<YieldTermStructure>

Term structure of interest rates to be used to forecast future EONIA fixings. Can be empty in which case forecasting/pricing off this index is not possible

Return value

Object of type Eonia which is a subtype of OvernightIndex, IborIndex, InterestRateIndex.

Here is example usage in QLW – QuantLib-Addin like interface from Java and Python

// Copyright (C) 2012 Bojan Nikolic <bojan@bnikolic.co.uk>
//

import co.uk.bnikolic.qlw.property_t;
import co.uk.bnikolic.qlw.qlw;
import co.uk.bnikolic.qlw.StringVector;
import co.uk.bnikolic.qlw.LongVector;
import co.uk.bnikolic.qlw.PropertyVector;
import co.uk.bnikolic.qlw.DoubleVector;

public class qlEONIA {
    
    public static void main(String[] args) throws Exception {
        String yc=mkYC();
        String index=qlw.qlEonia("eonia", 
                                 new property_t(yc),
                                 qlw.OH_NULL(),
                                 qlw.OH_NULL(),
                                 false);
    }

    // See
    // https://www.bnikolic.co.uk/ql/addindoc/f/qlInterpolatedYieldCurve.html
    public static String mkYC() {
        PropertyVector datesList= new PropertyVector();
        datesList.add(new property_t("0D"));
        datesList.add(new property_t("1Y"));
        DoubleVector ratesList=new DoubleVector();
        ratesList.add(0.01);
        ratesList.add(0.01);

        property_t dcc=new property_t("Actual/365 (Fixed)");
        
        String curve=qlw.qlInterpolatedYieldCurve("curve",
                                                  datesList,  
                                                  ratesList,
                                                  "TARGET", dcc,
                                                  new PropertyVector(), 
                                                  new PropertyVector(),
                                                  new property_t("ZeroYield"), 
                                                  new property_t("LogLinear"),
                                                  qlw.OH_NULL(),
                                                  qlw.OH_NULL(),
                                                  false);
        return curve;
    }
}