Quant On Demand API API Reference

Cross-asset derivatives valuation, XVA and risk analytics API. Get your free API trial key at https://quantondemand.com/api.

API Endpoint
https://api.quantondemand.com/v1
Contact: contact@quantondemand.com
Response Content-Types: application/json
Schemes: https
Version: 1.0.0

Authentication

APIKeyHeader

in
header
name
API-Key
x-apikeyInfoFunc
auth.validate_api_key

Valuation

Valuation methods

POST /cashflows

Returns the projected cashflows of the portfolio specified.

Portfolio and stored market feeds ID.

Request Example
{
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  }
}
200 OK

Portfolio cashflows.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "accrual": 0.501369863,
    "amount": 806043.65,
    "cashflowNumber": 1,
    "coupon": 0.0160768269,
    "currency": "GBP",
    "fixingDate": {
      "stringDate": "2029-08-02"
    },
    "fixingValue": 0.0160780305,
    "flowType": "InterestProjected",
    "legNumber": 1,
    "payDate": {
      "stringDate": "2030-02-05"
    },
    "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
    "tradeType": "Swap"
  },
  {
    "accrual": 0.495890411,
    "amount": 797642.742,
    "cashflowNumber": 2,
    "coupon": 0.0160850608,
    "currency": "GBP",
    "fixingValue": 0.0160850608,
    "flowType": "InterestProjected",
    "legNumber": 1,
    "payDate": {
      "stringDate": "2030-08-05"
    },
    "stringDate": "2030-02-01",
    "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
    "tradeType": "Swap"
  }
]

POST /cva

Calculate the CVA of the portfolio for the CSA details specified.

Portfolio and netting sets details, as well as monte carlo simulation and CVA configuration.

Request Example
{
  "cvaConfig": {
    "creditCurves": [
      {
        "CDSConventions": {
          "calendar": [
            "USD"
          ],
          "currency": "EUR",
          "dayCounter": "A360",
          "discountIndex": "USD-LIBOR-3M",
          "frequency": "Monthly",
          "paymentConvention": "ModifiedFollowing",
          "paysAtDefaultTime": false,
          "rule": "Backward",
          "settlementDays": 2,
          "settlesAccrual": false
        },
        "counterparty": "CPTY_1",
        "curveType": "HazardRate",
        "quotes": [
          {
            "tenor": "1Y",
            "value": 0.00176
          },
          {
            "tenor": "5Y",
            "value": 0.0000522
          },
          {
            "tenor": "30Y",
            "value": 0.0000371
          }
        ],
        "recoveryRate": 0.4
      }
    ],
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}
200 OK
CVA

CVA of the portfolio, one result per netting set.

Response Content-Types: application/json
Response Example (200 OK)
{
  "cva": [
    {
      "cva": 16380.14,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 451283.02,
          "expectedCollateral": -7569405.52,
          "pfe": 871914.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

POST /cva_async

Start an asynchronous calculation of the CVA of the portfolio for the CSA details specified. Use endpoint /retrieve_cva to retrieve the result of the calculation.

Portfolio and netting sets details, as well as monte carlo simulation and CVA configuration.

Request Example
{
  "cvaConfig": {
    "creditCurves": [
      {
        "CDSConventions": {
          "calendar": [
            "USD"
          ],
          "currency": "EUR",
          "dayCounter": "A360",
          "discountIndex": "USD-LIBOR-3M",
          "frequency": "Monthly",
          "paymentConvention": "ModifiedFollowing",
          "paysAtDefaultTime": false,
          "rule": "Backward",
          "settlementDays": 2,
          "settlesAccrual": false
        },
        "counterparty": "CPTY_1",
        "curveType": "HazardRate",
        "quotes": [
          {
            "tenor": "1Y",
            "value": 0.00176
          },
          {
            "tenor": "5Y",
            "value": 0.0000522
          },
          {
            "tenor": "30Y",
            "value": 0.0000371
          }
        ],
        "recoveryRate": 0.4
      }
    ],
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}

Calculation ID for later retrieval.

Response Content-Types: application/json
Response Example (200 OK)
{
  "cvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

POST /dva

Calculate the DVA of the portfolio for the CSA details specified.

Portfolio and netting sets details, as well as monte carlo simulation and DVA configuration.

Request Example
{
  "dvaConfig": {
    "ownCreditCurve": {
      "CDSConventions": {
        "calendar": [
          "USD"
        ],
        "currency": "EUR",
        "dayCounter": "A360",
        "discountIndex": "USD-LIBOR-3M",
        "frequency": "Monthly",
        "paymentConvention": "ModifiedFollowing",
        "paysAtDefaultTime": false,
        "rule": "Backward",
        "settlementDays": 2,
        "settlesAccrual": false
      },
      "counterparty": "CPTY_1",
      "curveType": "HazardRate",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.00176
        },
        {
          "tenor": "5Y",
          "value": 0.0000522
        },
        {
          "tenor": "30Y",
          "value": 0.0000371
        }
      ],
      "recoveryRate": 0.4
    },
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}
200 OK
DVA

DVA of the portfolio, one result per netting set.

Response Content-Types: application/json
Response Example (200 OK)
{
  "dva": [
    {
      "dva": 24597.54,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1396999.42,
          "expectedCollateral": -7567458.67,
          "pfe": 2687104.18
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

POST /dva_async

Start an asynchronous calculation of the DVA of the portfolio for the CSA details specified. Use endpoint /retrieve_dva to retrieve the result of the calculation.

Portfolio and netting sets details, as well as monte carlo simulation and DVA configuration.

Request Example
{
  "dvaConfig": {
    "ownCreditCurve": {
      "CDSConventions": {
        "calendar": [
          "USD"
        ],
        "currency": "EUR",
        "dayCounter": "A360",
        "discountIndex": "USD-LIBOR-3M",
        "frequency": "Monthly",
        "paymentConvention": "ModifiedFollowing",
        "paysAtDefaultTime": false,
        "rule": "Backward",
        "settlementDays": 2,
        "settlesAccrual": false
      },
      "counterparty": "CPTY_1",
      "curveType": "HazardRate",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.00176
        },
        {
          "tenor": "5Y",
          "value": 0.0000522
        },
        {
          "tenor": "30Y",
          "value": 0.0000371
        }
      ],
      "recoveryRate": 0.4
    },
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}

Calculation ID for later retrieval.

Response Content-Types: application/json
Response Example (200 OK)
{
  "dvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

POST /fva

Calculate the FVA of the portfolio for the CSA details specified.

Portfolio and netting sets details, as well as monte carlo simulation and FVA configuration.

Request Example
{
  "fvaConfig": {
    "borrowingCurve": {
      "conventions": {
        "compoundingFrequency": "Monthly",
        "compoundingType": "Continuous",
        "dayCounter": "A360",
        "endOfMonth": false,
        "rollConvention": "ModifiedFollowing",
        "spotCalendar": [
          "USD"
        ],
        "spotLag": 2,
        "tenorCalendar": [
          "USD"
        ]
      },
      "currency": "EUR",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.01
        }
      ]
    },
    "lendingCurve": {
      "conventions": {
        "compoundingFrequency": "Monthly",
        "compoundingType": "Continuous",
        "dayCounter": "A360",
        "endOfMonth": false,
        "rollConvention": "ModifiedFollowing",
        "spotCalendar": [
          "USD"
        ],
        "spotLag": 2,
        "tenorCalendar": [
          "USD"
        ]
      },
      "currency": "EUR",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.01
        }
      ]
    },
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}
200 OK
FVA

FVA of the portfolio, one result per netting set.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fva": [
    {
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 33123.69,
          "epe": 351131.19,
          "expectedCollateral": -6070104.25,
          "pfe": 702262.38
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 12712.94,
          "epe": 501479.44,
          "expectedCollateral": -6070104.25,
          "pfe": 1002958.88
        }
      ],
      "fba": 46969.07,
      "fca": 31175.29,
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

POST /fva_async

Start an asynchronous calculation of the FVA of the portfolio for the CSA details specified. Use endpoint /retrieve_fva to retrieve the result of the calculation.

Portfolio and netting sets details, as well as monte carlo simulation and FVA configuration.

Request Example
{
  "fvaConfig": {
    "borrowingCurve": {
      "conventions": {
        "compoundingFrequency": "Monthly",
        "compoundingType": "Continuous",
        "dayCounter": "A360",
        "endOfMonth": false,
        "rollConvention": "ModifiedFollowing",
        "spotCalendar": [
          "USD"
        ],
        "spotLag": 2,
        "tenorCalendar": [
          "USD"
        ]
      },
      "currency": "EUR",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.01
        }
      ]
    },
    "lendingCurve": {
      "conventions": {
        "compoundingFrequency": "Monthly",
        "compoundingType": "Continuous",
        "dayCounter": "A360",
        "endOfMonth": false,
        "rollConvention": "ModifiedFollowing",
        "spotCalendar": [
          "USD"
        ],
        "spotLag": 2,
        "tenorCalendar": [
          "USD"
        ]
      },
      "currency": "EUR",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.01
        }
      ]
    },
    "allocationMethod": "Marginal",
    "calculationType": "Symmetric",
    "fullInitialCollateralisation": true,
    "marginalAllocationLimit": 1,
    "returnExposureProfiles": true
  },
  "nettingSetsDefinitions": {
    "nettingSets": [
      {
        "activeCSAFlag": true,
        "counterparty": "CPTY_1",
        "csaDetails": {
          "bilateral": "Bilateral",
          "collateralCompoundingSpreadPay": 0,
          "collateralCompoundingSpreadReceive": 0,
          "csaCurrency": "EUR",
          "eligibleCollaterals": {
            "currencies": [
              "EUR"
            ]
          },
          "independentAmount": {
            "independentAmountHeld": 0,
            "independentAmountType": "FIXED"
          },
          "index": "EUR-EONIA",
          "marginPeriodOfRisk": "2W",
          "marginingFrequency": {
            "callFrequency": "3M",
            "postFrequency": "3M"
          },
          "minimumTransferAmountPay": 100000,
          "minimumTransferAmountReceive": 100000,
          "thresholdPay": 100000,
          "thresholdReceive": 100000
        },
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      }
    ]
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "simulationConfig": {
    "baseCurrency": "EUR",
    "calendar": [
      "USD",
      "EUR",
      "GBP"
    ],
    "discounting": "EUR",
    "grid": {
      "stepCount": 36,
      "stepSize": "6M"
    },
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "samplesCount": 1000,
    "seed": 49,
    "sequence": "MersenneTwisterAntithetic"
  }
}

Calculation ID for later retrieval.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

POST /npv

Calculate the NPV of the portfolio specified.

The portfolio to be valued and the configuration to use.

Request Example
{
  "npvConfig": {
    "discounting": "USD",
    "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
    "npvCurrency": "EUR"
  },
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  }
}
200 OK

Portfolio NPV.

Response Content-Types: application/json
Response Example (200 OK)
{
  "discounting": "USD",
  "npvCurrency": "USD",
  "perTrade": [
    {
      "counterparty": "CPTY_1",
      "nettingSet": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
      "npv": -5259413.93,
      "npvCurrency": "USD",
      "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
      "tradeType": "Swap"
    },
    {
      "counterparty": "CPTY_1",
      "nettingSet": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
      "npv": 2611484.09,
      "npvCurrency": "USD",
      "tradeId": "6842776b-d7f5-443c-a770-adf0a9143e65",
      "tradeType": "Swap"
    }
  ],
  "totalNpv": -2647929.84
}

POST /retrieve_cva

Retrieve result of a CVA. If it is not ready the response will only contain the 'resultReady' flag set to false.

ID of CVA calculation to retrieve.

Request Example
{
  "cvaId": "string"
}

Flag indicating whether the calculation is finished and the portfolio CVA if it is.

Response Content-Types: application/json
Response Example (200 OK)
{
  "cva": [
    {
      "cva": 16380.14,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 451283.02,
          "expectedCollateral": -7569405.52,
          "pfe": 871914.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

POST /retrieve_dva

Retrieve result of a DVA. If it is not ready the response will only contain the 'resultReady' flag set to false.

ID of DVA calculation to retrieve.

Request Example
{
  "dvaId": "string"
}

Flag indicating whether the calculation is finished and the portfolio DVA if it is.

Response Content-Types: application/json
Response Example (200 OK)
{
  "dva": [
    {
      "dva": 24597.54,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1396999.42,
          "expectedCollateral": -7567458.67,
          "pfe": 2687104.18
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

POST /retrieve_fva

Retrieve result of a FVA. If it is not ready the response will only contain the 'resultReady' flag set to false.

ID of FVA calculation to retrieve.

Request Example
{
  "fvaId": "string"
}

Flag indicating whether the calculation is finished and the portfolio FVA if it is.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fva": [
    {
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 33123.69,
          "epe": 351131.19,
          "expectedCollateral": -6070104.25,
          "pfe": 702262.38
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 12712.94,
          "epe": 501479.44,
          "expectedCollateral": -6070104.25,
          "pfe": 1002958.88
        }
      ],
      "fba": 46969.07,
      "fca": 31175.29,
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

Risk

Risk analysis methods

POST /risk/sensitivities

Calculate the risk sensitivities of the portfolio specified.

The portfolio to be valued, the risk senstitivities to be computed and the configuration to use.

Request Example
{
  "portfolio": {
    "trades": [
      {
        "swapData": {
          "legs": [
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "floatingLegData": {
                "fixingDays": 2,
                "index": "GBP-LIBOR-6M",
                "isInArrears": false,
                "spreads": {
                  "spread": [
                    0
                  ]
                }
              },
              "legType": "Floating",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": false,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            },
            {
              "currency": "GBP",
              "dayCounter": "A365",
              "fixedLegData": {
                "rates": {
                  "rate": [
                    0.018
                  ]
                }
              },
              "legType": "Fixed",
              "notionals": {
                "notional": [
                  1000000
                ]
              },
              "payer": true,
              "paymentConvention": "ModifiedFollowing",
              "scheduleData": [
                {
                  "rules": {
                    "calendar": [
                      "GBP",
                      "USD"
                    ],
                    "convention": "ModifiedFollowing",
                    "endDate": {
                      "tenorDate": "8Y"
                    },
                    "rule": "Forward",
                    "startDate": {
                      "tenorDate": "3Y"
                    },
                    "tenor": "6M",
                    "termConvention": "ModifiedFollowing"
                  }
                }
              ]
            }
          ]
        },
        "envelope": {
          "counterparty": "CPTY_1",
          "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
        },
        "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
        "tradeType": "Swap"
      }
    ]
  },
  "sensitivityConfig": {
    "baseCurrency": "EUR",
    "discounting": "string",
    "marketId": "string",
    "recalibrateModels": "boolean",
    "shifts": {
      "capFloorVolShifts": [
        {
          "ccy": "EUR",
          "index": "USD-LIBOR-3M",
          "shiftExpiries": [
            "string"
          ],
          "shiftSize": "number",
          "shiftStrikes": [
            "number"
          ],
          "shiftType": "string"
        }
      ],
      "crossGammaFilters": [
        {
          "factorString1": "string",
          "factorString2": "string",
          "factorType1": "string",
          "factorType2": "string"
        }
      ],
      "discountCurveShifts": [
        {
          "ccy": "EUR",
          "shiftSize": "number",
          "shiftTenors": [
            "string"
          ],
          "shiftType": "string"
        }
      ],
      "fxSpotShifts": [
        {
          "shiftSize": "number",
          "shiftType": "string",
          "sourceCcy": "EUR",
          "targetCcy": "EUR"
        }
      ],
      "fxVolShifts": [
        {
          "shiftExpiries": [
            "string"
          ],
          "shiftSize": "number",
          "shiftStrikes": [
            "number"
          ],
          "shiftType": "string",
          "sourceCcy": "EUR",
          "targetCcy": "EUR"
        }
      ],
      "indexCurveShifts": [
        {
          "index": "USD-LIBOR-3M",
          "shiftSize": "number",
          "shiftTenors": [
            "string"
          ],
          "shiftType": "string"
        }
      ],
      "swaptionVolShifts": [
        {
          "ccy": "EUR",
          "shiftExpiries": [
            "string"
          ],
          "shiftSize": "number",
          "shiftStrikes": [
            "number"
          ],
          "shiftTerms": [
            "string"
          ],
          "shiftType": "string"
        }
      ]
    }
  }
}

Portfolio risk sensitivities.

Response Content-Types: application/json
Response Example (200 OK)
{
  "perTrade": [
    {
      "sensitivities": {
        "capFloorVols": [
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          },
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          }
        ],
        "crossGammas": [
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          },
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          }
        ],
        "discountCurves": [
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          },
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          }
        ],
        "fxSpots": [
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "fxVols": [
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "indexCurves": [
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          },
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          }
        ],
        "swaptionVols": [
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          },
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          }
        ]
      },
      "tradeId": "tradeId"
    },
    {
      "sensitivities": {
        "capFloorVols": [
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          },
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          }
        ],
        "crossGammas": [
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          },
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          }
        ],
        "discountCurves": [
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          },
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          }
        ],
        "fxSpots": [
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "fxVols": [
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "indexCurves": [
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          },
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          }
        ],
        "swaptionVols": [
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          },
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          }
        ]
      },
      "tradeId": "tradeId"
    }
  ],
  "portfolioLevel": {
    "capFloorVols": [
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      },
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      }
    ],
    "crossGammas": [
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      },
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      }
    ],
    "discountCurves": [
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      },
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      }
    ],
    "fxSpots": [
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "fxVols": [
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "indexCurves": [
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      },
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      }
    ],
    "swaptionVols": [
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      },
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      }
    ]
  },
  "reportingCurrency": "EUR"
}

Solver

Solver methods

POST /solver/callable_swap

Solves for the fixed rate of a callable swap vs floating + spread.

Callable swap definitions and stored market feeds ID.

Request Example
{
  "callabilityScheduleAndSpreads": [
    {
      "callTenor": "5Y",
      "postCallSpread": 0.004
    },
    {
      "callTenor": "10Y",
      "postCallSpread": 0.003
    },
    {
      "callTenor": "15Y",
      "postCallSpread": 0.003
    }
  ],
  "ccy": "EUR",
  "endRollConvention": "ModifiedFollowing",
  "fixedLegDayCounter": "A360",
  "fixedLegRollConvention": "ModifiedFollowing",
  "fixedLegTenor": "1Y",
  "floatingLegDayCounter": "A360",
  "floatingLegRollConvention": "ModifiedFollowing",
  "floatingLegTenor": "3M",
  "initialFixedRate": 0.01,
  "initialFloatingLegSpread": 0.005,
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "maturity": "20Y"
}
200 OK

Callable swap fixed rate.

Response Content-Types: application/json
Response Example (200 OK)
{
  "parRate": 0.01965093114513831
}

POST /solver/swap

Solves for the swap par spread/rate.

Swap legs definitions and stored market feeds ID.

Request Example
{
  "discounting": "USD",
  "endRollConvention": "ModifiedFollowing",
  "fromCcy": "USD",
  "fromDayCounter": "A360",
  "fromFloating": true,
  "fromRollConvention": "ModifiedFollowing",
  "fromSpread": 0,
  "fromTenor": "3M",
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "maturity": "5Y",
  "toCcy": "USD",
  "toDayCounter": "30/360",
  "toFloating": false,
  "toRollConvention": "ModifiedFollowing",
  "toTenor": "6M"
}

Swap par spread/rate.

Response Content-Types: application/json
Response Example (200 OK)
{
  "parSpread": 0.011840499885548576
}

Utils

Utils methods

POST /utils/adjust_calendar

Adjusts date according to business day convention.

The date to be adjusted, the business day adjustment and the calendar to use.

Request Example
{
  "businessDayAdjustment": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}
200 OK

Adjusted date.

Response Content-Types: application/json
Response Example (200 OK)
{
  "stringDate": "2010-03-15"
}

POST /utils/advance_calendar

Advances date by specified shift.

The date to be shifted, the shift period and the calendar to use.

Request Example
{
  "businessDayAdjustment": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  },
  "shift": "3M"
}
200 OK

Shifted date.

Response Content-Types: application/json
Response Example (200 OK)
{
  "stringDate": "2010-03-15"
}

POST /utils/business_days_between

Returns the number of business days between two dates.

The start and end dates and the calendar to use, optionally whether to include each of the two dates.

Request Example
{
  "calendar": [
    "USD"
  ],
  "endDate": {
    "stringDate": "2010-08-21"
  },
  "includeEndDate": true,
  "includeStartDate": false,
  "startDate": {
    "stringDate": "2010-03-15"
  }
}

Business days between dates.

Response Content-Types: application/json
Response Example (200 OK)
{
  "businessDays": 6
}

POST /utils/day_count

Returns the number of days between two dates.

The start and end dates and the day count convention.

Request Example
{
  "dayCounter": "A360",
  "endDate": {
    "stringDate": "2010-08-21"
  },
  "startDate": {
    "stringDate": "2010-03-15"
  }
}

Number of days between the two dates.

Response Content-Types: application/json
Response Example (200 OK)
{
  "dayCount": 124
}

POST /utils/discount_factor

Returns the discount factor of a currency at a given date.

Currency, the date and an optional stored market feeds ID.

Request Example
{
  "discounting": "USD",
  "forwardDate": {
    "stringDate": "2020-03-15"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77"
}

Discount factor.

Response Content-Types: application/json
Response Example (200 OK)
{
  "discountFactor": 0.9983544086170015
}

POST /utils/end_of_month

Return last business day of the month of a specific date.

The date and the calendar to use.

Request Example
{
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}
200 OK

Last business day of the month.

Response Content-Types: application/json
Response Example (200 OK)
{
  "stringDate": "2010-03-15"
}

POST /utils/fx_forward

Returns the fx forward rate between two currencies at a given date. Rate is defined as the amount of target currency per unit of source currency.

Two currencies, the forward date and an optional stored market feeds ID.

Request Example
{
  "forwardDate": {
    "stringDate": "2020-03-15"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "sourceCcy": "USD",
  "targetCcy": "EUR"
}

Forward fx rate.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fxForward": 1.1511571475632798
}

POST /utils/fx_spot

Returns the fx spot rate between two currencies. Rate is defined as the amount of target currency per unit of source currency.

Two currencies and an optional stored market feeds ID.

Request Example
{
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "sourceCcy": "USD",
  "targetCcy": "EUR"
}

Spot fx rate.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fxSpot": 0.88
}

POST /utils/get_default_calendar_for_currency

Returns default calendar for specified currency.

The currency for which to return the default calendar.

Request Example
{
  "ccy": "EUR"
}

Default calendar of currency.

Response Content-Types: application/json
Response Example (200 OK)
{
  "defaultCalendar": "USD"
}

POST /utils/get_schedule_dates

Returns the dates of a given schedule defined by its rules.

Rules of the schedule and optional reference date.

Request Example
{
  "scheduleRules": {
    "calendar": [
      "USD",
      "GBP"
    ],
    "convention": "ModifiedFollowing",
    "endDate": {
      "stringDate": "2027-03-03"
    },
    "endOfMonth": false,
    "rule": "Forward",
    "startDate": {
      "stringDate": "2022-03-03"
    },
    "tenor": "6M",
    "termConvention": "ModifiedFollowing"
  }
}

List of dates of the schedule.

Response Content-Types: application/json
Response Example (200 OK)
{
  "dates": [
    {
      "stringDate": "2016-03-15"
    },
    {
      "stringDate": "2016-06-15"
    },
    {
      "stringDate": "2016-09-15"
    }
  ]
}

POST /utils/ibor_index_fixing

Returns the fixing of an ibor index at a given date.

Ibor index (or its currency and tenor), the date of the fixing and an optional stored market feeds ID.

Request Example
{
  "ccy": "EUR",
  "fixingDate": {
    "stringDate": "2020-03-10"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "tenor": "6M"
}

Ibor index fixing.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fixing": 0.0036278903012421098
}

POST /utils/is_business_day

Returns True if the given date is a business day.

The date and the calendar to use.

Request Example
{
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}

True if date is business day.

Response Content-Types: application/json
Response Example (200 OK)
{
  "isBusinessDay": true
}

POST /utils/is_end_of_month

Returns True if the given date is the end of the month.

The date and the calendar to use.

Request Example
{
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}

True if date is end of month.

Response Content-Types: application/json
Response Example (200 OK)
{
  "isEndOfMonth": false
}

POST /utils/is_holiday

Returns True if the given date is a holiday.

The date and the calendar to use.

Request Example
{
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}

True if date is holiday.

Response Content-Types: application/json
Response Example (200 OK)
{
  "isHoliday": false
}

POST /utils/ois_index_fixing

Returns the fixing of an OIS index at a given date.

OIS index (or its currency), the date of the fixing and an optional stored market feeds ID.

Request Example
{
  "ccy": "EUR",
  "fixingDate": {
    "stringDate": "2020-03-10"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77"
}

OIS index fixing.

Response Content-Types: application/json
Response Example (200 OK)
{
  "fixing": 0.0036278903012421098
}

POST /utils/year_fraction

Returns the year fraction of the period between two dates.

The start and end dates and the day count convention.

Request Example
{
  "dayCounter": "A360",
  "endDate": {
    "stringDate": "2010-08-21"
  },
  "startDate": {
    "stringDate": "2010-03-15"
  }
}

Year fraction.

Response Content-Types: application/json
Response Example (200 OK)
{
  "yearFraction": 0.3397260273972603
}

Database

Methods to manipulate objects server-side

POST /db/market/create

Creates a market object with the feeds and other params specified.

Market feeds and market metadata.

Request Example
{
  "marketDate": {
    "stringDate": "2010-03-15"
  },
  "marketFeeds": [
    {
      "feedType": "IR_SWAP",
      "irsCurve": {
        "ccy": "USD",
        "forwardStart": "2D",
        "indexTenor": "3M",
        "quotes": {
          "1Y": 0.006465,
          "30Y": 0.02047,
          "5Y": 0.0118405
        }
      }
    },
    {
      "feedType": "IR_SWAP",
      "irsCurve": {
        "ccy": "USD",
        "forwardStart": "2D",
        "indexTenor": "1D",
        "quotes": {
          "1Y": 0.0080035,
          "20Y": 0.0184,
          "5Y": 0.01548
        }
      }
    },
    {
      "feedType": "FRA",
      "fraCurve": {
        "ccy": "USD",
        "indexTenor": "6M",
        "quotes": {
          "0M": 0.008
        }
      }
    },
    {
      "capFloorVolSurface": {
        "ccy": "USD",
        "indexTenor": "6M",
        "volCurves": [
          {
            "isAtm": false,
            "isRelativeQuote": false,
            "quotes": {
              "10Y": 0.0074817,
              "1Y": 0.0036828,
              "5Y": 0.0067621
            },
            "strike": 0.0075
          },
          {
            "isAtm": false,
            "isRelativeQuote": false,
            "quotes": {
              "10Y": 0.0065223,
              "1Y": 0.00387486,
              "5Y": 0.0061009
            },
            "strike": 0.0025
          }
        ],
        "volType": "Normal"
      },
      "feedType": "CAPFLOOR_VOL"
    },
    {
      "feedType": "SWAPTION_VOL",
      "swaptionVolCube": {
        "ccy": "USD",
        "volSurfaces": [
          {
            "quotes": [
              {
                "optionTenor": "1Y",
                "quote": 0.00527,
                "swapTenor": "5Y"
              }
            ],
            "strikeSpread": 0
          }
        ],
        "volType": "Normal"
      }
    }
  ],
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77"
}

Market ID and market date.

Response Content-Types: application/json
Response Example (200 OK)
{
  "marketDate": {
    "stringDate": "2019-03-15"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77"
}

Schema Definitions

BMABasisSwapFeeds: object

BMA/SIFMA basis swap quotes.

bmaIndex: RatesIndex

BMA/SIFMA index.

bmaLegPaymentTenor: string

BMA/SIFMA leg payment tenor.

ccy: Currency

Swap currency.

discountingIndex: RatesIndex

Index used to discount the BMA/SIFMA swap cashflows.

liborIndex: RatesIndex

Libor index used as benchmark.

quotes: object

Tenor -> BMA/SIFMA basis factor pairs in decimal points, e.g. 0.7 for 70%.

Example
{
  "bmaIndex": "USD-SIFMA-1W",
  "bmaLegPaymentTenor": "3M",
  "ccy": "USD",
  "discountingIndex": "USD-LIBOR-3M",
  "liborIndex": "USD-LIBOR-3M",
  "quotes": {
    "1Y": 0.8,
    "30Y": 0.65,
    "5Y": 0.75
  }
}

BusinessDaysBetweenResponse: object

Response of endpoint /utils/business_days_between.

businessDays: integer

Number of business days between two dates.

Example
{
  "businessDays": 6
}

CMSLegData: object

Specification of a CMS leg.

caps: CMSLegData_caps
fixingDays: integer , { x ∈ ℤ | x ≥ 0 }

Fixing lag in business days.

floors: FloatingLegData_floors
gearings: FloatingLegData_gearings
index: string

The underlying CMS index.

isInArrears: boolean

If true, fixing lag is calculated with respect to the end of the current period. If false, it is calculated with respect to the end of the previous one.

spreads: FloatingLegData_spreads
Example
{
  "fixingDays": 2,
  "index": "EUR-CMS-10Y",
  "isInArrears": true,
  "spreads": {
    "spread": [
      0.01
    ]
  }
}

CMSLegData_caps: object

Values at which coupon rates are capped. If 1 cap is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last cap if there are fewer than the number of coupons. There must be at most as many caps as coupons in the leg. Additionally dated caps can be provided, where the date indicates when the cap changes. The coupon date will be checked against these dates to determine which cap to use. There must be at least one non-dated cap that will be the first one of the leg, then the rest can optionally be dated cap.

cap: number[]

List of caps. At least one must be provided.

datedCaps: object[]

List of dated caps. The leg coupons will be checked against the dates to determine which cap to use.

Example
{
  "cap": [
    0.02
  ],
  "datedCaps": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.02
  }
}

CPILegData: object

Specification of a CPI leg.

baseCPI: number

The base CPI used to determine the lifting factor for the fixed coupons.

index: string

The underlying zero inflation index.

interpolated: boolean

If true, interpolation will be applied to inflation fixings.

observationLag: string

Lag on inflation observations.

rates: CPILegData_rates
Example
{
  "baseCPI": 210,
  "index": "UKRPI",
  "interpolated": false,
  "observationLag": "2M",
  "rates": {
    "rate": [
      0.02
    ]
  }
}

CPILegData_rates: object

Rates data. If 1 rate is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last rate if there are fewer than the number of coupons. There must be at most as many rates as coupons in the leg. Additionally dated rates can be provided, where the date indicates when the rate changes. The coupon date will be checked against these dates to determine which rate to use. There must be at least one non-dated rate that will be the first one of the leg, then the rest can optionally be dated rates.

datedRates: object[]

List of dated rates.

rate: number[]

List of rates. At least one must be provided.

Example
{
  "datedRates": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.02
  },
  "rate": [
    0.02
  ]
}

CSADetails: object

bilateral: CSASide

Specifies who can request collateral to cover credit risk exposure on the underlying portfolio. | Bilateral: Both parties to the CSA can request collateral. | CallOnly: Only the counterparty has to post collateral. | PostOnly: Only the counterparty can ask for collateral.

collateralCompoundingSpreadPay: number

Spread over the overnight rate taken by the clearing house when the counterparty holds collateral.

collateralCompoundingSpreadReceive: number

Spread over the overnight rate taken by the clearing house when holding collateral.

csaCurrency: Currency

Currency of the CSA.

eligibleCollaterals: CSADetails_eligibleCollaterals
independentAmount: CSADetails_independentAmount
index: RatesIndex

Index used to compound cash collateral in the CSA.

marginPeriodOfRisk: string

Time necessary to close positions after an event of default.

marginingFrequency: CSADetails_marginingFrequency
minimumTransferAmountPay: number , { x ∈ ℝ | x ≥ 0 }

Threshold above which margin calls can be issued by the counterparty.

minimumTransferAmountReceive: number , { x ∈ ℝ | x ≥ 0 }

Threshold above which margin calls can be issued to the counterparty.

thresholdPay: number , { x ∈ ℝ | x ≥ 0 }

Threshold above which counterparty can be asked to post collateral.

thresholdReceive: number , { x ∈ ℝ | x ≥ 0 }

Threshold above which counterparty can ask for collateral to be posted.

Example
{
  "bilateral": "Bilateral",
  "collateralCompoundingSpreadPay": 0,
  "collateralCompoundingSpreadReceive": 0,
  "csaCurrency": "EUR",
  "eligibleCollaterals": {
    "currencies": [
      "EUR"
    ]
  },
  "independentAmount": {
    "independentAmountHeld": 0,
    "independentAmountType": "FIXED"
  },
  "index": "EUR-EONIA",
  "marginPeriodOfRisk": "2W",
  "marginingFrequency": {
    "callFrequency": "3M",
    "postFrequency": "3M"
  },
  "minimumTransferAmountPay": 100000,
  "minimumTransferAmountReceive": 100000,
  "thresholdPay": 100000,
  "thresholdReceive": 100000
}

CSADetails_eligibleCollaterals: object

Eligible currencies for cash collateral.

currencies: object[]
Example
{
  "currencies": [
    "EUR"
  ]
}

CSADetails_independentAmount: object

Specification of any independent amounts defined in the CSA.

independentAmountHeld: number

Netted sum of all independent amounts covered by the CSA. Negative indicates that the counterparty holds this amount.

independentAmountType: string , x ∈ { FIXED }

Nature of the independent amount as defined in the CSA.

Example
{
  "independentAmountHeld": 0,
  "independentAmountType": "FIXED"
}

CSADetails_marginingFrequency: object

Frequency of margin postings.

callFrequency: string

Frequency with which the counterparty can be asked for margin postings.

postFrequency: string

Frequency with which the counterparty can ask for margin postings.

Example
{
  "callFrequency": "3M",
  "postFrequency": "3M"
}

CSASide: string , x ∈ { Bilateral , CallOnly , PostOnly }

Specifies who can request collateral to cover credit risk exposure on the underlying portfolio. | Bilateral: Both parties to the CSA can request collateral. | CallOnly: Only the counterparty has to post collateral. | PostOnly: Only the counterparty can ask for collateral.

Example
"Bilateral"

CVA: object

Response of endpoint /cva.

cva: object[]

CVA of the portfolio, one result per netting set.

Example
{
  "cva": [
    {
      "cva": 16380.14,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 451283.02,
          "expectedCollateral": -7569405.52,
          "pfe": 871914.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

CVAAsyncResponse: object

Calculation ID for later retrieval.

cvaId: string

ID of CVA calculation.

Example
{
  "cvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

CVAConfig:

Contains counterparties' credit curves for CVA calculation as well as generic Valuation Adjustment parameters (inherited from VAConfig).

creditCurves: object[]

List of credit curves for the counterparties.

Example
{
  "creditCurves": [
    {
      "CDSConventions": {
        "calendar": [
          "USD"
        ],
        "currency": "EUR",
        "dayCounter": "A360",
        "discountIndex": "USD-LIBOR-3M",
        "frequency": "Monthly",
        "paymentConvention": "ModifiedFollowing",
        "paysAtDefaultTime": false,
        "rule": "Backward",
        "settlementDays": 2,
        "settlesAccrual": false
      },
      "counterparty": "CPTY_1",
      "curveType": "HazardRate",
      "quotes": [
        {
          "tenor": "1Y",
          "value": 0.00176
        },
        {
          "tenor": "5Y",
          "value": 0.0000522
        },
        {
          "tenor": "30Y",
          "value": 0.0000371
        }
      ],
      "recoveryRate": 0.4
    }
  ],
  "allocationMethod": "Marginal",
  "calculationType": "Symmetric",
  "fullInitialCollateralisation": true,
  "marginalAllocationLimit": 1,
  "returnExposureProfiles": true
}

CVA_cva: object

allocatedCVA: number

Allocated CVA.

allocationMethod: XVAAllocationMethod

Allocation method.

collateralFloor: number

Collateral floor.

cva: number

CVA.

exposures: object[]

List of exposure data, one per date.

nettingSetId: string

Netting set ID.

Example
{
  "allocatedCVA": 16380.14,
  "allocationMethod": "Marginal",
  "collateralFloor": 123600.36,
  "cva": 16380.14,
  "exposures": [
    {
      "date": {
        "stringDate": "2019-12-02"
      },
      "ene": 0,
      "epe": 451283.02,
      "expectedCollateral": -7569405.52,
      "pfe": 871914.8
    },
    {
      "date": {
        "stringDate": "2020-01-02"
      },
      "ene": 0,
      "epe": 1568661.52,
      "expectedCollateral": -7569405.52,
      "pfe": 3069866.8
    }
  ],
  "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
}

Calendar: string , x ∈ { US-SET , TARGET , TGT , EUR , GB , GBP , LNB , UK , US , NYB , USD , US-GOV , US-NYSE , US-NERC , London stock exchange , CA , TRB , CAD , TKB , JP , JPY , ZUB , CHF , AU , AUD , SS , SEK , NZD , NOK , DEN , DKK , WeekendsOnly }

Example
"USD"

CapFloorData: object

Specification of a Cap/Floor.

caps: CapFloorData_caps
floors: CapFloorData_floors
legData: LegData

Leg data. Must be either a Floating or CMS leg.

longShort: LongShort

Direction of the instrument (Long or Short).

Example
{
  "caps": {
    "cap": [
      0.05
    ]
  },
  "floors": {
    "floor": [
      0.01
    ]
  },
  "legData": {
    "CMSLegData": {
      "fixingDays": 2,
      "index": "EUR-CMS-10Y",
      "isInArrears": true,
      "spreads": {
        "spread": [
          0.01
        ]
      }
    },
    "CPILegData": {
      "baseCPI": 210,
      "index": "UKRPI",
      "interpolated": false,
      "observationLag": "2M",
      "rates": {
        "rate": [
          0.02
        ]
      }
    },
    "YYLegData": {
      "fixingDays": 2,
      "index": "USCPI",
      "interpolated": true,
      "observationLag": "2M"
    },
    "fixedLegData": {
      "rates": {
        "rate": [
          0.018
        ]
      }
    },
    "floatingLegData": {
      "fixingDays": 2,
      "index": "GBP-LIBOR-6M",
      "isAveraged": false,
      "isInArrears": false,
      "spreads": {
        "spread": [
          0.01
        ]
      }
    },
    "currency": "GBP",
    "dayCounter": "A365",
    "legType": "Floating",
    "notionals": {
      "exchanges": {
        "notionalAmortizingExchange": false,
        "notionalFinalExchange": true,
        "notionalInitialExchange": false
      },
      "notional": [
        1000000
      ]
    },
    "payer": true,
    "paymentConvention": "ModifiedFollowing",
    "scheduleData": [
      {
        "rules": {
          "calendar": [
            "USD",
            "GBP"
          ],
          "convention": "ModifiedFollowing",
          "endDate": {
            "stringDate": "2027-03-03"
          },
          "endOfMonth": false,
          "rule": "Forward",
          "startDate": {
            "stringDate": "2022-03-03"
          },
          "tenor": "6M",
          "termConvention": "ModifiedFollowing"
        }
      }
    ]
  },
  "longShort": "L"
}

CapFloorData_caps: object

List of caps. If 1 cap is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last cap if there are fewer than the number of coupons. There must be at most as many caps as coupons in the leg.

cap: number[]
Example
{
  "cap": [
    0.05
  ]
}

CapFloorData_floors: object

List of floors. If 1 floor is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last floor if there are fewer than the number of coupons. There must be at most as many floors as coupons in the leg.

floor: number[]
Example
{
  "floor": [
    0.01
  ]
}

CapFloorVolCurve: object

Cap/Floor implied volatility curve.

isAtm: boolean

True if quote is at-the-money.

isRelativeQuote: boolean

True if quote is relative (to be added) to the at-the-money quote.

quotes: object

Quotes.

strike: number

Strike if quote is not at-the-money.

Example
{
  "isAtm": false,
  "isRelativeQuote": false,
  "quotes": {
    "10Y": 0.03,
    "1Y": 0.01,
    "5Y": 0.02
  },
  "strike": 0.035
}

CapFloorVolFeeds: object

Cap/Floor implied volatility quotes.

businessDayConvention: RollConvention

Business day convention for term to date conversion.

calendar: object[]

Calendar(s) for term to date conversion.

ccy: Currency

Currency.

dayCounter: DayCounter

Day count basis for date to time conversion.

discountingIndex: RatesIndex

Index of the curve used for discounting.

extrapolation: VolExtrapolationMethod

Volatility extrapolation method.

index: RatesIndex

Underlying index.

volCurves: object[]

Volatility curves.

volType: VolType

Type of volatility.

Example
{
  "businessDayConvention": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "ccy": "EUR",
  "dayCounter": "A360",
  "discountingIndex": "USD-LIBOR-3M",
  "extrapolation": "Linear",
  "index": "USD-LIBOR-3M",
  "volCurves": [
    {
      "isAtm": false,
      "isRelativeQuote": false,
      "quotes": {
        "10Y": 0.03,
        "1Y": 0.01,
        "5Y": 0.02
      },
      "strike": 0.035
    }
  ],
  "volType": "Normal"
}

Cashflows: object

Response of endpoint /cashflows.

cashflows: object[]

List of cashflow data.

Example
[
  {
    "accrual": 0.501369863,
    "amount": 806043.65,
    "cashflowNumber": 1,
    "coupon": 0.0160768269,
    "currency": "GBP",
    "fixingDate": {
      "stringDate": "2029-08-02"
    },
    "fixingValue": 0.0160780305,
    "flowType": "InterestProjected",
    "legNumber": 1,
    "payDate": {
      "stringDate": "2030-02-05"
    },
    "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
    "tradeType": "Swap"
  },
  {
    "accrual": 0.495890411,
    "amount": 797642.742,
    "cashflowNumber": 2,
    "coupon": 0.0160850608,
    "currency": "GBP",
    "fixingValue": 0.0160850608,
    "flowType": "InterestProjected",
    "legNumber": 1,
    "payDate": {
      "stringDate": "2030-08-05"
    },
    "stringDate": "2030-02-01",
    "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
    "tradeType": "Swap"
  }
]

Cashflows_cashflows: object

accrual: number

Accrual.

amount: number

Amount.

cashflowNumber: integer

Cashflow index.

coupon: number

Coupon rate.

currency: Currency

Currency.

fixingDate: DateParam

Fixing date.

fixingValue: number

Fixing value.

flowType: string

Type of cashflow.

legNumber: integer

Leg number.

payDate: DateParam

Payment date.

tradeId: string

Trade ID..

tradeType: TradeType

Instrument type

Example
{
  "accrual": 0.501369863,
  "amount": 806043.65,
  "cashflowNumber": 1,
  "coupon": 0.0160768269,
  "currency": "EUR",
  "fixingDate": {
    "stringDate": "2010-03-15"
  },
  "fixingValue": 0.0160780305,
  "flowType": "InterestProjected",
  "legNumber": 1,
  "payDate": {
    "stringDate": "2010-03-15"
  },
  "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
  "tradeType": "Swap"
}

CompoundingType: string , x ∈ { Simple , Compounded , Continuous , SimpleThenCompounded }

Type of compounding. Can either of the following, where 'r' is the interest rate, 't' is the time and 'f' is the frequency | Simple: 1 + rt | Compounded: (1 + r/f) ^ (tf) | Continuous: e ^ (rt) | SimpleThenCompounded: 1 + rt for t <= 1/f; and (1 + r/f) ^ (tf) for t > 1/f

Example
"Continuous"

CreateMarketResponse: object

Response of endpoint /db/market/create.

marketDate: DateParam

Date of the market feeds.

marketId: string

Stored market feeds ID.

Example
{
  "marketDate": {
    "stringDate": "2019-03-15"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77"
}

CreditCurve: object

Credit curve data.

CDSConventions: CreditCurve_CDSConventions
counterparty: string

Counterparty ID.

curveType: CreditCurveType

Type of credit curve, can be either CDS spreads or hazard rates.

quotes: object[]

List of quotes.

recoveryRate: number , { x ∈ ℝ | 0 ≤ x ≤ 1 }

Recovery rate.

Example
{
  "CDSConventions": {
    "calendar": [
      "USD"
    ],
    "currency": "EUR",
    "dayCounter": "A360",
    "discountIndex": "USD-LIBOR-3M",
    "frequency": "Monthly",
    "paymentConvention": "ModifiedFollowing",
    "paysAtDefaultTime": false,
    "rule": "Backward",
    "settlementDays": 2,
    "settlesAccrual": false
  },
  "counterparty": "CPTY_1",
  "curveType": "HazardRate",
  "quotes": [
    {
      "tenor": "1Y",
      "value": 0.00176
    },
    {
      "tenor": "5Y",
      "value": 0.0000522
    },
    {
      "tenor": "30Y",
      "value": 0.0000371
    }
  ],
  "recoveryRate": 0.4
}

CreditCurveType: string , x ∈ { CDSSpread , HazardRate }

Type of credit curve, can be either CDS spreads or hazard rates.

Example
"HazardRate"

CreditCurve_CDSConventions: object

CDS conventions.

calendar: object[]

Calendar(s) to use for business days. Up to 4 can be provided and the intersection of their business days will be used.

currency: Currency

Currency.

dayCounter: DayCounter

Day counter.

discountIndex: RatesIndex

Index used for discounting.

frequency: Frequency

Frequency of payments.

paymentConvention: RollConvention

Roll convention used for payments.

paysAtDefaultTime: boolean

If true, payments in the event of a default are due at the time of the default, if false they are due at the end of the accrual period.

rule: DateGenerationRule

Date generation rule used for payments' schedule.

settlementDays: integer , { x ∈ ℤ | x ≥ 0 }

Days to settlement.

settlesAccrual: boolean

If true, accrued interests are due in the event of a default.

Example
{
  "calendar": [
    "USD"
  ],
  "currency": "EUR",
  "dayCounter": "A360",
  "discountIndex": "USD-LIBOR-3M",
  "frequency": "Monthly",
  "paymentConvention": "ModifiedFollowing",
  "paysAtDefaultTime": false,
  "rule": "Backward",
  "settlementDays": 2,
  "settlesAccrual": false
}

Currency: string , x ∈ { USD , EUR , GBP , CHF , JPY , CAD , AUD , NZD , SEK , NOK , DKK }

Example
"EUR"

DVA: object

Response of endpoint /dva.

dva: object[]

DVA of the portfolio, one result per netting set.

Example
{
  "dva": [
    {
      "dva": 24597.54,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1396999.42,
          "expectedCollateral": -7567458.67,
          "pfe": 2687104.18
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

DVAAsyncResponse: object

Calculation ID for later retrieval.

dvaId: string

ID of DVA calculation.

Example
{
  "dvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

DVAConfig:

Contains own credit curves for DVA calculation as well as generic Valuation Adjustment parameters (inherited from VAConfig).

ownCreditCurve: CreditCurve
Example
{
  "ownCreditCurve": {
    "CDSConventions": {
      "calendar": [
        "USD"
      ],
      "currency": "EUR",
      "dayCounter": "A360",
      "discountIndex": "USD-LIBOR-3M",
      "frequency": "Monthly",
      "paymentConvention": "ModifiedFollowing",
      "paysAtDefaultTime": false,
      "rule": "Backward",
      "settlementDays": 2,
      "settlesAccrual": false
    },
    "counterparty": "CPTY_1",
    "curveType": "HazardRate",
    "quotes": [
      {
        "tenor": "1Y",
        "value": 0.00176
      },
      {
        "tenor": "5Y",
        "value": 0.0000522
      },
      {
        "tenor": "30Y",
        "value": 0.0000371
      }
    ],
    "recoveryRate": 0.4
  },
  "allocationMethod": "Marginal",
  "calculationType": "Symmetric",
  "fullInitialCollateralisation": true,
  "marginalAllocationLimit": 1,
  "returnExposureProfiles": true
}

DVA_dva: object

allocatedDVA: number

Allocated DVA.

allocationMethod: XVAAllocationMethod

Allocation method.

dva: number

DVA.

exposures: object[]

List of exposure data, one per date.

nettingSetId: string

Netting set ID.

Example
{
  "allocatedDVA": 24597.54,
  "allocationMethod": "Marginal",
  "dva": 24597.54,
  "exposures": [
    {
      "date": {
        "stringDate": "2019-12-02"
      },
      "ene": 0,
      "epe": 1568661.52,
      "expectedCollateral": -7569405.52,
      "pfe": 3069866.8
    },
    {
      "date": {
        "stringDate": "2020-01-02"
      },
      "ene": 0,
      "epe": 1396999.42,
      "expectedCollateral": -7567458.67,
      "pfe": 2687104.18
    }
  ],
  "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
}

DateGenerationRule: string , x ∈ { Backward , Forward , Zero , ThirdWednesday , Twentieth , TwentiethIMM , OldCDS , CDS , CDS2015 }

Rule to generate dates. | Backward: Backward from final date. | Forward: Forward from initial date. | Zero: Only generates initial and final dates. | ThirdWednesday: All dates are the third Wednesday of their month except for initial and final dates. | Twentieth: All dates are the twentieth of their month except for the initial date. Final date is also affected. | TwentiethIMM: All dates are the twentieth of an IMM month except for the initial date. Final date is also affected. | CDS: Credit derivatives standard rule from 2009. | CDS2015: Credit derivatives standard rule from 2015. Same as CDS except final dates which are adjusted to June 20th and December 20th

Example
"Backward"

DateParam: object

A date. Dates can be specified either as a string or as a tenor to be added to today's date (or in some cases to some other reference date). Only one attribute should be provided.

stringDate: string

A date in format 'YYYY-MM-DD'.

tenorDate: string

A date defined as a tenor to be added to today's date. In some API endpoints a reference date parameter can be provided to override the reference date.

Example
{
  "stringDate": "2010-03-15"
}

DatedExposureBasic: object

Exposure data for a given date.

date: DateParam

Date of the exposure data.

ene: number

Expected negative exposure.

epe: number

Expected exposure.

expectedCollateral: number

Expected collateral balance.

pfe: number

Potential future exposure.

Example
{
  "date": {
    "stringDate": "2019-12-02"
  },
  "ene": 0,
  "epe": 451283.02,
  "expectedCollateral": -7569405.52,
  "pfe": 871914.8
}

DatedNumber: object

Numeric value for a given date.

startDate: DateParam
value: number
Example
{
  "startDate": {
    "stringDate": "2010-03-15"
  },
  "value": 2.3
}

DayCountResponse: object

Response of endpoint /utils/day_count.

dayCount: integer

Number of days between two dates.

Example
{
  "dayCount": 124
}

DayCounter: string , x ∈ { A360 , Actual/360 , ACT/360 , A365 , A365F , Actual/365 (fixed) , T360 , 30/360 , 30/360 (Bond Basis) , ACT/nACT , 30E/360 , 30E/360 (Eurobond Basis) , 30/360 (Italian) , ActActISDA , ActualActual (ISDA) , ACT/ACT , ACT , ActActISMA , ActualActual (ISMA) , ActActAFB , Actual/Actual (AFB) }

Convention to accrue interest over a given period.

Example
"A360"

DepositFeeds: object

Deposit quotes.

ccy: Currency

Deposit currency.

forwardStart: string

Start date tenor.

index: RatesIndex

Underlying index.

quotes: object

Tenor -> deposit rate pairs in decimal points, e.g. 0.01 for 1%.

Example
{
  "ccy": "EUR",
  "forwardStart": "string",
  "index": "USD-LIBOR-3M",
  "quotes": "object"
}

DiscountFactorResponse: object

Response of endpoint /utils/discount_factor.

discountFactor: number

Discount factor.

Example
{
  "discountFactor": 0.9983544086170015
}

ExerciseStyle: string , x ∈ { European , Bermudan , American }

Exercise style of an option.

Example
"European"

FRAFeeds: object

Forward Rate Agreement quotes.

ccy: Currency

FRA currency.

index: RatesIndex

Underlying index.

indexTenor: string

Underlying index tenor.

quotes: object

Tenor -> par FRA rate pairs in decimal points, e.g. 0.01 for 1%.

Example
{
  "ccy": "EUR",
  "index": "EUR-EURIBOR-6M",
  "quotes": {
    "10Y": 0.03,
    "1Y": 0.01,
    "5Y": 0.02
  }
}

FVA: object

Response of endpoint /fva.

fva: object[]

FVA of the portfolio, one result per netting set.

Example
{
  "fva": [
    {
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 33123.69,
          "epe": 351131.19,
          "expectedCollateral": -6070104.25,
          "pfe": 702262.38
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 12712.94,
          "epe": 501479.44,
          "expectedCollateral": -6070104.25,
          "pfe": 1002958.88
        }
      ],
      "fba": 46969.07,
      "fca": 31175.29,
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

FVAAsyncResponse: object

Calculation ID for later retrieval.

fvaId: string

ID of FVA calculation.

Example
{
  "fvaId": "c635fd29-0907-4bf3-9ecb-401c391abec7"
}

FVAConfig:

Contains borrowing and lending curves for FVA calculation as well as generic Valuation Adjustment parameters (inherited from VAConfig).

borrowingCurve: ZeroCurve

Borrowing curve.

lendingCurve: ZeroCurve

Lending curve.

Example
{
  "borrowingCurve": {
    "conventions": {
      "compoundingFrequency": "Monthly",
      "compoundingType": "Continuous",
      "dayCounter": "A360",
      "endOfMonth": false,
      "rollConvention": "ModifiedFollowing",
      "spotCalendar": [
        "USD"
      ],
      "spotLag": 2,
      "tenorCalendar": [
        "USD"
      ]
    },
    "currency": "EUR",
    "quotes": [
      {
        "tenor": "1Y",
        "value": 0.01
      }
    ]
  },
  "lendingCurve": {
    "conventions": {
      "compoundingFrequency": "Monthly",
      "compoundingType": "Continuous",
      "dayCounter": "A360",
      "endOfMonth": false,
      "rollConvention": "ModifiedFollowing",
      "spotCalendar": [
        "USD"
      ],
      "spotLag": 2,
      "tenorCalendar": [
        "USD"
      ]
    },
    "currency": "EUR",
    "quotes": [
      {
        "tenor": "1Y",
        "value": 0.01
      }
    ]
  },
  "allocationMethod": "Marginal",
  "calculationType": "Symmetric",
  "fullInitialCollateralisation": true,
  "marginalAllocationLimit": 1,
  "returnExposureProfiles": true
}

FVA_fva: object

exposures: object[]

List of exposure data, one per date.

fba: number

Funding benefit adjustment.

fca: number

Funding cost adjustment.

nettingSetId: string

Netting set ID.

Example
{
  "exposures": [
    {
      "date": {
        "stringDate": "2019-12-02"
      },
      "ene": 33123.69,
      "epe": 351131.19,
      "expectedCollateral": -6070104.25,
      "pfe": 702262.38
    },
    {
      "date": {
        "stringDate": "2020-01-02"
      },
      "ene": 12712.94,
      "epe": 501479.44,
      "expectedCollateral": -6070104.25,
      "pfe": 1002958.88
    }
  ],
  "fba": 31175.29,
  "fca": 46969.07,
  "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
}

FactorType: string , x ∈ { DiscountCurve , IndexCurve , FXSpot , FXVolatility , SwaptionVolatility , CapFloorVolatility , OptionletVolatility }

Example
"string"

FeedType: string , x ∈ { OI_SWAP , IR_SWAP , BMA_BASIS_SWAP , DEPOSIT , FRA , FX_FWD , CC_BASIS_SWAP , FX_VOL , CAPFLOOR_VOL , SWAPTION_VOL }

Instrument type of given quotes.

Example
"IR_SWAP"

FixedLegData: object

Specification of a fixed leg.

rates: FixedLegData_rates
Example
{
  "rates": {
    "rate": [
      0.018
    ]
  }
}

FixedLegData_rates: object

Rates data. If 1 rate is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last rate if there are fewer than the number of coupons. There must be at most as many rates as coupons in the leg. Additionally dated rates can be provided, where the date indicates when the rate changes. The coupon date will be checked against these dates to determine which rate to use. There must be at least one non-dated rate that will be the first one of the leg, then the rest can optionally be dated rates.

datedRates: object[]

List of dated rates.

rate: number[]

List of rates. At least one must be provided.

Example
{
  "datedRates": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.018
  },
  "rate": [
    0.018
  ]
}

FixingResponse: object

Response of endpoints /utils/ibor_index_fixing and /utils/ois_index_fixing.

fixing: number

Index fixing.

Example
{
  "fixing": 0.0036278903012421098
}

FloatingLegData: object

Specification of a floating leg.

caps: FloatingLegData_caps
fixingDays: integer , { x ∈ ℤ | x ≥ 0 }

Fixing lag in business days.

floors: FloatingLegData_floors
gearings: FloatingLegData_gearings
hasSubPeriods: boolean
includeSpread: boolean

Applies to legs with sub period coupons only. If true, the spread is included in the compounding, otherwise it is not.

index: RatesIndex

Index of the leg's floating coupon.

isAveraged: boolean

If true and if there are multiple index fixings over a period, the coupon is calculated by taking the average of those fixings. If false then the fixings are compounded. Only applies to overnight indices and sub period coupons. Defaults to 'false'.

isInArrears: boolean

If true, fixing lag is calculated with respect to the end of the current period. If false, it is calculated with respect to the end of the previous one.

spreads: FloatingLegData_spreads
Example
{
  "fixingDays": 2,
  "index": "GBP-LIBOR-6M",
  "isAveraged": false,
  "isInArrears": false,
  "spreads": {
    "spread": [
      0.01
    ]
  }
}

FloatingLegData_caps: object

Values at which coupon rates are capped. If 1 cap is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last cap if there are fewer than the number of coupons. There must be at most as many caps as coupons in the leg. Additionally dated caps can be provided, where the date indicates when the cap changes. The coupon date will be checked against these dates to determine which cap to use. There must be at least one non-dated cap that will be the first one of the leg, then the rest can optionally be dated cap.

cap: number[]

List of caps. At least one must be provided.

datedCaps: object[]

List of dated caps.

Example
{
  "cap": [
    0.02
  ],
  "datedCaps": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.02
  }
}

FloatingLegData_floors: object

Values at which coupon rates are floored. If 1 floor is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last floor if there are fewer than the number of coupons. There must be at most as many floors as coupons in the leg. Additionally dated floors can be provided, where the date indicates when the floor changes. The coupon date will be checked against these dates to determine which floor to use. There must be at least one non-dated floor that will be the first one of the leg, then the rest can optionally be dated floors.

datedFloors: object[]

List of dated floors.

floor: number[]

List of floors. At least one must be provided.

Example
{
  "datedFloors": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.001
  },
  "floor": [
    0.001
  ]
}

FloatingLegData_gearings: object

Gearings data, that is by which factor to multiply coupon rates. If 1 gearing is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last gearing if there are fewer than the number of coupons. There must be at most as many gearings as coupons in the leg. Additionally dated gearings can be provided, where the date indicates when the gearing changes. The coupon date will be checked against these dates to determine which gearing to use. There must be at least one non-dated gearing that will be the first one of the leg, then the rest can optionally be dated gearings.

datedGearings: object[]

List of dated gearings.

gearing: number[]

List of gearings. At least one must be provided.

Example
{
  "datedGearings": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.7
  },
  "gearing": [
    0.7
  ]
}

FloatingLegData_spreads: object

Spreads data. If 1 spread is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last spread if there are fewer than the number of coupons. There must be at most as many spreads as coupons in the leg. Additionally dated spreads can be provided, where the date indicates when the spread changes. The coupon date will be checked against these dates to determine which spread to use. There must be at least one non-dated spread that will be the first one of the leg, then the rest can optionally be dated spreads.

datedSpreads: object[]

List of dated spreads.

spread: number[]

List of spreads. At least one must be provided.

Example
{
  "datedSpreads": {
    "startDate": {
      "stringDate": "2010-03-15"
    },
    "value": 0.01
  },
  "spread": [
    0.01
  ]
}

ForwardRateAgreementData: object

Specification of a Forward Rate Agreement.

currency: Currency

Currency of the notional.

endDate: DateParam

End date.

index: RatesIndex

Index against which the FRA is benchmarked.

longShort: LongShort

Direction of the position (Long or Short).

notional: number

Notional.

startDate: DateParam

Start date.

strike: number

Forward interest rate.

Example
{
  "currency": "EUR",
  "endDate": {
    "stringDate": "2010-08-21"
  },
  "index": "GBP-LIBOR-6M",
  "longShort": "L",
  "notional": 10000000,
  "startDate": {
    "stringDate": "2010-03-15"
  },
  "strike": 0.035
}

Frequency: string , x ∈ { Daily , Weekly , Monthly , Bimonthly , Quarterly , Semiannual , Annual , Once }

Frequency. Usually of payments or compounding.

Example
"Monthly"

FxForwardData: object

Specification of an FX Forward.

boughtAmount: number , { x ∈ ℝ | x ≥ 0 }

Bought amount.

boughtCurrency: Currency

Bought currency.

soldAmount: number , { x ∈ ℝ | x ≥ 0 }

Sold amount.

soldCurrency: Currency

Sold currency.

valueDate: DateParam

The date of the FX Forward.

Example
{
  "boughtAmount": 1000000,
  "boughtCurrency": "EUR",
  "soldAmount": 1200000,
  "soldCurrency": "USD",
  "valueDate": {
    "stringDate": "2010-03-15"
  }
}

FxForwardResponse: object

Response of endpoint /utils/fx_forward.

fxForward: number

FX forward rate. Rate is defined as the amount of target currency per unit of source currency.

Example
{
  "fxForward": 1.1511571475632798
}

FxFwdFeeds: object

FX forward quotes.

additionalSettleCalendar: object[]

Additional calendar(s) for determining the spot date.

advanceCalendar: object[]

Calendar(s) used to determine spot and forward dates.

pointsFactor: integer , { x ∈ ℤ | x ≥ 1 }

The number by which a points quote for the currency pair should be divided before adding it to the spot quote to obtain the forward rate.

quotes: object

Tenor -> forward point pairs.

sourceCcy: Currency

Source currency.

spotDays: integer

Number of business days to spot.

spotFX: number

Spot exchange rate. Rate is defined as the amount of target currency per unit of source currency.

spotRelative: boolean

Determines whether the forward tenors are defined relative to spot date or market date.

targetCcy: Currency

Target currency.

Example
{
  "pointsFactor": 10000,
  "quotes": {
    "3M": 100,
    "6M": 200,
    "9M": 300
  },
  "sourceCcy": "USD",
  "spotFX": 0.88,
  "targetCcy": "EUR"
}

FxOptionData: object

Specification of an FX Option.

boughtAmount: number , { x ∈ ℝ | x ≥ 0 }

Bought amount.

boughtCurrency: Currency

Bought currency.

optionData: OptionData

Parameters of the Option.

soldAmount: number , { x ∈ ℝ | x ≥ 0 }

Sold amount.

soldCurrency: Currency

Sold currency.

Example
{
  "boughtAmount": 1000000,
  "boughtCurrency": "EUR",
  "optionData": {
    "exerciseDates": [
      {
        "stringDate": "2010-03-15"
      }
    ],
    "longShort": "L",
    "optionType": "Call",
    "payoffAtExpiry": false,
    "settlement": "Cash",
    "style": "European"
  },
  "soldAmount": 1200000,
  "soldCurrency": "EUR"
}

FxSpotResponse: object

Response of endpoint /utils/fx_spot.

fxSpot: number

FX spot rate. Rate is defined as the amount of target currency per unit of source currency.

Example
{
  "fxSpot": 0.88
}

FxVolFeeds: object

FX implied volatility quotes.

atmVolQuotes: object

At the money quotes.

smileQuotes: object[]

Strictly in or out of the money quotes.

sourceCcy: Currency

Source currency.

targetCcy: Currency

Target currency.

Example
{
  "atmVolQuotes": {
    "10Y": 0.132277,
    "1Y": 0.129775,
    "5Y": 0.131458
  },
  "smileQuotes": [
    {
      "butterflyQuotes": {
        "1W": 0.06891,
        "30Y": 0.154027,
        "3Y": 0.10495,
        "5Y": 0.118632
      },
      "delta": 25,
      "riskReversalQuotes": {
        "1W": 0.06891,
        "30Y": 0.154027,
        "3Y": 0.10495,
        "5Y": 0.118632
      }
    }
  ],
  "sourceCcy": "USD",
  "targetCcy": "GBP"
}

FxVolSmile: object

FX implied volatility quotes (strictly in or out of the money).

butterflyQuotes: object

Butterfly quotes.

delta: integer

Delta.

riskReversalQuotes: object

Risk Reversal quotes.

Example
{
  "butterflyQuotes": {
    "1W": 0.06891,
    "30Y": 0.154027,
    "3Y": 0.10495,
    "5Y": 0.118632
  },
  "delta": 25,
  "riskReversalQuotes": {
    "1W": 0.06891,
    "30Y": 0.154027,
    "3Y": 0.10495,
    "5Y": 0.118632
  }
}

GetDefaultCalendarForCurrencyResponse: object

Response of endpoint /utils/get_default_calendar_for_currency.

defaultCalendar: Calendar

Default calendar.

Example
{
  "defaultCalendar": "USD"
}

GetScheduleDatesResponse: object

Response of endpoint /utils/get_schedule_dates.

dates: object[]

List of dates.

Example
{
  "dates": [
    {
      "stringDate": "2016-03-15"
    },
    {
      "stringDate": "2016-06-15"
    },
    {
      "stringDate": "2016-09-15"
    }
  ]
}

Grid: object

Time grid. Used to define simulation steps.

stepCount: integer , { x ∈ ℤ | x ≥ 2 }

Number of steps in the simulation sequences.

stepSize: string

Step size in the simulation sequences.

Example
{
  "stepCount": 36,
  "stepSize": "6M"
}

IRSwapFeeds: object

Interest rate swap quotes (fixed vs floating).

ccy: Currency

Swap currency.

discountingIndex: RatesIndex

Index of the curve used for discounting.

fixedCalendar: object[]

Fixed leg payment calendar(s).

fixedConvention: RollConvention

Fixed leg roll convention.

fixedDayCounter: DayCounter

Fixed leg day count basis.

fixedFrequency: Frequency

Fixed leg payment frequency.

floatFrequency: Frequency

Floating leg payment frequency, if different from the index tenor.

forwardStart: string

Start date tenor.

index: RatesIndex

Floating leg index.

indexTenor: string

Tenor of the floating leg index.

isAveraged: boolean

Determines whether the coupon rate is averaged or compounded if the float frequency is different from the index tenor.

quotes: object

Tenor -> par swap rate pairs in decimal points, e.g. 0.01 for 1%.

Example
{
  "ccy": "USD",
  "discountingIndex": "USD-FedFunds",
  "forwardStart": "2D",
  "index": "USD-LIBOR-3M",
  "quotes": {
    "1Y": 0.006465,
    "30Y": 0.02047,
    "5Y": 0.0118405
  }
}

IndexFixing: object

fixingDate: DateParam

Fixing date.

fixingValue: number

Fixing value.

indexName: string

Ibor, FX or inflation index name.

Example
{
  "fixingDate": {
    "stringDate": "2010-03-15"
  },
  "fixingValue": 0.0145,
  "indexName": "USD-LIBOR-3M"
}

IsBusinessDayResponse: object

Response of endpoint /utils/is_business_day.

isBusinessDay: boolean

True if date is business day.

Example
{
  "isBusinessDay": true
}

IsEndOfMonthResponse: object

Response of endpoint /utils/is_end_of_month.

isEndOfMonth: boolean

True if date is end of month.

Example
{
  "isEndOfMonth": false
}

IsHolidayResponse: object

Response of endpoint /utils/is_holiday.

isHoliday: boolean

True if date is holiday.

Example
{
  "isHoliday": false
}

LegData:

Specification of a swap leg.

Example
{
  "CMSLegData": {
    "fixingDays": 2,
    "index": "EUR-CMS-10Y",
    "isInArrears": true,
    "spreads": {
      "spread": [
        0.01
      ]
    }
  },
  "CPILegData": {
    "baseCPI": 210,
    "index": "UKRPI",
    "interpolated": false,
    "observationLag": "2M",
    "rates": {
      "rate": [
        0.02
      ]
    }
  },
  "YYLegData": {
    "fixingDays": 2,
    "index": "USCPI",
    "interpolated": true,
    "observationLag": "2M"
  },
  "fixedLegData": {
    "rates": {
      "rate": [
        0.018
      ]
    }
  },
  "floatingLegData": {
    "fixingDays": 2,
    "index": "GBP-LIBOR-6M",
    "isAveraged": false,
    "isInArrears": false,
    "spreads": {
      "spread": [
        0.01
      ]
    }
  },
  "currency": "GBP",
  "dayCounter": "A365",
  "legType": "Floating",
  "notionals": {
    "exchanges": {
      "notionalAmortizingExchange": false,
      "notionalFinalExchange": true,
      "notionalInitialExchange": false
    },
    "notional": [
      1000000
    ]
  },
  "payer": true,
  "paymentConvention": "ModifiedFollowing",
  "scheduleData": [
    {
      "rules": {
        "calendar": [
          "USD",
          "GBP"
        ],
        "convention": "ModifiedFollowing",
        "endDate": {
          "stringDate": "2027-03-03"
        },
        "endOfMonth": false,
        "rule": "Forward",
        "startDate": {
          "stringDate": "2022-03-03"
        },
        "tenor": "6M",
        "termConvention": "ModifiedFollowing"
      }
    }
  ]
}

LegInfo: object

Specification of a swap leg.

currency: Currency

Currency of the leg.

dayCounter: DayCounter

Day count convention.

legType: LegType

Type of leg.

nakedOption: boolean

If true, then the leg represents only the embedded cap, floor or collar.

notionals: LegInfo_notionals
payer: boolean

If true, cashflows of the leg are paid to the counterparty, if false they are received from the counterparty.

paymentConvention: RollConvention

Payment convention.

paymentLag: integer

Payment lag in business days.

scheduleData: object[]

Schedule(s) of payments of the leg. Multiple ones can be provided and they will be concatenated in the order provided here.

Example
{
  "currency": "GBP",
  "dayCounter": "A365",
  "legType": "Floating",
  "notionals": {
    "exchanges": {
      "notionalAmortizingExchange": false,
      "notionalFinalExchange": true,
      "notionalInitialExchange": false
    },
    "notional": [
      1000000
    ]
  },
  "payer": true,
  "paymentConvention": "ModifiedFollowing",
  "scheduleData": [
    {
      "rules": {
        "calendar": [
          "USD",
          "GBP"
        ],
        "convention": "ModifiedFollowing",
        "endDate": {
          "stringDate": "2027-03-03"
        },
        "endOfMonth": false,
        "rule": "Forward",
        "startDate": {
          "stringDate": "2022-03-03"
        },
        "tenor": "6M",
        "termConvention": "ModifiedFollowing"
      }
    }
  ]
}

LegInfo_notionals: object

Notional data. If 1 notional is provided then it is fixed throughout the life of the leg. If several are provided then they will be matched to the leg coupons in the same order, propagating the last notional if there are fewer than the number of coupons. There must be at most as many notionals as coupons in the leg. Additionally dated notionals can be provided, where the date indicates when the notional changes. The coupon date will be checked against these dates to determine which notional to use. There must be at least one non-dated notional that will be the first one of the leg, then the rest can optionally be dated notionals. Finally exchange flags can be provided to indicate whether there are initial, final or amortising currency exchanges.

datedNotionals: object[]

List of dated notionals.

exchanges: LegInfo_notionals_exchanges
fxReset: LegInfo_notionals_fxReset
notional: number[]

List of notionals. At least one must be provided.

Example
{
  "datedNotionals": [
    {
      "startDate": {
        "stringDate": "2010-03-15"
      },
      "value": 2.3
    }
  ],
  "exchanges": {
    "notionalAmortizingExchange": false,
    "notionalFinalExchange": true,
    "notionalInitialExchange": false
  },
  "fxReset": {
    "fixingDays": 2,
    "foreignAmount": 600000,
    "foreignCurrency": "EUR",
    "fxIndex": "FX-ECB-USD-EUR"
  },
  "notional": [
    1000000
  ]
}

LegInfo_notionals_exchanges: object

Flags to indicate whether there will be initial, final or amortising currency exchanges.

notionalAmortizingExchange: boolean

Amortising notional exchange.

notionalFinalExchange: boolean

Final notional exchange.

notionalInitialExchange: boolean

Initial notional exchange.

Example
{
  "notionalAmortizingExchange": false,
  "notionalFinalExchange": true,
  "notionalInitialExchange": false
}

LegInfo_notionals_fxReset: object

Define rebalancing for cross-currency swaps.

fixingDays: integer , { x ∈ ℤ | x ≥ 0 }

Fixing lag in business days.

foreignAmount: number

The amount of foreign currency to which reset the leg.

foreignCurrency: Currency

The foreign currency used to reset the leg.

fxIndex: string

FX index source for FX reset fixing.

Example
{
  "fixingDays": 2,
  "foreignAmount": 600000,
  "foreignCurrency": "EUR",
  "fxIndex": "FX-ECB-USD-EUR"
}

LegType: string , x ∈ { Fixed , Floating , YY , CPI , CMS }

Type of leg.

Example
"Floating"

LegTypeData: object

Leg specification. Only one field (that of the leg type) can be provided.

CMSLegData: CMSLegData

CMS leg data.

CPILegData: CPILegData

CPI leg data.

YYLegData: YYLegData

Year on Year leg data.

fixedLegData: FixedLegData

Fixed leg data.

floatingLegData: FloatingLegData

Floating leg data.

Example
{
  "CMSLegData": {
    "fixingDays": 2,
    "index": "EUR-CMS-10Y",
    "isInArrears": true,
    "spreads": {
      "spread": [
        0.01
      ]
    }
  },
  "CPILegData": {
    "baseCPI": 210,
    "index": "UKRPI",
    "interpolated": false,
    "observationLag": "2M",
    "rates": {
      "rate": [
        0.02
      ]
    }
  },
  "YYLegData": {
    "fixingDays": 2,
    "index": "USCPI",
    "interpolated": true,
    "observationLag": "2M"
  },
  "fixedLegData": {
    "rates": {
      "rate": [
        0.018
      ]
    }
  },
  "floatingLegData": {
    "fixingDays": 2,
    "index": "GBP-LIBOR-6M",
    "isAveraged": false,
    "isInArrears": false,
    "spreads": {
      "spread": [
        0.01
      ]
    }
  }
}

LongShort: string , x ∈ { Long , L , Short , S }

Direction of a position.

Example
"L"

MarketFeeds: object

Contains market feeds quotes for a single type of instrument. Field 'feedType' defines the type of instrument and the corresponding field contains the quotes. Only one field in addition to 'feedType' can and must be provided.

bmaBasisCurve: BMABasisSwapFeeds

BMA/SIFMA basis swap quotes.

capFloorVolSurface: CapFloorVolFeeds

Cap/Floor volatility quotes.

ccBasisSwapCurve: XccyBasisSwapFeeds

Cross-currency basis swap quotes.

depositCurve: DepositFeeds

Deposit quotes.

feedType: FeedType

Type of instrument.

fraCurve: FRAFeeds

Forward Rate Agreement quotes.

fxFWDCurve: FxFwdFeeds

FX Forward quotes

fxVolSurface: FxVolFeeds

FX volatility quotes.

irsCurve: IRSwapFeeds

Interest rate swap quotes.

oisCurve: OISwapFeeds

Overnight index swap quotes.

swaptionVolCube: SwaptionVolCubeFeeds

Swaption volatility cube quotes.

Example
{
  "feedType": "IR_SWAP",
  "irsCurve": {
    "ccy": "USD",
    "forwardStart": "2D",
    "index": "USD-LIBOR-3M",
    "quotes": {
      "1Y": 0.006465,
      "30Y": 0.02047,
      "5Y": 0.0118405
    }
  }
}

MarketHistoricalFixingsData: object

fixingsList: object[]

List of historical index fixings to be loaded into the market.

implyTodaysFixings: boolean

Determines whether the fixings on the market date are to be implied or explicitly provided.

Example
{
  "fixingsList": [
    {
      "fixingDate": {
        "stringDate": "2010-03-15"
      },
      "fixingValue": 0.0145,
      "indexName": "USD-LIBOR-3M"
    }
  ],
  "implyTodaysFixings": false
}

NPVConfig: object

Currency, discounting currency and stored market feeds ID.

discounting: string

Discount curve code, can be either a rates index or a currency.

marketId: string

Stored market feeds ID.

npvCurrency: Currency

NPV currency.

Example
{
  "discounting": "USD",
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "npvCurrency": "EUR"
}

NettingSet: object

Definition of a netting set.

activeCSAFlag: boolean

True if the netting set is covered by a CSA (defined in argument csaDetails).

counterparty: string CPTY_A

Counterparty ID.

csaDetails: CSADetails

Details of the CSA.

nettingSetId: string CPTY_A

Netting set ID.

Example
{
  "activeCSAFlag": true,
  "counterparty": "CPTY_1",
  "csaDetails": {
    "bilateral": "Bilateral",
    "collateralCompoundingSpreadPay": 0,
    "collateralCompoundingSpreadReceive": 0,
    "csaCurrency": "EUR",
    "eligibleCollaterals": {
      "currencies": [
        "EUR"
      ]
    },
    "independentAmount": {
      "independentAmountHeld": 0,
      "independentAmountType": "FIXED"
    },
    "index": "EUR-EONIA",
    "marginPeriodOfRisk": "2W",
    "marginingFrequency": {
      "callFrequency": "3M",
      "postFrequency": "3M"
    },
    "minimumTransferAmountPay": 100000,
    "minimumTransferAmountReceive": 100000,
    "thresholdPay": 100000,
    "thresholdReceive": 100000
  },
  "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
}

NettingSetsDefinitions: object

List of netting sets and their CSA details.

nettingSets: object[]
Example
{
  "nettingSets": [
    {
      "activeCSAFlag": true,
      "counterparty": "CPTY_1",
      "csaDetails": {
        "bilateral": "Bilateral",
        "collateralCompoundingSpreadPay": 0,
        "collateralCompoundingSpreadReceive": 0,
        "csaCurrency": "EUR",
        "eligibleCollaterals": {
          "currencies": [
            "EUR"
          ]
        },
        "independentAmount": {
          "independentAmountHeld": 0,
          "independentAmountType": "FIXED"
        },
        "index": "EUR-EONIA",
        "marginPeriodOfRisk": "2W",
        "marginingFrequency": {
          "callFrequency": "3M",
          "postFrequency": "3M"
        },
        "minimumTransferAmountPay": 100000,
        "minimumTransferAmountReceive": 100000,
        "thresholdPay": 100000,
        "thresholdReceive": 100000
      },
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ]
}

OISwapFeeds: object

Overnight index swap quotes (fixed vs overnight).

ccy: Currency

Swap currency.

eom: boolean

Determines whether the end of month roll convention should be used to generate the OIS schedule.

fixedConvention: RollConvention

Fixed leg accruals roll convention.

fixedDayCounter: DayCounter

Fixed leg day count basis.

fixedFrequency: Frequency

Fixed leg payment frequency.

fixedPaymentConvention: RollConvention

Fixed leg payments roll convention.

index: RatesIndex

Overnight leg index.

paymentCalendar: object[]

Payment dates calendar(s).

paymentLag: integer

Payment lag on both legs (in business days).

quotes: object

Tenor -> par swap rate pairs in decimal points, e.g. 0.01 for 1%.

rule: DateGenerationRule

Rule to generate the OIS schedule.

spotLag: integer , { x ∈ ℤ | x ≥ 0 }

Number of business days until the start of the swap.

Example
{
  "ccy": "EUR",
  "eom": "boolean",
  "fixedConvention": "ModifiedFollowing",
  "fixedDayCounter": "A360",
  "fixedFrequency": "Monthly",
  "fixedPaymentConvention": "ModifiedFollowing",
  "index": "USD-LIBOR-3M",
  "paymentCalendar": [
    "USD"
  ],
  "paymentLag": "integer",
  "quotes": "object",
  "rule": "Backward",
  "spotLag": "integer"
}

OptionData: object

Specification of an Option.

exerciseDates: object[]

Exercise date(s) of the option. American and European options have a single exercise date whereas Bermudan options must have at least 2.

longShort: LongShort

Direction of the instrument (Long or Short).

optionType: OptionType

Type of the option (Call or Put).

payoffAtExpiry: boolean

If true and if the option allows early exercise, then the payoff happens at the date of expiry, if false it happens at the date of exercise. Defaults to false.

settlement: SettlementType

Type of delivery of the option (Cash or Physical).

style: ExerciseStyle

Exercise style of the option (European, American or Bermudan).

Example
{
  "exerciseDates": [
    {
      "stringDate": "2010-03-15"
    }
  ],
  "longShort": "L",
  "optionType": "Call",
  "payoffAtExpiry": false,
  "settlement": "Cash",
  "style": "European"
}

OptionType: string , x ∈ { Call , Put }

Type of an option.

Example
"Call"

Portfolio: object

Contents of a portfolio.

trades: object[]

List of trades in the portfolio.

Example
{
  "trades": [
    {
      "swapData": {
        "legs": [
          {
            "currency": "GBP",
            "dayCounter": "A365",
            "floatingLegData": {
              "fixingDays": 2,
              "index": "GBP-LIBOR-6M",
              "isInArrears": false,
              "spreads": {
                "spread": [
                  0
                ]
              }
            },
            "legType": "Floating",
            "notionals": {
              "notional": [
                1000000
              ]
            },
            "payer": false,
            "paymentConvention": "ModifiedFollowing",
            "scheduleData": [
              {
                "rules": {
                  "calendar": [
                    "GBP",
                    "USD"
                  ],
                  "convention": "ModifiedFollowing",
                  "endDate": {
                    "tenorDate": "8Y"
                  },
                  "rule": "Forward",
                  "startDate": {
                    "tenorDate": "3Y"
                  },
                  "tenor": "6M",
                  "termConvention": "ModifiedFollowing"
                }
              }
            ]
          },
          {
            "currency": "GBP",
            "dayCounter": "A365",
            "fixedLegData": {
              "rates": {
                "rate": [
                  0.018
                ]
              }
            },
            "legType": "Fixed",
            "notionals": {
              "notional": [
                1000000
              ]
            },
            "payer": true,
            "paymentConvention": "ModifiedFollowing",
            "scheduleData": [
              {
                "rules": {
                  "calendar": [
                    "GBP",
                    "USD"
                  ],
                  "convention": "ModifiedFollowing",
                  "endDate": {
                    "tenorDate": "8Y"
                  },
                  "rule": "Forward",
                  "startDate": {
                    "tenorDate": "3Y"
                  },
                  "tenor": "6M",
                  "termConvention": "ModifiedFollowing"
                }
              }
            ]
          }
        ]
      },
      "envelope": {
        "counterparty": "CPTY_1",
        "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
      },
      "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
      "tradeType": "Swap"
    }
  ]
}

PortfolioNPV: object

Response of endpoint /npv.

discounting: string

Discount curve code, can be either a rates index or a currency.

npvCurrency: Currency

Currency of the returned value.

perTrade: object[]

NPV data per trade in the portfolio.

totalNpv: number

NPV of the portfolio.

Example
{
  "discounting": "USD",
  "npvCurrency": "USD",
  "perTrade": [
    {
      "counterparty": "CPTY_1",
      "nettingSet": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
      "npv": -5259413.93,
      "npvCurrency": "USD",
      "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
      "tradeType": "Swap"
    },
    {
      "counterparty": "CPTY_1",
      "nettingSet": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
      "npv": 2611484.09,
      "npvCurrency": "USD",
      "tradeId": "6842776b-d7f5-443c-a770-adf0a9143e65",
      "tradeType": "Swap"
    }
  ],
  "totalNpv": -2647929.84
}

Quote: object

A quote for a given tenor.

tenor: string
value: number
Example
{
  "tenor": "1Y",
  "value": 0.01
}

RandomSequenceGenerator: string , x ∈ { MersenneTwister , MersenneTwisterAntithetic }

Algorithm used to generate random sequences.

Example
"MersenneTwisterAntithetic"

RatesIndex: string , x ∈ { USD-FedFunds , USD-LIBOR-1M , USD-LIBOR-3M , USD-LIBOR-6M , USD-LIBOR-12M , USD-SIFMA-1W , EUR-EONIA , EUR-EURIBOR-1M , EUR-EURIBOR-3M , EUR-EURIBOR-6M , EUR-EURIBOR-12M , EUR-LIBOR-1M , EUR-LIBOR-3M , EUR-LIBOR-6M , EUR-LIBOR-12M , GBP-SONIA , GBP-LIBOR-1M , GBP-LIBOR-3M , GBP-LIBOR-6M , GBP-LIBOR-12M , CHF-SARON , CHF-TOIS , CHF-LIBOR-1M , CHF-LIBOR-3M , CHF-LIBOR-6M , CHF-LIBOR-12M , JPY-TONAR , JPY-LIBOR-1M , JPY-LIBOR-3M , JPY-LIBOR-6M , JPY-LIBOR-12M , JPY-TIBOR-1M , JPY-TIBOR-3M , JPY-TIBOR-6M , JPY-TIBOR-12M , CAD-CORRA , CAD-CDOR-1M , CAD-CDOR-3M , CAD-CDOR-6M , CAD-CDOR-12M , CAD-LIBOR-1M , CAD-LIBOR-3M , CAD-LIBOR-6M , CAD-LIBOR-12M , AUD-AONIA , AUD-BBSW-1M , AUD-BBSW-3M , AUD-BBSW-6M , AUD-BBSW-12M , AUD-LIBOR-1M , AUD-LIBOR-3M , AUD-LIBOR-6M , AUD-LIBOR-12M , NZD-OCR , NZD-BKBM-1M , NZD-BKBM-3M , NZD-BKBM-6M , NZD-BKBM-12M , SEK-SIOR , SEK-STIBOR-1M , SEK-STIBOR-3M , SEK-STIBOR-6M , SEK-STIBOR-12M , SEK-LIBOR-1M , SEK-LIBOR-3M , SEK-LIBOR-6M , SEK-LIBOR-12M , NOK-NOWA , NOK-NIBOR-1M , NOK-NIBOR-3M , NOK-NIBOR-6M , NOK-NIBOR-12M , DKK-TNR , DKK-CIBOR-1M , DKK-CIBOR-3M , DKK-CIBOR-6M , DKK-CIBOR-12M , DKK-LIBOR-1M , DKK-LIBOR-3M , DKK-LIBOR-6M , DKK-LIBOR-12M }

Example
"USD-LIBOR-3M"

RetrieveCVAResponse: object

Results of CVA calculation.

cva: object[]

CVA of the portfolio, one result per netting set.

resultReady: boolean

True if the result is ready.

Example
{
  "cva": [
    {
      "cva": 16380.14,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 451283.02,
          "expectedCollateral": -7569405.52,
          "pfe": 871914.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

RetrieveDVAResponse: object

Results of DVA calculation.

dva: object[]

DVA of the portfolio, one result per netting set.

resultReady: boolean

True if the result is ready.

Example
{
  "dva": [
    {
      "dva": 24597.54,
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 0,
          "epe": 1568661.52,
          "expectedCollateral": -7569405.52,
          "pfe": 3069866.8
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 0,
          "epe": 1396999.42,
          "expectedCollateral": -7567458.67,
          "pfe": 2687104.18
        }
      ],
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

RetrieveFVAResponse: object

Results of DVA calculation.

fva: object[]

FVA of the portfolio, one result per netting set.

resultReady: boolean

True if the result is ready.

Example
{
  "fva": [
    {
      "exposures": [
        {
          "date": {
            "stringDate": "2019-12-02"
          },
          "ene": 33123.69,
          "epe": 351131.19,
          "expectedCollateral": -6070104.25,
          "pfe": 702262.38
        },
        {
          "date": {
            "stringDate": "2020-01-02"
          },
          "ene": 12712.94,
          "epe": 501479.44,
          "expectedCollateral": -6070104.25,
          "pfe": 1002958.88
        }
      ],
      "fba": 46969.07,
      "fca": 31175.29,
      "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
    }
  ],
  "resultReady": true
}

RiskSensitivitiesResponse: object

Response of endpoint /risk/sensitivities.

perTrade: object[]

Sensitivities per trade.

portfolioLevel: Sensitivities

Aggregate sensitivities at portfolio level.

reportingCurrency: Currency
Example
{
  "perTrade": [
    {
      "sensitivities": {
        "capFloorVols": [
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          },
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          }
        ],
        "crossGammas": [
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          },
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          }
        ],
        "discountCurves": [
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          },
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          }
        ],
        "fxSpots": [
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "fxVols": [
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "indexCurves": [
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          },
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          }
        ],
        "swaptionVols": [
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          },
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          }
        ]
      },
      "tradeId": "tradeId"
    },
    {
      "sensitivities": {
        "capFloorVols": [
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          },
          {
            "ccy": "EUR",
            "index": "USD-LIBOR-3M",
            "shiftSize": 6.84685269835264,
            "vegaVommaCurves": [
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              },
              {
                "strike": 7.457744773683766,
                "vega": {
                  "key": 1.1730742509559433
                },
                "vomma": {
                  "key": 4.965218492984954
                }
              }
            ]
          }
        ],
        "crossGammas": [
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          },
          {
            "crossGamma": 5.025004791520295,
            "factorString1": "factorString1",
            "factorString2": "factorString2",
            "factorType1": {}
          }
        ],
        "discountCurves": [
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          },
          {
            "ccy": "EUR",
            "delta": {
              "key": 6.027456183070403
            },
            "gamma": {
              "key": 1.4658129805029452
            },
            "shiftSize": 0.8008281904610115,
            "shiftType": {}
          }
        ],
        "fxSpots": [
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": 9.301444243932576,
            "gamma": 3.616076749251911,
            "shiftSize": 7.061401241503109,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "fxVols": [
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          },
          {
            "delta": {
              "key": 4.145608029883936
            },
            "gamma": {
              "key": 7.386281948385884
            },
            "shiftSize": 2.027123023002322,
            "sourceCcy": "EUR",
            "targetCcy": "EUR"
          }
        ],
        "indexCurves": [
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          },
          {
            "delta": {
              "key": 5.637376656633329
            },
            "gamma": {
              "key": 2.3021358869347655
            },
            "index": "USD-LIBOR-3M",
            "shiftSize": 5.962133916683182
          }
        ],
        "swaptionVols": [
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          },
          {
            "ccy": "EUR",
            "shiftSize": 1.2315135367772556,
            "vegaVommaSurfaces": [
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              },
              {
                "strikeSpread": 0.01,
                "vegaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vega": 1.0246457001441578
                  }
                ],
                "vommaSurface": [
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  },
                  {
                    "expiry": "1Y",
                    "term": "5Y",
                    "vomma": 1.4894159098541704
                  }
                ]
              }
            ]
          }
        ]
      },
      "tradeId": "tradeId"
    }
  ],
  "portfolioLevel": {
    "capFloorVols": [
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      },
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      }
    ],
    "crossGammas": [
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      },
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      }
    ],
    "discountCurves": [
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      },
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      }
    ],
    "fxSpots": [
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "fxVols": [
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "indexCurves": [
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      },
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      }
    ],
    "swaptionVols": [
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      },
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      }
    ]
  },
  "reportingCurrency": "EUR"
}

RiskSensitivitiesResponse_perTrade: object

sensitivities: Sensitivities

Trade sensitivities.

tradeId: string

Trade ID.

Example
{
  "sensitivities": {
    "capFloorVols": [
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      },
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftSize": 6.84685269835264,
        "vegaVommaCurves": [
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          },
          {
            "strike": 7.457744773683766,
            "vega": {
              "key": 1.1730742509559433
            },
            "vomma": {
              "key": 4.965218492984954
            }
          }
        ]
      }
    ],
    "crossGammas": [
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      },
      {
        "crossGamma": 5.025004791520295,
        "factorString1": "factorString1",
        "factorString2": "factorString2",
        "factorType1": {}
      }
    ],
    "discountCurves": [
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      },
      {
        "ccy": "EUR",
        "delta": {
          "key": 6.027456183070403
        },
        "gamma": {
          "key": 1.4658129805029452
        },
        "shiftSize": 0.8008281904610115,
        "shiftType": {}
      }
    ],
    "fxSpots": [
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": 9.301444243932576,
        "gamma": 3.616076749251911,
        "shiftSize": 7.061401241503109,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "fxVols": [
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      },
      {
        "delta": {
          "key": 4.145608029883936
        },
        "gamma": {
          "key": 7.386281948385884
        },
        "shiftSize": 2.027123023002322,
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "indexCurves": [
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      },
      {
        "delta": {
          "key": 5.637376656633329
        },
        "gamma": {
          "key": 2.3021358869347655
        },
        "index": "USD-LIBOR-3M",
        "shiftSize": 5.962133916683182
      }
    ],
    "swaptionVols": [
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      },
      {
        "ccy": "EUR",
        "shiftSize": 1.2315135367772556,
        "vegaVommaSurfaces": [
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          },
          {
            "strikeSpread": 0.01,
            "vegaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vega": 1.0246457001441578
              }
            ],
            "vommaSurface": [
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              },
              {
                "expiry": "1Y",
                "term": "5Y",
                "vomma": 1.4894159098541704
              }
            ]
          }
        ]
      }
    ]
  },
  "tradeId": "tradeId"
}

RollConvention: string , x ∈ { ModifiedFollowing , F , Following , MF , P , Preceding , MP , ModifiedPreceding , U , Unadjusted , INDIFF }

Date rolling convention. | Preceding (P): Payment date is rolled to the previous business day. | Following (F): Payment date is rolled to the next business day. | ModifiedPreceding (MP): Payment date is rolled to the previous business day unless it is in the previous calendar month, in that case payment date is rolled to the next business day. | ModifiedFollowing (MF): Payment date is rolled to the next business day unless it is in the next calendar month, in that case payment date is rolled to the previous business day. | Unadjusted (U): Payment date not adjusted.

Example
"ModifiedFollowing"

ScheduleDataItem: object

Specification of a schedule. It can be defined either by a set of rules or by a list of dates, but not both.

dates: object[]

List of dates in the schedule. At least 2 must be provided.

rules: ScheduleRules

Rules defining the schedule.

Example
{
  "rules": {
    "calendar": [
      "USD",
      "GBP"
    ],
    "convention": "ModifiedFollowing",
    "endDate": {
      "stringDate": "2027-03-03"
    },
    "endOfMonth": false,
    "rule": "Forward",
    "startDate": {
      "stringDate": "2022-03-03"
    },
    "tenor": "6M",
    "termConvention": "ModifiedFollowing"
  }
}

ScheduleRules: object

Rules defining a schedule.

calendar: object[]

Calendar(s) of the schedule. Up to 4 can be provided and the intersection of their business days will be used.

convention: RollConvention

Roll convention when generating the schedule dates.

endDate: DateParam

End date.

endOfMonth: boolean

If true, rule to generate dates in the schedule will not be applied to the final date. Cannot be set to true with rules 'CDS' and 'CDS2015'.

firstDate: DateParam

First date of the schedule. Cannot be used with rules 'CDS' and 'CDS2015'.

nextToLastDate: DateParam

Last date of the schedule.

rule: DateGenerationRule

Rule to generate dates in the schedule.

startDate: DateParam

Start date.

tenor: string

Tenor between dates in the schedule.

termConvention: RollConvention

Roll convention when generating the final date of the schedule.

Example
{
  "calendar": [
    "USD",
    "GBP"
  ],
  "convention": "ModifiedFollowing",
  "endDate": {
    "stringDate": "2027-03-03"
  },
  "endOfMonth": false,
  "rule": "Forward",
  "startDate": {
    "stringDate": "2022-03-03"
  },
  "tenor": "6M",
  "termConvention": "ModifiedFollowing"
}

Sensitivities: object

capFloorVols: object[]

Cap/floor volatility sensitivities.

crossGammas: object[]

Cross-gammas for different factor pairs.

discountCurves: object[]

Discount curve sensitivities.

fxSpots: object[]

FX spot sensitivities.

fxVols: object[]

FX volatility sensitivities.

indexCurves: object[]

Index curve sensitivities.

swaptionVols: object[]

Swaption volatility sensitivities.

Example
{
  "capFloorVols": [
    {
      "ccy": "EUR",
      "index": "USD-LIBOR-3M",
      "shiftSize": 6.84685269835264,
      "vegaVommaCurves": [
        {
          "strike": 7.457744773683766,
          "vega": {
            "key": 1.1730742509559433
          },
          "vomma": {
            "key": 4.965218492984954
          }
        },
        {
          "strike": 7.457744773683766,
          "vega": {
            "key": 1.1730742509559433
          },
          "vomma": {
            "key": 4.965218492984954
          }
        }
      ]
    },
    {
      "ccy": "EUR",
      "index": "USD-LIBOR-3M",
      "shiftSize": 6.84685269835264,
      "vegaVommaCurves": [
        {
          "strike": 7.457744773683766,
          "vega": {
            "key": 1.1730742509559433
          },
          "vomma": {
            "key": 4.965218492984954
          }
        },
        {
          "strike": 7.457744773683766,
          "vega": {
            "key": 1.1730742509559433
          },
          "vomma": {
            "key": 4.965218492984954
          }
        }
      ]
    }
  ],
  "crossGammas": [
    {
      "crossGamma": 5.025004791520295,
      "factorString1": "factorString1",
      "factorString2": "factorString2",
      "factorType1": {}
    },
    {
      "crossGamma": 5.025004791520295,
      "factorString1": "factorString1",
      "factorString2": "factorString2",
      "factorType1": {}
    }
  ],
  "discountCurves": [
    {
      "ccy": "EUR",
      "delta": {
        "key": 6.027456183070403
      },
      "gamma": {
        "key": 1.4658129805029452
      },
      "shiftSize": 0.8008281904610115,
      "shiftType": {}
    },
    {
      "ccy": "EUR",
      "delta": {
        "key": 6.027456183070403
      },
      "gamma": {
        "key": 1.4658129805029452
      },
      "shiftSize": 0.8008281904610115,
      "shiftType": {}
    }
  ],
  "fxSpots": [
    {
      "delta": 9.301444243932576,
      "gamma": 3.616076749251911,
      "shiftSize": 7.061401241503109,
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    },
    {
      "delta": 9.301444243932576,
      "gamma": 3.616076749251911,
      "shiftSize": 7.061401241503109,
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    }
  ],
  "fxVols": [
    {
      "delta": {
        "key": 4.145608029883936
      },
      "gamma": {
        "key": 7.386281948385884
      },
      "shiftSize": 2.027123023002322,
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    },
    {
      "delta": {
        "key": 4.145608029883936
      },
      "gamma": {
        "key": 7.386281948385884
      },
      "shiftSize": 2.027123023002322,
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    }
  ],
  "indexCurves": [
    {
      "delta": {
        "key": 5.637376656633329
      },
      "gamma": {
        "key": 2.3021358869347655
      },
      "index": "USD-LIBOR-3M",
      "shiftSize": 5.962133916683182
    },
    {
      "delta": {
        "key": 5.637376656633329
      },
      "gamma": {
        "key": 2.3021358869347655
      },
      "index": "USD-LIBOR-3M",
      "shiftSize": 5.962133916683182
    }
  ],
  "swaptionVols": [
    {
      "ccy": "EUR",
      "shiftSize": 1.2315135367772556,
      "vegaVommaSurfaces": [
        {
          "strikeSpread": 0.01,
          "vegaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            }
          ],
          "vommaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            }
          ]
        },
        {
          "strikeSpread": 0.01,
          "vegaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            }
          ],
          "vommaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            }
          ]
        }
      ]
    },
    {
      "ccy": "EUR",
      "shiftSize": 1.2315135367772556,
      "vegaVommaSurfaces": [
        {
          "strikeSpread": 0.01,
          "vegaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            }
          ],
          "vommaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            }
          ]
        },
        {
          "strikeSpread": 0.01,
          "vegaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vega": 1.0246457001441578
            }
          ],
          "vommaSurface": [
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            },
            {
              "expiry": "1Y",
              "term": "5Y",
              "vomma": 1.4894159098541704
            }
          ]
        }
      ]
    }
  ]
}

Sensitivities_capFloorVols: object

ccy: Currency
index: RatesIndex
shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

vegaVommaCurves: object[]
Example
{
  "ccy": "EUR",
  "index": "USD-LIBOR-3M",
  "shiftSize": 6.84685269835264,
  "vegaVommaCurves": [
    {
      "strike": 7.457744773683766,
      "vega": {
        "key": 1.1730742509559433
      },
      "vomma": {
        "key": 4.965218492984954
      }
    },
    {
      "strike": 7.457744773683766,
      "vega": {
        "key": 1.1730742509559433
      },
      "vomma": {
        "key": 4.965218492984954
      }
    }
  ]
}

Sensitivities_crossGammas: object

crossGamma: number
factorString1: string

Factor 1 identification string.

factorString2: string

Factor 2 identification string.

factorType1: FactorType
factorType2: FactorType
Example
{
  "crossGamma": 5.025004791520295,
  "factorString1": "factorString1",
  "factorString2": "factorString2",
  "factorType1": {}
}

Sensitivities_discountCurves: object

ccy: Currency
delta: object

Delta per bucket (buckets without impact are omitted).

gamma: object

Gamma per bucket (buckets without impact are omitted).

shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

Example
{
  "ccy": "EUR",
  "delta": {
    "key": 6.027456183070403
  },
  "gamma": {
    "key": 1.4658129805029452
  },
  "shiftSize": 0.8008281904610115,
  "shiftType": {}
}

Sensitivities_fxSpots: object

delta: number

FX spot delta.

gamma: number

FX spot gamma.

shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

sourceCcy: Currency
targetCcy: Currency
Example
{
  "delta": 9.301444243932576,
  "gamma": 3.616076749251911,
  "shiftSize": 7.061401241503109,
  "sourceCcy": "EUR",
  "targetCcy": "EUR"
}

Sensitivities_fxVols: object

delta: object

Delta per bucket (buckets without impact are omitted).

gamma: object

Gamma per bucket (buckets without impact are omitted).

shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

sourceCcy: Currency
targetCcy: Currency
Example
{
  "delta": {
    "key": 4.145608029883936
  },
  "gamma": {
    "key": 7.386281948385884
  },
  "shiftSize": 2.027123023002322,
  "sourceCcy": "EUR",
  "targetCcy": "EUR"
}

Sensitivities_indexCurves: object

delta: object

Delta per bucket (buckets without impact are omitted).

gamma: object

Gamma per bucket (buckets without impact are omitted).

index: RatesIndex
shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

Example
{
  "delta": {
    "key": 5.637376656633329
  },
  "gamma": {
    "key": 2.3021358869347655
  },
  "index": "USD-LIBOR-3M",
  "shiftSize": 5.962133916683182
}

Sensitivities_swaptionVols: object

ccy: Currency
shiftSize: number

Shift applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Whether the shift applied was Absolute or Relative.

vegaVommaSurfaces: object[]
Example
{
  "ccy": "EUR",
  "shiftSize": 1.2315135367772556,
  "vegaVommaSurfaces": [
    {
      "strikeSpread": 0.01,
      "vegaSurface": [
        {
          "expiry": "1Y",
          "term": "5Y",
          "vega": 1.0246457001441578
        },
        {
          "expiry": "1Y",
          "term": "5Y",
          "vega": 1.0246457001441578
        }
      ],
      "vommaSurface": [
        {
          "expiry": "1Y",
          "term": "5Y",
          "vomma": 1.4894159098541704
        },
        {
          "expiry": "1Y",
          "term": "5Y",
          "vomma": 1.4894159098541704
        }
      ]
    },
    {
      "strikeSpread": 0.01,
      "vegaSurface": [
        {
          "expiry": "1Y",
          "term": "5Y",
          "vega": 1.0246457001441578
        },
        {
          "expiry": "1Y",
          "term": "5Y",
          "vega": 1.0246457001441578
        }
      ],
      "vommaSurface": [
        {
          "expiry": "1Y",
          "term": "5Y",
          "vomma": 1.4894159098541704
        },
        {
          "expiry": "1Y",
          "term": "5Y",
          "vomma": 1.4894159098541704
        }
      ]
    }
  ]
}

Sensitivities_vegaSurface: object

Vega sensitivity surface.

expiry: string

Swaption expiry.

term: string

Underlying swap maturity.

vega: number

Vega sensitivity

Example
{
  "expiry": "1Y",
  "term": "5Y",
  "vega": 1.0246457001441578
}

Sensitivities_vegaVommaCurves: object

strike: number
vega: object

Vega per bucket (buckets without impact are omitted).

vomma: object

Vomma per bucket (buckets without impact are omitted).

Example
{
  "strike": 7.457744773683766,
  "vega": {
    "key": 1.1730742509559433
  },
  "vomma": {
    "key": 4.965218492984954
  }
}

Sensitivities_vegaVommaSurfaces: object

strikeSpread: number

Strike spread vs ATM.

vegaSurface: object[]
vommaSurface: object[]
Example
{
  "strikeSpread": 0.01,
  "vegaSurface": [
    {
      "expiry": "1Y",
      "term": "5Y",
      "vega": 1.0246457001441578
    },
    {
      "expiry": "1Y",
      "term": "5Y",
      "vega": 1.0246457001441578
    }
  ],
  "vommaSurface": [
    {
      "expiry": "1Y",
      "term": "5Y",
      "vomma": 1.4894159098541704
    },
    {
      "expiry": "1Y",
      "term": "5Y",
      "vomma": 1.4894159098541704
    }
  ]
}

Sensitivities_vommaSurface: object

Vomma sensitivity surface.

expiry: string

Swaption expiry.

term: string

Underlying swap maturity.

vomma: number

Vomma sensitivity

Example
{
  "expiry": "1Y",
  "term": "5Y",
  "vomma": 1.4894159098541704
}

SensitivityConfig: object

baseCurrency: Currency
discounting: string

Discount curve code, can be either a rates index or a currency.

marketId: string

Stored market feeds ID.

recalibrateModels: boolean

Determines whether models should be recalibrated after each shift (defaults to False if not provided).

shifts: SensitivityConfig_shifts
Example
{
  "baseCurrency": "EUR",
  "discounting": "string",
  "marketId": "string",
  "recalibrateModels": "boolean",
  "shifts": {
    "capFloorVolShifts": [
      {
        "ccy": "EUR",
        "index": "USD-LIBOR-3M",
        "shiftExpiries": [
          "string"
        ],
        "shiftSize": "number",
        "shiftStrikes": [
          "number"
        ],
        "shiftType": "string"
      }
    ],
    "crossGammaFilters": [
      {
        "factorString1": "string",
        "factorString2": "string",
        "factorType1": "string",
        "factorType2": "string"
      }
    ],
    "discountCurveShifts": [
      {
        "ccy": "EUR",
        "shiftSize": "number",
        "shiftTenors": [
          "string"
        ],
        "shiftType": "string"
      }
    ],
    "fxSpotShifts": [
      {
        "shiftSize": "number",
        "shiftType": "string",
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "fxVolShifts": [
      {
        "shiftExpiries": [
          "string"
        ],
        "shiftSize": "number",
        "shiftStrikes": [
          "number"
        ],
        "shiftType": "string",
        "sourceCcy": "EUR",
        "targetCcy": "EUR"
      }
    ],
    "indexCurveShifts": [
      {
        "index": "USD-LIBOR-3M",
        "shiftSize": "number",
        "shiftTenors": [
          "string"
        ],
        "shiftType": "string"
      }
    ],
    "swaptionVolShifts": [
      {
        "ccy": "EUR",
        "shiftExpiries": [
          "string"
        ],
        "shiftSize": "number",
        "shiftStrikes": [
          "number"
        ],
        "shiftTerms": [
          "string"
        ],
        "shiftType": "string"
      }
    ]
  }
}

SensitivityConfig_shifts: object

Defines the shifts to be performed for the sensitivity analysis. If empty or omitted, standard shifts will be applied on all the market factors relevant to the portfolio provided.

capFloorVolShifts: object[]

Shifts to be applied to cap/floor volatilities.

crossGammaFilters: object[]

List of cross-gamma factor pairs to be computed.

discountCurveShifts: object[]

Shifts to be applied to discount curves.

fxSpotShifts: object[]

Shifts to be applied to FX spot rates.

fxVolShifts: object[]

Shifts to be applied to FX volatilities.

indexCurveShifts: object[]

Shifts to be applied to index curves.

swaptionVolShifts: object[]

Shifts to be applied to swaption volatilities.

Example
{
  "capFloorVolShifts": [
    {
      "ccy": "EUR",
      "index": "USD-LIBOR-3M",
      "shiftExpiries": [
        "string"
      ],
      "shiftSize": "number",
      "shiftStrikes": [
        "number"
      ],
      "shiftType": "string"
    }
  ],
  "crossGammaFilters": [
    {
      "factorString1": "string",
      "factorString2": "string",
      "factorType1": "string",
      "factorType2": "string"
    }
  ],
  "discountCurveShifts": [
    {
      "ccy": "EUR",
      "shiftSize": "number",
      "shiftTenors": [
        "string"
      ],
      "shiftType": "string"
    }
  ],
  "fxSpotShifts": [
    {
      "shiftSize": "number",
      "shiftType": "string",
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    }
  ],
  "fxVolShifts": [
    {
      "shiftExpiries": [
        "string"
      ],
      "shiftSize": "number",
      "shiftStrikes": [
        "number"
      ],
      "shiftType": "string",
      "sourceCcy": "EUR",
      "targetCcy": "EUR"
    }
  ],
  "indexCurveShifts": [
    {
      "index": "USD-LIBOR-3M",
      "shiftSize": "number",
      "shiftTenors": [
        "string"
      ],
      "shiftType": "string"
    }
  ],
  "swaptionVolShifts": [
    {
      "ccy": "EUR",
      "shiftExpiries": [
        "string"
      ],
      "shiftSize": "number",
      "shiftStrikes": [
        "number"
      ],
      "shiftTerms": [
        "string"
      ],
      "shiftType": "string"
    }
  ]
}

SensitivityConfig_shifts_capFloorVolShifts: object

ccy: Currency
index: RatesIndex
shiftExpiries: string[]

List of cap/floor expiry buckets to be shifted.

shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftStrikes: number[]

List of cap/floor strike buckets to be shifted (in absolute terms).

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

Example
{
  "ccy": "EUR",
  "index": "USD-LIBOR-3M",
  "shiftExpiries": [
    "string"
  ],
  "shiftSize": "number",
  "shiftStrikes": [
    "number"
  ],
  "shiftType": "string"
}

SensitivityConfig_shifts_crossGammaFilters: object

factorString1: string

String to identify factor 1. Can be a currency, a currency pair or an index. Can be appended with a tenor and/or strike depending on the factor type for more granularity.

factorString2: string

String to identify factor 2. Can be a currency, a currency pair or an index. Can be appended with a tenor and/or strike depending on the factor type for more granularity.

factorType1: FactorType
factorType2: FactorType
Example
{
  "factorString1": "string",
  "factorString2": "string",
  "factorType1": "string",
  "factorType2": "string"
}

SensitivityConfig_shifts_discountCurveShifts: object

ccy: Currency
shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftTenors: string[]

List of curve tenors/buckets to be shifted.

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

Example
{
  "ccy": "EUR",
  "shiftSize": "number",
  "shiftTenors": [
    "string"
  ],
  "shiftType": "string"
}

SensitivityConfig_shifts_fxSpotShifts: object

shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

sourceCcy: Currency
targetCcy: Currency
Example
{
  "shiftSize": "number",
  "shiftType": "string",
  "sourceCcy": "EUR",
  "targetCcy": "EUR"
}

SensitivityConfig_shifts_fxVolShifts: object

shiftExpiries: string[]

List of option expiry buckets to be shifted.

shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftStrikes: number[]

List of option strike buckets to be shifted (in absolute terms).

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

sourceCcy: Currency
targetCcy: Currency
Example
{
  "shiftExpiries": [
    "string"
  ],
  "shiftSize": "number",
  "shiftStrikes": [
    "number"
  ],
  "shiftType": "string",
  "sourceCcy": "EUR",
  "targetCcy": "EUR"
}

SensitivityConfig_shifts_indexCurveShifts: object

index: RatesIndex
shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftTenors: string[]

List of curve tenors/buckets to be shifted.

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

Example
{
  "index": "USD-LIBOR-3M",
  "shiftSize": "number",
  "shiftTenors": [
    "string"
  ],
  "shiftType": "string"
}

SensitivityConfig_shifts_swaptionVolShifts: object

ccy: Currency
shiftExpiries: string[]

List of swaption expiry buckets to be shifted.

shiftSize: number

Shift to be applied, in decimal points, e.g. 0.0001 for 1bp or 0.01 for 1%

shiftStrikes: number[]

List of swaption strike buckets to be shifted (as spread vs ATM).

shiftTerms: string[]

List of underlying swap meturity buckets to be shifted.

shiftType: ShiftType

Determines whether the shift to be applied is Absolute or Relative.

Example
{
  "ccy": "EUR",
  "shiftExpiries": [
    "string"
  ],
  "shiftSize": "number",
  "shiftStrikes": [
    "number"
  ],
  "shiftTerms": [
    "string"
  ],
  "shiftType": "string"
}

SettlementType: string , x ∈ { Cash , Physical }

Type of delivery of an option.

Example
"Cash"

ShiftType: string , x ∈ { Absolute , Relative }

Example
"string"

SimulationConfig: object

Configuration of Monte Carlo simulations.

baseCurrency: Currency

Currency used for reporting and valuation.

calendar: object[]

Calendar(s) to use during the simulation. Up to 4 can be provided and the intersection of their business days will be used.

discounting: string

Discount curve code, can be either a rates index or a currency.

grid: Grid

Time grid on which yield curves are evaluated.

marketId: string

Stored market feeds ID.

samplesCount: integer , { x ∈ ℤ | x ≥ 1 }

Number of simulations to run.

seed: integer

Random number generator seed. Specify this to make results reproducible.

sequence: RandomSequenceGenerator
Example
{
  "baseCurrency": "EUR",
  "calendar": [
    "USD",
    "EUR",
    "GBP"
  ],
  "discounting": "EUR",
  "grid": {
    "stepCount": 36,
    "stepSize": "6M"
  },
  "marketId": "79f1e41a-0a58-4e6b-a8d4-0b1eaed04c77",
  "samplesCount": 1000,
  "seed": 49,
  "sequence": "MersenneTwisterAntithetic"
}

SwapData: object

Specification of a Swap.

legs: object[]

List of legs in the swap.

Example
{
  "legs": [
    {
      "CMSLegData": {
        "fixingDays": 2,
        "index": "EUR-CMS-10Y",
        "isInArrears": true,
        "spreads": {
          "spread": [
            0.01
          ]
        }
      },
      "CPILegData": {
        "baseCPI": 210,
        "index": "UKRPI",
        "interpolated": false,
        "observationLag": "2M",
        "rates": {
          "rate": [
            0.02
          ]
        }
      },
      "YYLegData": {
        "fixingDays": 2,
        "index": "USCPI",
        "interpolated": true,
        "observationLag": "2M"
      },
      "fixedLegData": {
        "rates": {
          "rate": [
            0.018
          ]
        }
      },
      "floatingLegData": {
        "fixingDays": 2,
        "index": "GBP-LIBOR-6M",
        "isAveraged": false,
        "isInArrears": false,
        "spreads": {
          "spread": [
            0.01
          ]
        }
      },
      "currency": "GBP",
      "dayCounter": "A365",
      "legType": "Floating",
      "notionals": {
        "exchanges": {
          "notionalAmortizingExchange": false,
          "notionalFinalExchange": true,
          "notionalInitialExchange": false
        },
        "notional": [
          1000000
        ]
      },
      "payer": true,
      "paymentConvention": "ModifiedFollowing",
      "scheduleData": [
        {
          "rules": {
            "calendar": [
              "USD",
              "GBP"
            ],
            "convention": "ModifiedFollowing",
            "endDate": {
              "stringDate": "2027-03-03"
            },
            "endOfMonth": false,
            "rule": "Forward",
            "startDate": {
              "stringDate": "2022-03-03"
            },
            "tenor": "6M",
            "termConvention": "ModifiedFollowing"
          }
        }
      ]
    }
  ]
}

SwapSolveRate: object

Response of endpoint /solver/callable_swap.

parRate: number

Par rate.

Example
{
  "parRate": 0.01965093114513831
}

SwapSolveSpread: object

Response of endpoint /solver/swap.

parSpread: number

Par spread.

Example
{
  "parSpread": 0.011840499885548576
}

SwaptionData: object

Specification of a Swaption.

optionData: OptionData

Parameters of the Option.

swap: SwapData

Parameters of the Swap.

Example
{
  "optionData": {
    "exerciseDates": [
      {
        "stringDate": "2010-03-15"
      }
    ],
    "longShort": "L",
    "optionType": "Call",
    "payoffAtExpiry": false,
    "settlement": "Cash",
    "style": "European"
  },
  "swap": {
    "legs": [
      {
        "CMSLegData": {
          "fixingDays": 2,
          "index": "EUR-CMS-10Y",
          "isInArrears": true,
          "spreads": {
            "spread": [
              0.01
            ]
          }
        },
        "CPILegData": {
          "baseCPI": 210,
          "index": "UKRPI",
          "interpolated": false,
          "observationLag": "2M",
          "rates": {
            "rate": [
              0.02
            ]
          }
        },
        "YYLegData": {
          "fixingDays": 2,
          "index": "USCPI",
          "interpolated": true,
          "observationLag": "2M"
        },
        "fixedLegData": {
          "rates": {
            "rate": [
              0.018
            ]
          }
        },
        "floatingLegData": {
          "fixingDays": 2,
          "index": "GBP-LIBOR-6M",
          "isAveraged": false,
          "isInArrears": false,
          "spreads": {
            "spread": [
              0.01
            ]
          }
        },
        "currency": "GBP",
        "dayCounter": "A365",
        "legType": "Floating",
        "notionals": {
          "exchanges": {
            "notionalAmortizingExchange": false,
            "notionalFinalExchange": true,
            "notionalInitialExchange": false
          },
          "notional": [
            1000000
          ]
        },
        "payer": true,
        "paymentConvention": "ModifiedFollowing",
        "scheduleData": [
          {
            "rules": {
              "calendar": [
                "USD",
                "GBP"
              ],
              "convention": "ModifiedFollowing",
              "endDate": {
                "stringDate": "2027-03-03"
              },
              "endOfMonth": false,
              "rule": "Forward",
              "startDate": {
                "stringDate": "2022-03-03"
              },
              "tenor": "6M",
              "termConvention": "ModifiedFollowing"
            }
          }
        ]
      }
    ]
  }
}

SwaptionVolCubeFeeds: object

Swaption implied volatility cube quotes.

businessDayConvention: RollConvention

Business day convention for option tenor to date conversion.

calendar: object[]

Calendar(s) for term to date conversion.

ccy: Currency

Currency.

dayCounter: DayCounter

Day count basis for date to time conversion.

extrapolation: VolExtrapolationMethod

Volatility extrapolation method.

longSwapDiscountingIndex: RatesIndex

Determines the discounting index of swaptions' underlying swaps when longer than 'shortSwapTenor'.

longSwapTenor: string

Longest underlying swap tenor.

longSwapUnderlyingIndex: RatesIndex

Determines the underlying ibor index of swaptions' underlying swaps when longer than 'shortSwapTenor'.

shortSwapDiscountingIndex: RatesIndex

Determines the discounting index of swaptions' underlying swaps when shorter or equal to 'shortSwapTenor'.

shortSwapTenor: string

Underlying swaps with a shorter (or equal) tenor use 'shortSwapUnderlyingIndex' as underlying ibor index.

shortSwapUnderlyingIndex: RatesIndex

Determines the underlying ibor index of swaptions' underlying swaps when shorter or equal to 'shortSwapTenor'.

volSurfaces: object[]

Implied volatility surfaces.

volType: VolType

Type of volatility.

Example
{
  "businessDayConvention": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "ccy": "EUR",
  "dayCounter": "A360",
  "extrapolation": "Linear",
  "longSwapDiscountingIndex": "USD-LIBOR-3M",
  "longSwapTenor": "string",
  "longSwapUnderlyingIndex": "USD-LIBOR-3M",
  "shortSwapDiscountingIndex": "USD-LIBOR-3M",
  "shortSwapTenor": "string",
  "shortSwapUnderlyingIndex": "USD-LIBOR-3M",
  "volSurfaces": [
    {
      "quotes": [
        {
          "optionTenor": "1Y",
          "quote": 0.00527,
          "swapTenor": "5Y"
        }
      ],
      "strikeSpread": 0
    }
  ],
  "volType": "Normal"
}

SwaptionVolSurface: object

Swaption implied volatility surfaces.

quotes: object[]

Quotes.

strikeSpread: number

Strike spread vs ATM.

Example
{
  "quotes": [
    {
      "optionTenor": "1Y",
      "quote": 0.00527,
      "swapTenor": "5Y"
    }
  ],
  "strikeSpread": 0
}

SwaptionVolSurface_quotes: object

optionTenor: string

Option tenor.

quote: number

Quote.

swapTenor: string

Swap tenor.

Example
{
  "optionTenor": "1Y",
  "quote": 0.00527,
  "swapTenor": "5Y"
}

Trade:

Definition of a trade.

Example
{
  "swapData": {
    "legs": [
      {
        "currency": "GBP",
        "dayCounter": "A365",
        "floatingLegData": {
          "fixingDays": 2,
          "index": "GBP-LIBOR-6M",
          "isInArrears": false,
          "spreads": {
            "spread": [
              0
            ]
          }
        },
        "legType": "Floating",
        "notionals": {
          "notional": [
            1000000
          ]
        },
        "payer": false,
        "paymentConvention": "ModifiedFollowing",
        "scheduleData": [
          {
            "rules": {
              "calendar": [
                "GBP",
                "USD"
              ],
              "convention": "ModifiedFollowing",
              "endDate": {
                "tenorDate": "8Y"
              },
              "rule": "Forward",
              "startDate": {
                "tenorDate": "3Y"
              },
              "tenor": "6M",
              "termConvention": "ModifiedFollowing"
            }
          }
        ]
      },
      {
        "currency": "GBP",
        "dayCounter": "A365",
        "fixedLegData": {
          "rates": {
            "rate": [
              0.018
            ]
          }
        },
        "legType": "Fixed",
        "notionals": {
          "notional": [
            1000000
          ]
        },
        "payer": true,
        "paymentConvention": "ModifiedFollowing",
        "scheduleData": [
          {
            "rules": {
              "calendar": [
                "GBP",
                "USD"
              ],
              "convention": "ModifiedFollowing",
              "endDate": {
                "tenorDate": "8Y"
              },
              "rule": "Forward",
              "startDate": {
                "tenorDate": "3Y"
              },
              "tenor": "6M",
              "termConvention": "ModifiedFollowing"
            }
          }
        ]
      }
    ]
  },
  "envelope": {
    "counterparty": "CPTY_1",
    "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
  },
  "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
  "tradeType": "Swap"
}

TradeData: object

Trade specification. Only one field (that of the instrument type) can be provided.

capFloorData: CapFloorData

Cap/Floor

forwardRateAgreementData: ForwardRateAgreementData

FRA

fxForwardData: FxForwardData

FX Forward

fxOptionData: FxOptionData

FX Option

swapData: SwapData

Swap

swaptionData: SwaptionData

Swaption

Example
{
  "swapData": {
    "legs": [
      {
        "currency": "GBP",
        "dayCounter": "A365",
        "floatingLegData": {
          "fixingDays": 2,
          "index": "GBP-LIBOR-6M",
          "isInArrears": false,
          "spreads": {
            "spread": [
              0
            ]
          }
        },
        "legType": "Floating",
        "notionals": {
          "notional": [
            1000000
          ]
        },
        "payer": false,
        "paymentConvention": "ModifiedFollowing",
        "scheduleData": [
          {
            "rules": {
              "calendar": [
                "GBP",
                "USD"
              ],
              "convention": "ModifiedFollowing",
              "endDate": {
                "tenorDate": "8Y"
              },
              "rule": "Forward",
              "startDate": {
                "tenorDate": "3Y"
              },
              "tenor": "6M",
              "termConvention": "ModifiedFollowing"
            }
          }
        ]
      },
      {
        "currency": "GBP",
        "dayCounter": "A365",
        "fixedLegData": {
          "rates": {
            "rate": [
              0.018
            ]
          }
        },
        "legType": "Fixed",
        "notionals": {
          "notional": [
            1000000
          ]
        },
        "payer": true,
        "paymentConvention": "ModifiedFollowing",
        "scheduleData": [
          {
            "rules": {
              "calendar": [
                "GBP",
                "USD"
              ],
              "convention": "ModifiedFollowing",
              "endDate": {
                "tenorDate": "8Y"
              },
              "rule": "Forward",
              "startDate": {
                "tenorDate": "3Y"
              },
              "tenor": "6M",
              "termConvention": "ModifiedFollowing"
            }
          }
        ]
      }
    ]
  },
  "envelope": {
    "counterparty": "CPTY_1",
    "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
  },
  "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
  "tradeType": "Swap"
}

TradeInfo: object

Trade metadata.

envelope: TradeInfo_envelope
tradeId: string

Trade ID.

tradeType: TradeType

Instrument type.

Example
{
  "envelope": {
    "counterparty": "CPTY_1",
    "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4"
  },
  "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
  "tradeType": "Swap"
}

TradeInfo_envelope: object

Additional trade details.

additionalFields: object
counterparty: string _DEFAULT_CPTY

Counterparty ID.

nettingSetId: string _DEFAULT_NETTING_SET

Netting set ID.

portfolioIds: string[]

ID of the portfolio(s) that contain the trade. A trade can be assigned to multiple portfolios.

Example
{
  "additionalFields": "object",
  "counterparty": "_DEFAULT_CPTY",
  "nettingSetId": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
  "portfolioIds": [
    "PORTFOLIO_1"
  ]
}

TradeNPV: object

NPV data for a given trade.

counterparty: string

Counterparty ID.

nettingSet: string

Netting set ID.

npv: number

NPV.

npvCurrency: Currency

NPV currency.

tradeId: string

Trade ID.

tradeType: TradeType

Instrument type.

Example
{
  "counterparty": "CPTY_1",
  "nettingSet": "a63f9f0b-46a7-461f-b938-9bdbd49d39b4",
  "npv": 5259413.93,
  "npvCurrency": "USD",
  "tradeId": "1f37b199-8f31-4ca2-8eeb-bf74fd8f3ace",
  "tradeType": "Swap"
}

TradeType: string , x ∈ { ForwardRateAgreement , Swap , CapFloor , Swaption , FxForward , FxOption }

Instrument type.

Example
"Swap"

VAConfig: object

Parameters common to all valuation adjustments.

allocationMethod: XVAAllocationMethod

XVA allocation method. Can be None, Marginal or RelativeXVA.

calculationType: XVACalculationType

Define how margin calls are settled. | Symmetric: Margin settled after the margin period of risk for both parties. | AsymmetricCVA: Only margin requested from the counterparty is settled with a delay, margin posted to the counterparty is settled immediately. | AsymmetricDVA: Only margin posted to the counterparty is settled with a delay, margin requested from the counterparty is settled immediately.

fullInitialCollateralisation: boolean

If false, collateral balance is set to 0 at the beginning of the simulation. If true, collateral balance in each netting set is set to the NPV of that netting set at the beginning of the simulation, this means that expected exposure, expected negative exposure and potential future exposure will be 0 at the beginning of the simulation.

marginalAllocationLimit: number , { x ∈ ℝ | x ≥ 1 }

If provided, when the absolute netting set value falls below this value then the XVA allocation method is switched from Marginal to equal distribution of the exposure. This is because the Pykhtin/Rosen allocation method does not work when the netting set value decreases beyond a certain point while the exposure does not.

returnExposureProfiles: boolean

If true, return the exposure (epe, ene, pfe) data with the valuation adjustment.

Example
{
  "allocationMethod": "Marginal",
  "calculationType": "Symmetric",
  "fullInitialCollateralisation": true,
  "marginalAllocationLimit": 1,
  "returnExposureProfiles": true
}

VolExtrapolationMethod: string , x ∈ { Linear , Flat , None }

Volatility extrapolation method. None means no extrapolation.

Example
"Linear"

VolType: string , x ∈ { Normal }

Type of volatility. Only Normal is supported at the moment.

Example
"Normal"

XVAAllocationMethod: string , x ∈ { None , Marginal , RelativeXVA }

XVA allocation method. Can be None, Marginal or RelativeXVA

Example
"Marginal"

XVACalculationType: string , x ∈ { Symmetric , AsymmetricCVA , AsymmetricDVA }

Define how margin calls are settled. | Symmetric: Margin settled after the margin period of risk for both parties | AsymmetricCVA: Only margin requested from the counterparty is settled with a delay, margin posted to the counterparty is settled immediately | AsymmetricDVA: Only margin posted to the counterparty is settled with a delay, margin requested from the counterparty is settled immediately

Example
"Symmetric"

XccyBasisSwapFeeds: object

Cross-currency basis swap quotes.

eom: boolean

Determines whether the end of month roll convention should be used to generate the schedule on both legs.

flatIndex: RatesIndex

Index on the leg without the spread.

flatIndexCcy: Currency

Currency of the leg without the spread.

flatIndexIsResettable: boolean

Determines whether it is the notional on the leg without the spread that resets.

flatIndexTenor: string

Tenor of the index on the leg without the spread.

isResettable: boolean

Determines whether the swap is mark-to-market resettable.

quotes: object

Tenor -> par xccy basis spread pairs in decimal points, e.g. 0.005 for 0.50%.

rollConvention: RollConvention

Roll convention for both legs.

settlementCalendar: object[]

Settlement date calendar(s).

settlementDays: integer

Business days to the settlement date of the swap.

spotFX: number

Spot exchange rate. Rate is defined as the amount of target currency per unit of source currency.

spreadedIndex: RatesIndex

Index on the leg with the spread.

spreadedIndexCcy: Currency

Currency of the leg with the spread.

spreadedIndexTenor: string

Tenor of the index on the leg with the spread.

Example
{
  "flatIndex": "USD-LIBOR-3M",
  "flatIndexCcy": "USD",
  "quotes": {
    "1Y": -0.001675,
    "30Y": -0.0018,
    "5Y": -0.001125
  },
  "spotFX": 0.79,
  "spreadedIndex": "GBP-LIBOR-3M",
  "spreadedIndexCcy": "GBP"
}

YYLegData: object

Specification of a Year on Year leg.

fixingDays: integer

Fixing lag in business days.

index: string

The underlying zero inflation index.

interpolated: boolean

If true, interpolation will be applied to inflation fixings.

observationLag: string

Lag on inflation observations.

Example
{
  "fixingDays": 2,
  "index": "USCPI",
  "interpolated": true,
  "observationLag": "2M"
}

YearFractionResponse: object

Response of endpoint /utils/year_fraction.

yearFraction: number

Year fraction.

Example
{
  "yearFraction": 0.3397260273972603
}

ZeroCurve: object

A curve of zero rates.

conventions: ZeroCurve_conventions
currency: Currency

Currency of the curve.

quotes: object[]

List of points in the curve

Example
{
  "conventions": {
    "compoundingFrequency": "Monthly",
    "compoundingType": "Continuous",
    "dayCounter": "A360",
    "endOfMonth": false,
    "rollConvention": "ModifiedFollowing",
    "spotCalendar": [
      "USD"
    ],
    "spotLag": 2,
    "tenorCalendar": [
      "USD"
    ]
  },
  "currency": "EUR",
  "quotes": [
    {
      "tenor": "1Y",
      "value": 0.01
    }
  ]
}

ZeroCurve_conventions: object

Conventions of the curve.

compoundingFrequency: Frequency

Frequency of compounding.

compoundingType: CompoundingType

Type of compounding.

dayCounter: DayCounter

Day counter.

endOfMonth: boolean

End of month convention.

rollConvention: RollConvention

Roll convention.

spotCalendar: object[]

Calendar(s) used to apply the spotLag. Up to 4 can be provided and the intersection of their business days will be used.

spotLag: integer

Lag in days applied to all quotes from the valuation date.

tenorCalendar: object[]

Calendar used for the quotes' tenors.

Example
{
  "compoundingFrequency": "Monthly",
  "compoundingType": "Continuous",
  "dayCounter": "A360",
  "endOfMonth": false,
  "rollConvention": "ModifiedFollowing",
  "spotCalendar": [
    "USD"
  ],
  "spotLag": 2,
  "tenorCalendar": [
    "USD"
  ]
}

adjustCalendarParams: object

The date to be adjusted, the business day adjustment and the calendar to use.

businessDayAdjustment: RollConvention

Roll convention to apply to reference date.

calendar: object[]

Calendar.

refDate: DateParam

Date to adjust.

Example
{
  "businessDayAdjustment": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  }
}

advanceCalendarParams: object

The date to be shifted, the shift period and the calendar to use.

businessDayAdjustment: RollConvention

Business day adjustment.

calendar: object[]

Calendar.

refDate: DateParam

Date on which to apply the shift.

shift: string

Shift to apply to the reference date.

Example
{
  "businessDayAdjustment": "ModifiedFollowing",
  "calendar": [
    "USD"
  ],
  "refDate": {
    "stringDate": "2010-03-15"
  },
  "shift": "3M"
}

businessDaysBetweenParams: object