From cfd161bd6e9ecf2931a491284c073bce731f3490 Mon Sep 17 00:00:00 2001 From: Build System Date: Mon, 18 Mar 2024 15:40:20 +0000 Subject: [PATCH] 'Protobuf files change' --- .../services/daily/v1/daily_market_data.proto | 136 +++++++++++++++++ .../services/intraday/v1/intraday_bars.proto | 12 +- .../intraday/v1/intraday_best_limit.proto | 92 ++++++++++++ .../intraday/v1/intraday_greeks.proto | 102 +++++++++++++ .../v1/intraday_implied_volatility.proto | 80 ++++++++++ .../intraday/v1/intraday_market_data.proto | 140 ++++++++++++++++++ .../intraday/v1/intraday_open_interest.proto | 79 ++++++++++ .../intraday/v1/intraday_prices.proto | 4 +- .../intraday/v1/intraday_settlement.proto | 89 +++++++++++ .../services/intraday/v1/intraday_vwap.proto | 17 ++- .../v1/intraday_bollinger.proto | 4 +- .../intraday_analytics/v1/intraday_cma.proto | 4 +- .../intraday_analytics/v1/intraday_ema.proto | 4 +- .../intraday_analytics/v1/intraday_macd.proto | 4 +- .../intraday_analytics/v1/intraday_rsi.proto | 4 +- .../intraday_analytics/v1/intraday_sma.proto | 4 +- .../v1/intraday_volatility.proto | 4 +- 17 files changed, 751 insertions(+), 28 deletions(-) create mode 100644 src/systemathics/apis/services/daily/v1/daily_market_data.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_best_limit.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_greeks.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_implied_volatility.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_market_data.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_open_interest.proto create mode 100644 src/systemathics/apis/services/intraday/v1/intraday_settlement.proto diff --git a/src/systemathics/apis/services/daily/v1/daily_market_data.proto b/src/systemathics/apis/services/daily/v1/daily_market_data.proto new file mode 100644 index 0000000..e0a6ff0 --- /dev/null +++ b/src/systemathics/apis/services/daily/v1/daily_market_data.proto @@ -0,0 +1,136 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// This service provides access to an daily marketdata market data service, +// enabling users to retrieve historical market data for various financial instruments. +// MarketData represents a comprehensive aggregation of all pertinent market information, +// encompassing various data points such as bar data, best limit data, Greeks, and more. +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/type/date.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; + +package systemathics.apis.services.daily.v1; + +// Called to request daily MarketData data. +service DailyMarketDataService +{ + // Gets daily historical marketdata + rpc DailyMarketData(DailyMarketDataRequest) returns (DailyMarketDataResponse) + { + option (google.api.http) = { + get: "/v1/daily/marketdata" + }; + } +} + +// The required input to request the DailyMarketDataService +message DailyMarketDataRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Optional] The date interval used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 2; +} + +// Represents a daily marketdata response. +message DailyMarketDataResponse +{ + // The daily marketdata : an array of DailyMarketData objects + repeated DailyMarketData data = 1; +} + +// Contains the daily marketdatas information. +message DailyMarketData +{ + // Date of the marketdata + google.type.Date date = 1; + + // Open price of the sampling period + double open = 2; + + // Highest price of the sampling period + double high = 3; + + // Lowest price of the sampling period + double low = 4; + + // Close price of the sampling period + double close = 5; + + // Total traded volume of the sampling period + double volume = 6; + + // The best bid price of the sampling period + double BidPrice = 7; + + // The best bid size of the sampling period + double BidSize = 8; + + // The best ask price of the sampling period + double AskPrice = 9; + + // The best ask size of the sampling period + double AskSize = 10; + + // Measures the sensitivity of an option's theoretical value to a change in the price of the underlying asset. + //
It indicates the expected change in the option price for a one-point change in the underlying asset. + //
For example, if an option has a delta of 0.7, it suggests that the option's price will increase by $0.70 for every $1 increase in the underlying asset. + double delta = 11; + + // Measeure sthe rate of change in the delta for each one-point increase in the underlying asset. + //
It measures how much the delta of an option will change as the price of the underlying asset changes. + //
Gamma is particularly important for assessing how delta might change as the underlying asset's price fluctuates. + double gamma = 12; + + // A measure of the time decay on an option, the amount that an option willl lose each day due to the passage of time. + //
It represents the change in the option price for a one-day decrease in the time to expiration. + //
Theta is often referred to as time decay. As the expiration date approaches, the time value of an option tends to decrease, and theta quantifies that decay. + double theta = 13; + + // Measures the sensitivity of the price of an option to changes in implied volatility. + //
Implied volatility reflects the market's expectations for future price fluctuations. + //
Vega indicates how much the option price is expected to change for a one-percentage-point change in implied volatility. + double vega = 14; + + // The rate at which the price of a derivative changes relative to a change in the risk-free rate of interest. + //
It represents the change in the option price for a one-percentage-point change in interest rates. + //
Rho is more relevant for options with longer time to expiration. + double rho = 15; + + // ImpliedVolatility value of the sampling period + double implied_volatility = 16; + + // OpenInterest value of the sampling period + double open_interest = 17; + + // Underlying value of the sampling period + double underlying = 18; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 19; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_bars.proto b/src/systemathics/apis/services/intraday/v1/intraday_bars.proto index 1562290..9802f31 100644 --- a/src/systemathics/apis/services/intraday/v1/intraday_bars.proto +++ b/src/systemathics/apis/services/intraday/v1/intraday_bars.proto @@ -18,8 +18,12 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -// 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. +// This service provides access to an intraday bars market data service, +// enabling users to retrieve historical bar data for various financial instruments. +// Intraday bars represent aggregated price and volume information over discrete time intervals, +// such as minutes or hours. This service facilitates comprehensive intraday trading analysis +// by offering granularity in market movements, allowing users to derive insights from the +// open, high, low, and close prices within specified time periods. syntax = "proto3"; @@ -27,7 +31,7 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday.v1; @@ -55,7 +59,7 @@ message IntradayBarsRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Optional] The corporate action adjustment (dividends and splits). // By default the value is set to false diff --git a/src/systemathics/apis/services/intraday/v1/intraday_best_limit.proto b/src/systemathics/apis/services/intraday/v1/intraday_best_limit.proto new file mode 100644 index 0000000..a16e8e9 --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_best_limit.proto @@ -0,0 +1,92 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// Best limit data represent the highest bid and lowest ask prices in the market at any given time, providing valuable insights into the current state of supply and demand. +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// This service serves as a gateway to an intraday Best Limit market data service, allowing users to access historical data on the best limit order levels for various financial instruments. +service IntradayBestLimitsService +{ + // Gets intraday historical data: date, bid and ask + rpc IntradayBestLimits(IntradayBestLimitsRequest) returns (IntradayBestLimitsResponse) + { + option (google.api.http) = { + get: "/v1/intraday/bestlimits" + }; + } +} + +// The required input to request the IntradayBestLimitsService. +message IntradayBestLimitsRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; + + // [Optional] The corporate action adjustment (dividends and splits). + // By default the value is set to false + bool adjustment = 4; +} + +// The intraday bestlimits response contains an array of intraday bestlimits. +message IntradayBestLimitsResponse +{ + // The intraday bestlimits: an array of IntradayBestLimit objects + repeated IntradayBestLimit data = 1; +} + +// Contains the intraday bar's data: date, bid, ask and score. +message IntradayBestLimit +{ + // Time stamp of the intraday bar : open time of the sampling interval + google.protobuf.Timestamp time_stamp = 1; + + // The best bid price of the sampling period + double BidPrice = 2; + + // The best bid size of the sampling period + double BidSize = 3; + + // The best ask price of the sampling period + double AskPrice = 4; + + // The best ask size of the sampling period + double AskSize = 5; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 6; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_greeks.proto b/src/systemathics/apis/services/intraday/v1/intraday_greeks.proto new file mode 100644 index 0000000..04253db --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_greeks.proto @@ -0,0 +1,102 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// The Greeks are a set of risk measures or sensitivities used in options trading to assess the various factors that can influence the price of an option. + +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// Called to request intraday greeks data. +service IntradayGreeksService +{ + // Gets intraday historical greeks data. + rpc IntradayGreeks(IntradayGreeksRequest) returns (IntradayGreeksResponse) + { + option (google.api.http) = { + get: "/v1/intraday/greeks" + }; + } +} + +// The required input to request the IntradayGreeksService. +message IntradayGreeksRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; +} + +// The intraday greeks response contains an array of intraday greeks. +message IntradayGreeksResponse +{ + // The intraday greeks: an array of IntradayGreeks objects + repeated IntradayGreeks data = 1; +} + +// Contains the intraday greeks data. +message IntradayGreeks +{ + // Time stamp of the intraday greeks + google.protobuf.Timestamp time_stamp = 1; + + // Measures the sensitivity of an option's theoretical value to a change in the price of the underlying asset. + //
It indicates the expected change in the option price for a one-point change in the underlying asset. + //
For example, if an option has a delta of 0.7, it suggests that the option's price will increase by $0.70 for every $1 increase in the underlying asset. + double delta = 2; + + // Measeure sthe rate of change in the delta for each one-point increase in the underlying asset. + //
It measures how much the delta of an option will change as the price of the underlying asset changes. + //
Gamma is particularly important for assessing how delta might change as the underlying asset's price fluctuates. + double gamma = 3; + + // A measure of the time decay on an option, the amount that an option willl lose each day due to the passage of time. + //
It represents the change in the option price for a one-day decrease in the time to expiration. + //
Theta is often referred to as time decay. As the expiration date approaches, the time value of an option tends to decrease, and theta quantifies that decay. + double theta = 4; + + // Measures the sensitivity of the price of an option to changes in implied volatility. + //
Implied volatility reflects the market's expectations for future price fluctuations. + //
Vega indicates how much the option price is expected to change for a one-percentage-point change in implied volatility. + double vega = 5; + + // The rate at which the price of a derivative changes relative to a change in the risk-free rate of interest. + //
It represents the change in the option price for a one-percentage-point change in interest rates. + //
Rho is more relevant for options with longer time to expiration. + double rho = 6; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 7; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_implied_volatility.proto b/src/systemathics/apis/services/intraday/v1/intraday_implied_volatility.proto new file mode 100644 index 0000000..d986c71 --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_implied_volatility.proto @@ -0,0 +1,80 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// The Implied Volatility is the estimated volatility of the option strike over the period of the option. + +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// Called to request intraday ImpliedVolatility data. +service IntradayImpliedVolatilitiesService +{ + // Gets intraday historical ImpliedVolatilities + rpc IntradayImpliedVolatilities(IntradayImpliedVolatilitiesRequest) returns (IntradayImpliedVolatilitiesResponse) + { + option (google.api.http) = { + get: "/v1/intraday/impliedvolatilities" + }; + } +} + +// The required input to request the IntradayImpliedVolatilitiesService +message IntradayImpliedVolatilitiesRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; +} + +// Represents a intraday ImpliedVolatilities response. +message IntradayImpliedVolatilitiesResponse +{ + // The intraday impliedvolatilities: an array of IntradayImpliedVolatility objects + repeated IntradayImpliedVolatility data = 1; +} + +// Contains the intraday impliedvolatilities data: date, implied volatility value. +message IntradayImpliedVolatility +{ + // Time stamp of the intraday settlement : open time of the sampling interval + google.protobuf.Timestamp time_stamp = 1; + + // ImpliedVolatility value of the sampling period + double value = 2; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 3; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_market_data.proto b/src/systemathics/apis/services/intraday/v1/intraday_market_data.proto new file mode 100644 index 0000000..bf11988 --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_market_data.proto @@ -0,0 +1,140 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// This service provides access to an intraday marketdata market data service, +// enabling users to retrieve historical market data for various financial instruments. +// MarketData represents a comprehensive aggregation of all pertinent market information, +// encompassing various data points such as bar data, best limit data, Greeks, and more. +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// Called to request intraday marketdata data. +service IntradayMarketDataService +{ + // Gets intraday historical data + rpc IntradayMarketData(IntradayMarketDataRequest) returns (IntradayMarketDataResponse) + { + option (google.api.http) = { + get: "/v1/intraday/marketdata" + }; + } +} + +// The required input to request the IntradayMarketDataService. +message IntradayMarketDataRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; +} + +// The intraday marketdata response contains an array of intraday marketdata. +message IntradayMarketDataResponse +{ + // The intraday marketdata: an array of IntradayMarketData objects + repeated IntradayMarketData data = 1; +} + +// Contains the intraday market data information. +message IntradayMarketData +{ + // Time stamp of the intraday market data + google.protobuf.Timestamp time_stamp = 1; + + // Open price of the sampling period + double open = 2; + + // Highest price of the sampling period + double high = 3; + + // Lowest price of the sampling period + double low = 4; + + // Close price of the sampling period + double close = 5; + + // Total traded volume of the sampling period + double volume = 6; + + // The best bid price of the sampling period + double BidPrice = 7; + + // The best bid size of the sampling period + double BidSize = 8; + + // The best ask price of the sampling period + double AskPrice = 9; + + // The best ask size of the sampling period + double AskSize = 10; + + // Measures the sensitivity of an option's theoretical value to a change in the price of the underlying asset. + //
It indicates the expected change in the option price for a one-point change in the underlying asset. + //
For example, if an option has a delta of 0.7, it suggests that the option's price will increase by $0.70 for every $1 increase in the underlying asset. + double delta = 11; + + // Measeure sthe rate of change in the delta for each one-point increase in the underlying asset. + //
It measures how much the delta of an option will change as the price of the underlying asset changes. + //
Gamma is particularly important for assessing how delta might change as the underlying asset's price fluctuates. + double gamma = 12; + + // A measure of the time decay on an option, the amount that an option willl lose each day due to the passage of time. + //
It represents the change in the option price for a one-day decrease in the time to expiration. + //
Theta is often referred to as time decay. As the expiration date approaches, the time value of an option tends to decrease, and theta quantifies that decay. + double theta = 13; + + // Measures the sensitivity of the price of an option to changes in implied volatility. + //
Implied volatility reflects the market's expectations for future price fluctuations. + //
Vega indicates how much the option price is expected to change for a one-percentage-point change in implied volatility. + double vega = 14; + + // The rate at which the price of a derivative changes relative to a change in the risk-free rate of interest. + //
It represents the change in the option price for a one-percentage-point change in interest rates. + //
Rho is more relevant for options with longer time to expiration. + double rho = 15; + + // ImpliedVolatility value of the sampling period + double implied_volatility = 16; + + // OpenInterest value of the sampling period + double open_interest = 17; + + // Underlying value of the sampling period + double underlying = 18; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 19; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_open_interest.proto b/src/systemathics/apis/services/intraday/v1/intraday_open_interest.proto new file mode 100644 index 0000000..d6fba89 --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_open_interest.proto @@ -0,0 +1,79 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// The Open interest is the total number of contracts (futures or options) that are currently held by market participants and have not been offset by an opposite transaction (i.e., by closing the position). +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// Called to request intraday OpenInterest data. +service IntradayOpenInterestsService +{ + // Gets intraday historical OpenInterests + rpc IntradayOpenInterests(IntradayOpenInterestsRequest) returns (IntradayOpenInterestsResponse) + { + option (google.api.http) = { + get: "/v1/intraday/openinterests" + }; + } +} + +// The required input to request the IntradayOpenInterestsService +message IntradayOpenInterestsRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; +} + +// Represents a intraday OpenInterests response. +message IntradayOpenInterestsResponse +{ + // The intraday openinterests: an array of IntradayOpenInterest objects + repeated IntradayOpenInterest data = 1; +} + +// Contains the intraday openinterests data: date, openinterest value. +message IntradayOpenInterest +{ + // Time stamp of the intraday openinterest : open time of the sampling interval + google.protobuf.Timestamp time_stamp = 1; + + // OpenInterest value of the sampling period + double value = 2; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 3; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_prices.proto b/src/systemathics/apis/services/intraday/v1/intraday_prices.proto index 491b548..e029b86 100644 --- a/src/systemathics/apis/services/intraday/v1/intraday_prices.proto +++ b/src/systemathics/apis/services/intraday/v1/intraday_prices.proto @@ -26,7 +26,7 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday.v1; @@ -54,7 +54,7 @@ message IntradayPricesRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Optional] The corporate action adjustment (dividends and splits). // By default the value is set to false diff --git a/src/systemathics/apis/services/intraday/v1/intraday_settlement.proto b/src/systemathics/apis/services/intraday/v1/intraday_settlement.proto new file mode 100644 index 0000000..814a12c --- /dev/null +++ b/src/systemathics/apis/services/intraday/v1/intraday_settlement.proto @@ -0,0 +1,89 @@ +// Copyright (c) 2021 Systemathics +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// The settlement price is the official price at which a financial instrument is settled at the end of a trading day. +//
The settlement refers to the process of transferring securities or funds to fulfill the terms of a trade. +//
In futures and options markets, the settlement price is often determined by a specific mechanism outlined by the exchange and may not necessarily be the same as the closing price. + +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +import "systemathics/apis/type/shared/v1/identifier.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; +import "systemathics/apis/type/shared/v1/sampling.proto"; + +package systemathics.apis.services.intraday.v1; + +// This service provides access to an intraday settlement market data, +service IntradaySettlementsService +{ + // Gets intraday historical Settlements + rpc IntradaySettlements(IntradaySettlementsRequest) returns (IntradaySettlementsResponse) + { + option (google.api.http) = { + get: "/v1/intraday/settlements" + }; + } +} + +// The required input to request the IntradaySettlementsService +message IntradaySettlementsRequest +{ + // [Mandatory] The instrument identifier: a ticker and exchange + systemathics.apis.type.shared.v1.Identifier identifier = 1; + + // [Mandatory] The sampling interval + systemathics.apis.type.shared.v1.Sampling sampling = 2; + + // [Optional] The time constraints used to define the look-back period. + // If empty, then all the available data is retrieved. + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; + + // [Optional] The corporate action adjustment (dividends and splits). + // By default the value is set to false + bool adjustment = 4; +} + +// Represents a intraday Settlements response. +message IntradaySettlementsResponse +{ + // The intraday settlements: an array of IntradaySettlement objects + repeated IntradaySettlement data = 1; +} + +// Contains the intraday settlements data: date, settlement value and volume. +message IntradaySettlement +{ + // Time stamp of the intraday settlement : open time of the sampling interval + google.protobuf.Timestamp time_stamp = 1; + + // Settlement value of the sampling period + double value = 2; + + // Total traded volume of the sampling period + double volume = 3; + + // The data quality scoring : from 0 (bad) to 100 (good) + double score = 4; +} + diff --git a/src/systemathics/apis/services/intraday/v1/intraday_vwap.proto b/src/systemathics/apis/services/intraday/v1/intraday_vwap.proto index 1c241fe..14b821a 100644 --- a/src/systemathics/apis/services/intraday/v1/intraday_vwap.proto +++ b/src/systemathics/apis/services/intraday/v1/intraday_vwap.proto @@ -30,24 +30,25 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday.v1; -// Called to request intraday VWAP data. +// This service provides access to an intraday VWAP (Volume-Weighted Average Price) market data, +// allowing users to retrieve historical VWAP data for various financial instruments. service IntradayVwapsService { // Gets intraday historical VWAPs rpc IntradayVwaps(IntradayVwapsRequest) returns (IntradayVwapsResponse) { option (google.api.http) = { - get: "/v1/intraday/vwap" + get: "/v1/intraday/vwaps" }; } } -// The required input to request the IntradayVwapsService +// Represents a request object for intraday VWAP (Volume-Weighted Average Price) market data. message IntradayVwapsRequest { // [Mandatory] The instrument identifier: a ticker and exchange @@ -58,21 +59,21 @@ message IntradayVwapsRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Optional] The corporate action adjustment (dividends and splits). // By default the value is set to false bool adjustment = 4; } -// Represents a intraday VWAPs response. +// Represents the response object for an intraday VWAP (Volume-Weighted Average Price) market data request. message IntradayVwapsResponse { - // The intraday vwaps: an array of IntradayVwap objects + // A time series of intraday VWAP (Volume-Weighted Average Price) market data. repeated IntradayVwap data = 1; } -// Contains the intraday vwaps data: date, vwap and volume. +// Represents an individual data item for intraday VWAP (Volume-Weighted Average Price) market data. message IntradayVwap { // Time stamp of the intraday vwap : open time of the sampling interval diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_bollinger.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_bollinger.proto index f626f2b..e5cf0ba 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_bollinger.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_bollinger.proto @@ -32,7 +32,7 @@ import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -60,7 +60,7 @@ message IntradayBollingerRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Mandatory] The simple moving average window length (period: data points number) int32 length = 4; diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_cma.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_cma.proto index 27dccfb..bac8d5e 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_cma.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_cma.proto @@ -29,7 +29,7 @@ syntax = "proto3"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -52,7 +52,7 @@ message IntradayCmaRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Optional] The corporate action adjustment (dividends and splits). // By default the value is set to false diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_ema.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_ema.proto index 7858bfc..9a8d2d9 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_ema.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_ema.proto @@ -32,7 +32,7 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -60,7 +60,7 @@ message IntradayEmaRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Mandatory] The exponential moving average window length (period : points number) int32 length = 4; diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_macd.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_macd.proto index f7aaa78..7458580 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_macd.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_macd.proto @@ -30,7 +30,7 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -58,7 +58,7 @@ message IntradayMacdRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Mandatory] The long EMA window length (period : points number) int32 long = 4; diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_rsi.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_rsi.proto index 076b6d7..c5a5da6 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_rsi.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_rsi.proto @@ -32,7 +32,7 @@ import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -60,7 +60,7 @@ message IntradayRsiRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Mandatory] The relative strength index window length (period: points number) int32 length = 4; diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_sma.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_sma.proto index 133be67..0f9b18f 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_sma.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_sma.proto @@ -32,7 +32,7 @@ import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -60,7 +60,7 @@ message IntradaySmaRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Mandatory] The simple moving average window length (period : points number) int32 length = 4; diff --git a/src/systemathics/apis/services/intraday_analytics/v1/intraday_volatility.proto b/src/systemathics/apis/services/intraday_analytics/v1/intraday_volatility.proto index 177f2a9..cc3bc12 100644 --- a/src/systemathics/apis/services/intraday_analytics/v1/intraday_volatility.proto +++ b/src/systemathics/apis/services/intraday_analytics/v1/intraday_volatility.proto @@ -28,7 +28,7 @@ syntax = "proto3"; import "google/api/annotations.proto"; import "systemathics/apis/type/shared/v1/identifier.proto"; -import "systemathics/apis/type/shared/v1/constraints.proto"; +import "systemathics/apis/type/shared/v1/date_interval.proto"; import "systemathics/apis/type/shared/v1/sampling.proto"; package systemathics.apis.services.intraday_analytics.v1; @@ -56,7 +56,7 @@ message IntradayVolatilityRequest // [Optional] The time constraints used to define the look-back period. // If empty, then all the available data is retrieved. - systemathics.apis.type.shared.v1.Constraints constraints = 3; + systemathics.apis.type.shared.v1.DateInterval date_interval = 3; // [Optional] The corporate action adjustment (dividends and splits). // By default the value is set to false