@@ -253,86 +253,92 @@ def from_dict(d):
253
253
product_code = d .get ("product_code" ),
254
254
)
255
255
256
- @modelclass
257
- class FuturesSnapshotDetails :
258
- open_interest : Optional [int ] = None
259
- settlement_date : Optional [int ] = None
260
-
261
- @modelclass
262
- class FuturesSnapshotMinute :
263
- close : Optional [float ] = None
264
- high : Optional [float ] = None
265
- last_updated : Optional [int ] = None
266
- low : Optional [float ] = None
267
- open : Optional [float ] = None
268
- volume : Optional [float ] = None
269
-
270
- @modelclass
271
- class FuturesSnapshotQuote :
272
- ask : Optional [float ] = None
273
- ask_size : Optional [int ] = None
274
- ask_timestamp : Optional [int ] = None
275
- bid : Optional [float ] = None
276
- bid_size : Optional [int ] = None
277
- bid_timestamp : Optional [int ] = None
278
- last_updated : Optional [int ] = None
279
-
280
- @modelclass
281
- class FuturesSnapshotTrade :
282
- last_updated : Optional [int ] = None
283
- price : Optional [float ] = None
284
- size : Optional [int ] = None
285
-
286
- @modelclass
287
- class FuturesSnapshotSession :
288
- change : Optional [float ] = None
289
- change_percent : Optional [float ] = None
290
- close : Optional [float ] = None
291
- high : Optional [float ] = None
292
- low : Optional [float ] = None
293
- open : Optional [float ] = None
294
- previous_settlement : Optional [float ] = None
295
- settlement_price : Optional [float ] = None
296
- volume : Optional [float ] = None
297
-
298
- @modelclass
299
- class FuturesSnapshot :
300
- ticker : Optional [str ] = None
301
- product_code : Optional [str ] = None
302
- details : Optional [FuturesSnapshotDetails ] = None
303
- last_minute : Optional [FuturesSnapshotMinute ] = None
304
- last_quote : Optional [FuturesSnapshotQuote ] = None
305
- last_trade : Optional [FuturesSnapshotTrade ] = None
306
- session : Optional [FuturesSnapshotSession ] = None
307
-
308
- @staticmethod
309
- def from_dict (d ):
310
- return FuturesSnapshot (
311
- ticker = d .get ("ticker" ),
312
- product_code = d .get ("product_code" ),
313
- details = (
314
- FuturesSnapshotDetails .from_dict (d .get ("details" , {}))
315
- if d .get ("details" )
316
- else None
317
- ),
318
- last_minute = (
319
- FuturesSnapshotMinute .from_dict (d .get ("last_minute" , {}))
320
- if d .get ("last_minute" )
321
- else None
322
- ),
323
- last_quote = (
324
- FuturesSnapshotQuote .from_dict (d .get ("last_quote" , {}))
325
- if d .get ("last_quote" )
326
- else None
327
- ),
328
- last_trade = (
329
- FuturesSnapshotTrade .from_dict (d .get ("last_trade" , {}))
330
- if d .get ("last_trade" )
331
- else None
332
- ),
333
- session = (
334
- FuturesSnapshotSession .from_dict (d .get ("session" , {}))
335
- if d .get ("session" )
336
- else None
337
- ),
338
- )
256
+
257
+ @modelclass
258
+ class FuturesSnapshotDetails :
259
+ open_interest : Optional [int ] = None
260
+ settlement_date : Optional [int ] = None
261
+
262
+
263
+ @modelclass
264
+ class FuturesSnapshotMinute :
265
+ close : Optional [float ] = None
266
+ high : Optional [float ] = None
267
+ last_updated : Optional [int ] = None
268
+ low : Optional [float ] = None
269
+ open : Optional [float ] = None
270
+ volume : Optional [float ] = None
271
+
272
+
273
+ @modelclass
274
+ class FuturesSnapshotQuote :
275
+ ask : Optional [float ] = None
276
+ ask_size : Optional [int ] = None
277
+ ask_timestamp : Optional [int ] = None
278
+ bid : Optional [float ] = None
279
+ bid_size : Optional [int ] = None
280
+ bid_timestamp : Optional [int ] = None
281
+ last_updated : Optional [int ] = None
282
+
283
+
284
+ @modelclass
285
+ class FuturesSnapshotTrade :
286
+ last_updated : Optional [int ] = None
287
+ price : Optional [float ] = None
288
+ size : Optional [int ] = None
289
+
290
+
291
+ @modelclass
292
+ class FuturesSnapshotSession :
293
+ change : Optional [float ] = None
294
+ change_percent : Optional [float ] = None
295
+ close : Optional [float ] = None
296
+ high : Optional [float ] = None
297
+ low : Optional [float ] = None
298
+ open : Optional [float ] = None
299
+ previous_settlement : Optional [float ] = None
300
+ settlement_price : Optional [float ] = None
301
+ volume : Optional [float ] = None
302
+
303
+
304
+ @modelclass
305
+ class FuturesSnapshot :
306
+ ticker : Optional [str ] = None
307
+ product_code : Optional [str ] = None
308
+ details : Optional [FuturesSnapshotDetails ] = None
309
+ last_minute : Optional [FuturesSnapshotMinute ] = None
310
+ last_quote : Optional [FuturesSnapshotQuote ] = None
311
+ last_trade : Optional [FuturesSnapshotTrade ] = None
312
+ session : Optional [FuturesSnapshotSession ] = None
313
+
314
+ @staticmethod
315
+ def from_dict (d ):
316
+ return FuturesSnapshot (
317
+ ticker = d .get ("ticker" ),
318
+ product_code = d .get ("product_code" ),
319
+ details = (
320
+ FuturesSnapshotDetails .from_dict (d .get ("details" , {}))
321
+ if d .get ("details" )
322
+ else None
323
+ ),
324
+ last_minute = (
325
+ FuturesSnapshotMinute .from_dict (d .get ("last_minute" , {}))
326
+ if d .get ("last_minute" )
327
+ else None
328
+ ),
329
+ last_quote = (
330
+ FuturesSnapshotQuote .from_dict (d .get ("last_quote" , {}))
331
+ if d .get ("last_quote" )
332
+ else None
333
+ ),
334
+ last_trade = (
335
+ FuturesSnapshotTrade .from_dict (d .get ("last_trade" , {}))
336
+ if d .get ("last_trade" )
337
+ else None
338
+ ),
339
+ session = (
340
+ FuturesSnapshotSession .from_dict (d .get ("session" , {}))
341
+ if d .get ("session" )
342
+ else None
343
+ ),
344
+ )
0 commit comments