IRS Template Definitions in Instrument Pricing Analytics

Hey. I am looking for a way to download the templates available in the Instrument Pricing Analytics api.

For example. I want to know the definition of: CNY_QM7R .

As well as definitions of standard templates for other currencies. My use case is then to modify them slightly and make additional requests.

Is there such an API route available?

Best Answer

  • aramyan.h
    Answer ✓

    Hi @mikael.ohman ,


    Thank you for your question. Our latest Refinitiv Data Library offers functions to get IPA data, including Financial Contracts and Curves/Surfaces. Please have a look at the example templates from our Github Repo for financial contracts and for Curves/Surfaces.

    Hope that will be helpful. Feel free to let me know should your have any further questions.

    Best regards,

    Haykaz

Answers

  • response = swap.Definition(
    tenor='65M',
    start_date='2022-05-14',
    template='MXN_MB1T',
    pricing_parameters=swap.PricingParameters(
    valuation_date='2022-02-03', discounting_ccy="MXN", discounting_tenor="OIS"
    ),


    Thanks for the links. Using the above idea, I could find the answer to some of the details of how the templates are defined. I was not able to value the Brazilian Lira swap but will start a separate topic for that.

  • Hi @mikael.ohman

    Not a content expert so not sure what CNY_QM7R represents - however, looking at one of the above examples:

    Example.DataLibrary.Python/EX-2.08.03-IPA-CurvesAndSurfaces-ZCCurveDefinitions.ipynb at main · Refinitiv-API-Samples/Example.DataLibrary.Python (github.com)

    If I access the raw output from the Definitions request:

    response = zc_curve_definitions.Definition(source="Refinitiv").get_data()
    response.data.raw

    I can see the raw output includes the following CNY

        {'currency': 'CNY',
    'mainConstituentAssetClass': 'Swap',
    'riskType': 'InterestRate',
    'indexName': 'REPO',
    'source': 'Refinitiv',
    'name': 'CNY REPO Swap ZC Curve',
    'firstHistoricalAvailabilityDate': '2007-02-28',
    'id': 'cdcec3d8-6fc5-4c37-b9e4-969c8f2ae82f',
    'owner': 'Refinitiv',
    'availableTenors': ['7D'],
    'availableDiscountingTenors': ['7D']},


    If you want to see the detailed definition of a curve, you can request the curve itself and then review the output.

    response = zc_curves.Definition(
    constituents={},
    curve_parameters=zc_curves.ZcCurveParameters(
    ),
    curve_definition=zc_curves.ZcCurveDefinitions(
    id="cdcec3d8-6fc5-4c37-b9e4-969c8f2ae82f",
    discounting_tenor="7D"
    ),
    ).get_data()

    response.data.raw

    which includes the curve data as well as the definition e.g.:

    {'data': [{'curveDefinition': {'currency': 'CNY',
    'mainConstituentAssetClass': 'Swap',
    'riskType': 'InterestRate',
    'indexName': 'REPO',
    'source': 'Refinitiv',
    'name': 'CNY REPO Swap ZC Curve',
    'id': 'cdcec3d8-6fc5-4c37-b9e4-969c8f2ae82f',
    'discountingTenor': '7D',
    'ignoreExistingDefinition': False,
    'constituentOverrideMode': 'MergeWithDefinition',
    'availableTenors': ['7D'],
    'availableDiscountingTenors': ['7D'],
    'owner': 'Refinitiv',
    'indexTenors': ['7D']},
    'curveParameters': {'extrapolationMode': 'None',
    'interpolationMode': 'CubicDiscount',
    ..... and so on...