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

Request Body

Submit to generate...
Response

Submit to generate...

{
  "endDate" : "2017-08-24",
  "startDate" : "2016-08-24"
}