SDR Volume2
Volume of instruments reported to an SDR (trade counts, gross notional or dv01)
Due to capping rules applied to SDRs, notional and dv01 measures are lower than actual volume
| Parameter | Description | Default | Options |
|---|---|---|---|
| reportDate Optional |
The report date in YYYY-MM-DD format. | ||
| startDate Optional |
The start date in YYYY-MM-DD format | ||
| endDate Optional |
The end date in YYYY-MM-DD format | ||
| taxonomy Optional |
The full product taxonomy, e.g InterestRate:IRSwap:FixedFloat, Credit:Index:CDX:CDXIG, ForeignExchange:NDF | InterestRate:IRSwap:OIS | See ISDA product taxonomy |
| transactionType Optional |
TransactionType | Trade | Termination , Trade |
| cleared Optional |
Cleared or uncleared trades. | C , U | |
| currency Optional |
Currency | AED , ARS , AUD , BRL , CAD , CHF , CLF , CLP , CNY , COP , COU , CZK , DKK , EUR , GBP , GHS , HKD , HNL , HUF , IDR , ILS , INR , JPY , KRW , KZT , MXN , MXV , MYR , NGN , NOK , NZD , PEN , PHP , PLN , RON , RUB , SAR , SEK , SGD , THB , TRY , TWD , UGX , USD , UYU , ZAR , ZMW | |
| currencyPair Optional |
CurrencyPair | ||
| sef Optional |
Swap Execution Facility, refers to whether the transaction was On SEF or Off SEF or both. | NA , Off , On | |
| tenor Optional |
Tenor | 0D , 100Y , 101Y , 102Y , 103Y , 104Y , 106Y , 10M , 10Y , 113Y , 11M , 11Y , 123Y , 124Y , 125Y , 12Y , 138Y , 13Y , 146Y , 14Y , 15Y , 16Y , 17Y , 18M , 18Y , 190Y , 19Y , 1D , 1M , 1W , 1Y , 200Y , 207Y , 20Y , 21Y , 22Y , 23Y , 24Y , 25Y , 26Y , 27Y , 28Y , 29Y , 2D , 2M , 2W , 2Y , 3000Y , 300Y , 30M , 30Y , 31Y , 32Y , 33Y , 34Y , 35Y , 36Y , 37Y , 38Y , 39Y , 3D , 3M , 3W , 3Y , 400Y , 40Y , 41Y , 42Y , 43Y , 44Y , 45Y , 46Y , 47Y , 48Y , 49Y , 4D , 4M , 4Y , 50Y , 51Y , 52Y , 53Y , 54Y , 55Y , 56Y , 57Y , 58Y , 59Y , 5D , 5M , 5Y , 600Y , 60Y , 61Y , 62Y , 63Y , 64Y , 68Y , 69Y , 6M , 6Y , 70Y , 71Y , 75Y , 7974Y , 7987Y , 7M , 7Y , 80Y , 82Y , 84Y , 85Y , 86Y , 87Y , 88Y , 895Y , 89Y , 8M , 8Y , 90Y , 91Y , 92Y , 931Y , 932Y , 94Y , 98Y , 999Y , 9M , 9Y | |
| forward Optional |
Forward | ||
| subtype Optional |
Subtype | Back Start , Fwd , IMM , MAC , NStd , SPS , Spot | |
| package Optional |
Package | Butterfly , CCPSwitch , Compression , Curve , List , Outright , Package , Roll , Spreadcurve , Spreadfly , Spreadover , Straddle | |
| source Optional |
The Swap Data Repositories to use as the source of trades. | DTCC | BBG , CME , DTCC , ICE |
| group Optional |
Group | ReportDate,Taxonomy,Currency | ReportDate , cleared , currency , currencyPair , forward , package , sef , source , subtype , taxonomy , tenor , transactionType |
| sortBy Optional |
Sort By | ||
| sortOrder Optional |
Sort Order | ASCENDING , DESCENDING | |
| display Optional |
Display | NotionalUSD | Count , DV01 , DV01USD , Notional , NotionalUSD |
| drilldown Optional |
Drilldown | false | false , true |
| columns Optional |
Columns to show in result | - | |
| optionalColumns Optional |
Optional Columns |
import clarus response = clarus.sdr.volume2(taxonomy='InterestRate:IRSwap:OIS') print (response)
import com.clarusft.api.model.sdr.Volume2Request
import com.clarusft.api.model.sdr.Volume2Response
ApiClient clarus = ApiClient.getDefault();
Volume2Response response = clarus.request(new Volume2Request().withTaxonomy("InterestRate:IRSwap:OIS"));
System.out.println(response);
import Clarus response = Clarus.Sdr.volume2(taxonomy="InterestRate:IRSwap:OIS") 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('sdr', 'Volume2', taxonomy='InterestRate:IRSwap:OIS')
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('sdr', 'Volume2', taxonomy='InterestRate:IRSwap:OIS')
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 = ('taxonomy' => 'InterestRate:IRSwap:OIS');
my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'sdr/';
my $name = 'Volume2';
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 = {'taxonomy', 'InterestRate:IRSwap:OIS'}
r = request('sdr', 'Volume2', params)
ca = toCellArray(r);
ca
Example of REST API query URL (GET)
CSV
https://apieval.clarusft.com/api/rest/v1/sdr/volume2.csv?taxonomy=InterestRate:IRSwap:OIS&
TSV
https://apieval.clarusft.com/api/rest/v1/sdr/volume2.tsv?taxonomy=InterestRate:IRSwap:OIS&
JSON
https://apieval.clarusft.com/api/rest/v1/sdr/volume2.json?taxonomy=InterestRate:IRSwap:OIS&
HTML
https://apieval.clarusft.com/api/rest/v1/sdr/volume2.html?taxonomy=InterestRate:IRSwap:OIS&
Request Body
Submit to generate...
Response
Submit to generate...
{
"taxonomy" : "InterestRate:IRSwap:OIS"
}