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. | 2024-11-21 | |
startDate Optional |
The start date in YYYY-MM-DD format | 2024-11-21 | |
endDate Optional |
The end date in YYYY-MM-DD format | 2024-11-21 | |
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 , CCPSwitch , Compression , Curve , List , Outright , Package , Roll , Spreadcurve , Spreadfly , Spreadover , Straddle |
subtype Optional |
Subtype | All | All , Back Start , Fwd , IMM , MAC , NStd , SPS , Spot |
columns Optional |
Columns to show in result | - | DISSEMINATIONID , action , additionalPriceNotation , additionalPriceNotationType , assetClass , blockTradesAndLargeNotionalOffFacilitySwaps , c_AdjustedDV01 , c_AdjustedNotional , c_AdjustedPrice , c_bbgTicker , c_clarusId , c_clearingMandatory , c_dv01 , c_executionDate , c_forwardTerm , c_isMAT , c_notional2Capped , c_npv , c_package , c_packageId , c_platformType , c_sdr , c_subtype , c_tenor , dayCountConvention , effectiveDate , embededOption , endDate , executionTimeStamp , executionVenue , indicationOfCollateralization , indicationOfEndUserException , indicationOfOtherPriceAffectingTerm , notionalCurrency1 , notionalCurrency2 , optionCurrency , optionExpirationDate , optionFamily , optionLockPeriod , optionPremium , optionStrikePrice , optionType , originalDisseminationID , paymentFrequency1 , paymentFrequency2 , platformID , priceFormingContinuationData , priceNotation , priceNotation2 , priceNotation2Type , priceNotation3 , priceNotation3Type , priceNotationType , resetFrequency1 , resetFrequency2 , roundedNotionalAmount1 , roundedNotionalAmount2 , settlementCurrency , status , subAssetClassForOtherCommodity , taxonomy , underlyingAsset1 , underlyingAsset2 |
import clarus response = clarus.sdr.tradefilter(taxonomy='InterestRate:IRSwap:OIS') 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:OIS")); System.out.println(response);
import Clarus response = Clarus.Sdr.tradefilter(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', 'TradeFilter', 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', 'TradeFilter', 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 = '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:OIS'}
r = request('sdr', 'TradeFilter', params)
ca = toCellArray(r);
ca
Example of REST API query URL (GET)
CSV
https://apieval.clarusft.com/api/rest/v1/sdr/tradefilter.csv?taxonomy=InterestRate:IRSwap:OIS
TSV
https://apieval.clarusft.com/api/rest/v1/sdr/tradefilter.tsv?taxonomy=InterestRate:IRSwap:OIS
JSON
https://apieval.clarusft.com/api/rest/v1/sdr/tradefilter.json?taxonomy=InterestRate:IRSwap:OIS
HTML
https://apieval.clarusft.com/api/rest/v1/sdr/tradefilter.html?taxonomy=InterestRate:IRSwap:OIS
Request Body
Submit to generate...
Response
Submit to generate...
{
"taxonomy" : "InterestRate:IRSwap:OIS"
}
import clarus
def onMessage(message):
print(message)
clarus.sdr.tradefilter(taxonomy='InterestRate:IRSwap:OIS',stream=True,onMessage=onMessage)