Refinitiv Data Library for TypeScript

Overview

Summary

A Surfaces.Swaption allows to retrieve Swaption data within a specific session.

Example of usage

import { IPA } from '@refinitiv-data/data';

const session = /* session creation is omitted */

(async () => {
    try {
            await session.open();

            // single Swaption full definition
            const definition = IPA.Surfaces.Swaption.Definition({
                instrumentCode: 'EUR',
                surfaceTag: 'My EUR VolCube',
                surfaceLayout: {
                    format: IPA.Surfaces.Swaption.LayoutFormat.NDimensionalArray,
                },
                surfaceParameters: {
                    xAxis: IPA.Surfaces.Swaption.AxisUnit.Strike,
                    yAxis: IPA.Surfaces.Swaption.AxisUnit.Tenor,
                    zAxis: IPA.Surfaces.Swaption.AxisUnit.Expiry,
                    calculationDate: '2020-04-20',
                    shiftPercent: 3,
                    includeCapletsVolatility: true,
                },
            });

            const swaptionSurfaceResponse = await definition.getData(session);
            console.log('VolatilitySurfaces Swaption data: ', swaptionSurfaceResponse.data.raw);

            // several Swaption instruments in single definition (second parameter - short definition)
            const multiVSSwaption = IPA.Surfaces.Definition({
                definitions: [definition, IPA.Surfaces.Swaption.Definition('EUR')],
            });
            const multiSwaptionSurfaceResponse = await multiVSSwaption.getData(session);
            console.log('VolatilitySurfaces multiple Swaption data: ', multiSwaptionSurfaceResponse.data.raw);
        } catch (err) {
        console.log(err);
    } finally {
        session.close();
    }
})();