SDR TradeFilter

Trade details of all transactions matching the specified parameters published by an SDR

Parameter Description Default Options
taxonomy
Required
The full product taxonomy, e.g InterestRate:IRSwap:FixedFloat, Credit:Index:CDX:CDXIG, ForeignExchange:NDF See taxonomies
reportDate
Optional
The report date in YYYY-MM-DD format. 2021-06-19
cleared
Optional
Cleared or uncleared trades. C,U C , U
sef
Optional
Swap Execution Facility, refers to whether the transaction was On SEF or Off SEF or both. On,Off,NA NA , Off , On
source
Optional
The Swap Data Repositories to use as the source of trades. BBG,CME,DTCC,ICE BBG , CME , DTCC , ICE
currency
Optional
Currency USD AED , ARS , AUD , BRL , CAD , CHF , CLP , CNH , CNY , COP , CZK , DKK , EGP , EUR , GBP , GHS , HKD , HUF , IDR , ILS , INR , JPY , KRW , KZT , LBP , LKR , MXN , MYR , NGN , NOK , NZD , PEN , PHP , PKR , PLN , RUB , SAR , SEK , SGD , THB , TWD , USD , VEB , VNG , ZAR
package
Optional
Package All All , Butterfly , Compression , Curve , List , Outright , Roll , Spreadcurve , Spreadover
subtype
Optional
Subtype All All , Back Start , Fwd , IMM , MAC , NStd , Spot
columns
Optional
Columns action , additional_price_notation , additional_price_notation_type , asset_class , block_trades_and_large_notional_off_facility_swaps , c_adjusteddv01 , c_adjustednotionalamount , c_bbgticker , c_dv01 , c_executiondate , c_forwardterm , c_id , c_ismat , c_notionalcapped , c_npv , c_package , c_packageid , c_sdr , c_subtype , c_tenor , cleared , day_count_convention , dissemination_id , effective_date , embeded_option , end_date , execution_timestamp , execution_venue , indication_of_collateralization , indication_of_end_user_exception , indication_of_other_price_affecting_term , notional_currency_1 , notional_currency_2 , option_currency , option_expiration_date , option_family , option_lock_period , option_premium , option_strike_price , option_type , original_dissemination_id , payment_frequency_1 , payment_frequency_2 , price_forming_continuation_data , price_notation , price_notation2 , price_notation2_type , price_notation3 , price_notation3_type , price_notation_type , reset_frequency_1 , reset_frequency_2 , rounded_notional_amount_1 , rounded_notional_amount_2 , settlement_currency , sub_asset_class_for_other_commodity , taxonomy , underlying_asset_1 , underlying_asset_2
import clarus

response = clarus.sdr.tradefilter(taxonomy='InterestRate:IRSwap:FixedFloat')
print (response)
import com.clarusft.api.model.sdr.TradeFilterRequest
import com.clarusft.api.model.sdr.TradeFilterResponse

ApiClient clarus = ApiClient.getDefault();
TradeFilterResponse response = clarus.request(new TradeFilterRequest().withTaxonomy("InterestRate:IRSwap:FixedFloat"));
System.out.println(response);
import Clarus

response = Clarus.Sdr.tradefilter(taxonomy="InterestRate:IRSwap:FixedFloat")
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', 'TradeFilter', taxonomy='InterestRate:IRSwap:FixedFloat')
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', 'TradeFilter', taxonomy='InterestRate:IRSwap:FixedFloat')
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:FixedFloat');

my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'sdr/';
my $name = 'TradeFilter';
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:FixedFloat'}

r = request('sdr', 'TradeFilter', params)
ca = toCellArray(r);

ca

Request Body

Submit to generate...
Response

Submit to generate...

{
  "taxonomy" : "InterestRate:IRSwap:FixedFloat"
}