Dates Schedule
Computes a schedule of dates. The end date is adjusted for roll convention and always included in the result. The start date is never included in the result. Good business days are determined by specifying the currency and the business day convention. The holiday calendars are the principal financial centres for the currency.
Parameter | Description | Default | Options |
---|---|---|---|
startDate Required |
The start date in YYYY-MM-DD format | ||
endDate Required |
The end date in YYYY-MM-DD format | ||
rollConvention Optional |
Roll Convention | IMM | 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , EOM , IMM , NONE , IMMCAD , IMMAUD , IMMNZD , SFE |
frequency Optional |
Frequency | 3M | 1M , 3M , 6M , 12M |
currency Optional |
Currency | 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 | |
busDayConvention Optional |
Business Day Convention | NONE | FOLLOWING , FRN , MODFOLLOWING , MODPRECEDING , NEAREST , NONE , PRECEDING |
import clarus response = clarus.dates.schedule(endDate='2017-08-24',startDate='2016-08-24') print (response)
import com.clarusft.api.model.dates.ScheduleRequest import com.clarusft.api.model.dates.ScheduleResponse ApiClient clarus = ApiClient.getDefault(); ScheduleResponse response = clarus.request(new ScheduleRequest().withEndDate("2017-08-24").withStartDate("2016-08-24")); System.out.println(response);
import Clarus response = Clarus.Dates.schedule(endDate="2017-08-24",startDate="2016-08-24") 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('dates', 'Schedule', endDate='2017-08-24', startDate='2016-08-24')
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('dates', 'Schedule', endDate='2017-08-24', startDate='2016-08-24')
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 = ('endDate' => '2017-08-24','startDate' => '2016-08-24');
my $urlBase = 'https://apieval.clarusft.com/api/rest/v1/';
my $category = 'dates/';
my $name = 'Schedule';
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 = {'endDate', '2017-08-24', ...
'startDate', '2016-08-24'}
r = request('dates', 'Schedule', params)
ca = toCellArray(r);
ca
Example of REST API query URL (GET)
CSV
https://apieval.clarusft.com/api/rest/v1/dates/schedule.csv?endDate=2017-08-24&startDate=2016-08-24
TSV
https://apieval.clarusft.com/api/rest/v1/dates/schedule.tsv?endDate=2017-08-24&startDate=2016-08-24
JSON
https://apieval.clarusft.com/api/rest/v1/dates/schedule.json?endDate=2017-08-24&startDate=2016-08-24
HTML
https://apieval.clarusft.com/api/rest/v1/dates/schedule.html?endDate=2017-08-24&startDate=2016-08-24
Request Body
Submit to generate...
Response
Submit to generate...
{
"endDate" : "2017-08-24",
"startDate" : "2016-08-24"
}