Configuration

Packages

The following code snippets contain the required packages to call Systemathics API and and the optional packages depending on the queryind sample such as csv extraction, graphs plotting, etc.
The are two types of packages:

  • Systemathics packages: to call Systemathics API services and types.
  • Open-source packages: to call google types, grpc features and other capabilities such as graph plotting and data extraction.

                  
# open source commonly used modules
import os
import grpc
import pandas as pd
from datetime import datetime
from datetime import timedelta
import google.type.date_pb2 as date
import google.type.timeofday_pb2 as timeofday
import google.type.dayofweek_pb2 as dayofweek
import google.protobuf.duration_pb2 as duration

# systemathics required modules to call API services 
# ex of api_service: tick_trades, tick_bars, daily_bars, dividends, splits, static_data, components...
# ex of api_service_group: tick, tick_analytics, daily, daily_analytics, corporate_actions, static_data, indices...
import systemathics.apis.services.api_service_group.v1.api_service_pb2 as api_service
import systemathics.apis.services.api_service_group.v1.api_service_pb2_grpc as api_service_grpc

# systemathics required modules to call API types 
# ex of my_type: identifier, level, date_interval, time_interval, constraints...
import systemathics.apis.type.shared.v1.api_type as api_type

# open source packages for graph plotting
import mplfinance as mpf
import plotly.graph_objects as go
                  
                
                  
// Systemathics packages required to call API types
using Systemathics.Apis.Type.Shared.V1;

// Systemathics packages required to call API services
// ex of ApiServiceGroup: Tick, Daily, TickAnalytics, DailyAnalytics, StaticData, CorporateActions, Indices...
using Systemathics.Apis.Services.ApiServiceGroup.V1;

// Open source packages required for google types
using Google.Protobuf.WellKnownTypes;
using Google.Type;

// Open source packages required for grpc
using Grpc.Net.Client;
using Grpc.Core;

// Open source packages required for graph plotting
using XPlot.Plotly;
using XPlot.Plotly.Interactive;

// Open source packages required for csv handling
using CsvHelper;
using System.IO;
using System.Globalization;
                  
                  

Channel

The following code snippets describe how to open an API channel:

                  
# open a gRPC channel
credentials = grpc.ssl_channel_credentials()
with grpc.secure_channel("apis.ganymede.cloud", credentials) as channel:
  # instantiate the service and specify API entry
  # ex: TickTradesServiceStub as per ApiServiceStub and tick_trades_grpc as per api_service_grpc to retrieve trades tick data
  my_service = api_service_grpc.ApiServiceStub(channel)
  # process the request
  # ..
                  
                
                  
// Define API entry
var channel = GrpcChannel.ForAddress("https://apis.ganymede.cloud");

// Instantiate the service and specify API entry
// ex: TickTradesServiceClient as per ApiServiceClient and TickTradesService as per ApiService to retrieve trades tick data
var myService = new ApiService.ApiServiceClient(channel);
                  
                  

Authentication

Systemathics authenticates your API requests using your account’s API tokens.

If you are using Ganymede, API tokens are directly added to your environement. Check out our GitHub samples.

If you are are working locally, you need to retrieve your api token first. See Working locally.

To call the API, you must pass an API token with each request. If you do not include your API token when making an API request, or use one that is incorrect or disabled, an error is returned.

Protecting API tokens:

Do not store API tokens in source control applications.

If you store API tokens in files, keep the files outside your source control applications. This is particularly important if you use a public source code management application such as GitHub.

API tokens configuration:

                    
# retrieve authentication token
token = f"Bearer {os.environ['AUTH0_TOKEN']}"

# store token to be added for future API requests
my_metadata = [('authorization', token)]

# process the request (ex: daily bars service)
my_reply = my_service.DailyBars(request = my_request, metadata = my_metadata)
                    
                  
                    
// Retrieve authentication token
var token = System.Environment.GetEnvironmentVariable("AUTH0_TOKEN");

// Store token to be added for future API requests
var headers = new Metadata();
headers.Add("Authorization", $"Bearer {token}");

// ...

// Process request
var myReply = myService.DailyBars(myRequest, headers);
                    
                    

API Authentication

Using API Authentification provides lots of flexibility:

You are using your own hardware.

If you want to try some machine learning model and want to use you own GPU.

You are using your own tools.

If you want to use a private package of your company not available publicly or store your code in a private source code repository.

Do not embed client id and client secret directly in code.

Use environment variables or include files to store API client id and client secret separately from the bulk of your code. Then, if you share your code, the API keys will not be included in the shared files.

Get your token :

Create a new token or retreive an existing one from your Dashboard

You need to store securely your client id and client secret. ⚠️ Client secret will be displayed only once.

You will also need :

  • Tenant information. This provides the endpoint you will be using.
  • Audience information. This provides correct rights for you token to query apis

Get API tokens locally:

                    
# Import libraries
import os
import http.client
import json

# Set variables (client_id, client_secret, audience, tenant) locally
client_id = os.environ.get("YOUR ENV VAR FOR CLIENT ID")
client_secret = os.environ.get("YOUR ENV VAR FOR CLIENT SECRET")
audience = "https://-----"
tenant = "---.auth0.com"

# Setup connection and payload
conn = http.client.HTTPSConnection(tenant)
headers = { 'content-type': "application/json" }
params = {"client_id": client_id, "client_secret": client_secret, "grant_type" : "client_credentials", "audience": audience }
payload = json.dumps(params)

# Send Request
conn.request("POST", "/oauth/token", payload, headers)
res = conn.getresponse()
data = res.read()
json_data =  json.loads(data.decode("utf-8"))
                      
# Get access token to be used to authenticate against API
token = f"{json_data['token_type']} {json_data['access_token']}"
print(token)
                    
                  
                    
// Open namespaces
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.Text.Json;

// Set variables (clientId, clientSecret, audience, tenant) locally
var clientId = Environment.GetEnvironmentVariable("YOUR ENV VAR FOR CLIENT ID");
var clientSecret = Environment.GetEnvironmentVariable("YOUR ENV VAR FOR CLIENT SECRET");
var audience = "https://-----";
var tenant = "---.auth0.com";

// Setup HttpClient and Payload
var client = new HttpClient { BaseAddress = new Uri($"https://{tenant}") };
var payload = new { client_id = clientId, client_secret = clientSecret, grant_type = "client_credentials", audience = audience };

// Send Request
var response  = await client.PostAsJsonAsync("/oauth/token", payload);
var jsonData = await JsonSerializer.DeserializeAsync(await response.Content.ReadAsStreamAsync());

// Get access token to be used to authenticate against API
var token = $"{jsonData.token_type} {jsonData.access_token}";
Console.WriteLine(token);

// Helper class to deserialize Json
public class TokenResponse
{
    public string access_token { get; set; }
    public string scope { get; set; }
    public int expires_in { get; set; }
    public string token_type { get; set; }
}
                      
                    

Request parameters

Depending on the service called, a set of input parameters is required. Most commonly used parameters are as follows:

Instrument identifier

Used to define the watchlist.

                  
# import required module to handle identifier
import systemathics.apis.type.shared.v1.identifier_pb2 as identifier

# option1: generate a single-instrument data request (ex: daily bars service)
identifier = identifier.Identifier( exchange = 'XNGS', ticker = 'AAPL' )
request = daily_bars.DailyBarsRequest( identifier = identifier )

# option2: generate a multi-instruments data request (ex: tick trades service)
identifier1 = identifier.Identifier( exchange = 'XNGS', ticker = 'GME' )
identifier2 = identifier.Identifier( exchange = 'XNGS', ticker = 'TSLA' )
request = tick_trades.TickTradesRequest( identifiers = [identifier1, identifier2] )
                  
                
                  
// Import required package to handle identifier
using Systemathics.Apis.Type.Shared.V1;

// Option1: Generate a single-instrument data request (ex: daily bars service)
var identifier = new Identifier { Exchange = "XNGS", Ticker = "AAPL"};
var request = new DailyBarsRequest { Identifier = identifier };

// Option2: Generate a multi-instruments data request (ex: tick trades service)
var identifier1 = new Identifier { Exchange = "XNGS", Ticker = "GME"};
var identifier2 = new Identifier { Exchange = "XNGS", Ticker = "TSLA"};
var request = new TickTradesRequest { };
request.Identifiers.Add(new [] {identifier1, identifier2}); 
                  
                  

Constraints

Used to delimit the look back period.

                  
# set the request date interval (using Google type)
today = datetime.today()
date_interval = dateinterval.DateInterval(
  start_date = date.Date(year = 2021, month = 1, day = 1), 
  end_date= date.Date(year = today.year, month = today.month, day = today.day)
)

# set days to exclude (ex: week-end)
excluded_days = [ dayofweek.SATURDAY, dayofweek.SUNDAY ]

# set the request UTC time interval (using Google type)
time_interval = timeinterval.TimeInterval(
  start_time = timeofday.TimeOfDay(hours = 14, minutes = 0, seconds = 0), 
  end_time = timeofday.TimeOfDay(hours = 20, minutes = 0, seconds = 0)
)

# generate constraints based on previous time selection
my_constraints = constraints.Constraints(
  date_intervals = [date_interval],
  time_intervals = [time_interval],
  excluded_days = excluded_days,
  excluded_dates = []
)
                  
                
                  
// Create time intervals (ex: 50 days until yesterday)
var yesterday = DateTime.Today.AddDays(-1);
var start = yesterday.AddDays(-50);

// Set the request date interval (using Google type)
var dateIntervals = new DateInterval()
{
  StartDate = new Date { Year = start.Year, Month = start.Month, Day = start.Day },
  EndDate = new Date { Year = yesterday.Year, Month = yesterday.Month, Day = yesterday.Day }
};

// Set days to exclude (ex: week-end)
var excludedDays = new[] { DayOfWeek.Saturday, DayOfWeek.Sunday };

// Set the request UTC time interval (using Google type)
var timeInterval = new TimeInterval()
{
  StartTime = new TimeOfDay { Hours = 12, Minutes = 00, Seconds = 00 },
  EndTime = new TimeOfDay { Hours = 20, Minutes = 30, Seconds = 00 } 
};

// Generate constraints based on previous time selection
var constraints = new Constraints(); 
constraints.DateIntervals.Add(dateIntervals);
constraints.ExcludedDays.Add(excludedDays);
constraints.TimeIntervals.Add(timeInterval);
                  
                  

Level

Used to specify whether the request scope includes only trades or trades and book limits.

                  
# option1:  set Trades and Book limits as per level value
level = level.LEVEL_TRADES_AND_BOOK

# option2: set only Trades as per level value
level = level.LEVEL_TRADES

# generate the data request (ex: topology service)
request = topologies.TopologiesRequest( level = level )
                  
                
                  
// Option1:  set Trades and Book limits as per level value
var level = Level.TradesAndBook;

// Option2: set only Trades as per level value
var level = Level.Trades;

// generate the data request (ex: topology service)
var request = new TopologiesRequest { Level = level };
                  
                  

Response formats

Depending on the service called, response can be retrieved in two different ways as follows:

  • A non-streamed response: the client sends an API request and waits for a response to come back, just like a normal function call.
  • A streamed response: the client sends an API request and gets a stream to read a sequence of messages back. The client reads from the returned stream until there are no more messages.

                  
# non-streamed reply: get directly the reply (ex: static data service)          
my_reply = my_service.StaticData(request = my_request, metadata = my_metadata)


# streamed reply: iterate the response to get the whole reply (ex: tick trades service)            
for current in my_service.TickTrades(request = my_request, metadata = my_metadata):

  # process the current message
  # ...
                  
                
                  
// Non-streamed response: get directly the reply (ex: static data service) 
var reply = myService.StaticData(referenceDataRequest, headers);
var equities = reply.Equities;


// Streamed reply: iterate the response to get the whole reply (ex: tick trades service)
var call = myService.TickTrades(marketDataRequest, headers);
while (await call.ResponseStream.MoveNext())
{
    // Process the current message
    var currentMessage = call.ResponseStream.Current;

    // ...
}
                  
                  

Request creation

Request creation follows three main steps:

  • Instantiate the service
  • Generate the request
  • Process the response

                  
# generate the chosen API request (ex: daily bars service)   
my_request = daily_bars.DailyBarsRequest(
  # set request parameters
  # ..
)

# instantiate the chosen API service (ex: daily bars service) 
my_service = daily_bars_grpc.DailyBarsServiceStub(channel)

# get the reply by processing the returned object (ex: daily bars service)
my_reply = my_service.DailyBars( request = my_request, metadata = my_metadata)
                  
                
                  
// Generate the chosen API request (ex: daily bars service) 
var myRequest = new DailyBarsRequest() {
   // Request parameters
   // ..
};

// Instantiate the chosen API service (ex: daily bars service) 
var myService = new DailyBarsService.DailyBarsServiceClient(channel);

// Get the reply by processing the returned object (ex: daily bars service) 
var myReply = myService.DailyBars(myRequest, headers);
                  
                  

Updates

Services

date

Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant.
The date is relative to the Proleptic Gregorian Calendar. This can represent:
- A full date, with non-zero year, month and day values
- A month and day value, with a zero year, e.g. an anniversary
- A year on its own, with zero month and day values
- A year and month value, with a zero day, e.g. a credit card expiration date
Related types are google.type.TimeOfDay and google.type.DayOfWeek.

Date Message

Contains the date.

Field Name
year
Field Description

Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year

Field Type
int32
Field is Repeated ?
No
Field Name
month
Field Description

Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day

Field Type
int32
Field is Repeated ?
No
Field Name
day
Field Description

Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant.

Field Type
int32
Field is Repeated ?
No

dayofweek

Represents a day of week.

DayOfWeek Enum

Contains the day of week values.

Number Name
0 DAY_OF_WEEK_UNSPECIFIED
1 MONDAY
2 TUESDAY
3 WEDNESDAY
4 THURSDAY
5 FRIDAY
6 SATURDAY
7 SUNDAY

timeofday

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds.
Related types are google.type.Date and google.type.DayOfWeek.

TimeOfDay Message

Field Name
hours
Field Description

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value “24:00:00” for scenarios like business closing time.

Field Type
int32
Field is Repeated ?
No
Field Name
minutes
Field Description

Minutes of hour of day. Must be from 0 to 59.

Field Type
int32
Field is Repeated ?
No
Field Name
seconds
Field Description

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

Field Type
int32
Field is Repeated ?
No
Field Name
nanos
Field Description

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

Field Type
int32
Field is Repeated ?
No

changes

Up-to-date symbol changes annoucements including effective date, old and new symbols.

ChangesService Service

Called to request symbol changes data.

Name
Changes
Description
Gets symbol changes historical data
Packages
systemathics.apis.services.corporate_actions.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Change Message

Contains the symbol changes data: date, old and new symbols.

Field Name
date
Field Description

Effective date

Field Type
Date
Field is Repeated ?
No
Field Name
new_symbol
Field Description

New symbol

Field Type
string
Field is Repeated ?
No
Field Name
old_symbol
Field Description

Old symbol

Field Type
string
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

ChangesRequest Message

The required input to request the ChangesService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

ChangesResponse Message

Represents a change response.

Field Name
data
Field Description

The changes: an array of symbol change objects

Field Type
Change
Field is Repeated ?
Yes

dividends

Up-to-date dividend annoucements including effective date, dividend type and amount.

DividendsService Service

Called to request dividends data.

Name
Dividends
Description
Gets dividends historical data
Packages
systemathics.apis.services.corporate_actions.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Dividend Message

Contains the dividends data: date, type and amount.

Field Name
date
Field Description

Effective payment date

Field Type
Date
Field is Repeated ?
No
Field Name
type
Field Description

Dividend type

Field Type
DividendType
Field is Repeated ?
No
Field Name
amount
Field Description

Dividend amount

Field Type
double
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

DividendsRequest Message

The required input to request the DividendsService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

DividendsResponse Message

Represents a dividend response.

Field Name
data
Field Description

The dividends: an array of Dividend objects

Field Type
Dividend
Field is Repeated ?
Yes

DividendType Enum

Contains the dividend types.

Number Name
0 UNSPECIFIED
1 CASH
2 STOCK

splits

Up-to-date split annoucements including effective date, old and new shares.

SplitsService Service

Called to request splits data.

Name
Splits
Description
Gets splits historical data
Packages
systemathics.apis.services.corporate_actions.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Split Message

Contains the splits data: date, old and new shares.

Field Name
date
Field Description

Effective date

Field Type
Date
Field is Repeated ?
No
Field Name
new_shares
Field Description

New shares

Field Type
double
Field is Repeated ?
No
Field Name
old_shares
Field Description

Old shares

Field Type
double
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

SplitsRequest Message

The required input to request the SplitsService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

SplitsResponse Message

Represents a split response.

Field Name
data
Field Description

The splits: an array of Split objects

Field Type
Split
Field is Repeated ?
Yes

daily bars

Daily bars are widely used to illustrate price movements for an instrument over a look back period. Commonly used in financial analysis and trading strategies as a technical indicator.

DailyBarsService Service

Called to request daily bars data.

Name
DailyBars
Description
Gets daily historical data: date, open, high, low, close and volume
Packages
systemathics.apis.services.daily.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyBar Message

Contains the daily bar's data: date, open, high, low, close and volume.

Field Name
date
Field Description

Date of the bar

Field Type
Date
Field is Repeated ?
No
Field Name
open
Field Description

Open price of the day

Field Type
double
Field is Repeated ?
No
Field Name
high
Field Description

Highest price of the day

Field Type
double
Field is Repeated ?
No
Field Name
low
Field Description

Lowest price of the day

Field Type
double
Field is Repeated ?
No
Field Name
close
Field Description

Close price of the day

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the day

Field Type
int64
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

DailyBarsRequest Message

The required input to request the DailyBarsService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyBarsResponse Message

The daily bars response contains an array of daily bars.

Field Name
data
Field Description

The daily bars: an array of DailyBar objects

Field Type
DailyBar
Field is Repeated ?
Yes

daily prices

Daily prices illustrates daily price movements for an instrument over a look back period.

DailyPricesService Service

Called to request daily prices data.

Name
DailyPrices
Description
Gets daily historical prices
Packages
systemathics.apis.services.daily.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyPrice Message

Contains the daily prices data: date, price and volume.

Field Name
date
Field Description

Date of the price

Field Type
Date
Field is Repeated ?
No
Field Name
price
Field Description

Last price of the day

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the day

Field Type
int64
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

DailyPricesRequest Message

The required input to request the DailyPricesService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyPricesResponse Message

Represents a daily prices response.

Field Name
data
Field Description

The daily prices: an array of DailyPrice objects

Field Type
DailyPrice
Field is Repeated ?
Yes

daily vwap

The Volume Weighted Average Price is similar to a moving average, except volume is included to weight the average price over a one trading day period.
It serves as a reference point for one trading day prices. Comparing current prices with the VWAP values enables to:
- mesure trading efficiency by comparing individual trades to VWAP
- highlight liquidity points as vwap reflects prices levels weighted by volume
- determine the market trend, etc.

DailyVwapsService Service

Called to request daily VWAP data.

Name
DailyVwaps
Description
Gets daily historical VWAPs
Packages
systemathics.apis.services.daily.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyVwap Message

Contains the daily vwaps data: date, vwap and volume.

Field Name
date
Field Description

Date of the vwap

Field Type
Date
Field is Repeated ?
No
Field Name
price
Field Description

Vwap of the day

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the day

Field Type
int64
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

DailyVwapsRequest Message

The required input to request the DailyVwapsService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyVwapsResponse Message

Represents a daily VWAPs response.

Field Name
data
Field Description

The daily vwaps: an array of DailyVwap objects

Field Type
DailyVwap
Field is Repeated ?
Yes

daily bollinger

Bollinger bands were created by John Bollinger, they are envelopes and plotted around the moving average.
The width of the bands is based on the standard deviaton of the closing prices from a moving average as follows:
- Middle band = n-period moving average
- Upper band = Middle band + (k * n-period standard deviation)
- Lower band = Middle band - (k * n-period standard deviation)
Where n is the number of periods and k is factor to apply to the standard deviation value, k=2 as default value.

DailyBollingerService Service

Called to request daily Bollinger bands data.

Name
DailyBollinger
Description
Gets daily Bollinger bands data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyBollingerData Message

Contains the daily Bollinger bands data: date, lower, middle and upper.

Field Name
date
Field Description

Date of Bollinger bands

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the Bollinger bands of the day

Field Type
double
Field is Repeated ?
No
Field Name
lower
Field Description

Bollinger lower band value of the day
Lower band = Middle band - (k * n-period standard deviation)

Field Type
DoubleValue
Field is Repeated ?
No
Field Name
upper
Field Description

Bollinger upper band value of the day
Upper band = Middle band + (k * n-period standard deviation)

Field Type
DoubleValue
Field is Repeated ?
No
Field Name
middle
Field Description

Bollinger middle band value of the day
Middle band = n-period moving average

Field Type
DoubleValue
Field is Repeated ?
No

DailyBollingerRequest Message

The required input to request the DailyBollingerService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The simple moving average window length (period: data points number)

Field Type
int32
Field is Repeated ?
No
Field Name
deviation
Field Description

[Mandatory] The standard deviation window length

Field Type
double
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyBollingerResponse Message

The daily bars response contains an array of Bollinger bands.

Field Name
data
Field Description

The daily Bollinger bands: an array of DailyBollingerData objects

Field is Repeated ?
Yes

daily cma

Moving averages smooth the price movements by filtering out the “noise” caused by short-term price fluctuations.
They also form the building blocks for a wide range of technical indicators. Computing moving averages over a defined number of time periods is useful to:
- identify the trend direction
- determine support and resistance levels
CMA is the average of all the data points.

DailyCmaService Service

Called to request daily cumulative moving average data.

Name
DailyCma
Description
Gets daily cumulative moving average data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyCmaData Message

Contains the daily cumulative moving average data: date and value.

Field Name
date
Field Description

Date of the cumulative moving average

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The cumulative moving average value of the day for all the data points

Field Type
double
Field is Repeated ?
No

DailyCmaRequest Message

The required input to request the DailyCmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyCmaResponse Message

Represents a daily cumulative moving average response.

Field Name
data
Field Description

The daily cumulative moving averages: an array of DailyCmaData objects

Field Type
DailyCmaData
Field is Repeated ?
Yes

daily ema

EMA reduces the lag by applying greater weight to recent data points.
The weighting applied to the most recent price depends on the number of points in the moving average; The smaller the point count is, the more weight is applied to the most recent price.
N-points EMA data point is computed using the previous’ EMA value and the weighting multiplier as follows: \(EMA = (Close-EMAp)*k+EMAp\) Where:
- Close is the close price
- EMAp is the previous point’ EMA value; SMA is used as the EMAp in the first calculation
- N is the count of points
- k = 2 / N+1 is the Weighting Multiplier

DailyEmaService Service

Called to request daily exponential moving average data.

Name
DailyEma
Description
Gets daily exponential moving average data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyEmaData Message

Contains the daily exponential moving average data: date and value.

Field Name
date
Field Description

Date of the exponential moving average

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The exponential moving average value of the day

Field Type
double
Field is Repeated ?
No

DailyEmaRequest Message

The required input to request the DailyEmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The exponential moving average window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyEmaResponse Message

Represents a daily exponential moving average response.

Field Name
data
Field Description

The daily exponential moving averages: an array of DailyEmaData objects

Field Type
DailyEmaData
Field is Repeated ?
Yes

daily macd

Moving Average Convergence/Divergence Oscillator was developed by Gerald Appel and represents the difference between two moving averages of different lengths.
As its name implies, MACD is all about convergence and divergence of the two moving averages. MACD oscilaltes around the zero line as follows:
- positive values increase as the shorter moving average diverges further from the longer one
- negative values indicate that the shorter moving average is below the longer one

MACD is computed as follows: \(MACD = short EMA - long EMA\)

DailyMacdService Service

Called to request daily moving average convergence divergence data.

Name
DailyMacd
Description
Gets daily moving average convergence divergence data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyMacdData Message

Contains the daily moving average convergence/divergence data: date and value.

Field Name
date
Field Description

Date of the moving average convergence/divergence

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average convergence/divergence of the day

Field Type
double
Field is Repeated ?
No
Field Name
macd
Field Description

The moving average convergence/divergence value of the day

Field Type
double
Field is Repeated ?
No
Field Name
short
Field Description

The short exponential moving average value of the day

Field Type
double
Field is Repeated ?
No
Field Name
long
Field Description

The long exponential moving average value of the day

Field Type
double
Field is Repeated ?
No

DailyMacdRequest Message

The required input to request the DailyMacdService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
long
Field Description

[Mandatory] The long EMA window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
short
Field Description

[Mandatory] The short EMA window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyMacdResponse Message

Represents a daily moving average convergence divergence response.

Field Name
data
Field Description

The daily moving average convergence/divergence: an array of DailyMacdData objects

Field Type
DailyMacdData
Field is Repeated ?
Yes

daily rsi

The Relative Strength Index, developed by J. Welles Wilder measures the speed and change of price movements.
RSI oscillates between zero and 100. Traditionally the RSI is considered overbought when above 70 and oversold when below 30.

RSI is computed as follows: \(RSI = 100 - \frac{100}{1 + RS}\) Where:
- RS = AvgU/AvgD is the relative strength
- AvgU average of last N close prices up moves
- AvgD average of last N close prices down moves
- N is the period of the RSI

DailyRsiService Service

Called to request daily relative strength index data.

Name
DailyRsi
Description
Gets daily relative strength index data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyRsiData Message

Contains the daily relative strength index data: date and value.

Field Name
date
Field Description

Date of the relative strength index

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the relative strength index of the day

Field Type
double
Field is Repeated ?
No
Field Name
rsi
Field Description

Relative strength index value of the day

Field Type
double
Field is Repeated ?
No

DailyRsiRequest Message

The required input to request the DailyRsiService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The relative strength index window length (period: points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyRsiResponse Message

Represents a daily relative strength index response.

Field Name
data
Field Description

The daily relative strength index: an array of DailyRsiData objects

Field Type
DailyRsiData
Field is Repeated ?
Yes

daily sma

SMA is formed by computing the average price of a security over a specific number of points.
As its name implies, simple moving average is an average that moves. Old data is dropped and new data becomes available, causing the average to move along the time.
N-points SMA data point is computed by adding up the last N period’s trade prices and then dividing by N as follows: \(SMA = \frac{\Sigma Close_n}{N}\)
Where:
- Close n is the close price of the period n
- N is the count of time periods

DailySmaService Service

Called to request daily simple moving average data.

Name
DailySma
Description
Gets daily simple moving average data
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailySmaData Message

Contains the daily simple moving average data: date and value.

Field Name
date
Field Description

Date of the simple moving average

Field Type
Date
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The simple moving average value of the day for the last n data points (length)

Field Type
DoubleValue
Field is Repeated ?
No

DailySmaRequest Message

The required input to request the DailySmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The simple moving average window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailySmaResponse Message

Represents a daily simple moving average response.

Field Name
data
Field Description

The daily simple moving averages: an array of DailySmaData objects

Field Type
DailySmaData
Field is Repeated ?
Yes

daily volatility


N-points volatility is computed as follows: \(Volatility_N = \sqrt \frac{\sum_{i=1}^N(P_a - P_i)^2}{N}\)
Where:
- \(P_a\) is the average price of the N prices
- \(P_i\) is price i

DailyVolatilityService Service

Called to request daily volatility data.

Name
DailyVolatility
Description
Gets daily historical volatility
Packages
systemathics.apis.services.daily_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

DailyVolatilityRequest Message

The required input to request the DailyVolatilityService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends). By default the value is set to false : the split is applied in all cases

Field Type
bool
Field is Repeated ?
No

DailyVolatilityResponse Message

Represents a daily volatility response.

Field Name
value
Field Description

Volatility value

Field Type
double
Field is Repeated ?
No

components

Up-to-date index components weights

ComponentsService Service

Called to request index weights data.

Name
Components
Description
Gets index components data
Packages
systemathics.apis.services.indices.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Component Message

Contains the weight data for one component: identifier and weight value.

Field Name
identifier
Field Description

The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
weight
Field Description

The weight value

Field Type
double
Field is Repeated ?
No

ComponentsRequest Message

The required input to request the ComponentsService

Field Name
identifier
Field Description

[Mandatory] The index name

Field Type
string
Field is Repeated ?
No

ComponentsResponse Message

Represents a components response.

Field Name
components
Field Description

The index components: an array of component objects

Field Type
Component
Field is Repeated ?
Yes

intraday bars

Intraday bars are widely used to illustrate price movements for an instrument over a look back period. Commonly used in financial analysis and trading strategies as a technical indicator.

IntradayBarsService Service

Called to request intraday bars data.

Name
IntradayBars
Description
Gets intraday historical data: date, open, high, low, close and volume
Packages
systemathics.apis.services.intraday.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayBar Message

Contains the intraday bar's data: date, open, high, low, close, volume, count, vwap and score.

Field Name
time_stamp
Field Description

Time stamp of the intraday bar : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
open
Field Description

Open price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
high
Field Description

Highest price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
low
Field Description

Lowest price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
close
Field Description

Close price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the sampling period

Field Type
int64
Field is Repeated ?
No
Field Name
count
Field Description

Tick count of the sampling period

Field Type
int32
Field is Repeated ?
No
Field Name
vwap
Field Description

Volume weighted average price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

IntradayBarsRequest Message

The required input to request the IntradayBarsService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayBarsResponse Message

The intraday bars response contains an array of intraday bars.

Field Name
data
Field Description

The intraday bars: an array of IntradayBar objects

Field Type
IntradayBar
Field is Repeated ?
Yes

intraday prices

Intraday prices illustrates intraday price movements for an instrument over a look back period.

IntradayPricesService Service

Called to request intraday prices data.

Name
IntradayPrices
Description
Gets intraday historical prices
Packages
systemathics.apis.services.intraday.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayPrice Message

Contains the intraday prices data: date, price, volume and score.

Field Name
time_stamp
Field Description

Time stamp of the intraday price : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
price
Field Description

Last price of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the sampling period

Field Type
int64
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

IntradayPricesRequest Message

The required input to request the IntradayPricesService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayPricesResponse Message

Represents a intraday prices response.

Field Name
data
Field Description

The intraday prices: an array of IntradayPrice objects

Field Type
IntradayPrice
Field is Repeated ?
Yes

intraday vwap

The Volume Weighted Average Price is similar to a moving average, except volume is included to weight the average price over a one trading day period.
It serves as a reference point for one trading day prices. Comparing current prices with the VWAP values enables to:
- mesure trading efficiency by comparing individual trades to VWAP
- highlight liquidity points as vwap reflects prices levels weighted by volume
- determine the market trend, etc.

IntradayVwapsService Service

Called to request intraday VWAP data.

Name
IntradayVwaps
Description
Gets intraday historical VWAPs
Packages
systemathics.apis.services.intraday.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayVwap Message

Contains the intraday vwaps data: date, vwap and volume.

Field Name
time_stamp
Field Description

Time stamp of the intraday vwap : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
price
Field Description

Vwap of the sampling period

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the sampling period

Field Type
int64
Field is Repeated ?
No
Field Name
score
Field Description

The data quality scoring : from 0 (bad) to 100 (good)

Field Type
double
Field is Repeated ?
No

IntradayVwapsRequest Message

The required input to request the IntradayVwapsService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayVwapsResponse Message

Represents a intraday VWAPs response.

Field Name
data
Field Description

The intraday vwaps: an array of IntradayVwap objects

Field Type
IntradayVwap
Field is Repeated ?
Yes

intraday bollinger

Bollinger bands were created by John Bollinger, they are envelopes and plotted around the moving average.
The width of the bands is based on the standard deviaton of the closing prices from a moving average as follows:
- Middle band = n-period moving average
- Upper band = Middle band + (k * n-period standard deviation)
- Lower band = Middle band - (k * n-period standard deviation)
Where n is the number of periods and k is factor to apply to the standard deviation value, k=2 as default value.

IntradayBollingerService Service

Called to request intraday Bollinger bands data.

Name
IntradayBollinger
Description
Gets intraday Bollinger bands data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayBollingerData Message

Contains the intraday Bollinger bands data: date, lower, middle and upper.

Field Name
time_stamp
Field Description

Time stamp of Bollinger bands : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the Bollinger bands of the day

Field Type
double
Field is Repeated ?
No
Field Name
lower
Field Description

Bollinger lower band value of the day
Lower band = Middle band - (k * n-period standard deviation)

Field Type
DoubleValue
Field is Repeated ?
No
Field Name
upper
Field Description

Bollinger upper band value of the day
Upper band = Middle band + (k * n-period standard deviation)

Field Type
DoubleValue
Field is Repeated ?
No
Field Name
middle
Field Description

Bollinger middle band value of the day
Middle band = n-period moving average

Field Type
DoubleValue
Field is Repeated ?
No

IntradayBollingerRequest Message

The required input to request the IntradayBollingerService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The simple moving average window length (period: data points number)

Field Type
int32
Field is Repeated ?
No
Field Name
deviation
Field Description

[Mandatory] The standard deviation window length

Field Type
double
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayBollingerResponse Message

The intraday bars response contains an array of Bollinger bands.

Field Name
data
Field Description

The intraday Bollinger bands: an array of IntradayBollingerData objects

Field is Repeated ?
Yes

intraday cma

Moving averages smooth the price movements by filtering out the “noise” caused by short-term price fluctuations.
They also form the building blocks for a wide range of technical indicators. Computing moving averages over a defined number of time periods is useful to:
- identify the trend direction
- determine support and resistance levels
CMA is the average of all the data points.

IntradayCmaService Service

Called to request intraday cumulative moving average data.

Name
IntradayCma
Description
Gets intraday cumulative moving average data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayCmaData Message

Contains the intraday cumulative moving average data: date and value.

Field Name
time_stamp
Field Description

Time stamp of the cumulative moving average : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The cumulative moving average value of the day for all the data points

Field Type
double
Field is Repeated ?
No

IntradayCmaRequest Message

The required input to request the IntradayCmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayCmaResponse Message

Represents a intraday cumulative moving average response.

Field Name
data
Field Description

The intraday cumulative moving averages: an array of IntradayCmaData objects

Field is Repeated ?
Yes

intraday ema

EMA reduces the lag by applying greater weight to recent data points.
The weighting applied to the most recent price depends on the number of points in the moving average; The smaller the point count is, the more weight is applied to the most recent price.
N-points EMA data point is computed using the previous’ EMA value and the weighting multiplier as follows: \(EMA = (Close-EMAp)*k+EMAp\) Where:
- Close is the close price
- EMAp is the previous point’ EMA value; SMA is used as the EMAp in the first calculation
- N is the count of points
- k = 2 / N+1 is the Weighting Multiplier

IntradayEmaService Service

Called to request intraday exponential moving average data.

Name
IntradayEma
Description
Gets intraday exponential moving average data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayEmaData Message

Contains the intraday exponential moving average data: date and value.

Field Name
time_stamp
Field Description

Time stamp of the exponential moving average : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The exponential moving average value of the day

Field Type
double
Field is Repeated ?
No

IntradayEmaRequest Message

The required input to request the IntradayEmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The exponential moving average window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayEmaResponse Message

Represents a intraday exponential moving average response.

Field Name
data
Field Description

The intraday exponential moving averages: an array of IntradayEmaData objects

Field is Repeated ?
Yes

intraday macd

Moving Average Convergence/Divergence Oscillator was developed by Gerald Appel and represents the difference between two moving averages of different lengths.
As its name implies, MACD is all about convergence and divergence of the two moving averages. MACD oscilaltes around the zero line as follows:
- positive values increase as the shorter moving average diverges further from the longer one
- negative values indicate that the shorter moving average is below the longer one

MACD is computed as follows: \(MACD = short EMA - long EMA\)

IntradayMacdService Service

Called to request intraday moving average convergence divergence data.

Name
IntradayMacd
Description
Gets intraday moving average convergence divergence data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayMacdData Message

Contains the intraday moving average convergence/divergence data: date and value.

Field Name
time_stamp
Field Description

Time stamp of the moving average convergence/divergence : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average convergence/divergence of the day

Field Type
double
Field is Repeated ?
No
Field Name
macd
Field Description

The moving average convergence/divergence value of the day

Field Type
double
Field is Repeated ?
No
Field Name
short
Field Description

The short exponential moving average value of the day

Field Type
double
Field is Repeated ?
No
Field Name
long
Field Description

The long exponential moving average value of the day

Field Type
double
Field is Repeated ?
No

IntradayMacdRequest Message

The required input to request the IntradayMacdService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
long
Field Description

[Mandatory] The long EMA window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
short
Field Description

[Mandatory] The short EMA window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayMacdResponse Message

Represents a intraday moving average convergence divergence response.

Field Name
data
Field Description

The intraday moving average convergence/divergence: an array of IntradayMacdData objects

Field is Repeated ?
Yes

intraday rsi

The Relative Strength Index, developed by J. Welles Wilder measures the speed and change of price movements.
RSI oscillates between zero and 100. Traditionally the RSI is considered overbought when above 70 and oversold when below 30.

RSI is computed as follows: \(RSI = 100 - \frac{100}{1 + RS}\) Where:
- RS = AvgU/AvgD is the relative strength
- AvgU average of last N close prices up moves
- AvgD average of last N close prices down moves
- N is the period of the RSI

IntradayRsiService Service

Called to request intraday relative strength index data.

Name
IntradayRsi
Description
Gets intraday relative strength index data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayRsiData Message

Contains the intraday relative strength index data: date and value.

Field Name
time_stamp
Field Description

Time stamp of the relative strength index : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the relative strength index of the day

Field Type
double
Field is Repeated ?
No
Field Name
rsi
Field Description

Relative strength index value of the day

Field Type
double
Field is Repeated ?
No

IntradayRsiRequest Message

The required input to request the IntradayRsiService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The relative strength index window length (period: points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayRsiResponse Message

Represents a intraday relative strength index response.

Field Name
data
Field Description

The intraday relative strength index: an array of IntradayRsiData objects

Field is Repeated ?
Yes

intraday sma

SMA is formed by computing the average price of a security over a specific number of points.
As its name implies, simple moving average is an average that moves. Old data is dropped and new data becomes available, causing the average to move along the time.
N-points SMA data point is computed by adding up the last N period’s trade prices and then dividing by N as follows: \(SMA = \frac{\Sigma Close_n}{N}\)
Where:
- Close n is the close price of the period n
- N is the count of time periods

IntradaySmaService Service

Called to request intraday simple moving average data.

Name
IntradaySma
Description
Gets intraday simple moving average data
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradaySmaData Message

Contains the intraday simple moving average data: date and value.

Field Name
time_stamp
Field Description

Time stamp of the simple moving average : open time of the sampling interval

Field Type
Timestamp
Field is Repeated ?
No
Field Name
value
Field Description

The data used to calculate the average of the day

Field Type
double
Field is Repeated ?
No
Field Name
average
Field Description

The simple moving average value of the day for the last n data points (length)

Field Type
DoubleValue
Field is Repeated ?
No

IntradaySmaRequest Message

The required input to request the IntradaySmaService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The simple moving average window length (period : points number)

Field Type
int32
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradaySmaResponse Message

Represents a intraday simple moving average response.

Field Name
data
Field Description

The intraday simple moving averages: an array of IntradaySmaData objects

Field is Repeated ?
Yes

intraday volatility


N-points volatility is computed as follows: \(Volatility_N = \sqrt \frac{\sum_{i=1}^N(P_a - P_i)^2}{N}\)
Where:
- \(P_a\) is the average price of the N prices
- \(P_i\) is price i

IntradayVolatilityService Service

Called to request intraday volatility data.

Name
IntradayVolatility
Description
Gets intraday historical volatility
Packages
systemathics.apis.services.intraday_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
No

IntradayVolatilityRequest Message

The required input to request the IntradayVolatilityService

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The sampling interval

Field Type
Sampling
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment (dividends and splits). By default the value is set to false

Field Type
bool
Field is Repeated ?
No

IntradayVolatilityResponse Message

Represents a intraday volatility response.

Field Name
value
Field Description

Volatility value

Field Type
double
Field is Repeated ?
No

static data

Reference data encompasses a wide range of specification data about:
- financial instrument such as asset class, symbol, maturity, etc.
- counterparties such as issuer information.
- pricing such as open, high low and close prices.
- The challenge with reference data is that it tends to be sourced from multiple sources: internal, counterparties and providers.
- Reference data dedicated service is a result of various data sources and fields sourcing, validation, cross-checking and normalization.

StaticDataService Service

Called to request reference data.

Name
StaticData
Description
Gets reference data
Packages
systemathics.apis.services.static_data.v1
systemathics.apis.type.shared.v1
Output Streaming
No

EquityEntry Message

Contains the reference data for equities.

Field Name
identifier
Field Description

Identifiers: asset identifier

Field Type
Identifier
Field is Repeated ?
No
Field Name
type
Field Description

General information: asset class

Field Type
string
Field is Repeated ?
No
Field Name
country
Field Description

General information: asset country code (ISO 3166)

Field Type
string
Field is Repeated ?
No
Field Name
name
Field Description

General information: asset full name

Field Type
string
Field is Repeated ?
No
Field Name
currency
Field Description

General information: asset currency code (ISO 4217)

Field Type
string
Field is Repeated ?
No
Field Name
primary
Field Description

General information: asset primary exchange code (mic)

Field Type
string
Field is Repeated ?
No
Field Name
tick_size_rule
Field Description

General information: asset tick size rule table

Field Type
string
Field is Repeated ?
No
Field Name
mapping
Field Description

General information: asset mapping codes

Field Type
MappingEntry
Field is Repeated ?
Yes
Field Name
index
Field Description

General information: asset index if it belongs to an index

Field Type
string
Field is Repeated ?
No
Field Name
open
Field Description

Trading hours: open time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
close
Field Description

Trading hours: close time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
time_zone
Field Description

Trading hours: time zone

Field Type
string
Field is Repeated ?
No
Field Name
lot_size
Field Description

Specifications: lot size (minimum quantity to trade)

Field Type
int64
Field is Repeated ?
No
Field Name
point_value
Field Description

Specifications: point value

Field Type
double
Field is Repeated ?
No
Field Name
isin
Field Description

Specific values for the equity: isin code (International Securities Identifying Number)

Field Type
string
Field is Repeated ?
No
Field Name
cusip
Field Description

Specific values for the equity: cusip code : Committee on Uniform Security Identification Procedures

Field Type
string
Field is Repeated ?
No
Field Name
sedol
Field Description

Specific values for the equity: sedol code : Stock Exchange Daily Official List

Field Type
string
Field is Repeated ?
No
Field Name
sectors
Field Description

Specific values for the equity: sectors definitions

Field Type
SectorsEntry
Field is Repeated ?
Yes
Field Name
capitalization
Field Description

Specific values for the equity: market capitalization

Field Type
DoubleValue
Field is Repeated ?
No

MappingEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

SectorsEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

EtfEntry Message

Contains the reference data for exchange traded fund (ETF).

Field Name
identifier
Field Description

Identifiers: asset identifier

Field Type
Identifier
Field is Repeated ?
No
Field Name
type
Field Description

General information: asset class

Field Type
string
Field is Repeated ?
No
Field Name
country
Field Description

General information: asset country code (ISO 3166)

Field Type
string
Field is Repeated ?
No
Field Name
name
Field Description

General information: asset full name

Field Type
string
Field is Repeated ?
No
Field Name
currency
Field Description

General information: asset currency code (ISO 4217)

Field Type
string
Field is Repeated ?
No
Field Name
primary
Field Description

General information: asset primary exchange code (mic)

Field Type
string
Field is Repeated ?
No
Field Name
tick_size_rule
Field Description

General information: asset tick size rule table

Field Type
string
Field is Repeated ?
No
Field Name
mapping
Field Description

General information: asset mapping codes

Field Type
MappingEntry
Field is Repeated ?
Yes
Field Name
index
Field Description

General information: asset index if it belongs to an index

Field Type
string
Field is Repeated ?
No
Field Name
open
Field Description

Trading hours: open time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
close
Field Description

Trading hours: close time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
time_zone
Field Description

Trading hours: time zone

Field Type
string
Field is Repeated ?
No
Field Name
lot_size
Field Description

Specifications: lot size (minimum quantity to trade)

Field Type
int64
Field is Repeated ?
No
Field Name
point_value
Field Description

Specifications: point value

Field Type
double
Field is Repeated ?
No
Field Name
isin
Field Description

Specific values for the equity: isin code (International Securities Identifying Number)

Field Type
string
Field is Repeated ?
No
Field Name
cusip
Field Description

Specific values for the equity: cusip code : Committee on Uniform Security Identification Procedures

Field Type
string
Field is Repeated ?
No
Field Name
sedol
Field Description

Specific values for the equity: sedol code : Stock Exchange Daily Official List

Field Type
string
Field is Repeated ?
No
Field Name
sectors
Field Description

Specific values for the equity: sectors definitions

Field Type
SectorsEntry
Field is Repeated ?
Yes
Field Name
capitalization
Field Description

Specific values for the equity: market capitalization

Field Type
DoubleValue
Field is Repeated ?
No

MappingEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

SectorsEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

FutureEntry Message

Contains the reference data for futures.

Field Name
identifier
Field Description

Identifiers: asset identifier

Field Type
Identifier
Field is Repeated ?
No
Field Name
type
Field Description

General information: asset class

Field Type
string
Field is Repeated ?
No
Field Name
country
Field Description

General information: asset country code (ISO 3166)

Field Type
string
Field is Repeated ?
No
Field Name
name
Field Description

General information: asset full name

Field Type
string
Field is Repeated ?
No
Field Name
currency
Field Description

General information: asset currency code (ISO 4217)

Field Type
string
Field is Repeated ?
No
Field Name
primary
Field Description

General information: asset primary exchange code (mic)

Field Type
string
Field is Repeated ?
No
Field Name
tick_size_rule
Field Description

General information: asset tick size rule table

Field Type
string
Field is Repeated ?
No
Field Name
mapping
Field Description

General information: asset mapping codes

Field Type
MappingEntry
Field is Repeated ?
Yes
Field Name
index
Field Description

General information: asset index if it belongs to an index

Field Type
string
Field is Repeated ?
No
Field Name
open
Field Description

Trading hours: open time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
close
Field Description

Trading hours: close time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
time_zone
Field Description

Trading hours: time zone

Field Type
string
Field is Repeated ?
No
Field Name
lot_size
Field Description

Specifications: lot size (minimum quantity to trade)

Field Type
int64
Field is Repeated ?
No
Field Name
point_value
Field Description

Specifications: point value

Field Type
double
Field is Repeated ?
No
Field Name
underlying
Field Description

Specific values for the future: underlying asset code

Field Type
string
Field is Repeated ?
No
Field Name
contract
Field Description

Specific values for the future: contract code

Field Type
string
Field is Repeated ?
No
Field Name
category
Field Description

Specific values for the future: category

Field Type
CategoryEntry
Field is Repeated ?
Yes
Field Name
chain
Field Description

Specific values for the future: chain

Field Type
string
Field is Repeated ?
No
Field Name
maturity
Field Description

Specific values for the future: maturity date

Field Type
Date
Field is Repeated ?
No
Field Name
month
Field Description

Specific values for the future: month code

Field Type
string
Field is Repeated ?
No
Field Name
year
Field Description

Specific values for the future: year

Field Type
int32
Field is Repeated ?
No

CategoryEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

MappingEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

IndexEntry Message

Contains the reference data for indices.

Field Name
identifier
Field Description

Identifiers: asset identifier

Field Type
Identifier
Field is Repeated ?
No
Field Name
type
Field Description

General information: asset class

Field Type
string
Field is Repeated ?
No
Field Name
country
Field Description

General information: asset country code (ISO 3166)

Field Type
string
Field is Repeated ?
No
Field Name
name
Field Description

General information: asset full name

Field Type
string
Field is Repeated ?
No
Field Name
currency
Field Description

General information: asset currency code (ISO 4217)

Field Type
string
Field is Repeated ?
No
Field Name
primary
Field Description

General information: asset primary exchange code (mic)

Field Type
string
Field is Repeated ?
No
Field Name
tick_size_rule
Field Description

General information: asset tick size rule table

Field Type
string
Field is Repeated ?
No
Field Name
mapping
Field Description

General information: asset mapping codes

Field Type
MappingEntry
Field is Repeated ?
Yes
Field Name
index
Field Description

General information: asset index if it belongs to an index

Field Type
string
Field is Repeated ?
No
Field Name
open
Field Description

Trading hours: open time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
close
Field Description

Trading hours: close time (continuous trading)

Field Type
string
Field is Repeated ?
No
Field Name
time_zone
Field Description

Trading hours: time zone

Field Type
string
Field is Repeated ?
No
Field Name
lot_size
Field Description

Specifications: lot size (minimum quantity to trade)

Field Type
int64
Field is Repeated ?
No
Field Name
point_value
Field Description

Specifications: point value

Field Type
double
Field is Repeated ?
No
Field Name
description
Field Description

Specific values for the index: the description of the index

Field Type
string
Field is Repeated ?
No

MappingEntry Message

Field Name
key
Field Description
Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description
Field Type
string
Field is Repeated ?
No

StaticDataRequest Message

The required input to request the StaticDataService.

Field Name
asset_type
Field Description

[Optional] Asset type

Field Type
AssetType
Field is Repeated ?
No
Field Name
name
Field Description

[Optional] Asset name

Field Type
StringValue
Field is Repeated ?
No
Field Name
exchange
Field Description

[Optional] Asset exchange (mic code)

Field Type
StringValue
Field is Repeated ?
No
Field Name
ticker
Field Description

[Optional] Asset ticker (code as provided by the exchange)

Field Type
StringValue
Field is Repeated ?
No
Field Name
future_contract
Field Description

[Optional] Future contract code

Field Type
StringValue
Field is Repeated ?
No
Field Name
future_category
Field Description

[Optional] Future category

Field Type
StringValue
Field is Repeated ?
No
Field Name
equity_sector
Field Description

[Optional] Equity sector

Field Type
StringValue
Field is Repeated ?
No
Field Name
index
Field Description

[Optional] Index if the asset belongs to an index components

Field Type
StringValue
Field is Repeated ?
No
Field Name
code
Field Description

[Optional] Mapping codes: isin, cusip, sedol, ric, figi, etc.

Field Type
StringValue
Field is Repeated ?
No
Field Name
start
Field Description

[Optional] Define the first element index to be retrieved

Field Type
Int32Value
Field is Repeated ?
No
Field Name
count
Field Description

[Optional] Select the first elements retrieved, by default count is set to 100

Field Type
Int32Value
Field is Repeated ?
No

StaticDataResponse Message

Represents a reference data response grouped by asset type.

Field Name
futures
Field Description

The reference data for futures: an array of FutureEntry objects

Field Type
FutureEntry
Field is Repeated ?
Yes
Field Name
equities
Field Description

The reference data for equities: an array of EquityEntry objects

Field Type
EquityEntry
Field is Repeated ?
Yes
Field Name
etfs
Field Description

The reference data for etfs: an array of EtfEntry objects

Field Type
EtfEntry
Field is Repeated ?
Yes
Field Name
indices
Field Description

The reference data for indices: an array of IndexEntry objects

Field Type
IndexEntry
Field is Repeated ?
Yes

AssetType Enum

Contains the asset type for the reference data request.

Number Name
0 ASSET_TYPE_UNSPECIFIED
1 ASSET_TYPE_ALL
2 ASSET_TYPE_EQUITY
3 ASSET_TYPE_FUTURE
4 ASSET_TYPE_ETF
5 ASSET_TYPE_INDEX

static sector

The sector and industry classification decoder.
Available classifications :
- ICB : Industry Classification Benchmark is a comprehensive and rules based, transparent classification methodology based on research and market trends designed to support investment solutions. It was launched in 2005 and enhanced in 2019 with the integration of the Russell Global Sectors (RGS) classification scheme and additional structural enhancements.
- SIC : The Standard Industrial Classification is a system for classifying industries by a four-digit code. Established in the United States in 1937, it is used by government agencies to classify industry areas. The SIC system is also used by agencies in other countries, e.g., by the United Kingdom’s Companies House.
- TRBC : The Refinitiv Business Classification is an industry classification of global companies. It was developed by the Reuters Group under the name Reuters Business Sector Scheme (RBSS), was rebranded to Thomson Reuters Business Classification (TRBC) when the Thomson Corporation acquired the Reuters Group in 2008, forming Thomson Reuters, and was rebranded again, to The Refinitiv Business Classification (TRBC), in 2020. Since the creation of Refinitiv in October 2018, TRBC has been owned and operated by Refinitiv and is the basis for Refinitiv Indices.
- GICS : In 1999, MSCI and S&P Dow Jones Indices developed the Global Industry Classification Standard, seeking to offer an efficient investment tool to capture the breadth, depth and evolution of industry sectors.GICS is a four-tiered, hierarchical industry classification system. Companies are classified quantitatively and qualitatively.Each company is assigned a single GICS classification at the Sub-Industry level according to its principal business activity. MSCI and S&P Dow Jones Indices use revenues as a key factor in determining a firm�s principal business activity. Earnings and market perception, however, are also recognized as important and relevant information for classification purposes, and are taken into account during the annual review process.

StaticSectorService Service

Called to request static sector and industry classification data.

Name
StaticSector
Description
Gets static sector and industry data
Packages
systemathics.apis.services.static_data.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Level Message

Contains the sector classification structure at a specified level.

Field Name
Name
Field Description

The sector classification level’s name

Field Type
string
Field is Repeated ?
No
Field Name
Index
Field Description

The sector classification level’s index (order of the strcture)

Field Type
int32
Field is Repeated ?
No
Field Name
Code
Field Description

The sector classification level’s code

Field Type
string
Field is Repeated ?
No
Field Name
definition
Field Description

The sector classification level’s definition

Field Type
string
Field is Repeated ?
No
Field Name
label
Field Description

The sector classification level’s label

Field Type
string
Field is Repeated ?
No

StaticSectorRequest Message

The required inputs to request the StaticSectorService.

Field Name
provider
Field Description

[Mandatory] The classification provider or taxonomy
Available classifications : ICB, SIC, TRBC and GICS

Field Type
string
Field is Repeated ?
No
Field Name
code
Field Description

[Mandatory] The classification code

Field Type
string
Field is Repeated ?
No
Field Name
level
Field Description

[Mandatory] The classification level (strating from 0 : the top structure or group)

Field Type
int32
Field is Repeated ?
No

StaticSectorResponse Message

Represents a sector classifcation response.

Field Name
data
Field Description

The sector classification levels: an array of Level objects

Field Type
Level
Field is Repeated ?
Yes
Field Name
description
Field Description

The classification description

Field Type
string
Field is Repeated ?
No
Field Name
count
Field Description

The classification levels count

Field Type
int32
Field is Repeated ?
No

sustainability

The sustainability provides Environmental, Social, and Corporate Governance data.

SustainabilityService Service

Called to request sustainability data.

Name
Sustainability
Description
Gets sustainability data
Packages
systemathics.apis.services.sustainability.v1
systemathics.apis.type.shared.v1
Output Streaming
No

Sustainability Message

Contains the sustainabilitys's data.

Field Name
provider
Field Description

The sustainability provider

Field Type
string
Field is Repeated ?
No
Field Name
name
Field Description

The sustainability name or label

Field Type
string
Field is Repeated ?
No
Field Name
id
Field Description

The sustainability identifier

Field Type
string
Field is Repeated ?
No
Field Name
parent
Field Description

The sustainability parent identifier

Field Type
string
Field is Repeated ?
No
Field Name
value
Field Description

The sustainability value

Field Type
double
Field is Repeated ?
No
Field Name
min
Field Description

The sustainability minimum value

Field Type
double
Field is Repeated ?
No
Field Name
max
Field Description

The sustainability maximum value

Field Type
double
Field is Repeated ?
No
Field Name
description
Field Description

The sustainability description

Field Type
string
Field is Repeated ?
No

SustainabilityRequest Message

The required inputs to request the SustainabilityService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No

SustainabilityResponse Message

Represents a sustainability response.

Field Name
data
Field Description

The sustainabilities: an array of sustainability objects

Field Type
Sustainability
Field is Repeated ?
Yes

tick book

Normalized tick by tick data extraction for a given watchlist and a specific look-back period. This can be useful to:
- Get specific historical dataset such as trades, top of book data…
- Compute analytics on the top of preselected tick by tick data dataset
- Feed best execution reports for a given watchlist over the time

TickBookService Service

Called to request tick by tick normalized trades historical data.

Name
TickBook
Description
Get tick by tick normalized trades historical Book
Packages
systemathics.apis.services.tick.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickBookRequest Message

The required inputs to request the TickBookService.

Field Name
identifiers
Field Description

[Mandatory] The instrument identifiers: a list of tickers and exchanges

Field Type
Identifier
Field is Repeated ?
Yes
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

TickBookResponse Message

Contains the tick by tick normalized trades data: key, time stamp, price, size, condition.

Field Name
limit
Field Description

The limit data

Field Type
BookLimit
Field is Repeated ?
No
Field Name
mapping
Field Description

The mapping data

Field Type
Keys
Field is Repeated ?
No

tick raw

Raw tick by tick data extraction in provider format for a given watchlist and a specific look-back period. This can be useful to:
- Audit provider raw data reception and completion
- Compare provider data formats
- Compare raw provider format data to normalized data

TickRawService Service

Called to request tick by tick raw data.

Name
TickRaw
Description
Gets tick by tick historical data
Packages
systemathics.apis.services.tick.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickRawItem Message

Contains the ticks in raw provider format.

Field Name
time_stamp
Field Description

The timestamp

Field Type
Timestamp
Field is Repeated ?
No
Field Name
type
Field Description

The frame type

Field Type
uint32
Field is Repeated ?
No
Field Name
source
Field Description

The event source

Field Type
uint32
Field is Repeated ?
No
Field Name
payload
Field Description

Payload

Field Type
bytes
Field is Repeated ?
No

TickRawRequest Message

The required inputs to request the TickRawService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
level
Field Description

[Mandatory] The stream level (Level 1 or Level 1 and 2)

Field Type
Level
Field is Repeated ?
No

TickRawResponse Message

Represents a raw data response: several at once.

Field Name
raw_items
Field Description

The raw data: an array of TickRawItem objects

Field Type
TickRawItem
Field is Repeated ?
Yes

TickRawResponse2 Message

Represents the RAW response: one by one, this is not performant due to Microsoft gRPC API handling of this use case.

Field Name
time_stamp
Field Description

The timestamp

Field Type
Timestamp
Field is Repeated ?
No
Field Name
type
Field Description

The frame type

Field Type
uint32
Field is Repeated ?
No
Field Name
source
Field Description

The event source

Field Type
uint32
Field is Repeated ?
No
Field Name
payload
Field Description

Payload

Field Type
bytes
Field is Repeated ?
No

tick trades and book

Normalized tick by tick data extraction for a given watchlist and a specific look-back period. This can be useful to:
- Get specific historical dataset such as trades, top of book data…
- Compute analytics on the top of preselected tick by tick data dataset
- Feed best execution reports for a given watchlist over the time

TickTradesAndBookService Service

Called to request tick by tick normalized trades and book historical data.

Name
TickTradesAndBook
Description
Get tick by tick normalized trades and book historical
Packages
systemathics.apis.services.tick.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickTradesAndBookRequest Message

The required inputs to request the TickTradesAndBookService.

Field Name
identifiers
Field Description

[Mandatory] The instrument identifiers: a list of tickers and exchanges

Field Type
Identifier
Field is Repeated ?
Yes
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

TickTradesAndBookResponse Message

Contains the tick by tick normalized trades data: key, time stamp, price, size, condition.

Field Name
data
Field Description

The trade and book data

Field Type
TradeAndBook
Field is Repeated ?
No
Field Name
mapping
Field Description

The mapping data

Field Type
Keys
Field is Repeated ?
No

tick trades

Normalized tick by tick data extraction for a given watchlist and a specific look-back period. This can be useful to:
- Get specific historical dataset such as trades, top of book data…
- Compute analytics on the top of preselected tick by tick data dataset
- Feed best execution reports for a given watchlist over the time

TickTradesService Service

Called to request tick by tick normalized trades historical data.

Name
TickTrades
Description
Get tick by tick normalized trades historical Trades
Packages
systemathics.apis.services.tick.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickTradesRequest Message

The required inputs to request the TickTradesService.

Field Name
identifiers
Field Description

[Mandatory] The instrument identifiers: a list of tickers and exchanges

Field Type
Identifier
Field is Repeated ?
Yes
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

TickTradesResponse Message

Contains the tick by tick normalized trades data: key, time stamp, price, size, condition.

Field Name
trade
Field Description

The trade data

Field Type
Trade
Field is Repeated ?
No
Field Name
mapping
Field Description

The mapping data

Field Type
Keys
Field is Repeated ?
No

tick updates

Normalized tick by tick data extraction for a given watchlist and a specific look-back period. This can be useful to:
- Get specific historical dataset such as trades, top of book data…
- Compute analytics on the top of preselected tick by tick data dataset
- Feed best execution reports for a given watchlist over the time

TickUpdatesService Service

Called to request tick by tick normalized historical data.

Name
TickUpdates
Description
Get tick by tick normalized historical Updates
Packages
systemathics.apis.services.tick.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickUpdatesRequest Message

The required inputs to request the TickUpdatesService.

Field Name
identifiers
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
Yes
Field Name
level
Field Description

[Mandatory] Level representing either Trades only(Level 1) or Trades + Book (Level 1 and Level 2)

Field Type
Level
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No

TickUpdatesResponse Message

Contains the tick by tick normalized historical data: event source, timestamp and payload.

Field Name
event_source
Field Description

Event source: short code for instrument identifier

Field Type
uint32
Field is Repeated ?
No
Field Name
time_stamp
Field Description

Timestamp from the market

Field Type
Timestamp
Field is Repeated ?
No
Field Name
fields_updates
Field Description

Some fields update

Field is Repeated ?
No
Field Name
book_updates
Field Description

Some books update

Field is Repeated ?
No
Field Name
mappings
Field Description

Event source and instrument identifier mapping. It’s sent once when streaming begins.

Field Type
Mappings
Field is Repeated ?
No

tick bars

Tick bars are widely used to illustrate price movements for an instrument over a look back period. Commonly used in financial analysis and trading strategies as a technical indicator.

TickBarsService Service

Called to request tick by tick bars data.

Name
TickBars
Description
Gets tick by tick bars data
Packages
systemathics.apis.services.tick_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickBarsRequest Message

The required inputs to request the TickBarService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
field
Field Description

[Optional] The price used to calculate the bar

Field Type
BarPrice
Field is Repeated ?
No
Field Name
sampling
Field Description

[Mandatory] The duration of the bar

Field Type
Duration
Field is Repeated ?
No
Field Name
period
Field Description

[Optional] The period of the bars, by default the period is set to one day

Field Type
Duration
Field is Repeated ?
No
Field Name
offset
Field Description

[Optional] The offset time when the bars is reset, by default the offset is set to 00:00:00

Field Type
Duration
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment, by default the value is set to false

Field Type
bool
Field is Repeated ?
No
Field Name
accept
Field Description

[Optional] Accept trading / quote conditions, by default the accept is set to null : accept all

Field Type
string
Field is Repeated ?
Yes
Field Name
reject
Field Description

[Optional] Rejected trading / quote conditions, by default the reject is set to null : do not reject

Field Type
string
Field is Repeated ?
Yes

TickBarsResponse Message

Contains the tick bar's data: time, open, high, low, close, volume, count and vwap.

Field Name
time_stamp
Field Description

The time stamp

Field Type
Timestamp
Field is Repeated ?
No
Field Name
open
Field Description

Open price of the current bar

Field Type
double
Field is Repeated ?
No
Field Name
high
Field Description

Highest price of the current bar

Field Type
double
Field is Repeated ?
No
Field Name
low
Field Description

Lowest price of the current bar

Field Type
double
Field is Repeated ?
No
Field Name
close
Field Description

Close price of the current bar

Field Type
double
Field is Repeated ?
No
Field Name
volume
Field Description

Total traded volume of the current bar

Field Type
int64
Field is Repeated ?
No
Field Name
count
Field Description

Tick count of the current bar

Field Type
int32
Field is Repeated ?
No
Field Name
vwap
Field Description

Volume weighted average price of the current bar

Field Type
double
Field is Repeated ?
No

BarPrice Enum

The price types used to compute the bars

Number Name
0 BAR_PRICE_UNSPECIFIED
1 BAR_PRICE_TRADE
2 BAR_PRICE_BID
3 BAR_PRICE_ASK

tick bollinger

Bollinger bands were created by John Bollinger, they are envelopes and plotted around the moving average.
The width of the bands is based on the standard deviaton of the closing prices from a moving average as follows:
- Middle band = n-period moving average
- Upper band = Middle band + (k * n-period standard deviation)
- Lower band = Middle band - (k * n-period standard deviation)
Where n is the number of periods and k is factor to apply to the standard deviation value, k=2 as default value.

TickBollingerService Service

Called to request tick by tick Bollinger bands data.

Name
TickBollinger
Description
Gets tick by tick Bollinger bands data
Packages
systemathics.apis.services.tick_analytics.v1
systemathics.apis.type.shared.v1
Output Streaming
Yes

TickBollingerRequest Message

The required inputs to request the TickBollingerService.

Field Name
identifier
Field Description

[Mandatory] The instrument identifier: a ticker and exchange

Field Type
Identifier
Field is Repeated ?
No
Field Name
constraints
Field Description

[Optional] The time constraints used to define the look-back period. If empty, then all the available data is retrieved.

Field Type
Constraints
Field is Repeated ?
No
Field Name
field
Field Description

[Mandatory] The field used to build the Bollinger bands

Field Type
BollingerPrice
Field is Repeated ?
No
Field Name
length
Field Description

[Mandatory] The simple moving average window length (period: data points number)

Field Type
int32
Field is Repeated ?
No
Field Name
deviation
Field Description

[Mandatory] The standard deviation window length

Field Type
double
Field is Repeated ?
No
Field Name
period
Field Description

[Optional] The period of the Bollinger bands, by default the period is set to one day

Field Type
Duration
Field is Repeated ?
No
Field Name
offset
Field Description

[Optional] The offset time when the Bollinger bands is reset, by default the offset is set to 00:00:00

Field Type
Duration
Field is Repeated ?
No
Field Name
sampling
Field Description

[Optional] The sampling of the tick data. If not set then the tick by tick data is used. If set, then the sma is built using sampled data.

Field Type
Duration
Field is Repeated ?
No
Field Name
adjustment
Field Description

[Optional] The corporate action adjustment, by default the value is set to false

Field Type
bool
Field is Repeated ?
No
Field Name
accept
Field Description

[Optional] Accept trading / quote conditions, by default the accept is set to null : accept all

Field Type
string
Field is Repeated ?
Yes
Field Name
reject
Field Description

[Optional] Rejected trading / quote conditions, by default the reject is set to null : do not reject

Field Type
string
Field is Repeated ?
Yes

TickBollingerResponse Message

Contains the tick Bollinger bands data: date, lower, middle and upper.