diff --git a/src/systemathics/apis/services/static_data/v1/static_data.proto b/src/systemathics/apis/services/static_data/v1/static_data.proto index 0914bfc..f482d86 100644 --- a/src/systemathics/apis/services/static_data/v1/static_data.proto +++ b/src/systemathics/apis/services/static_data/v1/static_data.proto @@ -187,6 +187,12 @@ message StaticDataRequest // [Optional] Cds Reference Entity Data (RED) Pair Code google.protobuf.StringValue cds_red_pair_code = 46; + + // [Optional] Swaption type for option (Payer/Receiver) + SwaptionType swaption_type = 47; + + // [Optional] Markit Id for option from OTCStreaming + google.protobuf.StringValue markit_id = 48; } @@ -884,6 +890,14 @@ message OptionEntry systemathics.apis.type.shared.v1.OptionType option_type = 9; // Specific values for the option: The way the option can be exercised: American, European or Bermudan. ExerciseType exercise_type = 10; + // Specific values for the swaption: Indicates whether the swaption is payer or receiver. + SwaptionType swaption_type = 11; + // Mapping: The Markit id + string markit_id = 12; + // Mapping: The Financial Instrument Global Identifier (FIGI) is an established global standard of the Object Management Group (www.OMG.org, an international non-profit technology standards consortium founded in 1989) and an identification standard adopted by the American National Committee X9. The FIGI standard is issued and distributed by Bloomberg L.P. as a Registration Authority and Certified Provider under the auspice of OMG. The Financial Instrument Global Identifier (FIGI) is a twelve character, alphanumeric identifier. The first 2 characters are upper-case consonants (including "Y"), the third character is the upper-case "G", characters 4 -11 are any upper-case consonant (including "Y") or integer between 0 and 9, and the last character is a check-digit. + string figi = 13; + // General information: The calendar code for that instrument. + string calendar = 14; } // Contains the reference data for bonds. @@ -1246,6 +1260,7 @@ enum FrequencyType FREQUENCY_TYPE_BIANNUAL = 8; } + // Contains the option exercise types : Determines when, how, and under what circumstances, the option holder may exercise it. enum ExerciseType { @@ -1511,3 +1526,13 @@ enum DayCount DAY_COUNT_30M_360 = 997; } + + +enum SwaptionType +{ + SWAPTION_TYPE_UNSPECIFIED = 0; + + SWAPTION_TYPE_PAYER = 1; + + SWAPTION_TYPE_RECEIVER = 2; +} diff --git a/src/systemathics/apis/services/static_data/v1/static_data_set.proto b/src/systemathics/apis/services/static_data/v1/static_data_set.proto new file mode 100644 index 0000000..e357fa9 --- /dev/null +++ b/src/systemathics/apis/services/static_data/v1/static_data_set.proto @@ -0,0 +1,71 @@ +// 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. + +// 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. +syntax = "proto3"; + + +import "google/api/annotations.proto"; +import "google/type/date.proto"; +import "google/protobuf/empty.proto"; + +import "systemathics/apis/services/static_data/v1/static_data.proto"; + +package systemathics.apis.services.static_data.v1; + +// Called to request reference data. +service StaticDataSetService +{ + // Gets reference data + rpc CreateStaticDataOtcStreaming(StaticDataOtcStreamingRequest) returns (google.protobuf.Empty) + { + option (google.api.http) = { + get: "/v1/staticdata/otc_streaming" + }; + } +} + +message StaticDataOtcStreamingRequest +{ + string ticker = 1; + + string provider = 2; + + double strike = 3; + + SwaptionType swaption_type = 4; + + google.type.Date expiry = 5; + + string underlying_ticker = 6; + + string currency = 7; + + string markit_id = 8; + + string figi = 9; + + string calendar = 10; +}