Load Trade

Load a trade into a portfolio

Parameter Description Default Options
trades
Required
Input trades. Can be QuickTrade, FPML5, LCH, CME or SDR format. If not specified then must specify either portfolios or whatifTrades parameters
portfolioId
Required
A unique identifier for the portfolio
dataSource
Optional
ASX , AVM , CME , Clarus , EUREX , FRTB , FpML , ION , IP , JPM , LCH , SACCR , SIMMv10 , SIMMv12 , SIMMv13 , SIMMv20 , SIMMv201D , SIMMv21 , SIMMv22 , SIMMv221D , SIMMv23 , SIMMv231D , SIMMv24 , SIMMv241D , SIMMv25 , SIMMv251D , SIMMv25a , SIMMv25a1D , SIMMv26 , SIMMv261D , Sophis , StateStreet
fcm
Optional
Garda , anz , cft , cfthouse , wfs
import clarus

response = clarus.load.trade(fcm='cft',portfolioId='ClientAcc1One',trades='USD 10Y SOFR 50M 3.5%',dataSource='LCH')
print (response)
import com.clarusft.api.model.load.TradeRequest
import com.clarusft.api.model.load.TradeResponse

ApiClient clarus = ApiClient.getDefault();
TradeResponse response = clarus.request(new TradeRequest().withFcm("cft").withPortfolioId("ClientAcc1One").withTrades("USD 10Y SOFR 50M 3.5%").withDataSource("LCH"));
System.out.println(response);
import Clarus

response = Clarus.Load.trade(fcm="cft",portfolioId="ClientAcc1One",trades="USD 10Y SOFR 50M 3.5%",dataSource="LCH")
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('load', 'Trade', fcm='cft', portfolioId='ClientAcc1One', trades='USD 10Y SOFR 50M 3.5%', dataSource='LCH')
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('load', 'Trade', fcm='cft', portfolioId='ClientAcc1One', trades='USD 10Y SOFR 50M 3.5%', dataSource='LCH')
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 = ('fcm' => 'cft','portfolioId' => 'ClientAcc1One','trades' => 'USD 10Y SOFR 50M 3.5%','dataSource' => 'LCH');

my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'load/';
my $name = 'Trade';
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 = {'fcm', 'cft', ...
          'portfolioId', 'ClientAcc1One', ...
          'trades', 'USD 10Y SOFR 50M 3.5%', ...
          'dataSource', 'LCH'}

r = request('load', 'Trade', params)
ca = toCellArray(r);

ca

Request Body

Submit to generate...
Response

Submit to generate...

{
  "fcm" : "cft",
  "trades" : "USD 10Y SOFR 50M 3.5%",
  "portfolioId" : "ClientAcc1One",
  "dataSource" : "LCH"
}