@openmarket/market-data-proto 12.68.0 → 12.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,196 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Timestamp } from "./timestamp/timestamp_pb.js";
3
+ import type { OffExchangeScope, OptionPrintSide } from "./enums_pb.js";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file off_exchange_aggregation.proto.
7
+ */
8
+ export declare const file_off_exchange_aggregation: GenFile;
9
+ /**
10
+ * One US stock's off-exchange activity for one finished New York session,
11
+ * folded by harvestd's massive source from the session's Massive trade tape.
12
+ * An off-exchange print is one Massive reports on exchange 4, the FINRA
13
+ * Alternative Display Facility and the FINRA trade reporting facilities
14
+ * (TRFs); exchanges 6 and 16 also carry the TRF type in Massive's reference
15
+ * but are exchanges, so they are left out. A print with a correction
16
+ * indicator (corrected or cancelled) is dropped.
17
+ *
18
+ * The series is one ticker for one session: type OFF_EXCHANGE_AGG, exchange
19
+ * FINRA, symbol and coin the Massive ticker verbatim (BRK.B). A series
20
+ * carries every row of the ticker's session in all three scopes, so a writer
21
+ * replaces the ticker's session with it whole, a scope the series has no
22
+ * rows of included: a row a later fold of the same session no longer
23
+ * produces disappears.
24
+ *
25
+ * The session D is the prints the tape reports (SIP timestamp) from 04:00 to
26
+ * 20:10 New York on D: the extended session, plus ten minutes for late
27
+ * reports. The extended session itself, 04:00 to 20:00, is the window the
28
+ * minute and level rows count executions in. A print executed outside the
29
+ * window (before it when reported late or out of sequence, after it when
30
+ * traded after 20:00) counts in no minute and no level; it can still be a
31
+ * large print. The ticker's session volume and dollar volume sum the
32
+ * ticker's prints on every venue executed in the window whose conditions
33
+ * update the consolidated volume.
34
+ *
35
+ * Scopes:
36
+ *
37
+ * MINUTE timestamp is the minute's start. One row per minute of the
38
+ * window with at least one off-exchange print executed in it
39
+ * whose conditions update the consolidated volume.
40
+ * PRICE_LEVEL timestamp and session_date are D. One row per price level
41
+ * of the off-exchange prints executed in the window whose
42
+ * conditions all update the consolidated high and low (the
43
+ * eligible prints). The level is the price floored to the
44
+ * grid: one cent from 1 USD up, 0.0001 USD below.
45
+ * LARGE_PRINT timestamp is the print's execution time. One row per
46
+ * off-exchange print of the session whose notional reaches the
47
+ * ticker's threshold for D: min(1,000,000, max(100,000, 1% of
48
+ * the ticker's session dollar volume)) USD.
49
+ * At most 5,000 rows a ticker and session, the largest kept.
50
+ * The execution time is at most seven days before D's window
51
+ * and never after D ends.
52
+ *
53
+ * Every value is computed from the session's own tape, so a fold of the same
54
+ * tape gives the same rows, in the same order.
55
+ *
56
+ * @generated from message OffExchangeAggregation
57
+ */
58
+ export type OffExchangeAggregation = Message<"OffExchangeAggregation"> & {
59
+ /**
60
+ * @generated from field: OffExchangeScope scope = 1;
61
+ */
62
+ scope: OffExchangeScope;
63
+ /**
64
+ * MINUTE: the minute's start. PRICE_LEVEL: D at midnight UTC.
65
+ * LARGE_PRINT: the execution time (Massive's participant timestamp, its
66
+ * SIP timestamp when the participant one is missing).
67
+ *
68
+ * @generated from field: Timestamp timestamp = 2;
69
+ */
70
+ timestamp?: Timestamp;
71
+ /**
72
+ * The session the row belongs to, D, at midnight UTC: the date the
73
+ * replace of a ticker's session is keyed by.
74
+ *
75
+ * @generated from field: Timestamp session_date = 3;
76
+ */
77
+ sessionDate?: Timestamp;
78
+ /**
79
+ * PRICE_LEVEL: the level. LARGE_PRINT: the print's price. Unset on MINUTE.
80
+ *
81
+ * @generated from field: optional double price = 4;
82
+ */
83
+ price?: number;
84
+ /**
85
+ * price * size summed over the row's prints, in USD.
86
+ *
87
+ * @generated from field: double notional = 5;
88
+ */
89
+ notional: number;
90
+ /**
91
+ * Shares, summed over the row's prints. Massive reports fractional sizes.
92
+ *
93
+ * @generated from field: double volume = 6;
94
+ */
95
+ volume: number;
96
+ /**
97
+ * How many prints the row sums; 1 on LARGE_PRINT.
98
+ *
99
+ * @generated from field: int64 prints = 7;
100
+ */
101
+ prints: bigint;
102
+ /**
103
+ * The print's own fields. Set on LARGE_PRINT only.
104
+ *
105
+ * @generated from field: OffExchangePrint print = 8;
106
+ */
107
+ print?: OffExchangePrint;
108
+ };
109
+ /**
110
+ * Describes the message OffExchangeAggregation.
111
+ * Use `create(OffExchangeAggregationSchema)` to create a new message.
112
+ */
113
+ export declare const OffExchangeAggregationSchema: GenMessage<OffExchangeAggregation>;
114
+ /**
115
+ * The fields of one large off-exchange print that a sum has no use for.
116
+ *
117
+ * @generated from message OffExchangePrint
118
+ */
119
+ export type OffExchangePrint = Message<"OffExchangePrint"> & {
120
+ /**
121
+ * Massive's trade id: unique for the ticker, venue and facility on the
122
+ * day, so (trf_id, id) names a print within a ticker's session.
123
+ *
124
+ * @generated from field: string id = 1;
125
+ */
126
+ id: string;
127
+ /**
128
+ * When the SIP processed the print.
129
+ *
130
+ * @generated from field: Timestamp sip_timestamp = 2;
131
+ */
132
+ sipTimestamp?: Timestamp;
133
+ /**
134
+ * When the trade reporting facility processed the print. Unset on an ADF
135
+ * print, which has no facility.
136
+ *
137
+ * @generated from field: Timestamp trf_timestamp = 3;
138
+ */
139
+ trfTimestamp?: Timestamp;
140
+ /**
141
+ * The FINRA facility: 201 FINY (NYSE TRF), 202 FINN (Nasdaq TRF
142
+ * Carteret), 203 FINC (Nasdaq TRF Chicago). Unset on an ADF print.
143
+ *
144
+ * @generated from field: optional int32 trf_id = 4;
145
+ */
146
+ trfId?: number;
147
+ /**
148
+ * Massive's sale condition codes, as reported.
149
+ *
150
+ * @generated from field: repeated int32 conditions = 5;
151
+ */
152
+ conditions: number[];
153
+ /**
154
+ * Whether every condition updates the consolidated high, low and volume,
155
+ * so the print counts at its price level when executed in the window.
156
+ *
157
+ * @generated from field: bool eligible = 6;
158
+ */
159
+ eligible: boolean;
160
+ /**
161
+ * Reported more than ten seconds after execution, or carrying an
162
+ * out-of-sequence condition (13 or 32).
163
+ *
164
+ * @generated from field: bool late = 7;
165
+ */
166
+ late: boolean;
167
+ /**
168
+ * The print's size over the ticker's session volume. Unset when that
169
+ * volume is zero.
170
+ *
171
+ * @generated from field: optional double session_volume_share = 8;
172
+ */
173
+ sessionVolumeShare?: number;
174
+ /**
175
+ * The national best bid and offer at execution and where the price sat
176
+ * against them, classified as OptionPrint.side is. Unset until a quote
177
+ * step fills them.
178
+ *
179
+ * @generated from field: optional double nbbo_bid = 9;
180
+ */
181
+ nbboBid?: number;
182
+ /**
183
+ * @generated from field: optional double nbbo_ask = 10;
184
+ */
185
+ nbboAsk?: number;
186
+ /**
187
+ * @generated from field: optional OptionPrintSide side = 11;
188
+ */
189
+ side?: OptionPrintSide;
190
+ };
191
+ /**
192
+ * Describes the message OffExchangePrint.
193
+ * Use `create(OffExchangePrintSchema)` to create a new message.
194
+ */
195
+ export declare const OffExchangePrintSchema: GenMessage<OffExchangePrint>;
196
+ //# sourceMappingURL=off_exchange_aggregation_pb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"off_exchange_aggregation_pb.d.ts","sourceRoot":"","sources":["../src/gen/off_exchange_aggregation_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,OACs3B,CAAC;AAEn6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG;IACvE;;OAEG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,sBAAsB,CAC7B,CAAC;AAEhD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAC3D;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,gBAAgB,CACjB,CAAC"}
@@ -0,0 +1,20 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=.js"
2
+ // @generated from file off_exchange_aggregation.proto (syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import { file_timestamp_timestamp } from "./timestamp/timestamp_pb.js";
6
+ import { file_enums } from "./enums_pb.js";
7
+ /**
8
+ * Describes the file off_exchange_aggregation.proto.
9
+ */
10
+ export const file_off_exchange_aggregation = /*@__PURE__*/ fileDesc("Ch5vZmZfZXhjaGFuZ2VfYWdncmVnYXRpb24ucHJvdG8i7QEKFk9mZkV4Y2hhbmdlQWdncmVnYXRpb24SIAoFc2NvcGUYASABKA4yES5PZmZFeGNoYW5nZVNjb3BlEh0KCXRpbWVzdGFtcBgCIAEoCzIKLlRpbWVzdGFtcBIgCgxzZXNzaW9uX2RhdGUYAyABKAsyCi5UaW1lc3RhbXASEgoFcHJpY2UYBCABKAFIAIgBARIQCghub3Rpb25hbBgFIAEoARIOCgZ2b2x1bWUYBiABKAESDgoGcHJpbnRzGAcgASgDEiAKBXByaW50GAggASgLMhEuT2ZmRXhjaGFuZ2VQcmludEIICgZfcHJpY2Ui6gIKEE9mZkV4Y2hhbmdlUHJpbnQSCgoCaWQYASABKAkSIQoNc2lwX3RpbWVzdGFtcBgCIAEoCzIKLlRpbWVzdGFtcBIhCg10cmZfdGltZXN0YW1wGAMgASgLMgouVGltZXN0YW1wEhMKBnRyZl9pZBgEIAEoBUgAiAEBEhIKCmNvbmRpdGlvbnMYBSADKAUSEAoIZWxpZ2libGUYBiABKAgSDAoEbGF0ZRgHIAEoCBIhChRzZXNzaW9uX3ZvbHVtZV9zaGFyZRgIIAEoAUgBiAEBEhUKCG5iYm9fYmlkGAkgASgBSAKIAQESFQoIbmJib19hc2sYCiABKAFIA4gBARIjCgRzaWRlGAsgASgOMhAuT3B0aW9uUHJpbnRTaWRlSASIAQFCCQoHX3RyZl9pZEIXChVfc2Vzc2lvbl92b2x1bWVfc2hhcmVCCwoJX25iYm9fYmlkQgsKCV9uYmJvX2Fza0IHCgVfc2lkZUIKWgh0eXBlcy9wYmIGcHJvdG8z", [file_timestamp_timestamp, file_enums]);
11
+ /**
12
+ * Describes the message OffExchangeAggregation.
13
+ * Use `create(OffExchangeAggregationSchema)` to create a new message.
14
+ */
15
+ export const OffExchangeAggregationSchema = /*@__PURE__*/ messageDesc(file_off_exchange_aggregation, 0);
16
+ /**
17
+ * Describes the message OffExchangePrint.
18
+ * Use `create(OffExchangePrintSchema)` to create a new message.
19
+ */
20
+ export const OffExchangePrintSchema = /*@__PURE__*/ messageDesc(file_off_exchange_aggregation, 1);
@@ -0,0 +1,164 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Timestamp } from "./timestamp/timestamp_pb.js";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file option_strike_flow_aggregation.proto.
6
+ */
7
+ export declare const file_option_strike_flow_aggregation: GenFile;
8
+ /**
9
+ * Signed option flow of one strike for one sealed minute: one row per (venue,
10
+ * underlying, expiry, strike, minute), folded server-side by the tsdb-gateway
11
+ * option_strike_flow cjob from the minute's option prints (TRADE rows of category
12
+ * OPTION) whose side is BUY or SELL, for the expiries that end after the
13
+ * minute and within the job's horizon (7 days). Every run folds its newest
14
+ * minutes again (a 30-minute replay window), so a print, a registry row or a
15
+ * greek that lands late still counts; a row is final once that window has
16
+ * passed it.
17
+ *
18
+ * The series identity is OPTION_STRIKE_AGG's: the synthetic symbol
19
+ * "<underlying>|<YYYYMMDD>|<strike>", plus "|AM" for an expiry before noon
20
+ * New York time, the normalized symbol "<underlying>-USD", category OPTION.
21
+ *
22
+ * The side is the print's TRADE side. OPRA prints carry no aggressor, so
23
+ * streamd sides each contract's prints with the tick rule TradingView's
24
+ * options footprint uses: a one-second bar that closes above its open is all
25
+ * BUY, below its open all SELL, and a flat bar compares its close with the
26
+ * previous bar's close. "Bought" sums the BUY-side prints and "sold" the
27
+ * SELL-side ones; neither is a quote-based aggressor side.
28
+ *
29
+ * Per print, with pointValue the registry's USD value of a 1.0 move per
30
+ * contract (100 for a standard OPRA equity option), underlying the
31
+ * underlying's price and side +1 for BUY, -1 for SELL:
32
+ *
33
+ * premium = price * amount * pointValue
34
+ * deltaFlow = side * delta * amount * pointValue * underlying
35
+ * gammaFlow = side * gamma * amount * pointValue * underlying^2 * 0.01
36
+ *
37
+ * premium and deltaFlow are USD; gammaFlow is the USD of delta that changes
38
+ * hands per 1% move of the underlying. The sign is the side's alone: a BUY of
39
+ * a put adds its negative delta, a SELL of a put subtracts it, and gamma is
40
+ * positive on calls and puts, so a BUY adds gamma either way.
41
+ *
42
+ * Greeks are valued at the minute's close, not at each execution: delta,
43
+ * gamma and underlying come from the contract's OPTION_SUMMARY_AGG row for
44
+ * the minute (the minute's last non-null values), else its newest earlier
45
+ * minute of the same New York date. A flow is signed volume valued at those
46
+ * greeks: a minute that buys one call while its delta is 0.2 and sells one
47
+ * while it is 0.8 has a call delta flow of 0, not (0.2 - 0.8) * pointValue *
48
+ * underlying.
49
+ *
50
+ * Premium, volume, largestPrint and tradeCount never depend on greeks. A
51
+ * delta or gamma flow is set only when every contract contributing to it has
52
+ * that greek and a positive underlying price: one contract without them
53
+ * leaves the flow unset, never a partial sum.
54
+ *
55
+ * @generated from message OptionStrikeFlowAggregation
56
+ */
57
+ export type OptionStrikeFlowAggregation = Message<"OptionStrikeFlowAggregation"> & {
58
+ /**
59
+ * Premium of the BUY-side call prints, in USD. 0 when none traded.
60
+ *
61
+ * @generated from field: optional double callPremiumBought = 1;
62
+ */
63
+ callPremiumBought?: number;
64
+ /**
65
+ * Premium of the SELL-side call prints, in USD. 0 when none traded.
66
+ *
67
+ * @generated from field: optional double callPremiumSold = 2;
68
+ */
69
+ callPremiumSold?: number;
70
+ /**
71
+ * Premium of the BUY-side put prints, in USD. 0 when none traded.
72
+ *
73
+ * @generated from field: optional double putPremiumBought = 3;
74
+ */
75
+ putPremiumBought?: number;
76
+ /**
77
+ * Premium of the SELL-side put prints, in USD. 0 when none traded.
78
+ *
79
+ * @generated from field: optional double putPremiumSold = 4;
80
+ */
81
+ putPremiumSold?: number;
82
+ /**
83
+ * (callPremiumBought + putPremiumBought) - (callPremiumSold +
84
+ * putPremiumSold).
85
+ *
86
+ * @generated from field: optional double netPremium = 5;
87
+ */
88
+ netPremium?: number;
89
+ /**
90
+ * Contracts in the call prints, both sides.
91
+ *
92
+ * @generated from field: optional double callVolume = 6;
93
+ */
94
+ callVolume?: number;
95
+ /**
96
+ * Contracts in the put prints, both sides.
97
+ *
98
+ * @generated from field: optional double putVolume = 7;
99
+ */
100
+ putVolume?: number;
101
+ /**
102
+ * Sum of the call prints' deltaFlow: 0 when no call traded, unset when a
103
+ * call contract has no delta or no positive underlying price.
104
+ *
105
+ * @generated from field: optional double callDeltaFlow = 8;
106
+ */
107
+ callDeltaFlow?: number;
108
+ /**
109
+ * Sum of the put prints' deltaFlow: 0 when no put traded, unset when a put
110
+ * contract has no delta or no positive underlying price.
111
+ *
112
+ * @generated from field: optional double putDeltaFlow = 9;
113
+ */
114
+ putDeltaFlow?: number;
115
+ /**
116
+ * Sum of every print's gammaFlow, calls and puts: unset when a contract has
117
+ * no gamma or no positive underlying price.
118
+ *
119
+ * @generated from field: optional double netGammaFlow = 10;
120
+ */
121
+ netGammaFlow?: number;
122
+ /**
123
+ * Largest single-print premium, in USD.
124
+ *
125
+ * @generated from field: optional double largestPrint = 11;
126
+ */
127
+ largestPrint?: number;
128
+ /**
129
+ * Prints folded into the row.
130
+ *
131
+ * @generated from field: int64 tradeCount = 12;
132
+ */
133
+ tradeCount: bigint;
134
+ /**
135
+ * Highest positive underlying price across the contracts' greeks; unset
136
+ * when none has one.
137
+ *
138
+ * @generated from field: optional double underlyingPrice = 13;
139
+ */
140
+ underlyingPrice?: number;
141
+ /**
142
+ * @generated from field: double strikePrice = 14;
143
+ */
144
+ strikePrice: number;
145
+ /**
146
+ * Expiry instant in microseconds since the Unix epoch, the unit
147
+ * OptionStrikeAggregation.expirationDate carries.
148
+ *
149
+ * @generated from field: int64 expirationDate = 15;
150
+ */
151
+ expirationDate: bigint;
152
+ /**
153
+ * Start of the minute the row aggregates.
154
+ *
155
+ * @generated from field: Timestamp timestamp = 16;
156
+ */
157
+ timestamp?: Timestamp;
158
+ };
159
+ /**
160
+ * Describes the message OptionStrikeFlowAggregation.
161
+ * Use `create(OptionStrikeFlowAggregationSchema)` to create a new message.
162
+ */
163
+ export declare const OptionStrikeFlowAggregationSchema: GenMessage<OptionStrikeFlowAggregation>;
164
+ //# sourceMappingURL=option_strike_flow_aggregation_pb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option_strike_flow_aggregation_pb.d.ts","sourceRoot":"","sources":["../src/gen/option_strike_flow_aggregation_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,OAC88B,CAAC;AAEjgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,GAAG;IACjF;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE,UAAU,CAAC,2BAA2B,CACjC,CAAC"}
@@ -0,0 +1,14 @@
1
+ // @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=.js"
2
+ // @generated from file option_strike_flow_aggregation.proto (syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
+ import { file_timestamp_timestamp } from "./timestamp/timestamp_pb.js";
6
+ /**
7
+ * Describes the file option_strike_flow_aggregation.proto.
8
+ */
9
+ export const file_option_strike_flow_aggregation = /*@__PURE__*/ fileDesc("CiRvcHRpb25fc3RyaWtlX2Zsb3dfYWdncmVnYXRpb24ucHJvdG8iowUKG09wdGlvblN0cmlrZUZsb3dBZ2dyZWdhdGlvbhIeChFjYWxsUHJlbWl1bUJvdWdodBgBIAEoAUgAiAEBEhwKD2NhbGxQcmVtaXVtU29sZBgCIAEoAUgBiAEBEh0KEHB1dFByZW1pdW1Cb3VnaHQYAyABKAFIAogBARIbCg5wdXRQcmVtaXVtU29sZBgEIAEoAUgDiAEBEhcKCm5ldFByZW1pdW0YBSABKAFIBIgBARIXCgpjYWxsVm9sdW1lGAYgASgBSAWIAQESFgoJcHV0Vm9sdW1lGAcgASgBSAaIAQESGgoNY2FsbERlbHRhRmxvdxgIIAEoAUgHiAEBEhkKDHB1dERlbHRhRmxvdxgJIAEoAUgIiAEBEhkKDG5ldEdhbW1hRmxvdxgKIAEoAUgJiAEBEhkKDGxhcmdlc3RQcmludBgLIAEoAUgKiAEBEhIKCnRyYWRlQ291bnQYDCABKAMSHAoPdW5kZXJseWluZ1ByaWNlGA0gASgBSAuIAQESEwoLc3RyaWtlUHJpY2UYDiABKAESFgoOZXhwaXJhdGlvbkRhdGUYDyABKAMSHQoJdGltZXN0YW1wGBAgASgLMgouVGltZXN0YW1wQhQKEl9jYWxsUHJlbWl1bUJvdWdodEISChBfY2FsbFByZW1pdW1Tb2xkQhMKEV9wdXRQcmVtaXVtQm91Z2h0QhEKD19wdXRQcmVtaXVtU29sZEINCgtfbmV0UHJlbWl1bUINCgtfY2FsbFZvbHVtZUIMCgpfcHV0Vm9sdW1lQhAKDl9jYWxsRGVsdGFGbG93Qg8KDV9wdXREZWx0YUZsb3dCDwoNX25ldEdhbW1hRmxvd0IPCg1fbGFyZ2VzdFByaW50QhIKEF91bmRlcmx5aW5nUHJpY2VCCloIdHlwZXMvcGJiBnByb3RvMw", [file_timestamp_timestamp]);
10
+ /**
11
+ * Describes the message OptionStrikeFlowAggregation.
12
+ * Use `create(OptionStrikeFlowAggregationSchema)` to create a new message.
13
+ */
14
+ export const OptionStrikeFlowAggregationSchema = /*@__PURE__*/ messageDesc(file_option_strike_flow_aggregation, 0);
@@ -37,7 +37,7 @@ export type OptionSurface = Message<"OptionSurface"> & {
37
37
  */
38
38
  time?: Timestamp;
39
39
  /**
40
- * Calendar days from time to the expiry instant, fractional.
40
+ * Calendar days from sampled_at to the expiry instant, fractional.
41
41
  *
42
42
  * @generated from field: optional double dte_days = 5;
43
43
  */
@@ -82,6 +82,63 @@ export type OptionSurface = Message<"OptionSurface"> & {
82
82
  * @generated from field: optional int64 n_quotes = 13;
83
83
  */
84
84
  nQuotes?: bigint;
85
+ /**
86
+ * @generated from field: optional double iv_put_5d = 14;
87
+ */
88
+ ivPut5d?: number;
89
+ /**
90
+ * @generated from field: optional double iv_call_5d = 15;
91
+ */
92
+ ivCall5d?: number;
93
+ /**
94
+ * @generated from field: optional double iv_put_15d = 16;
95
+ */
96
+ ivPut15d?: number;
97
+ /**
98
+ * @generated from field: optional double iv_call_15d = 17;
99
+ */
100
+ ivCall15d?: number;
101
+ /**
102
+ * @generated from field: optional double iv_put_35d = 18;
103
+ */
104
+ ivPut35d?: number;
105
+ /**
106
+ * @generated from field: optional double iv_call_35d = 19;
107
+ */
108
+ ivCall35d?: number;
109
+ /**
110
+ * contracts with a two-sided IV quote within the fresh window
111
+ *
112
+ * @generated from field: optional int64 n_fresh = 20;
113
+ */
114
+ nFresh?: bigint;
115
+ /**
116
+ * age of the oldest quote ATM or a wing used, seconds, at sampled_at
117
+ *
118
+ * @generated from field: optional double max_quote_age_s = 21;
119
+ */
120
+ maxQuoteAgeS?: number;
121
+ /**
122
+ * ask IV minus bid IV at the forward, percent
123
+ *
124
+ * @generated from field: optional double atm_iv_spread = 22;
125
+ */
126
+ atmIvSpread?: number;
127
+ /**
128
+ * Bit set: 1 settlement (priced from exchange settlements), 2 live
129
+ * (sampled from the live chain), 4 stale (the quotes around the forward
130
+ * are older than the stale bound), 8 repriced (IVs re-solved on the
131
+ * expiry's forward). A bit keeps its value for good.
132
+ *
133
+ * @generated from field: optional uint32 flags = 23;
134
+ */
135
+ flags?: number;
136
+ /**
137
+ * the instant every input is as of
138
+ *
139
+ * @generated from field: Timestamp sampled_at = 24;
140
+ */
141
+ sampledAt?: Timestamp;
85
142
  };
86
143
  /**
87
144
  * Describes the message OptionSurface.
@@ -1 +1 @@
1
- {"version":3,"file":"option_surface_pb.d.ts","sourceRoot":"","sources":["../src/gen/option_surface_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAC8wB,CAAC;AAEjzB;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC,aAAa,CACrB,CAAC"}
1
+ {"version":3,"file":"option_surface_pb.d.ts","sourceRoot":"","sources":["../src/gen/option_surface_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OACg1C,CAAC;AAEn3C;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG;IACrD;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC,aAAa,CACrB,CAAC"}
@@ -7,7 +7,7 @@ import { file_enums } from "./enums_pb.js";
7
7
  /**
8
8
  * Describes the file option_surface.proto.
9
9
  */
10
- export const file_option_surface = /*@__PURE__*/ fileDesc("ChRvcHRpb25fc3VyZmFjZS5wcm90byKOBAoNT3B0aW9uU3VyZmFjZRIgCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlSACIAQESEQoEY29pbhgCIAEoCUgBiAEBEhYKCWV4cGlyeV9tcxgDIAEoA0gCiAEBEhgKBHRpbWUYBCABKAsyCi5UaW1lc3RhbXASFQoIZHRlX2RheXMYBSABKAFIA4gBARIUCgdmb3J3YXJkGAYgASgBSASIAQESMQoOZm9yd2FyZF9zb3VyY2UYByABKA4yFC5PcHRpb25Gb3J3YXJkU291cmNlSAWIAQESEwoGYXRtX2l2GAggASgBSAaIAQESFwoKaXZfcHV0XzI1ZBgJIAEoAUgHiAEBEhgKC2l2X2NhbGxfMjVkGAogASgBSAiIAQESFwoKaXZfcHV0XzEwZBgLIAEoAUgJiAEBEhgKC2l2X2NhbGxfMTBkGAwgASgBSAqIAQESFQoIbl9xdW90ZXMYDSABKANIC4gBAUILCglfZXhjaGFuZ2VCBwoFX2NvaW5CDAoKX2V4cGlyeV9tc0ILCglfZHRlX2RheXNCCgoIX2ZvcndhcmRCEQoPX2ZvcndhcmRfc291cmNlQgkKB19hdG1faXZCDQoLX2l2X3B1dF8yNWRCDgoMX2l2X2NhbGxfMjVkQg0KC19pdl9wdXRfMTBkQg4KDF9pdl9jYWxsXzEwZEILCglfbl9xdW90ZXNCCloIdHlwZXMvcGJiBnByb3RvMw", [file_timestamp_timestamp, file_enums]);
10
+ export const file_option_surface = /*@__PURE__*/ fileDesc("ChRvcHRpb25fc3VyZmFjZS5wcm90byLABwoNT3B0aW9uU3VyZmFjZRIgCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlSACIAQESEQoEY29pbhgCIAEoCUgBiAEBEhYKCWV4cGlyeV9tcxgDIAEoA0gCiAEBEhgKBHRpbWUYBCABKAsyCi5UaW1lc3RhbXASFQoIZHRlX2RheXMYBSABKAFIA4gBARIUCgdmb3J3YXJkGAYgASgBSASIAQESMQoOZm9yd2FyZF9zb3VyY2UYByABKA4yFC5PcHRpb25Gb3J3YXJkU291cmNlSAWIAQESEwoGYXRtX2l2GAggASgBSAaIAQESFwoKaXZfcHV0XzI1ZBgJIAEoAUgHiAEBEhgKC2l2X2NhbGxfMjVkGAogASgBSAiIAQESFwoKaXZfcHV0XzEwZBgLIAEoAUgJiAEBEhgKC2l2X2NhbGxfMTBkGAwgASgBSAqIAQESFQoIbl9xdW90ZXMYDSABKANIC4gBARIWCglpdl9wdXRfNWQYDiABKAFIDIgBARIXCgppdl9jYWxsXzVkGA8gASgBSA2IAQESFwoKaXZfcHV0XzE1ZBgQIAEoAUgOiAEBEhgKC2l2X2NhbGxfMTVkGBEgASgBSA+IAQESFwoKaXZfcHV0XzM1ZBgSIAEoAUgQiAEBEhgKC2l2X2NhbGxfMzVkGBMgASgBSBGIAQESFAoHbl9mcmVzaBgUIAEoA0gSiAEBEhwKD21heF9xdW90ZV9hZ2VfcxgVIAEoAUgTiAEBEhoKDWF0bV9pdl9zcHJlYWQYFiABKAFIFIgBARISCgVmbGFncxgXIAEoDUgViAEBEh4KCnNhbXBsZWRfYXQYGCABKAsyCi5UaW1lc3RhbXBCCwoJX2V4Y2hhbmdlQgcKBV9jb2luQgwKCl9leHBpcnlfbXNCCwoJX2R0ZV9kYXlzQgoKCF9mb3J3YXJkQhEKD19mb3J3YXJkX3NvdXJjZUIJCgdfYXRtX2l2Qg0KC19pdl9wdXRfMjVkQg4KDF9pdl9jYWxsXzI1ZEINCgtfaXZfcHV0XzEwZEIOCgxfaXZfY2FsbF8xMGRCCwoJX25fcXVvdGVzQgwKCl9pdl9wdXRfNWRCDQoLX2l2X2NhbGxfNWRCDQoLX2l2X3B1dF8xNWRCDgoMX2l2X2NhbGxfMTVkQg0KC19pdl9wdXRfMzVkQg4KDF9pdl9jYWxsXzM1ZEIKCghfbl9mcmVzaEISChBfbWF4X3F1b3RlX2FnZV9zQhAKDl9hdG1faXZfc3ByZWFkQggKBl9mbGFnc0IKWgh0eXBlcy9wYmIGcHJvdG8z", [file_timestamp_timestamp, file_enums]);
11
11
  /**
12
12
  * Describes the message OptionSurface.
13
13
  * Use `create(OptionSurfaceSchema)` to create a new message.
@@ -215,6 +215,8 @@ import type { OptionPrint } from "./option_print_pb.js";
215
215
  import type { OptionPrintAggregation } from "./option_print_aggregation_pb.js";
216
216
  import type { OptionSurface } from "./option_surface_pb.js";
217
217
  import type { OptionUnderlyingStats } from "./option_underlying_stats_pb.js";
218
+ import type { OptionStrikeFlowAggregation } from "./option_strike_flow_aggregation_pb.js";
219
+ import type { OffExchangeAggregation } from "./off_exchange_aggregation_pb.js";
218
220
  import type { Message } from "@bufbuild/protobuf";
219
221
  /**
220
222
  * Describes the file point.proto.
@@ -1499,9 +1501,12 @@ export type DataPoint = Message<"DataPoint"> & {
1499
1501
  case: "optionStrikeAggregation";
1500
1502
  } | {
1501
1503
  /**
1502
- * 248 is unused. 253 is OPTION_STRIKE_FLOW_AGG's arm, defined on the OPRA
1503
- * 0DTE consumers branch.
1504
- *
1504
+ * @generated from field: OffExchangeAggregation offExchangeAggregation = 248;
1505
+ */
1506
+ value: OffExchangeAggregation;
1507
+ case: "offExchangeAggregation";
1508
+ } | {
1509
+ /**
1505
1510
  * @generated from field: OptionPrint optionPrint = 249;
1506
1511
  */
1507
1512
  value: OptionPrint;
@@ -1524,6 +1529,12 @@ export type DataPoint = Message<"DataPoint"> & {
1524
1529
  */
1525
1530
  value: OptionUnderlyingStats;
1526
1531
  case: "optionUnderlyingStats";
1532
+ } | {
1533
+ /**
1534
+ * @generated from field: OptionStrikeFlowAggregation optionStrikeFlowAggregation = 253;
1535
+ */
1536
+ value: OptionStrikeFlowAggregation;
1537
+ case: "optionStrikeFlowAggregation";
1527
1538
  } | {
1528
1539
  case: undefined;
1529
1540
  value?: undefined;