Why are there ZC curves and Cap/Floor surfaces on weekends?

Hi,

I am using the endpoint https://api.refinitiv.com/data/quantitative-analytics-curves-and-surfaces/v1/surfaces to download cap/floor volatility surfaces and https://api.refinitiv.com/data/quantitative-analytics-curves-and-surfaces/v1/curves/zc-curves to download zero-coupon curves.

I have realized that is possible to download data on weekends (Sunday and Saturday) and I would like to understand how is that possible, given that markets normally close on weekends.

Thanks in advance.

Best Answer

  • Michel B
    Michel B LSEG
    Answer ✓

    Hi @YERAY SOSA ALONSO

    When you request a curve on a holiday, we use the latest contributed data (the previous working day).

    If you edit your request as following (adding 'outputs':['Constituents']) you will obtain in addition to the bootstrapped curves, the whole market data set.

    {
    "universe": [
    {
    "curveParameters": {
    "valuationDate": "2021-09-19",
    "priceSide": "Mid",
    "interpolationMode": "CubicDiscount"
    },
    "curveDefinition": {
    "currency": "EUR",
    "indexName": "EURIBOR",
    "name": "EUR EURIBOR Swap ZC Curve",
    "source": "Refinitiv",
    "discountingTenor": "3M"
    }
    }
    ],
    "outputs": [
    "Constituents"
    ]
    }

    and you will see that the data corresponds to the September 17th.

    In other words we calculate a curve as of September 19th, but with data contributed on the 17th

    This explains the slight changes in zero rates, even though we are using the same constituents/data.

    Regards

    Michel

Answers

  • Hi @YERAY SOSA ALONSO ,

    It doesn't matter on which date request is being executed. Output data is calculated in accordance with the currency/country holidays calendars.

    Check following fields in the zc-curves output for more details: "calendarAdjustment", "calendars", "endDate" in curves definitions.

    In general case, if today is holiday then next business day will be used instead.


    Let me know if you have any other questions.


    Thanks,

    Mark.

  • Hi @Mark.Klimushkin,

    Thanks for your response. I have checked if EUR3M ZC curve for 19-09-2021 (sunday) and 20-09-2021 (Monday) are the same but I am getting different values. For instance, here you can see a 19/09 curve point:

    {
    "endDate": "2025-09-22",
    "startDate": "2021-09-19",
    "discountFactor": 1.0144305576113362,
    "ratePercent": -0.35681311676108995,
    "tenor": "4Y",
    "instruments": [
    {
    "instrumentCode": "EURAB3E4Y=TWEB"
    }
    ]
    }

    And here the same curve point on 20/09:

    {
    "endDate": "2025-09-22",
    "startDate": "2021-09-20",
    "discountFactor": 1.01482788531735,
    "ratePercent": -0.36679793513945125,
    "tenor": "4Y",
    "instruments": [
    {
    "instrumentCode": "EURAB3E4Y=TWEB"
    }
    ]

    As you can see, they are similar but not equal. I also checked that Friday data is different. Please, I would like to understand the nature of these differences.

    Thanks again.

    I attach here the body of the request in case you want to do some verification:

    {
    "universe": [
    {
    "curveParameters": {
    "valuationDate": "2021-09-19",
    "priceSide": "Mid",
    "interpolationMode": "CubicDiscount"
    },
    "curveDefinition": {
    "currency": "EUR",
    "indexName": "EURIBOR",
    "name": "EUR EURIBOR Swap ZC Curve",
    "source": "Refinitiv",
    "discountingTenor": "3M"
    }
    }
    ]
    }