SDR Trades

Trade details of all transactions on a given day in a specific instrument or list of instruments published by an SDR

Parameter Description Default Options
ticker
Required
The BBG Ticker or list of tickers for the Swap instrument. See Tickers.
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
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.trades(ticker='ADSW10,ADSW5')
print (response)
import com.clarusft.api.model.sdr.TradesRequest
import com.clarusft.api.model.sdr.TradesResponse

ApiClient clarus = ApiClient.getDefault();
TradesResponse response = clarus.request(new TradesRequest().withTicker("ADSW10,ADSW5"));
System.out.println(response);
import Clarus

response = Clarus.Sdr.trades(ticker="ADSW10,ADSW5")
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', 'Trades', ticker='ADSW10,ADSW5')
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', 'Trades', ticker='ADSW10,ADSW5')
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 = ('ticker' => 'ADSW10,ADSW5');

my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'sdr/';
my $name = 'Trades';
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 = {'ticker', 'ADSW10,ADSW5'}

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

ca

Request Body

Submit to generate...
Response

Submit to generate...

{
  "ticker" : "ADSW10,ADSW5"
}