Trade Caplets

Returns normalised undiscounted caplet/floorlet price(s)

Parameter Description Default Options
fixingValueDate
Required
Fixing Value Date
bpVol
Required
BpVol
valueDate
Optional
The value date in YYYY-MM-DD format.
floatingRateOption
Optional
Floating Rate Option EUR-EURIBOR-REUTERS AUD-AONIA-RBA , AUD-AONIA-REUTERS , AUD-BBR-BBSW , AUD-LIBOR-BBA , BRL-CDI , CAD-BA-CDOR , CAD-CORRA-BOC , CAD-LIBOR-BBA , CHF-LIBOR-BBA , CHF-SARON-REUTERS , CHF-TOIS-REUTERS , CNH-HIBOR-TMA , CNY-CNREPOFIX=CFXS-REUTERS , CNY-SHIBOROIS-REUTERS , COP-IBROIS-BANREP , CZK-PRIBOR-PRBO , DKK-CIBOR-DKNA13 , DKK-CIBOR2-DKNA13 , EUR-EONIA-AVERAGE , EUR-EURIBOR-REUTERS , EUR-EURIBOR-TELERATE , EUR-EUROSTR-ECB , EUR-LIBOR-BBA , GBP-LIBOR-BBA , GBP-SONIA-BOE , GBP-SONIA-WMBA , HKD-HIBOR-HIBOR , HKD-HIBOR-HKAB , HKD-HIBOR-ISDC , HKD-HONIX-TELERATE , HUF-BUBOR-REUTERS , IDR-JIBOR-REUTERS , IDR-SBI-REUTERS , ILS-TELBOR01-REUTERS , INR-MIBOR-FBIL , JPY-LIBOR-BBA , JPY-TIBOR-DTIBOR01 , JPY-TIBOR-ZTIBOR , JPY-TONA-BOJ , JPY-TONAR-REUTERS , KRW-CD-KSDA-BLOOMBERG , MXN-TIIE-BANXICO , MYR-KLIBOR-BNM , NOK-NIBOR-NIBR , NOK-NIBOR-OIBOR , NZD-BBR-FRA , NZD-BBR-TELERATE , NZD-NZIONA-REUTERS , PHP-PHIREF-BAP , PLN-POLONIA-NBPS , PLN-WIBOR-WIBO , RUB-MOSPRIME-NFEA , RUB-RUONIA-NFEA , SEK-STIBOR-SIDE , SGD-SOR-REUTERS , SGD-SOR-VWAP , SGD-SORA-MAS , THB-THBFIX-REUTERS , TWD-REUTERS-6165 , TWD-TAIBOR-REUTERS , USD-FEDERAL FUNDS-H.15 , USD-LIBOR-BBA , USD-SOFR-FRB , ZAR-JIBAR-SAFEX
maturity
Optional
Maturity 3M ON , TN , SN , 1W , 14D , 3W , 28D , 1M , 2M , 3M , 91D , 4M , 5M , 6M , 182D , 7M , 8M , 9M , 10M , 11M , 1Y
payoff
Optional
Payoff Floorlet Caplet , Floorlet
strike
Optional
Strike 0
import clarus

response = clarus.trade.caplets(bpVol='0.01')
print (response)
import com.clarusft.api.model.trade.CapletsRequest
import com.clarusft.api.model.trade.CapletsResponse

ApiClient clarus = ApiClient.getDefault();
CapletsResponse response = clarus.request(new CapletsRequest().withBpVol("0.01"));
System.out.println(response);
import Clarus

response = Clarus.Trade.caplets(bpVol="0.01")
print(response)

##
##Need to install packages once, if not already installed
##install.packages('httr')
##install.packages('readr')
##

library('httr')
##library('readr')

## Manually edit and set key/secret here ##
apiKey <- '...'
apiSecret <-'...'

request <- function(category, functionName, ...){
  restUrl  =  paste0('https://apieval.clarusft.com/api/rest/v1/', category, '/',functionName, '.csv')
  response <- POST(url=restUrl, body=list(...), encode='json', authenticate(apiKey, apiSecret, type='basic'))
  if (response$status_code!=200){
      stop(paste0('Request to ', category, '/', functionName, ' failed with status code: ', response$status_code))
  }
  return (response)
}

dataframe <- function(response){
  return (read.csv(text=content(response, 'text'), sep=',', head=TRUE))
}
## filename <- file.path('C:', 'Temp', 'myfile.csv')
## myvalue <- <- read_file(filename)

r <- request('trade', 'Caplets', bpVol='0.01')
df <- dataframe(r)
print (df)

import requests
import sys
import pandas
import io
#import os

# Example of REST API call to Clarus Microservices #

# Manually edit and set key/secret here #
apiKey = ''
apiSecret = ''

print (sys.version)

def request(category, functionName, **params):
  restUrl = 'https://apieval.clarusft.com/api/rest/v1/' + category + '/' + functionName + '.json'
  r = requests.post(restUrl, json=params, auth=(apiKey, apiSecret))
  r.raise_for_status()
  return r.json()

def dataframe(results):
  return pandas.DataFrame(results['results'])

# filename = os.path.join('C:\\', 'Temp', 'myfile.csv')
# myvalue = open(filename).read()

r = request('trade', 'Caplets', bpVol='0.01')
df = dataframe(r)
print(pandas.DataFrame.head(df))


use strict;
use warnings;
use MIME::Base64;
use JSON;
use REST::Client;

# Example of REST API call to Clarus Microservices #

my $client = REST::Client->new();
$client->addHeader('Content-Type', 'application/json');

# Manually edit and set key/secret here 
my $apiKey = '';
my $apiSecret = '';

my $encoded_auth = encode_base64("$apiKey:$apiSecret", '');
$client->addHeader('Authorization', "Basic $encoded_auth");

my %params = ('bpVol' => '0.01');

my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'trade/';
my $name = 'Caplets';
my $outputFormat = '.csv'; #can also be '.json' or '.tsv'
my $fullRESTUrl  =  $urlBase . $category . $name . $outputFormat;

$client->POST($fullRESTUrl,encode_json(\%params));

print 'Response: ' . $client->responseContent() . "\n";
print 'Response status: ' . $client->responseCode() . "\n";


printf('Example of REST API call to Clarus Microservices\n');

function r = request(category, functionName, params)

# Manually edit and set key/secret here #
  apiKey = ''
  apiSecret = ''

  restUrl = ['https://' apiKey ":" apiSecret  "@" 'apieval.clarusft.com/api/rest/v1/' category '/' functionName '.csv'];
  [r, status, message] = urlread (restUrl, 'get', params);
  if (status!=1)
      error(['Failed on ' category '/' functionName ': ' message]);
  endif
end

function ca = toCellArray(csvStr)
  header_row = textscan (csvStr, "%s", 1, 'delimiter','\n');
  headers = strsplit(char(header_row), ",");
  numCols = size(headers)(2);
  format = repmat('%s ', [1 numCols]);
  ca = textscan (csvStr, format, 'delimiter',',', 'endofline',"\n");
end

params = {'bpVol', '0.01'}

r = request('trade', 'Caplets', params)
ca = toCellArray(r);

ca

Request Body

Submit to generate...
Response

Submit to generate...

{
  "bpVol" : "0.01"
}