architect-py 3.2.1__py3-none-any.whl → 5.0.0__py3-none-any.whl
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.
- architect_py/__init__.py +18 -2
- architect_py/async_client.py +1089 -658
- architect_py/client.py +36 -33
- architect_py/client_interface.py +63 -0
- architect_py/common_types/__init__.py +6 -0
- architect_py/common_types/order_dir.py +91 -0
- architect_py/common_types/scalars.py +25 -0
- architect_py/common_types/tradable_product.py +59 -0
- architect_py/graphql_client/__init__.py +2 -0
- architect_py/graphql_client/client.py +3 -6
- architect_py/graphql_client/enums.py +5 -0
- architect_py/graphql_client/fragments.py +3 -6
- architect_py/graphql_client/get_fills_query.py +2 -1
- architect_py/graphql_client/search_symbols_query.py +2 -1
- architect_py/graphql_client/subscribe_orderflow.py +2 -1
- architect_py/graphql_client/subscribe_trades.py +2 -1
- architect_py/grpc/__init__.py +145 -0
- architect_py/grpc/client.py +94 -0
- architect_py/{grpc_client → grpc/models}/Accounts/AccountsRequest.py +6 -3
- architect_py/{grpc_client → grpc/models}/Accounts/AccountsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Accounts/__init__.py +1 -1
- architect_py/grpc/models/Algo/AlgoOrder.py +114 -0
- architect_py/grpc/models/Algo/AlgoOrderRequest.py +46 -0
- architect_py/grpc/models/Algo/AlgoOrdersRequest.py +72 -0
- architect_py/grpc/models/Algo/AlgoOrdersResponse.py +27 -0
- architect_py/grpc/models/Algo/CreateAlgoOrderRequest.py +56 -0
- architect_py/grpc/models/Algo/PauseAlgoRequest.py +42 -0
- architect_py/grpc/models/Algo/PauseAlgoResponse.py +20 -0
- architect_py/grpc/models/Algo/StartAlgoRequest.py +42 -0
- architect_py/grpc/models/Algo/StartAlgoResponse.py +20 -0
- architect_py/grpc/models/Algo/StopAlgoRequest.py +42 -0
- architect_py/grpc/models/Algo/StopAlgoResponse.py +20 -0
- architect_py/{grpc_client → grpc/models}/Algo/__init__.py +1 -1
- architect_py/grpc/models/Auth/CreateJwtRequest.py +47 -0
- architect_py/grpc/models/Auth/CreateJwtResponse.py +23 -0
- architect_py/{grpc_client/Cpty → grpc/models/Auth}/__init__.py +1 -1
- architect_py/grpc/models/Boss/DepositsRequest.py +40 -0
- architect_py/grpc/models/Boss/DepositsResponse.py +27 -0
- architect_py/grpc/models/Boss/RqdAccountStatisticsRequest.py +42 -0
- architect_py/grpc/models/Boss/RqdAccountStatisticsResponse.py +25 -0
- architect_py/grpc/models/Boss/StatementUrlRequest.py +40 -0
- architect_py/grpc/models/Boss/StatementUrlResponse.py +23 -0
- architect_py/grpc/models/Boss/StatementsRequest.py +40 -0
- architect_py/grpc/models/Boss/StatementsResponse.py +27 -0
- architect_py/grpc/models/Boss/WithdrawalsRequest.py +40 -0
- architect_py/grpc/models/Boss/WithdrawalsResponse.py +27 -0
- architect_py/{grpc_client/Folio → grpc/models/Boss}/__init__.py +1 -1
- architect_py/grpc/models/Core/ConfigRequest.py +37 -0
- architect_py/grpc/models/Core/ConfigResponse.py +25 -0
- architect_py/grpc/models/Core/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Cpty/CptyRequest.py +5 -4
- architect_py/{grpc_client → grpc/models}/Cpty/CptyResponse.py +6 -6
- architect_py/grpc/models/Cpty/CptyStatus.py +48 -0
- architect_py/grpc/models/Cpty/CptyStatusRequest.py +45 -0
- architect_py/grpc/models/Cpty/CptysRequest.py +37 -0
- architect_py/grpc/models/Cpty/CptysResponse.py +27 -0
- architect_py/grpc/models/Cpty/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/AccountHistoryResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummariesResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummary.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/AccountSummaryRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsRequest.py +7 -4
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalFillsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersRequest.py +3 -3
- architect_py/{grpc_client → grpc/models}/Folio/HistoricalOrdersResponse.py +1 -1
- architect_py/grpc/models/Folio/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Health/HealthCheckRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Health/HealthCheckResponse.py +1 -1
- architect_py/grpc/models/Health/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Marketdata/Candle.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesRequest.py +11 -8
- architect_py/{grpc_client → grpc/models}/Marketdata/HistoricalCandlesResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshot.py +52 -5
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotRequest.py +8 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/L1BookSnapshotsRequest.py +6 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshot.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/L2BookSnapshotRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/Liquidation.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatus.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/MarketStatusRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCandlesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeCurrentCandlesRequest.py +3 -4
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL1BookSnapshotsRequest.py +6 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeL2BookUpdatesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeLiquidationsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeManyCandlesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTickersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/SubscribeTradesRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/Ticker.py +14 -3
- architect_py/{grpc_client → grpc/models}/Marketdata/TickerRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/TickersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Marketdata/TickersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Marketdata/Trade.py +2 -2
- architect_py/grpc/models/Marketdata/__init__.py +2 -0
- architect_py/grpc/models/Oms/Cancel.py +90 -0
- architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/CancelAllOrdersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/CancelOrderRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/OpenOrdersResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/Order.py +6 -13
- architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Oms/PendingCancelsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Oms/PlaceOrderRequest.py +16 -23
- architect_py/grpc/models/Oms/__init__.py +2 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsChain.py +30 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsChainGreeks.py +30 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsChainGreeksRequest.py +47 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsChainRequest.py +45 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsExpirations.py +29 -0
- architect_py/grpc/models/OptionsMarketdata/OptionsExpirationsRequest.py +42 -0
- architect_py/grpc/models/OptionsMarketdata/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/Orderflow/DropcopyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Orderflow/OrderflowRequest.py +2 -1
- architect_py/{grpc_client → grpc/models}/Orderflow/SubscribeOrderflowRequest.py +2 -2
- architect_py/grpc/models/Orderflow/__init__.py +2 -0
- architect_py/grpc/models/Symbology/DownloadProductCatalogRequest.py +42 -0
- architect_py/grpc/models/Symbology/DownloadProductCatalogResponse.py +27 -0
- architect_py/grpc/models/Symbology/ExecutionInfoRequest.py +47 -0
- architect_py/grpc/models/Symbology/ExecutionInfoResponse.py +27 -0
- architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/PruneExpiredSymbolsResponse.py +1 -1
- architect_py/{grpc_client → grpc/models}/Symbology/SubscribeSymbology.py +1 -1
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologySnapshot.py +7 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbologyUpdate.py +9 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbolsRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/SymbolsResponse.py +1 -1
- architect_py/grpc/models/Symbology/UploadProductCatalogRequest.py +49 -0
- architect_py/grpc/models/Symbology/UploadProductCatalogResponse.py +20 -0
- architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyRequest.py +2 -2
- architect_py/{grpc_client → grpc/models}/Symbology/UploadSymbologyResponse.py +1 -1
- architect_py/grpc/models/Symbology/__init__.py +2 -0
- architect_py/grpc/models/__init__.py +2 -0
- architect_py/{grpc_client → grpc/models}/definitions.py +671 -934
- architect_py/grpc/resolve_endpoint.py +70 -0
- architect_py/{grpc_client/grpc_server.py → grpc/server.py} +13 -9
- architect_py/grpc/utils.py +32 -0
- architect_py/internal_utils/__init__.py +0 -0
- architect_py/internal_utils/no_pandas.py +3 -0
- architect_py/tests/conftest.py +91 -85
- architect_py/tests/test_book_building.py +49 -50
- architect_py/tests/test_marketdata.py +168 -0
- architect_py/tests/test_order_entry.py +37 -0
- architect_py/tests/test_orderflow.py +41 -0
- architect_py/tests/test_portfolio_management.py +23 -0
- architect_py/tests/test_rounding.py +28 -28
- architect_py/tests/test_symbology.py +37 -30
- architect_py/utils/nearest_tick.py +2 -5
- architect_py/utils/nearest_tick_2.py +1 -2
- architect_py/utils/orderbook.py +35 -0
- architect_py/utils/pandas.py +44 -0
- architect_py/utils/price_bands.py +0 -3
- architect_py/utils/symbol_parsing.py +29 -0
- architect_py-5.0.0.dist-info/METADATA +54 -0
- architect_py-5.0.0.dist-info/RECORD +214 -0
- {architect_py-3.2.1.dist-info → architect_py-5.0.0.dist-info}/WHEEL +2 -1
- architect_py-5.0.0.dist-info/top_level.txt +4 -0
- examples/__init__.py +0 -0
- examples/book_subscription.py +52 -0
- examples/candles.py +30 -0
- examples/common.py +116 -0
- examples/external_cpty.py +77 -0
- examples/funding_rate_mean_reversion_algo.py +186 -0
- examples/order_sending.py +91 -0
- examples/stream_l1_marketdata.py +25 -0
- examples/stream_l2_marketdata.py +38 -0
- examples/trades.py +21 -0
- examples/tutorial_async.py +86 -0
- examples/tutorial_sync.py +95 -0
- scripts/generate_functions_md.py +166 -0
- scripts/generate_sync_interface.py +226 -0
- scripts/postprocess_grpc.py +604 -0
- scripts/preprocess_grpc_schema.py +708 -0
- templates/exceptions.py +83 -0
- templates/juniper_base_client.py +371 -0
- architect_py/client_protocol.py +0 -52
- architect_py/grpc_client/Algo/AlgoOrderForTwapAlgo.py +0 -61
- architect_py/grpc_client/Algo/CreateAlgoOrderRequestForTwapAlgo.py +0 -59
- architect_py/grpc_client/Algo/ModifyAlgoOrderRequestForTwapAlgo.py +0 -45
- architect_py/grpc_client/Folio/AggregatedAccountSummariesRequest.py +0 -59
- architect_py/grpc_client/Folio/AggregatedAccountSummariesResponse.py +0 -27
- architect_py/grpc_client/Health/__init__.py +0 -2
- architect_py/grpc_client/Marketdata/__init__.py +0 -2
- architect_py/grpc_client/Oms/Cancel.py +0 -42
- architect_py/grpc_client/Oms/__init__.py +0 -2
- architect_py/grpc_client/Orderflow/__init__.py +0 -2
- architect_py/grpc_client/Symbology/__init__.py +0 -2
- architect_py/grpc_client/__init__.py +0 -2
- architect_py/grpc_client/grpc_client.py +0 -405
- architect_py/scalars.py +0 -172
- architect_py/tests/test_accounts.py +0 -31
- architect_py/tests/test_client.py +0 -29
- architect_py/tests/test_grpc_client.py +0 -30
- architect_py/tests/test_order_sending.py +0 -61
- architect_py/tests/test_snapshots.py +0 -52
- architect_py/tests/test_subscriptions.py +0 -129
- architect_py-3.2.1.dist-info/METADATA +0 -212
- architect_py-3.2.1.dist-info/RECORD +0 -146
- /architect_py/{grpc_client → grpc/models}/Marketdata/ArrayOfL1BookSnapshot.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Marketdata/L2BookUpdate.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Marketdata/TickerUpdate.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Orderflow/Dropcopy.py +0 -0
- /architect_py/{grpc_client → grpc/models}/Orderflow/Orderflow.py +0 -0
- {architect_py-3.2.1.dist-info → architect_py-5.0.0.dist-info/licenses}/LICENSE +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
# filename: definitions.json
|
3
3
|
|
4
4
|
from __future__ import annotations
|
5
|
-
from architect_py.
|
5
|
+
from architect_py.common_types import OrderDir
|
6
6
|
from datetime import datetime, timezone
|
7
7
|
|
8
8
|
from datetime import date, datetime, time
|
@@ -12,6 +12,8 @@ from typing import Annotated, Any, Dict, List, Literal, Optional, Union
|
|
12
12
|
|
13
13
|
from msgspec import Meta, Struct
|
14
14
|
|
15
|
+
from .Marketdata.Ticker import Ticker
|
16
|
+
|
15
17
|
Model = Any
|
16
18
|
|
17
19
|
|
@@ -49,7 +51,7 @@ class AccountPosition(Struct, omit_defaults=True):
|
|
49
51
|
Unrealized PNL of the position, if known.
|
50
52
|
"""
|
51
53
|
|
52
|
-
#
|
54
|
+
# Constructor that takes all field titles as arguments for convenience
|
53
55
|
@classmethod
|
54
56
|
def new(
|
55
57
|
cls,
|
@@ -131,7 +133,7 @@ class AccountStatistics(Struct, omit_defaults=True):
|
|
131
133
|
Yesterday total account equity.
|
132
134
|
"""
|
133
135
|
|
134
|
-
#
|
136
|
+
# Constructor that takes all field titles as arguments for convenience
|
135
137
|
@classmethod
|
136
138
|
def new(
|
137
139
|
cls,
|
@@ -159,108 +161,11 @@ class AccountStatistics(Struct, omit_defaults=True):
|
|
159
161
|
return f"AccountStatistics(cash_excess={self.cash_excess},equity={self.equity},position_margin={self.position_margin},purchasing_power={self.purchasing_power},realized_pnl={self.realized_pnl},total_margin={self.total_margin},unrealized_pnl={self.unrealized_pnl},yesterday_equity={self.yesterday_equity})"
|
160
162
|
|
161
163
|
|
162
|
-
class
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
cash_excess: Optional[
|
168
|
-
Annotated[Optional[Decimal], Meta(description="Cash available to withdraw.")]
|
169
|
-
] = None
|
170
|
-
"""
|
171
|
-
Cash available to withdraw.
|
172
|
-
"""
|
173
|
-
equity: Optional[
|
174
|
-
Annotated[
|
175
|
-
Optional[Decimal],
|
176
|
-
Meta(description="Total account equity; net liquidation value."),
|
177
|
-
]
|
178
|
-
] = None
|
179
|
-
"""
|
180
|
-
Total account equity; net liquidation value.
|
181
|
-
"""
|
182
|
-
position_margin: Optional[
|
183
|
-
Annotated[
|
184
|
-
Optional[Decimal],
|
185
|
-
Meta(description="Margin requirement based on current positions only."),
|
186
|
-
]
|
187
|
-
] = None
|
188
|
-
"""
|
189
|
-
Margin requirement based on current positions only.
|
190
|
-
"""
|
191
|
-
purchasing_power: Optional[
|
192
|
-
Annotated[
|
193
|
-
Optional[Decimal],
|
194
|
-
Meta(
|
195
|
-
description="Total purchasing power; post-multiplied. (e.g. for cash margin account could be 2x available cash)"
|
196
|
-
),
|
197
|
-
]
|
198
|
-
] = None
|
199
|
-
"""
|
200
|
-
Total purchasing power; post-multiplied. (e.g. for cash margin account could be 2x available cash)
|
201
|
-
"""
|
202
|
-
realized_pnl: Optional[Decimal] = None
|
203
|
-
total_margin: Optional[
|
204
|
-
Annotated[
|
205
|
-
Optional[Decimal],
|
206
|
-
Meta(
|
207
|
-
description="Margin requirement calculated for worst-case based on open positions and working orders."
|
208
|
-
),
|
209
|
-
]
|
210
|
-
] = None
|
211
|
-
"""
|
212
|
-
Margin requirement calculated for worst-case based on open positions and working orders.
|
213
|
-
"""
|
214
|
-
unrealized_pnl: Optional[Decimal] = None
|
215
|
-
yesterday_equity: Optional[
|
216
|
-
Annotated[
|
217
|
-
Optional[Decimal], Meta(description="Yesterday total account equity.")
|
218
|
-
]
|
219
|
-
] = None
|
220
|
-
"""
|
221
|
-
Yesterday total account equity.
|
222
|
-
"""
|
223
|
-
|
224
|
-
# below is a constructor that takes all field titles as arguments for convenience
|
225
|
-
@classmethod
|
226
|
-
def new(
|
227
|
-
cls,
|
228
|
-
account: str,
|
229
|
-
balances: Dict[str, Decimal],
|
230
|
-
positions: Dict[str, AccountPosition],
|
231
|
-
timestamp: datetime,
|
232
|
-
cash_excess: Optional[Decimal] = None,
|
233
|
-
equity: Optional[Decimal] = None,
|
234
|
-
position_margin: Optional[Decimal] = None,
|
235
|
-
purchasing_power: Optional[Decimal] = None,
|
236
|
-
realized_pnl: Optional[Decimal] = None,
|
237
|
-
total_margin: Optional[Decimal] = None,
|
238
|
-
unrealized_pnl: Optional[Decimal] = None,
|
239
|
-
yesterday_equity: Optional[Decimal] = None,
|
240
|
-
):
|
241
|
-
return cls(
|
242
|
-
account,
|
243
|
-
balances,
|
244
|
-
positions,
|
245
|
-
timestamp,
|
246
|
-
cash_excess,
|
247
|
-
equity,
|
248
|
-
position_margin,
|
249
|
-
purchasing_power,
|
250
|
-
realized_pnl,
|
251
|
-
total_margin,
|
252
|
-
unrealized_pnl,
|
253
|
-
yesterday_equity,
|
254
|
-
)
|
255
|
-
|
256
|
-
def __str__(self) -> str:
|
257
|
-
return f"AggregatedAccountSummary(account={self.account},balances={self.balances},positions={self.positions},timestamp={self.timestamp},cash_excess={self.cash_excess},equity={self.equity},position_margin={self.position_margin},purchasing_power={self.purchasing_power},realized_pnl={self.realized_pnl},total_margin={self.total_margin},unrealized_pnl={self.unrealized_pnl},yesterday_equity={self.yesterday_equity})"
|
258
|
-
|
259
|
-
|
260
|
-
class AlgoState(str, Enum):
|
261
|
-
Pending = "Pending"
|
262
|
-
Running = "Running"
|
263
|
-
Stopped = "Stopped"
|
164
|
+
class AlgoOrderStatus(int, Enum):
|
165
|
+
Working = 1
|
166
|
+
Rejected = 2
|
167
|
+
Paused = 63
|
168
|
+
Stopped = 127
|
264
169
|
|
265
170
|
|
266
171
|
class CancelStatus(int, Enum):
|
@@ -272,17 +177,17 @@ class CancelStatus(int, Enum):
|
|
272
177
|
|
273
178
|
class CandleWidth(int, Enum):
|
274
179
|
OneSecond = 1
|
275
|
-
FiveSecond =
|
276
|
-
OneMinute =
|
277
|
-
FifteenMinute =
|
278
|
-
OneHour =
|
279
|
-
OneDay =
|
180
|
+
FiveSecond = 5
|
181
|
+
OneMinute = 60
|
182
|
+
FifteenMinute = 900
|
183
|
+
OneHour = 3600
|
184
|
+
OneDay = 86400
|
280
185
|
|
281
186
|
|
282
187
|
class CptyLogoutRequest(Struct, omit_defaults=True):
|
283
188
|
pass
|
284
189
|
|
285
|
-
#
|
190
|
+
# Constructor that takes all field titles as arguments for convenience
|
286
191
|
@classmethod
|
287
192
|
def new(
|
288
193
|
cls,
|
@@ -293,6 +198,35 @@ class CptyLogoutRequest(Struct, omit_defaults=True):
|
|
293
198
|
return f"CptyLogoutRequest()"
|
294
199
|
|
295
200
|
|
201
|
+
DateTimeOrUtc = datetime
|
202
|
+
|
203
|
+
|
204
|
+
class Deposit(Struct, omit_defaults=True):
|
205
|
+
account: str
|
206
|
+
amount: Decimal
|
207
|
+
description: str
|
208
|
+
timestamp: datetime
|
209
|
+
|
210
|
+
# Constructor that takes all field titles as arguments for convenience
|
211
|
+
@classmethod
|
212
|
+
def new(
|
213
|
+
cls,
|
214
|
+
account: str,
|
215
|
+
amount: Decimal,
|
216
|
+
description: str,
|
217
|
+
timestamp: datetime,
|
218
|
+
):
|
219
|
+
return cls(
|
220
|
+
account,
|
221
|
+
amount,
|
222
|
+
description,
|
223
|
+
timestamp,
|
224
|
+
)
|
225
|
+
|
226
|
+
def __str__(self) -> str:
|
227
|
+
return f"Deposit(account={self.account},amount={self.amount},description={self.description},timestamp={self.timestamp})"
|
228
|
+
|
229
|
+
|
296
230
|
class HealthMetric(Struct, omit_defaults=True):
|
297
231
|
timestamp: int
|
298
232
|
value: float
|
@@ -301,7 +235,7 @@ class HealthMetric(Struct, omit_defaults=True):
|
|
301
235
|
should_be_less_than: Optional[float] = None
|
302
236
|
should_be_less_than_or_equal_to: Optional[float] = None
|
303
237
|
|
304
|
-
#
|
238
|
+
# Constructor that takes all field titles as arguments for convenience
|
305
239
|
@classmethod
|
306
240
|
def new(
|
307
241
|
cls,
|
@@ -368,7 +302,7 @@ class L2BookDiff(Struct, omit_defaults=True):
|
|
368
302
|
tn: Annotated[int, Meta(ge=0, title="timestamp_ns")]
|
369
303
|
ts: Annotated[int, Meta(title="timestamp")]
|
370
304
|
|
371
|
-
#
|
305
|
+
# Constructor that takes all field titles as arguments for convenience
|
372
306
|
@classmethod
|
373
307
|
def new(
|
374
308
|
cls,
|
@@ -448,34 +382,15 @@ class L2BookDiff(Struct, omit_defaults=True):
|
|
448
382
|
return datetime.fromtimestamp(self.ts)
|
449
383
|
|
450
384
|
|
451
|
-
|
452
|
-
""
|
453
|
-
|
454
|
-
"""
|
455
|
-
|
456
|
-
seqid: str
|
457
|
-
seqno: Annotated[int, Meta(ge=0)]
|
458
|
-
|
459
|
-
# below is a constructor that takes all field titles as arguments for convenience
|
460
|
-
@classmethod
|
461
|
-
def new(
|
462
|
-
cls,
|
463
|
-
seqid: str,
|
464
|
-
seqno: int,
|
465
|
-
):
|
466
|
-
return cls(
|
467
|
-
seqid,
|
468
|
-
seqno,
|
469
|
-
)
|
470
|
-
|
471
|
-
def __str__(self) -> str:
|
472
|
-
return f"OrderId(seqid={self.seqid},seqno={self.seqno})"
|
385
|
+
OrderId = Annotated[
|
386
|
+
str, Meta(description="System-unique, persistent order identifiers")
|
387
|
+
]
|
473
388
|
|
474
389
|
|
475
390
|
class OrderOut(Struct, omit_defaults=True):
|
476
391
|
id: OrderId
|
477
392
|
|
478
|
-
#
|
393
|
+
# Constructor that takes all field titles as arguments for convenience
|
479
394
|
@classmethod
|
480
395
|
def new(
|
481
396
|
cls,
|
@@ -516,7 +431,7 @@ class OrderSource(int, Enum):
|
|
516
431
|
class OrderStale(Struct, omit_defaults=True):
|
517
432
|
id: OrderId
|
518
433
|
|
519
|
-
#
|
434
|
+
# Constructor that takes all field titles as arguments for convenience
|
520
435
|
@classmethod
|
521
436
|
def new(
|
522
437
|
cls,
|
@@ -542,6 +457,256 @@ class OrderStatus(int, Enum):
|
|
542
457
|
Unknown = 255
|
543
458
|
|
544
459
|
|
460
|
+
class OrderType(str, Enum):
|
461
|
+
LIMIT = "LIMIT"
|
462
|
+
STOP_LOSS_LIMIT = "STOP_LOSS_LIMIT"
|
463
|
+
TAKE_PROFIT_LIMIT = "TAKE_PROFIT_LIMIT"
|
464
|
+
|
465
|
+
|
466
|
+
class ProductCatalogInfo(Struct, omit_defaults=True):
|
467
|
+
"""
|
468
|
+
Loosely normalized information about exchange products; used to seed symbology loaders and populate extended product info;
|
469
|
+
|
470
|
+
Symbology loaders will use catalog fields to augment and/or cross-check any other load source.
|
471
|
+
"""
|
472
|
+
|
473
|
+
exchange: str
|
474
|
+
exchange_product: Annotated[str, Meta(description="Could be anything really")]
|
475
|
+
"""
|
476
|
+
Could be anything really
|
477
|
+
"""
|
478
|
+
category: Optional[str] = None
|
479
|
+
cqg_contract_symbol: Optional[str] = None
|
480
|
+
info_url: Optional[
|
481
|
+
Annotated[Optional[str], Meta(description="URL to more product info")]
|
482
|
+
] = None
|
483
|
+
"""
|
484
|
+
URL to more product info
|
485
|
+
"""
|
486
|
+
long_description: Optional[str] = None
|
487
|
+
multiplier: Optional[
|
488
|
+
Annotated[
|
489
|
+
Optional[Decimal],
|
490
|
+
Meta(description="For derivatives contracts, the multiplier"),
|
491
|
+
]
|
492
|
+
] = None
|
493
|
+
"""
|
494
|
+
For derivatives contracts, the multiplier
|
495
|
+
"""
|
496
|
+
price_display_format: Optional[str] = None
|
497
|
+
quote_currency: Optional[str] = None
|
498
|
+
schedule_description: Optional[str] = None
|
499
|
+
settle_method: Optional[str] = None
|
500
|
+
short_description: Optional[
|
501
|
+
Annotated[
|
502
|
+
Optional[str],
|
503
|
+
Meta(
|
504
|
+
description="Short description of the product, suitable for display in a bubble, for example"
|
505
|
+
),
|
506
|
+
]
|
507
|
+
] = None
|
508
|
+
"""
|
509
|
+
Short description of the product, suitable for display in a bubble, for example
|
510
|
+
"""
|
511
|
+
sub_category: Optional[str] = None
|
512
|
+
|
513
|
+
# Constructor that takes all field titles as arguments for convenience
|
514
|
+
@classmethod
|
515
|
+
def new(
|
516
|
+
cls,
|
517
|
+
exchange: str,
|
518
|
+
exchange_product: str,
|
519
|
+
category: Optional[str] = None,
|
520
|
+
cqg_contract_symbol: Optional[str] = None,
|
521
|
+
info_url: Optional[str] = None,
|
522
|
+
long_description: Optional[str] = None,
|
523
|
+
multiplier: Optional[Decimal] = None,
|
524
|
+
price_display_format: Optional[str] = None,
|
525
|
+
quote_currency: Optional[str] = None,
|
526
|
+
schedule_description: Optional[str] = None,
|
527
|
+
settle_method: Optional[str] = None,
|
528
|
+
short_description: Optional[str] = None,
|
529
|
+
sub_category: Optional[str] = None,
|
530
|
+
):
|
531
|
+
return cls(
|
532
|
+
exchange,
|
533
|
+
exchange_product,
|
534
|
+
category,
|
535
|
+
cqg_contract_symbol,
|
536
|
+
info_url,
|
537
|
+
long_description,
|
538
|
+
multiplier,
|
539
|
+
price_display_format,
|
540
|
+
quote_currency,
|
541
|
+
schedule_description,
|
542
|
+
settle_method,
|
543
|
+
short_description,
|
544
|
+
sub_category,
|
545
|
+
)
|
546
|
+
|
547
|
+
def __str__(self) -> str:
|
548
|
+
return f"ProductCatalogInfo(exchange={self.exchange},exchange_product={self.exchange_product},category={self.category},cqg_contract_symbol={self.cqg_contract_symbol},info_url={self.info_url},long_description={self.long_description},multiplier={self.multiplier},price_display_format={self.price_display_format},quote_currency={self.quote_currency},schedule_description={self.schedule_description},settle_method={self.settle_method},short_description={self.short_description},sub_category={self.sub_category})"
|
549
|
+
|
550
|
+
|
551
|
+
class RqdAccountStatistics(Struct, omit_defaults=True):
|
552
|
+
account_number: str
|
553
|
+
account_type: Optional[str] = None
|
554
|
+
as_of_date: Optional[str] = None
|
555
|
+
available_cash_balance: Optional[Decimal] = None
|
556
|
+
cash_available_for_withdrawal: Optional[Decimal] = None
|
557
|
+
cumulative_day_trade_pnl: Optional[Decimal] = None
|
558
|
+
day_trading_buying_power: Optional[Decimal] = None
|
559
|
+
day_trading_buying_power_high_water_mark: Optional[Decimal] = None
|
560
|
+
day_trading_buying_power_maintenance_margin_multiplier: Optional[Decimal] = None
|
561
|
+
day_trading_house_minimum_equity_margin_call_amount: Optional[Decimal] = None
|
562
|
+
day_trading_margin_call_amount: Optional[Decimal] = None
|
563
|
+
day_trading_minimum_equity_margin_call_amount: Optional[Decimal] = None
|
564
|
+
excess_sma_amount: Optional[Decimal] = None
|
565
|
+
house_initial_margin_requirement_adjustment_factor: Optional[Decimal] = None
|
566
|
+
house_margin_call_amount: Optional[Decimal] = None
|
567
|
+
house_margin_requirement: Optional[Decimal] = None
|
568
|
+
house_margin_requirement_adjustment_factor: Optional[Decimal] = None
|
569
|
+
is_day_trader: Optional[str] = None
|
570
|
+
maintenance_margin_requirement: Optional[Decimal] = None
|
571
|
+
margin_call_amount: Optional[Decimal] = None
|
572
|
+
marginable_equity: Optional[Decimal] = None
|
573
|
+
market_value_adjustment_factor: Optional[Decimal] = None
|
574
|
+
number_open_day_trading_margin_calls: Optional[Decimal] = None
|
575
|
+
option_only_maintenance_margin_requirement: Optional[Decimal] = None
|
576
|
+
option_trade_date_short_market_value: Optional[Decimal] = None
|
577
|
+
overall_current_sma_balance: Optional[Decimal] = None
|
578
|
+
overnight_buying_power: Optional[Decimal] = None
|
579
|
+
reg_t_initial_margin_requirement: Optional[Decimal] = None
|
580
|
+
reg_t_maintenance_margin_requirement_adjustment_factor: Optional[str] = None
|
581
|
+
reg_t_margin_call_amount: Optional[Decimal] = None
|
582
|
+
settlement_date_cash_balance: Optional[Decimal] = None
|
583
|
+
settlement_date_long_market_value: Optional[Decimal] = None
|
584
|
+
settlement_date_option_long_market_value: Optional[Decimal] = None
|
585
|
+
settlement_date_option_short_market_value: Optional[Decimal] = None
|
586
|
+
settlement_date_short_market_value: Optional[Decimal] = None
|
587
|
+
start_of_day_day_trading_buying_power: Optional[Decimal] = None
|
588
|
+
start_of_day_day_trading_buying_power_margin_call_amount: Optional[Decimal] = None
|
589
|
+
start_of_day_house_margin_call_amount: Optional[Decimal] = None
|
590
|
+
start_of_day_maintenance_margin_call_amount: Optional[Decimal] = None
|
591
|
+
start_of_day_reg_t_margin_call_amount: Optional[Decimal] = None
|
592
|
+
strategy_based_relief_adjustment_factor: Optional[Decimal] = None
|
593
|
+
total_equity: Optional[Decimal] = None
|
594
|
+
trade_date_cash_balance: Optional[Decimal] = None
|
595
|
+
trade_date_option_long_market_value: Optional[Decimal] = None
|
596
|
+
trade_date_total_long_market_value: Optional[Decimal] = None
|
597
|
+
trade_date_total_short_market_value: Optional[Decimal] = None
|
598
|
+
usable_sma_balance: Optional[Decimal] = None
|
599
|
+
|
600
|
+
# Constructor that takes all field titles as arguments for convenience
|
601
|
+
@classmethod
|
602
|
+
def new(
|
603
|
+
cls,
|
604
|
+
account_number: str,
|
605
|
+
account_type: Optional[str] = None,
|
606
|
+
as_of_date: Optional[str] = None,
|
607
|
+
available_cash_balance: Optional[Decimal] = None,
|
608
|
+
cash_available_for_withdrawal: Optional[Decimal] = None,
|
609
|
+
cumulative_day_trade_pnl: Optional[Decimal] = None,
|
610
|
+
day_trading_buying_power: Optional[Decimal] = None,
|
611
|
+
day_trading_buying_power_high_water_mark: Optional[Decimal] = None,
|
612
|
+
day_trading_buying_power_maintenance_margin_multiplier: Optional[
|
613
|
+
Decimal
|
614
|
+
] = None,
|
615
|
+
day_trading_house_minimum_equity_margin_call_amount: Optional[Decimal] = None,
|
616
|
+
day_trading_margin_call_amount: Optional[Decimal] = None,
|
617
|
+
day_trading_minimum_equity_margin_call_amount: Optional[Decimal] = None,
|
618
|
+
excess_sma_amount: Optional[Decimal] = None,
|
619
|
+
house_initial_margin_requirement_adjustment_factor: Optional[Decimal] = None,
|
620
|
+
house_margin_call_amount: Optional[Decimal] = None,
|
621
|
+
house_margin_requirement: Optional[Decimal] = None,
|
622
|
+
house_margin_requirement_adjustment_factor: Optional[Decimal] = None,
|
623
|
+
is_day_trader: Optional[str] = None,
|
624
|
+
maintenance_margin_requirement: Optional[Decimal] = None,
|
625
|
+
margin_call_amount: Optional[Decimal] = None,
|
626
|
+
marginable_equity: Optional[Decimal] = None,
|
627
|
+
market_value_adjustment_factor: Optional[Decimal] = None,
|
628
|
+
number_open_day_trading_margin_calls: Optional[Decimal] = None,
|
629
|
+
option_only_maintenance_margin_requirement: Optional[Decimal] = None,
|
630
|
+
option_trade_date_short_market_value: Optional[Decimal] = None,
|
631
|
+
overall_current_sma_balance: Optional[Decimal] = None,
|
632
|
+
overnight_buying_power: Optional[Decimal] = None,
|
633
|
+
reg_t_initial_margin_requirement: Optional[Decimal] = None,
|
634
|
+
reg_t_maintenance_margin_requirement_adjustment_factor: Optional[str] = None,
|
635
|
+
reg_t_margin_call_amount: Optional[Decimal] = None,
|
636
|
+
settlement_date_cash_balance: Optional[Decimal] = None,
|
637
|
+
settlement_date_long_market_value: Optional[Decimal] = None,
|
638
|
+
settlement_date_option_long_market_value: Optional[Decimal] = None,
|
639
|
+
settlement_date_option_short_market_value: Optional[Decimal] = None,
|
640
|
+
settlement_date_short_market_value: Optional[Decimal] = None,
|
641
|
+
start_of_day_day_trading_buying_power: Optional[Decimal] = None,
|
642
|
+
start_of_day_day_trading_buying_power_margin_call_amount: Optional[
|
643
|
+
Decimal
|
644
|
+
] = None,
|
645
|
+
start_of_day_house_margin_call_amount: Optional[Decimal] = None,
|
646
|
+
start_of_day_maintenance_margin_call_amount: Optional[Decimal] = None,
|
647
|
+
start_of_day_reg_t_margin_call_amount: Optional[Decimal] = None,
|
648
|
+
strategy_based_relief_adjustment_factor: Optional[Decimal] = None,
|
649
|
+
total_equity: Optional[Decimal] = None,
|
650
|
+
trade_date_cash_balance: Optional[Decimal] = None,
|
651
|
+
trade_date_option_long_market_value: Optional[Decimal] = None,
|
652
|
+
trade_date_total_long_market_value: Optional[Decimal] = None,
|
653
|
+
trade_date_total_short_market_value: Optional[Decimal] = None,
|
654
|
+
usable_sma_balance: Optional[Decimal] = None,
|
655
|
+
):
|
656
|
+
return cls(
|
657
|
+
account_number,
|
658
|
+
account_type,
|
659
|
+
as_of_date,
|
660
|
+
available_cash_balance,
|
661
|
+
cash_available_for_withdrawal,
|
662
|
+
cumulative_day_trade_pnl,
|
663
|
+
day_trading_buying_power,
|
664
|
+
day_trading_buying_power_high_water_mark,
|
665
|
+
day_trading_buying_power_maintenance_margin_multiplier,
|
666
|
+
day_trading_house_minimum_equity_margin_call_amount,
|
667
|
+
day_trading_margin_call_amount,
|
668
|
+
day_trading_minimum_equity_margin_call_amount,
|
669
|
+
excess_sma_amount,
|
670
|
+
house_initial_margin_requirement_adjustment_factor,
|
671
|
+
house_margin_call_amount,
|
672
|
+
house_margin_requirement,
|
673
|
+
house_margin_requirement_adjustment_factor,
|
674
|
+
is_day_trader,
|
675
|
+
maintenance_margin_requirement,
|
676
|
+
margin_call_amount,
|
677
|
+
marginable_equity,
|
678
|
+
market_value_adjustment_factor,
|
679
|
+
number_open_day_trading_margin_calls,
|
680
|
+
option_only_maintenance_margin_requirement,
|
681
|
+
option_trade_date_short_market_value,
|
682
|
+
overall_current_sma_balance,
|
683
|
+
overnight_buying_power,
|
684
|
+
reg_t_initial_margin_requirement,
|
685
|
+
reg_t_maintenance_margin_requirement_adjustment_factor,
|
686
|
+
reg_t_margin_call_amount,
|
687
|
+
settlement_date_cash_balance,
|
688
|
+
settlement_date_long_market_value,
|
689
|
+
settlement_date_option_long_market_value,
|
690
|
+
settlement_date_option_short_market_value,
|
691
|
+
settlement_date_short_market_value,
|
692
|
+
start_of_day_day_trading_buying_power,
|
693
|
+
start_of_day_day_trading_buying_power_margin_call_amount,
|
694
|
+
start_of_day_house_margin_call_amount,
|
695
|
+
start_of_day_maintenance_margin_call_amount,
|
696
|
+
start_of_day_reg_t_margin_call_amount,
|
697
|
+
strategy_based_relief_adjustment_factor,
|
698
|
+
total_equity,
|
699
|
+
trade_date_cash_balance,
|
700
|
+
trade_date_option_long_market_value,
|
701
|
+
trade_date_total_long_market_value,
|
702
|
+
trade_date_total_short_market_value,
|
703
|
+
usable_sma_balance,
|
704
|
+
)
|
705
|
+
|
706
|
+
def __str__(self) -> str:
|
707
|
+
return f"RqdAccountStatistics(account_number={self.account_number},account_type={self.account_type},as_of_date={self.as_of_date},available_cash_balance={self.available_cash_balance},cash_available_for_withdrawal={self.cash_available_for_withdrawal},cumulative_day_trade_pnl={self.cumulative_day_trade_pnl},day_trading_buying_power={self.day_trading_buying_power},day_trading_buying_power_high_water_mark={self.day_trading_buying_power_high_water_mark},day_trading_buying_power_maintenance_margin_multiplier={self.day_trading_buying_power_maintenance_margin_multiplier},day_trading_house_minimum_equity_margin_call_amount={self.day_trading_house_minimum_equity_margin_call_amount},day_trading_margin_call_amount={self.day_trading_margin_call_amount},day_trading_minimum_equity_margin_call_amount={self.day_trading_minimum_equity_margin_call_amount},excess_sma_amount={self.excess_sma_amount},house_initial_margin_requirement_adjustment_factor={self.house_initial_margin_requirement_adjustment_factor},house_margin_call_amount={self.house_margin_call_amount},house_margin_requirement={self.house_margin_requirement},house_margin_requirement_adjustment_factor={self.house_margin_requirement_adjustment_factor},is_day_trader={self.is_day_trader},maintenance_margin_requirement={self.maintenance_margin_requirement},margin_call_amount={self.margin_call_amount},marginable_equity={self.marginable_equity},market_value_adjustment_factor={self.market_value_adjustment_factor},number_open_day_trading_margin_calls={self.number_open_day_trading_margin_calls},option_only_maintenance_margin_requirement={self.option_only_maintenance_margin_requirement},option_trade_date_short_market_value={self.option_trade_date_short_market_value},overall_current_sma_balance={self.overall_current_sma_balance},overnight_buying_power={self.overnight_buying_power},reg_t_initial_margin_requirement={self.reg_t_initial_margin_requirement},reg_t_maintenance_margin_requirement_adjustment_factor={self.reg_t_maintenance_margin_requirement_adjustment_factor},reg_t_margin_call_amount={self.reg_t_margin_call_amount},settlement_date_cash_balance={self.settlement_date_cash_balance},settlement_date_long_market_value={self.settlement_date_long_market_value},settlement_date_option_long_market_value={self.settlement_date_option_long_market_value},settlement_date_option_short_market_value={self.settlement_date_option_short_market_value},settlement_date_short_market_value={self.settlement_date_short_market_value},start_of_day_day_trading_buying_power={self.start_of_day_day_trading_buying_power},start_of_day_day_trading_buying_power_margin_call_amount={self.start_of_day_day_trading_buying_power_margin_call_amount},start_of_day_house_margin_call_amount={self.start_of_day_house_margin_call_amount},start_of_day_maintenance_margin_call_amount={self.start_of_day_maintenance_margin_call_amount},start_of_day_reg_t_margin_call_amount={self.start_of_day_reg_t_margin_call_amount},strategy_based_relief_adjustment_factor={self.strategy_based_relief_adjustment_factor},total_equity={self.total_equity},trade_date_cash_balance={self.trade_date_cash_balance},trade_date_option_long_market_value={self.trade_date_option_long_market_value},trade_date_total_long_market_value={self.trade_date_total_long_market_value},trade_date_total_short_market_value={self.trade_date_total_short_market_value},usable_sma_balance={self.usable_sma_balance})"
|
708
|
+
|
709
|
+
|
545
710
|
class SortTickersBy(str, Enum):
|
546
711
|
VOLUME_DESC = "VOLUME_DESC"
|
547
712
|
CHANGE_ASC = "CHANGE_ASC"
|
@@ -549,10 +714,42 @@ class SortTickersBy(str, Enum):
|
|
549
714
|
ABS_CHANGE_DESC = "ABS_CHANGE_DESC"
|
550
715
|
|
551
716
|
|
717
|
+
class Statement(Struct, omit_defaults=True):
|
718
|
+
account: str
|
719
|
+
clearing_firm: str
|
720
|
+
filename: str
|
721
|
+
statement_date: date
|
722
|
+
statement_type: str
|
723
|
+
statement_uuid: str
|
724
|
+
|
725
|
+
# Constructor that takes all field titles as arguments for convenience
|
726
|
+
@classmethod
|
727
|
+
def new(
|
728
|
+
cls,
|
729
|
+
account: str,
|
730
|
+
clearing_firm: str,
|
731
|
+
filename: str,
|
732
|
+
statement_date: date,
|
733
|
+
statement_type: str,
|
734
|
+
statement_uuid: str,
|
735
|
+
):
|
736
|
+
return cls(
|
737
|
+
account,
|
738
|
+
clearing_firm,
|
739
|
+
filename,
|
740
|
+
statement_date,
|
741
|
+
statement_type,
|
742
|
+
statement_uuid,
|
743
|
+
)
|
744
|
+
|
745
|
+
def __str__(self) -> str:
|
746
|
+
return f"Statement(account={self.account},clearing_firm={self.clearing_firm},filename={self.filename},statement_date={self.statement_date},statement_type={self.statement_type},statement_uuid={self.statement_uuid})"
|
747
|
+
|
748
|
+
|
552
749
|
class GoodTilDate(Struct, omit_defaults=True):
|
553
750
|
GTD: datetime
|
554
751
|
|
555
|
-
#
|
752
|
+
# Constructor that takes all field titles as arguments for convenience
|
556
753
|
@classmethod
|
557
754
|
def new(
|
558
755
|
cls,
|
@@ -581,27 +778,33 @@ TimeInForce = Union[GoodTilDate, TimeInForceEnum]
|
|
581
778
|
TraderIdOrEmail = str
|
582
779
|
|
583
780
|
|
584
|
-
|
585
|
-
|
586
|
-
realized_twap: Optional[Decimal] = None
|
781
|
+
UserId = str
|
782
|
+
|
587
783
|
|
588
|
-
|
784
|
+
class Withdrawal(Struct, omit_defaults=True):
|
785
|
+
account: str
|
786
|
+
amount: Decimal
|
787
|
+
description: str
|
788
|
+
timestamp: datetime
|
789
|
+
|
790
|
+
# Constructor that takes all field titles as arguments for convenience
|
589
791
|
@classmethod
|
590
792
|
def new(
|
591
793
|
cls,
|
592
|
-
|
593
|
-
|
794
|
+
account: str,
|
795
|
+
amount: Decimal,
|
796
|
+
description: str,
|
797
|
+
timestamp: datetime,
|
594
798
|
):
|
595
799
|
return cls(
|
596
|
-
|
597
|
-
|
800
|
+
account,
|
801
|
+
amount,
|
802
|
+
description,
|
803
|
+
timestamp,
|
598
804
|
)
|
599
805
|
|
600
806
|
def __str__(self) -> str:
|
601
|
-
return f"
|
602
|
-
|
603
|
-
|
604
|
-
UserId = str
|
807
|
+
return f"Withdrawal(account={self.account},amount={self.amount},description={self.description},timestamp={self.timestamp})"
|
605
808
|
|
606
809
|
|
607
810
|
class AccountPermissions(Struct, omit_defaults=True):
|
@@ -615,7 +818,7 @@ class AccountPermissions(Struct, omit_defaults=True):
|
|
615
818
|
trade: bool
|
616
819
|
view: bool
|
617
820
|
|
618
|
-
#
|
821
|
+
# Constructor that takes all field titles as arguments for convenience
|
619
822
|
@classmethod
|
620
823
|
def new(
|
621
824
|
cls,
|
@@ -654,44 +857,26 @@ class FillKind(int, Enum):
|
|
654
857
|
Correction = 2
|
655
858
|
|
656
859
|
|
657
|
-
|
860
|
+
class Unit(str, Enum):
|
861
|
+
base = "base"
|
862
|
+
quote = "quote"
|
658
863
|
|
659
864
|
|
660
|
-
class
|
661
|
-
unit:
|
865
|
+
class MinOrderQuantityUnit(Struct, omit_defaults=True):
|
866
|
+
unit: Unit
|
662
867
|
|
663
|
-
#
|
868
|
+
# Constructor that takes all field titles as arguments for convenience
|
664
869
|
@classmethod
|
665
870
|
def new(
|
666
871
|
cls,
|
667
|
-
unit:
|
872
|
+
unit: Unit,
|
668
873
|
):
|
669
874
|
return cls(
|
670
875
|
unit,
|
671
876
|
)
|
672
877
|
|
673
878
|
def __str__(self) -> str:
|
674
|
-
return f"
|
675
|
-
|
676
|
-
|
677
|
-
class Quote(Struct, omit_defaults=True):
|
678
|
-
unit: Literal["quote"]
|
679
|
-
|
680
|
-
# below is a constructor that takes all field titles as arguments for convenience
|
681
|
-
@classmethod
|
682
|
-
def new(
|
683
|
-
cls,
|
684
|
-
unit: Literal["quote"],
|
685
|
-
):
|
686
|
-
return cls(
|
687
|
-
unit,
|
688
|
-
)
|
689
|
-
|
690
|
-
def __str__(self) -> str:
|
691
|
-
return f"Quote(unit={self.unit})"
|
692
|
-
|
693
|
-
|
694
|
-
MinOrderQuantityUnit = Union[Base, Quote]
|
879
|
+
return f"MinOrderQuantityUnit(unit={self.unit})"
|
695
880
|
|
696
881
|
|
697
882
|
class OptionsExerciseType(str, Enum):
|
@@ -706,7 +891,7 @@ PriceDisplayFormat = str
|
|
706
891
|
class Fiat(Struct, omit_defaults=True):
|
707
892
|
product_type: Literal["Fiat"]
|
708
893
|
|
709
|
-
#
|
894
|
+
# Constructor that takes all field titles as arguments for convenience
|
710
895
|
@classmethod
|
711
896
|
def new(
|
712
897
|
cls,
|
@@ -723,7 +908,7 @@ class Fiat(Struct, omit_defaults=True):
|
|
723
908
|
class Commodity(Struct, omit_defaults=True):
|
724
909
|
product_type: Literal["Commodity"]
|
725
910
|
|
726
|
-
#
|
911
|
+
# Constructor that takes all field titles as arguments for convenience
|
727
912
|
@classmethod
|
728
913
|
def new(
|
729
914
|
cls,
|
@@ -740,7 +925,7 @@ class Commodity(Struct, omit_defaults=True):
|
|
740
925
|
class Crypto(Struct, omit_defaults=True):
|
741
926
|
product_type: Literal["Crypto"]
|
742
927
|
|
743
|
-
#
|
928
|
+
# Constructor that takes all field titles as arguments for convenience
|
744
929
|
@classmethod
|
745
930
|
def new(
|
746
931
|
cls,
|
@@ -758,7 +943,7 @@ class Equity(Struct, omit_defaults=True):
|
|
758
943
|
product_type: Literal["Equity"]
|
759
944
|
easy_to_borrow: Optional[bool] = None
|
760
945
|
|
761
|
-
#
|
946
|
+
# Constructor that takes all field titles as arguments for convenience
|
762
947
|
@classmethod
|
763
948
|
def new(
|
764
949
|
cls,
|
@@ -777,7 +962,7 @@ class Equity(Struct, omit_defaults=True):
|
|
777
962
|
class Index(Struct, omit_defaults=True):
|
778
963
|
product_type: Literal["Index"]
|
779
964
|
|
780
|
-
#
|
965
|
+
# Constructor that takes all field titles as arguments for convenience
|
781
966
|
@classmethod
|
782
967
|
def new(
|
783
968
|
cls,
|
@@ -800,7 +985,7 @@ class Future(Struct, omit_defaults=True):
|
|
800
985
|
series: Optional[str] = None
|
801
986
|
underlying: Optional[str] = None
|
802
987
|
|
803
|
-
#
|
988
|
+
# Constructor that takes all field titles as arguments for convenience
|
804
989
|
@classmethod
|
805
990
|
def new(
|
806
991
|
cls,
|
@@ -832,7 +1017,7 @@ class Perpetual(Struct, omit_defaults=True):
|
|
832
1017
|
product_type: Literal["Perpetual"]
|
833
1018
|
underlying: Optional[str] = None
|
834
1019
|
|
835
|
-
#
|
1020
|
+
# Constructor that takes all field titles as arguments for convenience
|
836
1021
|
@classmethod
|
837
1022
|
def new(
|
838
1023
|
cls,
|
@@ -855,7 +1040,7 @@ class Perpetual(Struct, omit_defaults=True):
|
|
855
1040
|
class Unknown(Struct, omit_defaults=True):
|
856
1041
|
product_type: Literal["Unknown"]
|
857
1042
|
|
858
|
-
#
|
1043
|
+
# Constructor that takes all field titles as arguments for convenience
|
859
1044
|
@classmethod
|
860
1045
|
def new(
|
861
1046
|
cls,
|
@@ -869,10 +1054,62 @@ class Unknown(Struct, omit_defaults=True):
|
|
869
1054
|
return f"Unknown(product_type={self.product_type})"
|
870
1055
|
|
871
1056
|
|
1057
|
+
class PutOrCall(str, Enum):
|
1058
|
+
P = "P"
|
1059
|
+
C = "C"
|
1060
|
+
|
1061
|
+
|
1062
|
+
class SnapshotOrUpdateForStringAndProductCatalogInfo1(Struct, omit_defaults=True):
|
1063
|
+
snapshot: Dict[str, ProductCatalogInfo]
|
1064
|
+
|
1065
|
+
# Constructor that takes all field titles as arguments for convenience
|
1066
|
+
@classmethod
|
1067
|
+
def new(
|
1068
|
+
cls,
|
1069
|
+
snapshot: Dict[str, ProductCatalogInfo],
|
1070
|
+
):
|
1071
|
+
return cls(
|
1072
|
+
snapshot,
|
1073
|
+
)
|
1074
|
+
|
1075
|
+
def __str__(self) -> str:
|
1076
|
+
return (
|
1077
|
+
f"SnapshotOrUpdateForStringAndProductCatalogInfo1(snapshot={self.snapshot})"
|
1078
|
+
)
|
1079
|
+
|
1080
|
+
|
1081
|
+
Update6 = List[Union[str, Optional[ProductCatalogInfo]]]
|
1082
|
+
|
1083
|
+
|
1084
|
+
class SnapshotOrUpdateForStringAndProductCatalogInfo2(Struct, omit_defaults=True):
|
1085
|
+
updates: List[Update6]
|
1086
|
+
|
1087
|
+
# Constructor that takes all field titles as arguments for convenience
|
1088
|
+
@classmethod
|
1089
|
+
def new(
|
1090
|
+
cls,
|
1091
|
+
updates: List[Update6],
|
1092
|
+
):
|
1093
|
+
return cls(
|
1094
|
+
updates,
|
1095
|
+
)
|
1096
|
+
|
1097
|
+
def __str__(self) -> str:
|
1098
|
+
return (
|
1099
|
+
f"SnapshotOrUpdateForStringAndProductCatalogInfo2(updates={self.updates})"
|
1100
|
+
)
|
1101
|
+
|
1102
|
+
|
1103
|
+
SnapshotOrUpdateForStringAndProductCatalogInfo = Union[
|
1104
|
+
SnapshotOrUpdateForStringAndProductCatalogInfo1,
|
1105
|
+
SnapshotOrUpdateForStringAndProductCatalogInfo2,
|
1106
|
+
]
|
1107
|
+
|
1108
|
+
|
872
1109
|
class SnapshotOrUpdateForStringAndString1(Struct, omit_defaults=True):
|
873
1110
|
snapshot: Dict[str, str]
|
874
1111
|
|
875
|
-
#
|
1112
|
+
# Constructor that takes all field titles as arguments for convenience
|
876
1113
|
@classmethod
|
877
1114
|
def new(
|
878
1115
|
cls,
|
@@ -886,17 +1123,17 @@ class SnapshotOrUpdateForStringAndString1(Struct, omit_defaults=True):
|
|
886
1123
|
return f"SnapshotOrUpdateForStringAndString1(snapshot={self.snapshot})"
|
887
1124
|
|
888
1125
|
|
889
|
-
|
1126
|
+
Update7 = List[Union[str, Optional[str]]]
|
890
1127
|
|
891
1128
|
|
892
1129
|
class SnapshotOrUpdateForStringAndString2(Struct, omit_defaults=True):
|
893
|
-
updates: List[
|
1130
|
+
updates: List[Update7]
|
894
1131
|
|
895
|
-
#
|
1132
|
+
# Constructor that takes all field titles as arguments for convenience
|
896
1133
|
@classmethod
|
897
1134
|
def new(
|
898
1135
|
cls,
|
899
|
-
updates: List[
|
1136
|
+
updates: List[Update7],
|
900
1137
|
):
|
901
1138
|
return cls(
|
902
1139
|
updates,
|
@@ -914,7 +1151,7 @@ SnapshotOrUpdateForStringAndString = Union[
|
|
914
1151
|
class SimpleDecimal(Struct, omit_defaults=True):
|
915
1152
|
simple: Decimal
|
916
1153
|
|
917
|
-
#
|
1154
|
+
# Constructor that takes all field titles as arguments for convenience
|
918
1155
|
@classmethod
|
919
1156
|
def new(
|
920
1157
|
cls,
|
@@ -934,7 +1171,7 @@ Threshold = List[Decimal]
|
|
934
1171
|
class Varying1(Struct, omit_defaults=True):
|
935
1172
|
thresholds: List[Threshold]
|
936
1173
|
|
937
|
-
#
|
1174
|
+
# Constructor that takes all field titles as arguments for convenience
|
938
1175
|
@classmethod
|
939
1176
|
def new(
|
940
1177
|
cls,
|
@@ -955,7 +1192,7 @@ class Varying(Struct, omit_defaults=True):
|
|
955
1192
|
|
956
1193
|
varying: Varying1
|
957
1194
|
|
958
|
-
#
|
1195
|
+
# Constructor that takes all field titles as arguments for convenience
|
959
1196
|
@classmethod
|
960
1197
|
def new(
|
961
1198
|
cls,
|
@@ -972,605 +1209,6 @@ class Varying(Struct, omit_defaults=True):
|
|
972
1209
|
TickSize = Union[SimpleDecimal, Varying]
|
973
1210
|
|
974
1211
|
|
975
|
-
class TimeZone(str, Enum):
|
976
|
-
Africa_Abidjan = "Africa/Abidjan"
|
977
|
-
Africa_Accra = "Africa/Accra"
|
978
|
-
Africa_Addis_Ababa = "Africa/Addis_Ababa"
|
979
|
-
Africa_Algiers = "Africa/Algiers"
|
980
|
-
Africa_Asmara = "Africa/Asmara"
|
981
|
-
Africa_Asmera = "Africa/Asmera"
|
982
|
-
Africa_Bamako = "Africa/Bamako"
|
983
|
-
Africa_Bangui = "Africa/Bangui"
|
984
|
-
Africa_Banjul = "Africa/Banjul"
|
985
|
-
Africa_Bissau = "Africa/Bissau"
|
986
|
-
Africa_Blantyre = "Africa/Blantyre"
|
987
|
-
Africa_Brazzaville = "Africa/Brazzaville"
|
988
|
-
Africa_Bujumbura = "Africa/Bujumbura"
|
989
|
-
Africa_Cairo = "Africa/Cairo"
|
990
|
-
Africa_Casablanca = "Africa/Casablanca"
|
991
|
-
Africa_Ceuta = "Africa/Ceuta"
|
992
|
-
Africa_Conakry = "Africa/Conakry"
|
993
|
-
Africa_Dakar = "Africa/Dakar"
|
994
|
-
Africa_Dar_es_Salaam = "Africa/Dar_es_Salaam"
|
995
|
-
Africa_Djibouti = "Africa/Djibouti"
|
996
|
-
Africa_Douala = "Africa/Douala"
|
997
|
-
Africa_El_Aaiun = "Africa/El_Aaiun"
|
998
|
-
Africa_Freetown = "Africa/Freetown"
|
999
|
-
Africa_Gaborone = "Africa/Gaborone"
|
1000
|
-
Africa_Harare = "Africa/Harare"
|
1001
|
-
Africa_Johannesburg = "Africa/Johannesburg"
|
1002
|
-
Africa_Juba = "Africa/Juba"
|
1003
|
-
Africa_Kampala = "Africa/Kampala"
|
1004
|
-
Africa_Khartoum = "Africa/Khartoum"
|
1005
|
-
Africa_Kigali = "Africa/Kigali"
|
1006
|
-
Africa_Kinshasa = "Africa/Kinshasa"
|
1007
|
-
Africa_Lagos = "Africa/Lagos"
|
1008
|
-
Africa_Libreville = "Africa/Libreville"
|
1009
|
-
Africa_Lome = "Africa/Lome"
|
1010
|
-
Africa_Luanda = "Africa/Luanda"
|
1011
|
-
Africa_Lubumbashi = "Africa/Lubumbashi"
|
1012
|
-
Africa_Lusaka = "Africa/Lusaka"
|
1013
|
-
Africa_Malabo = "Africa/Malabo"
|
1014
|
-
Africa_Maputo = "Africa/Maputo"
|
1015
|
-
Africa_Maseru = "Africa/Maseru"
|
1016
|
-
Africa_Mbabane = "Africa/Mbabane"
|
1017
|
-
Africa_Mogadishu = "Africa/Mogadishu"
|
1018
|
-
Africa_Monrovia = "Africa/Monrovia"
|
1019
|
-
Africa_Nairobi = "Africa/Nairobi"
|
1020
|
-
Africa_Ndjamena = "Africa/Ndjamena"
|
1021
|
-
Africa_Niamey = "Africa/Niamey"
|
1022
|
-
Africa_Nouakchott = "Africa/Nouakchott"
|
1023
|
-
Africa_Ouagadougou = "Africa/Ouagadougou"
|
1024
|
-
Africa_Porto_Novo = "Africa/Porto-Novo"
|
1025
|
-
Africa_Sao_Tome = "Africa/Sao_Tome"
|
1026
|
-
Africa_Timbuktu = "Africa/Timbuktu"
|
1027
|
-
Africa_Tripoli = "Africa/Tripoli"
|
1028
|
-
Africa_Tunis = "Africa/Tunis"
|
1029
|
-
Africa_Windhoek = "Africa/Windhoek"
|
1030
|
-
America_Adak = "America/Adak"
|
1031
|
-
America_Anchorage = "America/Anchorage"
|
1032
|
-
America_Anguilla = "America/Anguilla"
|
1033
|
-
America_Antigua = "America/Antigua"
|
1034
|
-
America_Araguaina = "America/Araguaina"
|
1035
|
-
America_Argentina_Buenos_Aires = "America/Argentina/Buenos_Aires"
|
1036
|
-
America_Argentina_Catamarca = "America/Argentina/Catamarca"
|
1037
|
-
America_Argentina_ComodRivadavia = "America/Argentina/ComodRivadavia"
|
1038
|
-
America_Argentina_Cordoba = "America/Argentina/Cordoba"
|
1039
|
-
America_Argentina_Jujuy = "America/Argentina/Jujuy"
|
1040
|
-
America_Argentina_La_Rioja = "America/Argentina/La_Rioja"
|
1041
|
-
America_Argentina_Mendoza = "America/Argentina/Mendoza"
|
1042
|
-
America_Argentina_Rio_Gallegos = "America/Argentina/Rio_Gallegos"
|
1043
|
-
America_Argentina_Salta = "America/Argentina/Salta"
|
1044
|
-
America_Argentina_San_Juan = "America/Argentina/San_Juan"
|
1045
|
-
America_Argentina_San_Luis = "America/Argentina/San_Luis"
|
1046
|
-
America_Argentina_Tucuman = "America/Argentina/Tucuman"
|
1047
|
-
America_Argentina_Ushuaia = "America/Argentina/Ushuaia"
|
1048
|
-
America_Aruba = "America/Aruba"
|
1049
|
-
America_Asuncion = "America/Asuncion"
|
1050
|
-
America_Atikokan = "America/Atikokan"
|
1051
|
-
America_Atka = "America/Atka"
|
1052
|
-
America_Bahia = "America/Bahia"
|
1053
|
-
America_Bahia_Banderas = "America/Bahia_Banderas"
|
1054
|
-
America_Barbados = "America/Barbados"
|
1055
|
-
America_Belem = "America/Belem"
|
1056
|
-
America_Belize = "America/Belize"
|
1057
|
-
America_Blanc_Sablon = "America/Blanc-Sablon"
|
1058
|
-
America_Boa_Vista = "America/Boa_Vista"
|
1059
|
-
America_Bogota = "America/Bogota"
|
1060
|
-
America_Boise = "America/Boise"
|
1061
|
-
America_Buenos_Aires = "America/Buenos_Aires"
|
1062
|
-
America_Cambridge_Bay = "America/Cambridge_Bay"
|
1063
|
-
America_Campo_Grande = "America/Campo_Grande"
|
1064
|
-
America_Cancun = "America/Cancun"
|
1065
|
-
America_Caracas = "America/Caracas"
|
1066
|
-
America_Catamarca = "America/Catamarca"
|
1067
|
-
America_Cayenne = "America/Cayenne"
|
1068
|
-
America_Cayman = "America/Cayman"
|
1069
|
-
America_Chicago = "America/Chicago"
|
1070
|
-
America_Chihuahua = "America/Chihuahua"
|
1071
|
-
America_Ciudad_Juarez = "America/Ciudad_Juarez"
|
1072
|
-
America_Coral_Harbour = "America/Coral_Harbour"
|
1073
|
-
America_Cordoba = "America/Cordoba"
|
1074
|
-
America_Costa_Rica = "America/Costa_Rica"
|
1075
|
-
America_Creston = "America/Creston"
|
1076
|
-
America_Cuiaba = "America/Cuiaba"
|
1077
|
-
America_Curacao = "America/Curacao"
|
1078
|
-
America_Danmarkshavn = "America/Danmarkshavn"
|
1079
|
-
America_Dawson = "America/Dawson"
|
1080
|
-
America_Dawson_Creek = "America/Dawson_Creek"
|
1081
|
-
America_Denver = "America/Denver"
|
1082
|
-
America_Detroit = "America/Detroit"
|
1083
|
-
America_Dominica = "America/Dominica"
|
1084
|
-
America_Edmonton = "America/Edmonton"
|
1085
|
-
America_Eirunepe = "America/Eirunepe"
|
1086
|
-
America_El_Salvador = "America/El_Salvador"
|
1087
|
-
America_Ensenada = "America/Ensenada"
|
1088
|
-
America_Fort_Nelson = "America/Fort_Nelson"
|
1089
|
-
America_Fort_Wayne = "America/Fort_Wayne"
|
1090
|
-
America_Fortaleza = "America/Fortaleza"
|
1091
|
-
America_Glace_Bay = "America/Glace_Bay"
|
1092
|
-
America_Godthab = "America/Godthab"
|
1093
|
-
America_Goose_Bay = "America/Goose_Bay"
|
1094
|
-
America_Grand_Turk = "America/Grand_Turk"
|
1095
|
-
America_Grenada = "America/Grenada"
|
1096
|
-
America_Guadeloupe = "America/Guadeloupe"
|
1097
|
-
America_Guatemala = "America/Guatemala"
|
1098
|
-
America_Guayaquil = "America/Guayaquil"
|
1099
|
-
America_Guyana = "America/Guyana"
|
1100
|
-
America_Halifax = "America/Halifax"
|
1101
|
-
America_Havana = "America/Havana"
|
1102
|
-
America_Hermosillo = "America/Hermosillo"
|
1103
|
-
America_Indiana_Indianapolis = "America/Indiana/Indianapolis"
|
1104
|
-
America_Indiana_Knox = "America/Indiana/Knox"
|
1105
|
-
America_Indiana_Marengo = "America/Indiana/Marengo"
|
1106
|
-
America_Indiana_Petersburg = "America/Indiana/Petersburg"
|
1107
|
-
America_Indiana_Tell_City = "America/Indiana/Tell_City"
|
1108
|
-
America_Indiana_Vevay = "America/Indiana/Vevay"
|
1109
|
-
America_Indiana_Vincennes = "America/Indiana/Vincennes"
|
1110
|
-
America_Indiana_Winamac = "America/Indiana/Winamac"
|
1111
|
-
America_Indianapolis = "America/Indianapolis"
|
1112
|
-
America_Inuvik = "America/Inuvik"
|
1113
|
-
America_Iqaluit = "America/Iqaluit"
|
1114
|
-
America_Jamaica = "America/Jamaica"
|
1115
|
-
America_Jujuy = "America/Jujuy"
|
1116
|
-
America_Juneau = "America/Juneau"
|
1117
|
-
America_Kentucky_Louisville = "America/Kentucky/Louisville"
|
1118
|
-
America_Kentucky_Monticello = "America/Kentucky/Monticello"
|
1119
|
-
America_Knox_IN = "America/Knox_IN"
|
1120
|
-
America_Kralendijk = "America/Kralendijk"
|
1121
|
-
America_La_Paz = "America/La_Paz"
|
1122
|
-
America_Lima = "America/Lima"
|
1123
|
-
America_Los_Angeles = "America/Los_Angeles"
|
1124
|
-
America_Louisville = "America/Louisville"
|
1125
|
-
America_Lower_Princes = "America/Lower_Princes"
|
1126
|
-
America_Maceio = "America/Maceio"
|
1127
|
-
America_Managua = "America/Managua"
|
1128
|
-
America_Manaus = "America/Manaus"
|
1129
|
-
America_Marigot = "America/Marigot"
|
1130
|
-
America_Martinique = "America/Martinique"
|
1131
|
-
America_Matamoros = "America/Matamoros"
|
1132
|
-
America_Mazatlan = "America/Mazatlan"
|
1133
|
-
America_Mendoza = "America/Mendoza"
|
1134
|
-
America_Menominee = "America/Menominee"
|
1135
|
-
America_Merida = "America/Merida"
|
1136
|
-
America_Metlakatla = "America/Metlakatla"
|
1137
|
-
America_Mexico_City = "America/Mexico_City"
|
1138
|
-
America_Miquelon = "America/Miquelon"
|
1139
|
-
America_Moncton = "America/Moncton"
|
1140
|
-
America_Monterrey = "America/Monterrey"
|
1141
|
-
America_Montevideo = "America/Montevideo"
|
1142
|
-
America_Montreal = "America/Montreal"
|
1143
|
-
America_Montserrat = "America/Montserrat"
|
1144
|
-
America_Nassau = "America/Nassau"
|
1145
|
-
America_New_York = "America/New_York"
|
1146
|
-
America_Nipigon = "America/Nipigon"
|
1147
|
-
America_Nome = "America/Nome"
|
1148
|
-
America_Noronha = "America/Noronha"
|
1149
|
-
America_North_Dakota_Beulah = "America/North_Dakota/Beulah"
|
1150
|
-
America_North_Dakota_Center = "America/North_Dakota/Center"
|
1151
|
-
America_North_Dakota_New_Salem = "America/North_Dakota/New_Salem"
|
1152
|
-
America_Nuuk = "America/Nuuk"
|
1153
|
-
America_Ojinaga = "America/Ojinaga"
|
1154
|
-
America_Panama = "America/Panama"
|
1155
|
-
America_Pangnirtung = "America/Pangnirtung"
|
1156
|
-
America_Paramaribo = "America/Paramaribo"
|
1157
|
-
America_Phoenix = "America/Phoenix"
|
1158
|
-
America_Port_au_Prince = "America/Port-au-Prince"
|
1159
|
-
America_Port_of_Spain = "America/Port_of_Spain"
|
1160
|
-
America_Porto_Acre = "America/Porto_Acre"
|
1161
|
-
America_Porto_Velho = "America/Porto_Velho"
|
1162
|
-
America_Puerto_Rico = "America/Puerto_Rico"
|
1163
|
-
America_Punta_Arenas = "America/Punta_Arenas"
|
1164
|
-
America_Rainy_River = "America/Rainy_River"
|
1165
|
-
America_Rankin_Inlet = "America/Rankin_Inlet"
|
1166
|
-
America_Recife = "America/Recife"
|
1167
|
-
America_Regina = "America/Regina"
|
1168
|
-
America_Resolute = "America/Resolute"
|
1169
|
-
America_Rio_Branco = "America/Rio_Branco"
|
1170
|
-
America_Rosario = "America/Rosario"
|
1171
|
-
America_Santa_Isabel = "America/Santa_Isabel"
|
1172
|
-
America_Santarem = "America/Santarem"
|
1173
|
-
America_Santiago = "America/Santiago"
|
1174
|
-
America_Santo_Domingo = "America/Santo_Domingo"
|
1175
|
-
America_Sao_Paulo = "America/Sao_Paulo"
|
1176
|
-
America_Scoresbysund = "America/Scoresbysund"
|
1177
|
-
America_Shiprock = "America/Shiprock"
|
1178
|
-
America_Sitka = "America/Sitka"
|
1179
|
-
America_St_Barthelemy = "America/St_Barthelemy"
|
1180
|
-
America_St_Johns = "America/St_Johns"
|
1181
|
-
America_St_Kitts = "America/St_Kitts"
|
1182
|
-
America_St_Lucia = "America/St_Lucia"
|
1183
|
-
America_St_Thomas = "America/St_Thomas"
|
1184
|
-
America_St_Vincent = "America/St_Vincent"
|
1185
|
-
America_Swift_Current = "America/Swift_Current"
|
1186
|
-
America_Tegucigalpa = "America/Tegucigalpa"
|
1187
|
-
America_Thule = "America/Thule"
|
1188
|
-
America_Thunder_Bay = "America/Thunder_Bay"
|
1189
|
-
America_Tijuana = "America/Tijuana"
|
1190
|
-
America_Toronto = "America/Toronto"
|
1191
|
-
America_Tortola = "America/Tortola"
|
1192
|
-
America_Vancouver = "America/Vancouver"
|
1193
|
-
America_Virgin = "America/Virgin"
|
1194
|
-
America_Whitehorse = "America/Whitehorse"
|
1195
|
-
America_Winnipeg = "America/Winnipeg"
|
1196
|
-
America_Yakutat = "America/Yakutat"
|
1197
|
-
America_Yellowknife = "America/Yellowknife"
|
1198
|
-
Antarctica_Casey = "Antarctica/Casey"
|
1199
|
-
Antarctica_Davis = "Antarctica/Davis"
|
1200
|
-
Antarctica_DumontDUrville = "Antarctica/DumontDUrville"
|
1201
|
-
Antarctica_Macquarie = "Antarctica/Macquarie"
|
1202
|
-
Antarctica_Mawson = "Antarctica/Mawson"
|
1203
|
-
Antarctica_McMurdo = "Antarctica/McMurdo"
|
1204
|
-
Antarctica_Palmer = "Antarctica/Palmer"
|
1205
|
-
Antarctica_Rothera = "Antarctica/Rothera"
|
1206
|
-
Antarctica_South_Pole = "Antarctica/South_Pole"
|
1207
|
-
Antarctica_Syowa = "Antarctica/Syowa"
|
1208
|
-
Antarctica_Troll = "Antarctica/Troll"
|
1209
|
-
Antarctica_Vostok = "Antarctica/Vostok"
|
1210
|
-
Arctic_Longyearbyen = "Arctic/Longyearbyen"
|
1211
|
-
Asia_Aden = "Asia/Aden"
|
1212
|
-
Asia_Almaty = "Asia/Almaty"
|
1213
|
-
Asia_Amman = "Asia/Amman"
|
1214
|
-
Asia_Anadyr = "Asia/Anadyr"
|
1215
|
-
Asia_Aqtau = "Asia/Aqtau"
|
1216
|
-
Asia_Aqtobe = "Asia/Aqtobe"
|
1217
|
-
Asia_Ashgabat = "Asia/Ashgabat"
|
1218
|
-
Asia_Ashkhabad = "Asia/Ashkhabad"
|
1219
|
-
Asia_Atyrau = "Asia/Atyrau"
|
1220
|
-
Asia_Baghdad = "Asia/Baghdad"
|
1221
|
-
Asia_Bahrain = "Asia/Bahrain"
|
1222
|
-
Asia_Baku = "Asia/Baku"
|
1223
|
-
Asia_Bangkok = "Asia/Bangkok"
|
1224
|
-
Asia_Barnaul = "Asia/Barnaul"
|
1225
|
-
Asia_Beirut = "Asia/Beirut"
|
1226
|
-
Asia_Bishkek = "Asia/Bishkek"
|
1227
|
-
Asia_Brunei = "Asia/Brunei"
|
1228
|
-
Asia_Calcutta = "Asia/Calcutta"
|
1229
|
-
Asia_Chita = "Asia/Chita"
|
1230
|
-
Asia_Choibalsan = "Asia/Choibalsan"
|
1231
|
-
Asia_Chongqing = "Asia/Chongqing"
|
1232
|
-
Asia_Chungking = "Asia/Chungking"
|
1233
|
-
Asia_Colombo = "Asia/Colombo"
|
1234
|
-
Asia_Dacca = "Asia/Dacca"
|
1235
|
-
Asia_Damascus = "Asia/Damascus"
|
1236
|
-
Asia_Dhaka = "Asia/Dhaka"
|
1237
|
-
Asia_Dili = "Asia/Dili"
|
1238
|
-
Asia_Dubai = "Asia/Dubai"
|
1239
|
-
Asia_Dushanbe = "Asia/Dushanbe"
|
1240
|
-
Asia_Famagusta = "Asia/Famagusta"
|
1241
|
-
Asia_Gaza = "Asia/Gaza"
|
1242
|
-
Asia_Harbin = "Asia/Harbin"
|
1243
|
-
Asia_Hebron = "Asia/Hebron"
|
1244
|
-
Asia_Ho_Chi_Minh = "Asia/Ho_Chi_Minh"
|
1245
|
-
Asia_Hong_Kong = "Asia/Hong_Kong"
|
1246
|
-
Asia_Hovd = "Asia/Hovd"
|
1247
|
-
Asia_Irkutsk = "Asia/Irkutsk"
|
1248
|
-
Asia_Istanbul = "Asia/Istanbul"
|
1249
|
-
Asia_Jakarta = "Asia/Jakarta"
|
1250
|
-
Asia_Jayapura = "Asia/Jayapura"
|
1251
|
-
Asia_Jerusalem = "Asia/Jerusalem"
|
1252
|
-
Asia_Kabul = "Asia/Kabul"
|
1253
|
-
Asia_Kamchatka = "Asia/Kamchatka"
|
1254
|
-
Asia_Karachi = "Asia/Karachi"
|
1255
|
-
Asia_Kashgar = "Asia/Kashgar"
|
1256
|
-
Asia_Kathmandu = "Asia/Kathmandu"
|
1257
|
-
Asia_Katmandu = "Asia/Katmandu"
|
1258
|
-
Asia_Khandyga = "Asia/Khandyga"
|
1259
|
-
Asia_Kolkata = "Asia/Kolkata"
|
1260
|
-
Asia_Krasnoyarsk = "Asia/Krasnoyarsk"
|
1261
|
-
Asia_Kuala_Lumpur = "Asia/Kuala_Lumpur"
|
1262
|
-
Asia_Kuching = "Asia/Kuching"
|
1263
|
-
Asia_Kuwait = "Asia/Kuwait"
|
1264
|
-
Asia_Macao = "Asia/Macao"
|
1265
|
-
Asia_Macau = "Asia/Macau"
|
1266
|
-
Asia_Magadan = "Asia/Magadan"
|
1267
|
-
Asia_Makassar = "Asia/Makassar"
|
1268
|
-
Asia_Manila = "Asia/Manila"
|
1269
|
-
Asia_Muscat = "Asia/Muscat"
|
1270
|
-
Asia_Nicosia = "Asia/Nicosia"
|
1271
|
-
Asia_Novokuznetsk = "Asia/Novokuznetsk"
|
1272
|
-
Asia_Novosibirsk = "Asia/Novosibirsk"
|
1273
|
-
Asia_Omsk = "Asia/Omsk"
|
1274
|
-
Asia_Oral = "Asia/Oral"
|
1275
|
-
Asia_Phnom_Penh = "Asia/Phnom_Penh"
|
1276
|
-
Asia_Pontianak = "Asia/Pontianak"
|
1277
|
-
Asia_Pyongyang = "Asia/Pyongyang"
|
1278
|
-
Asia_Qatar = "Asia/Qatar"
|
1279
|
-
Asia_Qostanay = "Asia/Qostanay"
|
1280
|
-
Asia_Qyzylorda = "Asia/Qyzylorda"
|
1281
|
-
Asia_Rangoon = "Asia/Rangoon"
|
1282
|
-
Asia_Riyadh = "Asia/Riyadh"
|
1283
|
-
Asia_Saigon = "Asia/Saigon"
|
1284
|
-
Asia_Sakhalin = "Asia/Sakhalin"
|
1285
|
-
Asia_Samarkand = "Asia/Samarkand"
|
1286
|
-
Asia_Seoul = "Asia/Seoul"
|
1287
|
-
Asia_Shanghai = "Asia/Shanghai"
|
1288
|
-
Asia_Singapore = "Asia/Singapore"
|
1289
|
-
Asia_Srednekolymsk = "Asia/Srednekolymsk"
|
1290
|
-
Asia_Taipei = "Asia/Taipei"
|
1291
|
-
Asia_Tashkent = "Asia/Tashkent"
|
1292
|
-
Asia_Tbilisi = "Asia/Tbilisi"
|
1293
|
-
Asia_Tehran = "Asia/Tehran"
|
1294
|
-
Asia_Tel_Aviv = "Asia/Tel_Aviv"
|
1295
|
-
Asia_Thimbu = "Asia/Thimbu"
|
1296
|
-
Asia_Thimphu = "Asia/Thimphu"
|
1297
|
-
Asia_Tokyo = "Asia/Tokyo"
|
1298
|
-
Asia_Tomsk = "Asia/Tomsk"
|
1299
|
-
Asia_Ujung_Pandang = "Asia/Ujung_Pandang"
|
1300
|
-
Asia_Ulaanbaatar = "Asia/Ulaanbaatar"
|
1301
|
-
Asia_Ulan_Bator = "Asia/Ulan_Bator"
|
1302
|
-
Asia_Urumqi = "Asia/Urumqi"
|
1303
|
-
Asia_Ust_Nera = "Asia/Ust-Nera"
|
1304
|
-
Asia_Vientiane = "Asia/Vientiane"
|
1305
|
-
Asia_Vladivostok = "Asia/Vladivostok"
|
1306
|
-
Asia_Yakutsk = "Asia/Yakutsk"
|
1307
|
-
Asia_Yangon = "Asia/Yangon"
|
1308
|
-
Asia_Yekaterinburg = "Asia/Yekaterinburg"
|
1309
|
-
Asia_Yerevan = "Asia/Yerevan"
|
1310
|
-
Atlantic_Azores = "Atlantic/Azores"
|
1311
|
-
Atlantic_Bermuda = "Atlantic/Bermuda"
|
1312
|
-
Atlantic_Canary = "Atlantic/Canary"
|
1313
|
-
Atlantic_Cape_Verde = "Atlantic/Cape_Verde"
|
1314
|
-
Atlantic_Faeroe = "Atlantic/Faeroe"
|
1315
|
-
Atlantic_Faroe = "Atlantic/Faroe"
|
1316
|
-
Atlantic_Jan_Mayen = "Atlantic/Jan_Mayen"
|
1317
|
-
Atlantic_Madeira = "Atlantic/Madeira"
|
1318
|
-
Atlantic_Reykjavik = "Atlantic/Reykjavik"
|
1319
|
-
Atlantic_South_Georgia = "Atlantic/South_Georgia"
|
1320
|
-
Atlantic_St_Helena = "Atlantic/St_Helena"
|
1321
|
-
Atlantic_Stanley = "Atlantic/Stanley"
|
1322
|
-
Australia_ACT = "Australia/ACT"
|
1323
|
-
Australia_Adelaide = "Australia/Adelaide"
|
1324
|
-
Australia_Brisbane = "Australia/Brisbane"
|
1325
|
-
Australia_Broken_Hill = "Australia/Broken_Hill"
|
1326
|
-
Australia_Canberra = "Australia/Canberra"
|
1327
|
-
Australia_Currie = "Australia/Currie"
|
1328
|
-
Australia_Darwin = "Australia/Darwin"
|
1329
|
-
Australia_Eucla = "Australia/Eucla"
|
1330
|
-
Australia_Hobart = "Australia/Hobart"
|
1331
|
-
Australia_LHI = "Australia/LHI"
|
1332
|
-
Australia_Lindeman = "Australia/Lindeman"
|
1333
|
-
Australia_Lord_Howe = "Australia/Lord_Howe"
|
1334
|
-
Australia_Melbourne = "Australia/Melbourne"
|
1335
|
-
Australia_NSW = "Australia/NSW"
|
1336
|
-
Australia_North = "Australia/North"
|
1337
|
-
Australia_Perth = "Australia/Perth"
|
1338
|
-
Australia_Queensland = "Australia/Queensland"
|
1339
|
-
Australia_South = "Australia/South"
|
1340
|
-
Australia_Sydney = "Australia/Sydney"
|
1341
|
-
Australia_Tasmania = "Australia/Tasmania"
|
1342
|
-
Australia_Victoria = "Australia/Victoria"
|
1343
|
-
Australia_West = "Australia/West"
|
1344
|
-
Australia_Yancowinna = "Australia/Yancowinna"
|
1345
|
-
Brazil_Acre = "Brazil/Acre"
|
1346
|
-
Brazil_DeNoronha = "Brazil/DeNoronha"
|
1347
|
-
Brazil_East = "Brazil/East"
|
1348
|
-
Brazil_West = "Brazil/West"
|
1349
|
-
CET = "CET"
|
1350
|
-
CST6CDT = "CST6CDT"
|
1351
|
-
Canada_Atlantic = "Canada/Atlantic"
|
1352
|
-
Canada_Central = "Canada/Central"
|
1353
|
-
Canada_Eastern = "Canada/Eastern"
|
1354
|
-
Canada_Mountain = "Canada/Mountain"
|
1355
|
-
Canada_Newfoundland = "Canada/Newfoundland"
|
1356
|
-
Canada_Pacific = "Canada/Pacific"
|
1357
|
-
Canada_Saskatchewan = "Canada/Saskatchewan"
|
1358
|
-
Canada_Yukon = "Canada/Yukon"
|
1359
|
-
Chile_Continental = "Chile/Continental"
|
1360
|
-
Chile_EasterIsland = "Chile/EasterIsland"
|
1361
|
-
Cuba = "Cuba"
|
1362
|
-
EET = "EET"
|
1363
|
-
EST = "EST"
|
1364
|
-
EST5EDT = "EST5EDT"
|
1365
|
-
Egypt = "Egypt"
|
1366
|
-
Eire = "Eire"
|
1367
|
-
Etc_GMT = "Etc/GMT"
|
1368
|
-
Etc_GMT_0 = "Etc/GMT+0"
|
1369
|
-
Etc_GMT_1 = "Etc/GMT+1"
|
1370
|
-
Etc_GMT_10 = "Etc/GMT+10"
|
1371
|
-
Etc_GMT_11 = "Etc/GMT+11"
|
1372
|
-
Etc_GMT_12 = "Etc/GMT+12"
|
1373
|
-
Etc_GMT_2 = "Etc/GMT+2"
|
1374
|
-
Etc_GMT_3 = "Etc/GMT+3"
|
1375
|
-
Etc_GMT_4 = "Etc/GMT+4"
|
1376
|
-
Etc_GMT_5 = "Etc/GMT+5"
|
1377
|
-
Etc_GMT_6 = "Etc/GMT+6"
|
1378
|
-
Etc_GMT_7 = "Etc/GMT+7"
|
1379
|
-
Etc_GMT_8 = "Etc/GMT+8"
|
1380
|
-
Etc_GMT_9 = "Etc/GMT+9"
|
1381
|
-
Etc_GMT_0_1 = "Etc/GMT-0"
|
1382
|
-
Etc_GMT_1_1 = "Etc/GMT-1"
|
1383
|
-
Etc_GMT_10_1 = "Etc/GMT-10"
|
1384
|
-
Etc_GMT_11_1 = "Etc/GMT-11"
|
1385
|
-
Etc_GMT_12_1 = "Etc/GMT-12"
|
1386
|
-
Etc_GMT_13 = "Etc/GMT-13"
|
1387
|
-
Etc_GMT_14 = "Etc/GMT-14"
|
1388
|
-
Etc_GMT_2_1 = "Etc/GMT-2"
|
1389
|
-
Etc_GMT_3_1 = "Etc/GMT-3"
|
1390
|
-
Etc_GMT_4_1 = "Etc/GMT-4"
|
1391
|
-
Etc_GMT_5_1 = "Etc/GMT-5"
|
1392
|
-
Etc_GMT_6_1 = "Etc/GMT-6"
|
1393
|
-
Etc_GMT_7_1 = "Etc/GMT-7"
|
1394
|
-
Etc_GMT_8_1 = "Etc/GMT-8"
|
1395
|
-
Etc_GMT_9_1 = "Etc/GMT-9"
|
1396
|
-
Etc_GMT0 = "Etc/GMT0"
|
1397
|
-
Etc_Greenwich = "Etc/Greenwich"
|
1398
|
-
Etc_UCT = "Etc/UCT"
|
1399
|
-
Etc_UTC = "Etc/UTC"
|
1400
|
-
Etc_Universal = "Etc/Universal"
|
1401
|
-
Etc_Zulu = "Etc/Zulu"
|
1402
|
-
Europe_Amsterdam = "Europe/Amsterdam"
|
1403
|
-
Europe_Andorra = "Europe/Andorra"
|
1404
|
-
Europe_Astrakhan = "Europe/Astrakhan"
|
1405
|
-
Europe_Athens = "Europe/Athens"
|
1406
|
-
Europe_Belfast = "Europe/Belfast"
|
1407
|
-
Europe_Belgrade = "Europe/Belgrade"
|
1408
|
-
Europe_Berlin = "Europe/Berlin"
|
1409
|
-
Europe_Bratislava = "Europe/Bratislava"
|
1410
|
-
Europe_Brussels = "Europe/Brussels"
|
1411
|
-
Europe_Bucharest = "Europe/Bucharest"
|
1412
|
-
Europe_Budapest = "Europe/Budapest"
|
1413
|
-
Europe_Busingen = "Europe/Busingen"
|
1414
|
-
Europe_Chisinau = "Europe/Chisinau"
|
1415
|
-
Europe_Copenhagen = "Europe/Copenhagen"
|
1416
|
-
Europe_Dublin = "Europe/Dublin"
|
1417
|
-
Europe_Gibraltar = "Europe/Gibraltar"
|
1418
|
-
Europe_Guernsey = "Europe/Guernsey"
|
1419
|
-
Europe_Helsinki = "Europe/Helsinki"
|
1420
|
-
Europe_Isle_of_Man = "Europe/Isle_of_Man"
|
1421
|
-
Europe_Istanbul = "Europe/Istanbul"
|
1422
|
-
Europe_Jersey = "Europe/Jersey"
|
1423
|
-
Europe_Kaliningrad = "Europe/Kaliningrad"
|
1424
|
-
Europe_Kiev = "Europe/Kiev"
|
1425
|
-
Europe_Kirov = "Europe/Kirov"
|
1426
|
-
Europe_Kyiv = "Europe/Kyiv"
|
1427
|
-
Europe_Lisbon = "Europe/Lisbon"
|
1428
|
-
Europe_Ljubljana = "Europe/Ljubljana"
|
1429
|
-
Europe_London = "Europe/London"
|
1430
|
-
Europe_Luxembourg = "Europe/Luxembourg"
|
1431
|
-
Europe_Madrid = "Europe/Madrid"
|
1432
|
-
Europe_Malta = "Europe/Malta"
|
1433
|
-
Europe_Mariehamn = "Europe/Mariehamn"
|
1434
|
-
Europe_Minsk = "Europe/Minsk"
|
1435
|
-
Europe_Monaco = "Europe/Monaco"
|
1436
|
-
Europe_Moscow = "Europe/Moscow"
|
1437
|
-
Europe_Nicosia = "Europe/Nicosia"
|
1438
|
-
Europe_Oslo = "Europe/Oslo"
|
1439
|
-
Europe_Paris = "Europe/Paris"
|
1440
|
-
Europe_Podgorica = "Europe/Podgorica"
|
1441
|
-
Europe_Prague = "Europe/Prague"
|
1442
|
-
Europe_Riga = "Europe/Riga"
|
1443
|
-
Europe_Rome = "Europe/Rome"
|
1444
|
-
Europe_Samara = "Europe/Samara"
|
1445
|
-
Europe_San_Marino = "Europe/San_Marino"
|
1446
|
-
Europe_Sarajevo = "Europe/Sarajevo"
|
1447
|
-
Europe_Saratov = "Europe/Saratov"
|
1448
|
-
Europe_Simferopol = "Europe/Simferopol"
|
1449
|
-
Europe_Skopje = "Europe/Skopje"
|
1450
|
-
Europe_Sofia = "Europe/Sofia"
|
1451
|
-
Europe_Stockholm = "Europe/Stockholm"
|
1452
|
-
Europe_Tallinn = "Europe/Tallinn"
|
1453
|
-
Europe_Tirane = "Europe/Tirane"
|
1454
|
-
Europe_Tiraspol = "Europe/Tiraspol"
|
1455
|
-
Europe_Ulyanovsk = "Europe/Ulyanovsk"
|
1456
|
-
Europe_Uzhgorod = "Europe/Uzhgorod"
|
1457
|
-
Europe_Vaduz = "Europe/Vaduz"
|
1458
|
-
Europe_Vatican = "Europe/Vatican"
|
1459
|
-
Europe_Vienna = "Europe/Vienna"
|
1460
|
-
Europe_Vilnius = "Europe/Vilnius"
|
1461
|
-
Europe_Volgograd = "Europe/Volgograd"
|
1462
|
-
Europe_Warsaw = "Europe/Warsaw"
|
1463
|
-
Europe_Zagreb = "Europe/Zagreb"
|
1464
|
-
Europe_Zaporozhye = "Europe/Zaporozhye"
|
1465
|
-
Europe_Zurich = "Europe/Zurich"
|
1466
|
-
GB = "GB"
|
1467
|
-
GB_Eire = "GB-Eire"
|
1468
|
-
GMT = "GMT"
|
1469
|
-
GMT_0 = "GMT+0"
|
1470
|
-
GMT_0_1 = "GMT-0"
|
1471
|
-
GMT0 = "GMT0"
|
1472
|
-
Greenwich = "Greenwich"
|
1473
|
-
HST = "HST"
|
1474
|
-
Hongkong = "Hongkong"
|
1475
|
-
Iceland = "Iceland"
|
1476
|
-
Indian_Antananarivo = "Indian/Antananarivo"
|
1477
|
-
Indian_Chagos = "Indian/Chagos"
|
1478
|
-
Indian_Christmas = "Indian/Christmas"
|
1479
|
-
Indian_Cocos = "Indian/Cocos"
|
1480
|
-
Indian_Comoro = "Indian/Comoro"
|
1481
|
-
Indian_Kerguelen = "Indian/Kerguelen"
|
1482
|
-
Indian_Mahe = "Indian/Mahe"
|
1483
|
-
Indian_Maldives = "Indian/Maldives"
|
1484
|
-
Indian_Mauritius = "Indian/Mauritius"
|
1485
|
-
Indian_Mayotte = "Indian/Mayotte"
|
1486
|
-
Indian_Reunion = "Indian/Reunion"
|
1487
|
-
Iran = "Iran"
|
1488
|
-
Israel = "Israel"
|
1489
|
-
Jamaica = "Jamaica"
|
1490
|
-
Japan = "Japan"
|
1491
|
-
Kwajalein = "Kwajalein"
|
1492
|
-
Libya = "Libya"
|
1493
|
-
MET = "MET"
|
1494
|
-
MST = "MST"
|
1495
|
-
MST7MDT = "MST7MDT"
|
1496
|
-
Mexico_BajaNorte = "Mexico/BajaNorte"
|
1497
|
-
Mexico_BajaSur = "Mexico/BajaSur"
|
1498
|
-
Mexico_General = "Mexico/General"
|
1499
|
-
NZ = "NZ"
|
1500
|
-
NZ_CHAT = "NZ-CHAT"
|
1501
|
-
Navajo = "Navajo"
|
1502
|
-
PRC = "PRC"
|
1503
|
-
PST8PDT = "PST8PDT"
|
1504
|
-
Pacific_Apia = "Pacific/Apia"
|
1505
|
-
Pacific_Auckland = "Pacific/Auckland"
|
1506
|
-
Pacific_Bougainville = "Pacific/Bougainville"
|
1507
|
-
Pacific_Chatham = "Pacific/Chatham"
|
1508
|
-
Pacific_Chuuk = "Pacific/Chuuk"
|
1509
|
-
Pacific_Easter = "Pacific/Easter"
|
1510
|
-
Pacific_Efate = "Pacific/Efate"
|
1511
|
-
Pacific_Enderbury = "Pacific/Enderbury"
|
1512
|
-
Pacific_Fakaofo = "Pacific/Fakaofo"
|
1513
|
-
Pacific_Fiji = "Pacific/Fiji"
|
1514
|
-
Pacific_Funafuti = "Pacific/Funafuti"
|
1515
|
-
Pacific_Galapagos = "Pacific/Galapagos"
|
1516
|
-
Pacific_Gambier = "Pacific/Gambier"
|
1517
|
-
Pacific_Guadalcanal = "Pacific/Guadalcanal"
|
1518
|
-
Pacific_Guam = "Pacific/Guam"
|
1519
|
-
Pacific_Honolulu = "Pacific/Honolulu"
|
1520
|
-
Pacific_Johnston = "Pacific/Johnston"
|
1521
|
-
Pacific_Kanton = "Pacific/Kanton"
|
1522
|
-
Pacific_Kiritimati = "Pacific/Kiritimati"
|
1523
|
-
Pacific_Kosrae = "Pacific/Kosrae"
|
1524
|
-
Pacific_Kwajalein = "Pacific/Kwajalein"
|
1525
|
-
Pacific_Majuro = "Pacific/Majuro"
|
1526
|
-
Pacific_Marquesas = "Pacific/Marquesas"
|
1527
|
-
Pacific_Midway = "Pacific/Midway"
|
1528
|
-
Pacific_Nauru = "Pacific/Nauru"
|
1529
|
-
Pacific_Niue = "Pacific/Niue"
|
1530
|
-
Pacific_Norfolk = "Pacific/Norfolk"
|
1531
|
-
Pacific_Noumea = "Pacific/Noumea"
|
1532
|
-
Pacific_Pago_Pago = "Pacific/Pago_Pago"
|
1533
|
-
Pacific_Palau = "Pacific/Palau"
|
1534
|
-
Pacific_Pitcairn = "Pacific/Pitcairn"
|
1535
|
-
Pacific_Pohnpei = "Pacific/Pohnpei"
|
1536
|
-
Pacific_Ponape = "Pacific/Ponape"
|
1537
|
-
Pacific_Port_Moresby = "Pacific/Port_Moresby"
|
1538
|
-
Pacific_Rarotonga = "Pacific/Rarotonga"
|
1539
|
-
Pacific_Saipan = "Pacific/Saipan"
|
1540
|
-
Pacific_Samoa = "Pacific/Samoa"
|
1541
|
-
Pacific_Tahiti = "Pacific/Tahiti"
|
1542
|
-
Pacific_Tarawa = "Pacific/Tarawa"
|
1543
|
-
Pacific_Tongatapu = "Pacific/Tongatapu"
|
1544
|
-
Pacific_Truk = "Pacific/Truk"
|
1545
|
-
Pacific_Wake = "Pacific/Wake"
|
1546
|
-
Pacific_Wallis = "Pacific/Wallis"
|
1547
|
-
Pacific_Yap = "Pacific/Yap"
|
1548
|
-
Poland = "Poland"
|
1549
|
-
Portugal = "Portugal"
|
1550
|
-
ROC = "ROC"
|
1551
|
-
ROK = "ROK"
|
1552
|
-
Singapore = "Singapore"
|
1553
|
-
Turkey = "Turkey"
|
1554
|
-
UCT = "UCT"
|
1555
|
-
US_Alaska = "US/Alaska"
|
1556
|
-
US_Aleutian = "US/Aleutian"
|
1557
|
-
US_Arizona = "US/Arizona"
|
1558
|
-
US_Central = "US/Central"
|
1559
|
-
US_East_Indiana = "US/East-Indiana"
|
1560
|
-
US_Eastern = "US/Eastern"
|
1561
|
-
US_Hawaii = "US/Hawaii"
|
1562
|
-
US_Indiana_Starke = "US/Indiana-Starke"
|
1563
|
-
US_Michigan = "US/Michigan"
|
1564
|
-
US_Mountain = "US/Mountain"
|
1565
|
-
US_Pacific = "US/Pacific"
|
1566
|
-
US_Samoa = "US/Samoa"
|
1567
|
-
UTC = "UTC"
|
1568
|
-
Universal = "Universal"
|
1569
|
-
W_SU = "W-SU"
|
1570
|
-
WET = "WET"
|
1571
|
-
Zulu = "Zulu"
|
1572
|
-
|
1573
|
-
|
1574
1212
|
AccountName = str
|
1575
1213
|
|
1576
1214
|
|
@@ -1578,7 +1216,7 @@ class OptionLike(Struct, omit_defaults=True):
|
|
1578
1216
|
strike: Decimal
|
1579
1217
|
expiration: Optional[datetime] = None
|
1580
1218
|
|
1581
|
-
#
|
1219
|
+
# Constructor that takes all field titles as arguments for convenience
|
1582
1220
|
@classmethod
|
1583
1221
|
def new(
|
1584
1222
|
cls,
|
@@ -1597,7 +1235,7 @@ class OptionLike(Struct, omit_defaults=True):
|
|
1597
1235
|
class EventContractSeriesInstance2(Struct, omit_defaults=True):
|
1598
1236
|
OptionLike: OptionLike
|
1599
1237
|
|
1600
|
-
#
|
1238
|
+
# Constructor that takes all field titles as arguments for convenience
|
1601
1239
|
@classmethod
|
1602
1240
|
def new(
|
1603
1241
|
cls,
|
@@ -1611,6 +1249,33 @@ class EventContractSeriesInstance2(Struct, omit_defaults=True):
|
|
1611
1249
|
return f"EventContractSeriesInstance2(OptionLike={self.OptionLike})"
|
1612
1250
|
|
1613
1251
|
|
1252
|
+
class OptionsSeriesInstance(Struct, omit_defaults=True):
|
1253
|
+
"""
|
1254
|
+
A specific option from a series.
|
1255
|
+
"""
|
1256
|
+
|
1257
|
+
expiration: datetime
|
1258
|
+
put_or_call: PutOrCall
|
1259
|
+
strike: Decimal
|
1260
|
+
|
1261
|
+
# Constructor that takes all field titles as arguments for convenience
|
1262
|
+
@classmethod
|
1263
|
+
def new(
|
1264
|
+
cls,
|
1265
|
+
expiration: datetime,
|
1266
|
+
put_or_call: PutOrCall,
|
1267
|
+
strike: Decimal,
|
1268
|
+
):
|
1269
|
+
return cls(
|
1270
|
+
expiration,
|
1271
|
+
put_or_call,
|
1272
|
+
strike,
|
1273
|
+
)
|
1274
|
+
|
1275
|
+
def __str__(self) -> str:
|
1276
|
+
return f"OptionsSeriesInstance(expiration={self.expiration},put_or_call={self.put_or_call},strike={self.strike})"
|
1277
|
+
|
1278
|
+
|
1614
1279
|
class SpreadLeg(Struct, omit_defaults=True):
|
1615
1280
|
product: str
|
1616
1281
|
quantity: Annotated[
|
@@ -1623,7 +1288,7 @@ class SpreadLeg(Struct, omit_defaults=True):
|
|
1623
1288
|
Some spreads have different ratios for their legs, like buy 1 A, sell 2 B, buy 1 C; We would represent that with quantities in the legs: 1, -2, 1
|
1624
1289
|
"""
|
1625
1290
|
|
1626
|
-
#
|
1291
|
+
# Constructor that takes all field titles as arguments for convenience
|
1627
1292
|
@classmethod
|
1628
1293
|
def new(
|
1629
1294
|
cls,
|
@@ -1642,7 +1307,7 @@ class SpreadLeg(Struct, omit_defaults=True):
|
|
1642
1307
|
class Outcome(Struct, omit_defaults=True):
|
1643
1308
|
name: str
|
1644
1309
|
|
1645
|
-
#
|
1310
|
+
# Constructor that takes all field titles as arguments for convenience
|
1646
1311
|
@classmethod
|
1647
1312
|
def new(
|
1648
1313
|
cls,
|
@@ -1656,11 +1321,6 @@ class Outcome(Struct, omit_defaults=True):
|
|
1656
1321
|
return f"Outcome(name={self.name})"
|
1657
1322
|
|
1658
1323
|
|
1659
|
-
class PutOrCall(str, Enum):
|
1660
|
-
P = "P"
|
1661
|
-
C = "C"
|
1662
|
-
|
1663
|
-
|
1664
1324
|
class AberrantFill(Struct, omit_defaults=True):
|
1665
1325
|
"""
|
1666
1326
|
Fills which we received but couldn't parse fully, return details best effort
|
@@ -1669,9 +1329,9 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1669
1329
|
id: Annotated[str, Meta(title="fill_id")]
|
1670
1330
|
x: Annotated[str, Meta(title="execution_venue")]
|
1671
1331
|
a: Optional[Annotated[Optional[str], Meta(title="account")]] = None
|
1672
|
-
atn: Optional[Annotated[Optional[int], Meta(
|
1332
|
+
atn: Optional[Annotated[Optional[int], Meta(title="recv_time_ns")]] = None
|
1673
1333
|
ats: Optional[Annotated[Optional[int], Meta(title="recv_time")]] = None
|
1674
|
-
d: Optional[Annotated[Optional[OrderDir], Meta(title="
|
1334
|
+
d: Optional[Annotated[Optional[OrderDir], Meta(title="dir")]] = None
|
1675
1335
|
f: Optional[Annotated[Optional[Decimal], Meta(title="fee")]] = None
|
1676
1336
|
fu: Optional[Annotated[Optional[str], Meta(title="fee_currency")]] = None
|
1677
1337
|
k: Optional[Annotated[Optional[FillKind], Meta(title="fill_kind")]] = None
|
@@ -1679,12 +1339,12 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1679
1339
|
p: Optional[Annotated[Optional[Decimal], Meta(title="price")]] = None
|
1680
1340
|
q: Optional[Annotated[Optional[Decimal], Meta(title="quantity")]] = None
|
1681
1341
|
s: Optional[Annotated[Optional[str], Meta(title="symbol")]] = None
|
1682
|
-
tn: Optional[Annotated[Optional[int], Meta(
|
1342
|
+
tn: Optional[Annotated[Optional[int], Meta(title="trade_time_ns")]] = None
|
1683
1343
|
ts: Optional[Annotated[Optional[int], Meta(title="trade_time")]] = None
|
1684
1344
|
u: Optional[Annotated[Optional[UserId], Meta(title="trader")]] = None
|
1685
1345
|
xid: Optional[Annotated[Optional[str], Meta(title="exchange_fill_id")]] = None
|
1686
1346
|
|
1687
|
-
#
|
1347
|
+
# Constructor that takes all field titles as arguments for convenience
|
1688
1348
|
@classmethod
|
1689
1349
|
def new(
|
1690
1350
|
cls,
|
@@ -1693,7 +1353,7 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1693
1353
|
account: Optional[str] = None,
|
1694
1354
|
recv_time_ns: Optional[int] = None,
|
1695
1355
|
recv_time: Optional[int] = None,
|
1696
|
-
|
1356
|
+
dir: Optional[OrderDir] = None,
|
1697
1357
|
fee: Optional[Decimal] = None,
|
1698
1358
|
fee_currency: Optional[str] = None,
|
1699
1359
|
fill_kind: Optional[FillKind] = None,
|
@@ -1712,7 +1372,7 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1712
1372
|
account,
|
1713
1373
|
recv_time_ns,
|
1714
1374
|
recv_time,
|
1715
|
-
|
1375
|
+
dir,
|
1716
1376
|
fee,
|
1717
1377
|
fee_currency,
|
1718
1378
|
fill_kind,
|
@@ -1727,7 +1387,7 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1727
1387
|
)
|
1728
1388
|
|
1729
1389
|
def __str__(self) -> str:
|
1730
|
-
return f"AberrantFill(fill_id={self.id},execution_venue={self.x},account={self.a},recv_time_ns={self.atn},recv_time={self.ats},
|
1390
|
+
return f"AberrantFill(fill_id={self.id},execution_venue={self.x},account={self.a},recv_time_ns={self.atn},recv_time={self.ats},dir={self.d},fee={self.f},fee_currency={self.fu},fill_kind={self.k},order_id={self.oid},price={self.p},quantity={self.q},symbol={self.s},trade_time_ns={self.tn},trade_time={self.ts},trader={self.u},exchange_fill_id={self.xid})"
|
1731
1391
|
|
1732
1392
|
@property
|
1733
1393
|
def fill_id(self) -> str:
|
@@ -1770,11 +1430,11 @@ class AberrantFill(Struct, omit_defaults=True):
|
|
1770
1430
|
self.ats = value
|
1771
1431
|
|
1772
1432
|
@property
|
1773
|
-
def
|
1433
|
+
def dir(self) -> Optional[OrderDir]:
|
1774
1434
|
return self.d
|
1775
1435
|
|
1776
|
-
@
|
1777
|
-
def
|
1436
|
+
@dir.setter
|
1437
|
+
def dir(self, value: Optional[OrderDir]) -> None:
|
1778
1438
|
self.d = value
|
1779
1439
|
|
1780
1440
|
@property
|
@@ -1871,7 +1531,7 @@ class CancelReject(Struct, omit_defaults=True):
|
|
1871
1531
|
xid: str
|
1872
1532
|
rm: Optional[str] = None
|
1873
1533
|
|
1874
|
-
#
|
1534
|
+
# Constructor that takes all field titles as arguments for convenience
|
1875
1535
|
@classmethod
|
1876
1536
|
def new(
|
1877
1537
|
cls,
|
@@ -1893,7 +1553,7 @@ class CptyLoginRequest(Struct, omit_defaults=True):
|
|
1893
1553
|
account: str
|
1894
1554
|
trader: UserId
|
1895
1555
|
|
1896
|
-
#
|
1556
|
+
# Constructor that takes all field titles as arguments for convenience
|
1897
1557
|
@classmethod
|
1898
1558
|
def new(
|
1899
1559
|
cls,
|
@@ -1934,7 +1594,7 @@ class ExecutionInfo(Struct, omit_defaults=True):
|
|
1934
1594
|
initial_margin: Optional[Decimal] = None
|
1935
1595
|
maintenance_margin: Optional[Decimal] = None
|
1936
1596
|
|
1937
|
-
#
|
1597
|
+
# Constructor that takes all field titles as arguments for convenience
|
1938
1598
|
@classmethod
|
1939
1599
|
def new(
|
1940
1600
|
cls,
|
@@ -1965,7 +1625,7 @@ class ExecutionInfo(Struct, omit_defaults=True):
|
|
1965
1625
|
|
1966
1626
|
|
1967
1627
|
class Fill(Struct, omit_defaults=True):
|
1968
|
-
d: Annotated[OrderDir, Meta(title="
|
1628
|
+
d: Annotated[OrderDir, Meta(title="dir")]
|
1969
1629
|
id: Annotated[str, Meta(title="fill_id")]
|
1970
1630
|
k: Annotated[FillKind, Meta(title="fill_kind")]
|
1971
1631
|
p: Annotated[Decimal, Meta(title="price")]
|
@@ -1982,7 +1642,7 @@ class Fill(Struct, omit_defaults=True):
|
|
1982
1642
|
x: Annotated[str, Meta(title="execution_venue")]
|
1983
1643
|
a: Optional[Annotated[Optional[str], Meta(title="account")]] = None
|
1984
1644
|
agg: Optional[Annotated[int, Meta(title="is_taker")]] = None
|
1985
|
-
atn: Optional[Annotated[Optional[int], Meta(
|
1645
|
+
atn: Optional[Annotated[Optional[int], Meta(title="recv_time_ns")]] = None
|
1986
1646
|
ats: Optional[
|
1987
1647
|
Annotated[
|
1988
1648
|
Optional[int],
|
@@ -2012,11 +1672,11 @@ class Fill(Struct, omit_defaults=True):
|
|
2012
1672
|
u: Optional[Annotated[Optional[UserId], Meta(title="trader")]] = None
|
2013
1673
|
xid: Optional[Annotated[Optional[str], Meta(title="exchange_fill_id")]] = None
|
2014
1674
|
|
2015
|
-
#
|
1675
|
+
# Constructor that takes all field titles as arguments for convenience
|
2016
1676
|
@classmethod
|
2017
1677
|
def new(
|
2018
1678
|
cls,
|
2019
|
-
|
1679
|
+
dir: OrderDir,
|
2020
1680
|
fill_id: str,
|
2021
1681
|
fill_kind: FillKind,
|
2022
1682
|
price: Decimal,
|
@@ -2036,7 +1696,7 @@ class Fill(Struct, omit_defaults=True):
|
|
2036
1696
|
exchange_fill_id: Optional[str] = None,
|
2037
1697
|
):
|
2038
1698
|
return cls(
|
2039
|
-
|
1699
|
+
dir,
|
2040
1700
|
fill_id,
|
2041
1701
|
fill_kind,
|
2042
1702
|
price,
|
@@ -2057,14 +1717,14 @@ class Fill(Struct, omit_defaults=True):
|
|
2057
1717
|
)
|
2058
1718
|
|
2059
1719
|
def __str__(self) -> str:
|
2060
|
-
return f"Fill(
|
1720
|
+
return f"Fill(dir={self.d},fill_id={self.id},fill_kind={self.k},price={self.p},quantity={self.q},symbol={self.s},trade_time_ns={self.tn},trade_time={self.ts},execution_venue={self.x},account={self.a},is_taker={self.agg},recv_time_ns={self.atn},recv_time={self.ats},fee={self.f},fee_currency={self.fu},order_id={self.oid},trader={self.u},exchange_fill_id={self.xid})"
|
2061
1721
|
|
2062
1722
|
@property
|
2063
|
-
def
|
1723
|
+
def dir(self) -> OrderDir:
|
2064
1724
|
return self.d
|
2065
1725
|
|
2066
|
-
@
|
2067
|
-
def
|
1726
|
+
@dir.setter
|
1727
|
+
def dir(self, value: OrderDir) -> None:
|
2068
1728
|
self.d = value
|
2069
1729
|
|
2070
1730
|
@property
|
@@ -2204,11 +1864,90 @@ class Fill(Struct, omit_defaults=True):
|
|
2204
1864
|
self.xid = value
|
2205
1865
|
|
2206
1866
|
|
1867
|
+
class OptionsContract(Struct, omit_defaults=True):
|
1868
|
+
expiration: date
|
1869
|
+
put_or_call: PutOrCall
|
1870
|
+
strike: Decimal
|
1871
|
+
ticker: Ticker
|
1872
|
+
underlying: str
|
1873
|
+
in_the_money: Optional[bool] = None
|
1874
|
+
|
1875
|
+
# Constructor that takes all field titles as arguments for convenience
|
1876
|
+
@classmethod
|
1877
|
+
def new(
|
1878
|
+
cls,
|
1879
|
+
expiration: date,
|
1880
|
+
put_or_call: PutOrCall,
|
1881
|
+
strike: Decimal,
|
1882
|
+
ticker: Ticker,
|
1883
|
+
underlying: str,
|
1884
|
+
in_the_money: Optional[bool] = None,
|
1885
|
+
):
|
1886
|
+
return cls(
|
1887
|
+
expiration,
|
1888
|
+
put_or_call,
|
1889
|
+
strike,
|
1890
|
+
ticker,
|
1891
|
+
underlying,
|
1892
|
+
in_the_money,
|
1893
|
+
)
|
1894
|
+
|
1895
|
+
def __str__(self) -> str:
|
1896
|
+
return f"OptionsContract(expiration={self.expiration},put_or_call={self.put_or_call},strike={self.strike},ticker={self.ticker},underlying={self.underlying},in_the_money={self.in_the_money})"
|
1897
|
+
|
1898
|
+
|
1899
|
+
class OptionsGreeks(Struct, omit_defaults=True):
|
1900
|
+
delta: Decimal
|
1901
|
+
expiration: date
|
1902
|
+
gamma: Decimal
|
1903
|
+
implied_volatility: Decimal
|
1904
|
+
put_or_call: PutOrCall
|
1905
|
+
rho: Decimal
|
1906
|
+
strike: Decimal
|
1907
|
+
symbol: str
|
1908
|
+
theta: Decimal
|
1909
|
+
underlying: str
|
1910
|
+
vega: Decimal
|
1911
|
+
|
1912
|
+
# Constructor that takes all field titles as arguments for convenience
|
1913
|
+
@classmethod
|
1914
|
+
def new(
|
1915
|
+
cls,
|
1916
|
+
delta: Decimal,
|
1917
|
+
expiration: date,
|
1918
|
+
gamma: Decimal,
|
1919
|
+
implied_volatility: Decimal,
|
1920
|
+
put_or_call: PutOrCall,
|
1921
|
+
rho: Decimal,
|
1922
|
+
strike: Decimal,
|
1923
|
+
symbol: str,
|
1924
|
+
theta: Decimal,
|
1925
|
+
underlying: str,
|
1926
|
+
vega: Decimal,
|
1927
|
+
):
|
1928
|
+
return cls(
|
1929
|
+
delta,
|
1930
|
+
expiration,
|
1931
|
+
gamma,
|
1932
|
+
implied_volatility,
|
1933
|
+
put_or_call,
|
1934
|
+
rho,
|
1935
|
+
strike,
|
1936
|
+
symbol,
|
1937
|
+
theta,
|
1938
|
+
underlying,
|
1939
|
+
vega,
|
1940
|
+
)
|
1941
|
+
|
1942
|
+
def __str__(self) -> str:
|
1943
|
+
return f"OptionsGreeks(delta={self.delta},expiration={self.expiration},gamma={self.gamma},implied_volatility={self.implied_volatility},put_or_call={self.put_or_call},rho={self.rho},strike={self.strike},symbol={self.symbol},theta={self.theta},underlying={self.underlying},vega={self.vega})"
|
1944
|
+
|
1945
|
+
|
2207
1946
|
class OptionsSeriesInfo(Struct, omit_defaults=True):
|
2208
1947
|
derivative_kind: DerivativeKind
|
2209
1948
|
exercise_type: OptionsExerciseType
|
2210
1949
|
expiration_time_of_day: time
|
2211
|
-
expiration_time_zone:
|
1950
|
+
expiration_time_zone: str
|
2212
1951
|
is_cash_settled: bool
|
2213
1952
|
multiplier: Decimal
|
2214
1953
|
options_series: str
|
@@ -2217,14 +1956,14 @@ class OptionsSeriesInfo(Struct, omit_defaults=True):
|
|
2217
1956
|
underlying: str
|
2218
1957
|
venue_discriminant: Optional[str] = None
|
2219
1958
|
|
2220
|
-
#
|
1959
|
+
# Constructor that takes all field titles as arguments for convenience
|
2221
1960
|
@classmethod
|
2222
1961
|
def new(
|
2223
1962
|
cls,
|
2224
1963
|
derivative_kind: DerivativeKind,
|
2225
1964
|
exercise_type: OptionsExerciseType,
|
2226
1965
|
expiration_time_of_day: time,
|
2227
|
-
expiration_time_zone:
|
1966
|
+
expiration_time_zone: str,
|
2228
1967
|
is_cash_settled: bool,
|
2229
1968
|
multiplier: Decimal,
|
2230
1969
|
options_series: str,
|
@@ -2255,7 +1994,7 @@ class OrderAck(Struct, omit_defaults=True):
|
|
2255
1994
|
id: Annotated[OrderId, Meta(title="order_id")]
|
2256
1995
|
eid: Optional[Annotated[Optional[str], Meta(title="exchange_order_id")]] = None
|
2257
1996
|
|
2258
|
-
#
|
1997
|
+
# Constructor that takes all field titles as arguments for convenience
|
2259
1998
|
@classmethod
|
2260
1999
|
def new(
|
2261
2000
|
cls,
|
@@ -2291,7 +2030,7 @@ class OrderCanceled(Struct, omit_defaults=True):
|
|
2291
2030
|
id: OrderId
|
2292
2031
|
xid: Optional[str] = None
|
2293
2032
|
|
2294
|
-
#
|
2033
|
+
# Constructor that takes all field titles as arguments for convenience
|
2295
2034
|
@classmethod
|
2296
2035
|
def new(
|
2297
2036
|
cls,
|
@@ -2311,7 +2050,7 @@ class OrderCanceling(Struct, omit_defaults=True):
|
|
2311
2050
|
id: OrderId
|
2312
2051
|
xid: Optional[str] = None
|
2313
2052
|
|
2314
|
-
#
|
2053
|
+
# Constructor that takes all field titles as arguments for convenience
|
2315
2054
|
@classmethod
|
2316
2055
|
def new(
|
2317
2056
|
cls,
|
@@ -2329,25 +2068,41 @@ class OrderCanceling(Struct, omit_defaults=True):
|
|
2329
2068
|
|
2330
2069
|
class OrderReject(Struct, omit_defaults=True):
|
2331
2070
|
id: OrderId
|
2332
|
-
r: OrderRejectReason
|
2333
|
-
rm: Optional[str] = None
|
2071
|
+
r: Annotated[OrderRejectReason, Meta(title="reject_reason")]
|
2072
|
+
rm: Optional[Annotated[Optional[str], Meta(title="message")]] = None
|
2334
2073
|
|
2335
|
-
#
|
2074
|
+
# Constructor that takes all field titles as arguments for convenience
|
2336
2075
|
@classmethod
|
2337
2076
|
def new(
|
2338
2077
|
cls,
|
2339
2078
|
id: OrderId,
|
2340
|
-
|
2341
|
-
|
2079
|
+
reject_reason: OrderRejectReason,
|
2080
|
+
message: Optional[str] = None,
|
2342
2081
|
):
|
2343
2082
|
return cls(
|
2344
2083
|
id,
|
2345
|
-
|
2346
|
-
|
2084
|
+
reject_reason,
|
2085
|
+
message,
|
2347
2086
|
)
|
2348
2087
|
|
2349
2088
|
def __str__(self) -> str:
|
2350
|
-
return f"OrderReject(id={self.id},
|
2089
|
+
return f"OrderReject(id={self.id},reject_reason={self.r},message={self.rm})"
|
2090
|
+
|
2091
|
+
@property
|
2092
|
+
def reject_reason(self) -> OrderRejectReason:
|
2093
|
+
return self.r
|
2094
|
+
|
2095
|
+
@reject_reason.setter
|
2096
|
+
def reject_reason(self, value: OrderRejectReason) -> None:
|
2097
|
+
self.r = value
|
2098
|
+
|
2099
|
+
@property
|
2100
|
+
def message(self) -> Optional[str]:
|
2101
|
+
return self.rm
|
2102
|
+
|
2103
|
+
@message.setter
|
2104
|
+
def message(self, value: Optional[str]) -> None:
|
2105
|
+
self.rm = value
|
2351
2106
|
|
2352
2107
|
|
2353
2108
|
class SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString1(
|
@@ -2355,7 +2110,7 @@ class SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString1(
|
|
2355
2110
|
):
|
2356
2111
|
snapshot: Dict[str, SnapshotOrUpdateForStringAndString]
|
2357
2112
|
|
2358
|
-
#
|
2113
|
+
# Constructor that takes all field titles as arguments for convenience
|
2359
2114
|
@classmethod
|
2360
2115
|
def new(
|
2361
2116
|
cls,
|
@@ -2377,7 +2132,7 @@ class SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString2(
|
|
2377
2132
|
):
|
2378
2133
|
updates: List[Update]
|
2379
2134
|
|
2380
|
-
#
|
2135
|
+
# Constructor that takes all field titles as arguments for convenience
|
2381
2136
|
@classmethod
|
2382
2137
|
def new(
|
2383
2138
|
cls,
|
@@ -2400,7 +2155,7 @@ SnapshotOrUpdateForAliasKindAndSnapshotOrUpdateForStringAndString = Union[
|
|
2400
2155
|
class SnapshotOrUpdateForStringAndOptionsSeriesInfo1(Struct, omit_defaults=True):
|
2401
2156
|
snapshot: Dict[str, OptionsSeriesInfo]
|
2402
2157
|
|
2403
|
-
#
|
2158
|
+
# Constructor that takes all field titles as arguments for convenience
|
2404
2159
|
@classmethod
|
2405
2160
|
def new(
|
2406
2161
|
cls,
|
@@ -2422,7 +2177,7 @@ Update1 = List[Union[str, Optional[OptionsSeriesInfo]]]
|
|
2422
2177
|
class SnapshotOrUpdateForStringAndOptionsSeriesInfo2(Struct, omit_defaults=True):
|
2423
2178
|
updates: List[Update1]
|
2424
2179
|
|
2425
|
-
#
|
2180
|
+
# Constructor that takes all field titles as arguments for convenience
|
2426
2181
|
@classmethod
|
2427
2182
|
def new(
|
2428
2183
|
cls,
|
@@ -2442,49 +2197,58 @@ SnapshotOrUpdateForStringAndOptionsSeriesInfo = Union[
|
|
2442
2197
|
]
|
2443
2198
|
|
2444
2199
|
|
2445
|
-
class
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2449
|
-
interval: HumanDuration
|
2450
|
-
quantity: Decimal
|
2451
|
-
reject_lockout: HumanDuration
|
2452
|
-
symbol: str
|
2453
|
-
take_through_frac: Optional[Decimal] = None
|
2200
|
+
class SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo1(
|
2201
|
+
Struct
|
2202
|
+
):
|
2203
|
+
snapshot: Dict[str, SnapshotOrUpdateForStringAndProductCatalogInfo]
|
2454
2204
|
|
2455
|
-
#
|
2205
|
+
# Constructor that takes all field titles as arguments for convenience
|
2456
2206
|
@classmethod
|
2457
2207
|
def new(
|
2458
2208
|
cls,
|
2459
|
-
|
2460
|
-
end_time: datetime,
|
2461
|
-
execution_venue: str,
|
2462
|
-
interval: HumanDuration,
|
2463
|
-
quantity: Decimal,
|
2464
|
-
reject_lockout: HumanDuration,
|
2465
|
-
symbol: str,
|
2466
|
-
take_through_frac: Optional[Decimal] = None,
|
2209
|
+
snapshot: Dict[str, SnapshotOrUpdateForStringAndProductCatalogInfo],
|
2467
2210
|
):
|
2468
2211
|
return cls(
|
2469
|
-
|
2470
|
-
|
2471
|
-
|
2472
|
-
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2212
|
+
snapshot,
|
2213
|
+
)
|
2214
|
+
|
2215
|
+
def __str__(self) -> str:
|
2216
|
+
return f"SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo1(snapshot={self.snapshot})"
|
2217
|
+
|
2218
|
+
|
2219
|
+
Update4 = List[Union[str, Optional[SnapshotOrUpdateForStringAndProductCatalogInfo]]]
|
2220
|
+
|
2221
|
+
|
2222
|
+
class SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo2(
|
2223
|
+
Struct
|
2224
|
+
):
|
2225
|
+
updates: List[Update4]
|
2226
|
+
|
2227
|
+
# Constructor that takes all field titles as arguments for convenience
|
2228
|
+
@classmethod
|
2229
|
+
def new(
|
2230
|
+
cls,
|
2231
|
+
updates: List[Update4],
|
2232
|
+
):
|
2233
|
+
return cls(
|
2234
|
+
updates,
|
2477
2235
|
)
|
2478
2236
|
|
2479
2237
|
def __str__(self) -> str:
|
2480
|
-
return f"
|
2238
|
+
return f"SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo2(updates={self.updates})"
|
2239
|
+
|
2240
|
+
|
2241
|
+
SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo = Union[
|
2242
|
+
SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo1,
|
2243
|
+
SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndProductCatalogInfo2,
|
2244
|
+
]
|
2481
2245
|
|
2482
2246
|
|
2483
2247
|
class Account(Struct, omit_defaults=True):
|
2484
2248
|
id: str
|
2485
2249
|
name: AccountName
|
2486
2250
|
|
2487
|
-
#
|
2251
|
+
# Constructor that takes all field titles as arguments for convenience
|
2488
2252
|
@classmethod
|
2489
2253
|
def new(
|
2490
2254
|
cls,
|
@@ -2504,7 +2268,7 @@ class FutureSpread(Struct, omit_defaults=True):
|
|
2504
2268
|
legs: List[SpreadLeg]
|
2505
2269
|
product_type: Literal["FutureSpread"]
|
2506
2270
|
|
2507
|
-
#
|
2271
|
+
# Constructor that takes all field titles as arguments for convenience
|
2508
2272
|
@classmethod
|
2509
2273
|
def new(
|
2510
2274
|
cls,
|
@@ -2520,10 +2284,33 @@ class FutureSpread(Struct, omit_defaults=True):
|
|
2520
2284
|
return f"FutureSpread(legs={self.legs},product_type={self.product_type})"
|
2521
2285
|
|
2522
2286
|
|
2287
|
+
class Option(Struct, omit_defaults=True):
|
2288
|
+
instance: OptionsSeriesInstance
|
2289
|
+
product_type: Literal["Option"]
|
2290
|
+
series: str
|
2291
|
+
|
2292
|
+
# Constructor that takes all field titles as arguments for convenience
|
2293
|
+
@classmethod
|
2294
|
+
def new(
|
2295
|
+
cls,
|
2296
|
+
instance: OptionsSeriesInstance,
|
2297
|
+
product_type: Literal["Option"],
|
2298
|
+
series: str,
|
2299
|
+
):
|
2300
|
+
return cls(
|
2301
|
+
instance,
|
2302
|
+
product_type,
|
2303
|
+
series,
|
2304
|
+
)
|
2305
|
+
|
2306
|
+
def __str__(self) -> str:
|
2307
|
+
return f"Option(instance={self.instance},product_type={self.product_type},series={self.series})"
|
2308
|
+
|
2309
|
+
|
2523
2310
|
class SnapshotOrUpdateForStringAndExecutionInfo1(Struct, omit_defaults=True):
|
2524
2311
|
snapshot: Dict[str, ExecutionInfo]
|
2525
2312
|
|
2526
|
-
#
|
2313
|
+
# Constructor that takes all field titles as arguments for convenience
|
2527
2314
|
@classmethod
|
2528
2315
|
def new(
|
2529
2316
|
cls,
|
@@ -2537,17 +2324,17 @@ class SnapshotOrUpdateForStringAndExecutionInfo1(Struct, omit_defaults=True):
|
|
2537
2324
|
return f"SnapshotOrUpdateForStringAndExecutionInfo1(snapshot={self.snapshot})"
|
2538
2325
|
|
2539
2326
|
|
2540
|
-
|
2327
|
+
Update5 = List[Union[str, Optional[ExecutionInfo]]]
|
2541
2328
|
|
2542
2329
|
|
2543
2330
|
class SnapshotOrUpdateForStringAndExecutionInfo2(Struct, omit_defaults=True):
|
2544
|
-
updates: List[
|
2331
|
+
updates: List[Update5]
|
2545
2332
|
|
2546
|
-
#
|
2333
|
+
# Constructor that takes all field titles as arguments for convenience
|
2547
2334
|
@classmethod
|
2548
2335
|
def new(
|
2549
2336
|
cls,
|
2550
|
-
updates: List[
|
2337
|
+
updates: List[Update5],
|
2551
2338
|
):
|
2552
2339
|
return cls(
|
2553
2340
|
updates,
|
@@ -2566,7 +2353,7 @@ SnapshotOrUpdateForStringAndExecutionInfo = Union[
|
|
2566
2353
|
class Enumerated(Struct, omit_defaults=True):
|
2567
2354
|
outcome: Outcome
|
2568
2355
|
|
2569
|
-
#
|
2356
|
+
# Constructor that takes all field titles as arguments for convenience
|
2570
2357
|
@classmethod
|
2571
2358
|
def new(
|
2572
2359
|
cls,
|
@@ -2583,7 +2370,7 @@ class Enumerated(Struct, omit_defaults=True):
|
|
2583
2370
|
class EventContractSeriesInstance1(Struct, omit_defaults=True):
|
2584
2371
|
Enumerated: Enumerated
|
2585
2372
|
|
2586
|
-
#
|
2373
|
+
# Constructor that takes all field titles as arguments for convenience
|
2587
2374
|
@classmethod
|
2588
2375
|
def new(
|
2589
2376
|
cls,
|
@@ -2602,39 +2389,12 @@ EventContractSeriesInstance = Union[
|
|
2602
2389
|
]
|
2603
2390
|
|
2604
2391
|
|
2605
|
-
class OptionsSeriesInstance(Struct, omit_defaults=True):
|
2606
|
-
"""
|
2607
|
-
A specific option from a series.
|
2608
|
-
"""
|
2609
|
-
|
2610
|
-
expiration: datetime
|
2611
|
-
put_or_call: PutOrCall
|
2612
|
-
strike: Decimal
|
2613
|
-
|
2614
|
-
# below is a constructor that takes all field titles as arguments for convenience
|
2615
|
-
@classmethod
|
2616
|
-
def new(
|
2617
|
-
cls,
|
2618
|
-
expiration: datetime,
|
2619
|
-
put_or_call: PutOrCall,
|
2620
|
-
strike: Decimal,
|
2621
|
-
):
|
2622
|
-
return cls(
|
2623
|
-
expiration,
|
2624
|
-
put_or_call,
|
2625
|
-
strike,
|
2626
|
-
)
|
2627
|
-
|
2628
|
-
def __str__(self) -> str:
|
2629
|
-
return f"OptionsSeriesInstance(expiration={self.expiration},put_or_call={self.put_or_call},strike={self.strike})"
|
2630
|
-
|
2631
|
-
|
2632
2392
|
class AccountWithPermissions(Struct, omit_defaults=True):
|
2633
2393
|
account: Account
|
2634
2394
|
permissions: AccountPermissions
|
2635
2395
|
trader: UserId
|
2636
2396
|
|
2637
|
-
#
|
2397
|
+
# Constructor that takes all field titles as arguments for convenience
|
2638
2398
|
@classmethod
|
2639
2399
|
def new(
|
2640
2400
|
cls,
|
@@ -2657,7 +2417,7 @@ class SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndExecutionInfo1(
|
|
2657
2417
|
):
|
2658
2418
|
snapshot: Dict[str, SnapshotOrUpdateForStringAndExecutionInfo]
|
2659
2419
|
|
2660
|
-
#
|
2420
|
+
# Constructor that takes all field titles as arguments for convenience
|
2661
2421
|
@classmethod
|
2662
2422
|
def new(
|
2663
2423
|
cls,
|
@@ -2679,7 +2439,7 @@ class SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndExecutionInfo2(
|
|
2679
2439
|
):
|
2680
2440
|
updates: List[Update3]
|
2681
2441
|
|
2682
|
-
#
|
2442
|
+
# Constructor that takes all field titles as arguments for convenience
|
2683
2443
|
@classmethod
|
2684
2444
|
def new(
|
2685
2445
|
cls,
|
@@ -2699,35 +2459,12 @@ SnapshotOrUpdateForStringAndSnapshotOrUpdateForStringAndExecutionInfo = Union[
|
|
2699
2459
|
]
|
2700
2460
|
|
2701
2461
|
|
2702
|
-
class Option(Struct, omit_defaults=True):
|
2703
|
-
instance: OptionsSeriesInstance
|
2704
|
-
product_type: Literal["Option"]
|
2705
|
-
series: str
|
2706
|
-
|
2707
|
-
# below is a constructor that takes all field titles as arguments for convenience
|
2708
|
-
@classmethod
|
2709
|
-
def new(
|
2710
|
-
cls,
|
2711
|
-
instance: OptionsSeriesInstance,
|
2712
|
-
product_type: Literal["Option"],
|
2713
|
-
series: str,
|
2714
|
-
):
|
2715
|
-
return cls(
|
2716
|
-
instance,
|
2717
|
-
product_type,
|
2718
|
-
series,
|
2719
|
-
)
|
2720
|
-
|
2721
|
-
def __str__(self) -> str:
|
2722
|
-
return f"Option(instance={self.instance},product_type={self.product_type},series={self.series})"
|
2723
|
-
|
2724
|
-
|
2725
2462
|
class EventContract(Struct, omit_defaults=True):
|
2726
2463
|
instance: EventContractSeriesInstance
|
2727
2464
|
product_type: Literal["EventContract"]
|
2728
2465
|
series: str
|
2729
2466
|
|
2730
|
-
#
|
2467
|
+
# Constructor that takes all field titles as arguments for convenience
|
2731
2468
|
@classmethod
|
2732
2469
|
def new(
|
2733
2470
|
cls,
|
@@ -2765,7 +2502,7 @@ class ProductInfo(Struct, omit_defaults=True):
|
|
2765
2502
|
price_display_format: Optional[PriceDisplayFormat] = None
|
2766
2503
|
primary_venue: Optional[str] = None
|
2767
2504
|
|
2768
|
-
#
|
2505
|
+
# Constructor that takes all field titles as arguments for convenience
|
2769
2506
|
@classmethod
|
2770
2507
|
def new(
|
2771
2508
|
cls,
|
@@ -2786,7 +2523,7 @@ class ProductInfo(Struct, omit_defaults=True):
|
|
2786
2523
|
class SnapshotOrUpdateForStringAndProductInfo1(Struct, omit_defaults=True):
|
2787
2524
|
snapshot: Dict[str, ProductInfo]
|
2788
2525
|
|
2789
|
-
#
|
2526
|
+
# Constructor that takes all field titles as arguments for convenience
|
2790
2527
|
@classmethod
|
2791
2528
|
def new(
|
2792
2529
|
cls,
|
@@ -2806,7 +2543,7 @@ Update2 = List[Union[str, Optional[ProductInfo]]]
|
|
2806
2543
|
class SnapshotOrUpdateForStringAndProductInfo2(Struct, omit_defaults=True):
|
2807
2544
|
updates: List[Update2]
|
2808
2545
|
|
2809
|
-
#
|
2546
|
+
# Constructor that takes all field titles as arguments for convenience
|
2810
2547
|
@classmethod
|
2811
2548
|
def new(
|
2812
2549
|
cls,
|