Skip to content

Commit 1063df5

Browse files
authored
Merge pull request #75 from upstox/portfolio-websocket-changes
added update_types parameter
2 parents 08e0679 + 8f95b39 commit 1063df5

38 files changed

+1292
-38
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ coverage.xml
4545
*,cover
4646
.hypothesis/
4747
venv/
48+
myenv/
4849
.python-version
4950

5051
# Translations

README.md

Lines changed: 83 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The official Python client for communicating with the <a href="https://upstox.co
99
Upstox API is a set of rest APIs that provide data required to build a complete investment and trading platform. Execute orders in real time, manage user portfolio, stream live market data (using Websocket), and more, with the easy to understand API collection.
1010

1111
- API version: v2
12-
- Package version: 2.4.1
12+
- Package version: 2.5.0
1313
- Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen
1414

1515
This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project.
@@ -64,35 +64,41 @@ All URIs are relative to *https://api.upstox.com/v2/*
6464

6565
Class | Method | HTTP request | Description
6666
------------ | ------------- | ------------- | -------------
67-
*ChargeApi* | [**get_brokerage**](docs/ChargeApi.md#get_brokerage) | **GET** /charges/brokerage | Brokerage details
68-
*HistoryApi* | [**get_historical_candle_data**](docs/HistoryApi.md#get_historical_candle_data) | **GET** /historical-candle/{instrumentKey}/{interval}/{to_date} | Historical candle data
69-
*HistoryApi* | [**get_historical_candle_data1**](docs/HistoryApi.md#get_historical_candle_data1) | **GET** /historical-candle/{instrumentKey}/{interval}/{to_date}/{from_date} | Historical candle data
70-
*HistoryApi* | [**get_intra_day_candle_data**](docs/HistoryApi.md#get_intra_day_candle_data) | **GET** /historical-candle/intraday/{instrumentKey}/{interval} | Intra day candle data
71-
*LoginApi* | [**authorize**](docs/LoginApi.md#authorize) | **GET** /login/authorization/dialog | Authorize API
72-
*LoginApi* | [**logout**](docs/LoginApi.md#logout) | **DELETE** /logout | Logout
73-
*LoginApi* | [**token**](docs/LoginApi.md#token) | **POST** /login/authorization/token | Get token API
74-
*MarketQuoteApi* | [**get_full_market_quote**](docs/MarketQuoteApi.md#get_full_market_quote) | **GET** /market-quote/quotes | Market quotes and instruments - Full market quotes
75-
*MarketQuoteApi* | [**get_market_quote_ohlc**](docs/MarketQuoteApi.md#get_market_quote_ohlc) | **GET** /market-quote/ohlc | Market quotes and instruments - OHLC quotes
76-
*MarketQuoteApi* | [**ltp**](docs/MarketQuoteApi.md#ltp) | **GET** /market-quote/ltp | Market quotes and instruments - LTP quotes.
77-
*OrderApi* | [**cancel_order**](docs/OrderApi.md#cancel_order) | **DELETE** /order/cancel | Cancel order
78-
*OrderApi* | [**get_order_book**](docs/OrderApi.md#get_order_book) | **GET** /order/retrieve-all | Get order book
79-
*OrderApi* | [**get_order_details**](docs/OrderApi.md#get_order_details) | **GET** /order/history | Get order details
80-
*OrderApi* | [**get_trade_history**](docs/OrderApi.md#get_trade_history) | **GET** /order/trades/get-trades-for-day | Get trades
81-
*OrderApi* | [**get_trades_by_order**](docs/OrderApi.md#get_trades_by_order) | **GET** /order/trades | Get trades for order
82-
*OrderApi* | [**modify_order**](docs/OrderApi.md#modify_order) | **PUT** /order/modify | Modify order
83-
*OrderApi* | [**place_order**](docs/OrderApi.md#place_order) | **POST** /order/place | Place order
84-
*PortfolioApi* | [**convert_positions**](docs/PortfolioApi.md#convert_positions) | **PUT** /portfolio/convert-position | Convert Positions
85-
*PortfolioApi* | [**get_holdings**](docs/PortfolioApi.md#get_holdings) | **GET** /portfolio/long-term-holdings | Get Holdings
86-
*PortfolioApi* | [**get_positions**](docs/PortfolioApi.md#get_positions) | **GET** /portfolio/short-term-positions | Get Positions
87-
*TradeProfitAndLossApi* | [**get_profit_and_loss_charges**](docs/TradeProfitAndLossApi.md#get_profit_and_loss_charges) | **GET** /trade/profit-loss/charges | Get profit and loss on trades
88-
*TradeProfitAndLossApi* | [**get_trade_wise_profit_and_loss_data**](docs/TradeProfitAndLossApi.md#get_trade_wise_profit_and_loss_data) | **GET** /trade/profit-loss/data | Get Trade-wise Profit and Loss Report Data
89-
*TradeProfitAndLossApi* | [**get_trade_wise_profit_and_loss_meta_data**](docs/TradeProfitAndLossApi.md#get_trade_wise_profit_and_loss_meta_data) | **GET** /trade/profit-loss/metadata | Get profit and loss meta data on trades
90-
*UserApi* | [**get_profile**](docs/UserApi.md#get_profile) | **GET** /user/profile | Get profile
91-
*UserApi* | [**get_user_fund_margin**](docs/UserApi.md#get_user_fund_margin) | **GET** /user/get-funds-and-margin | Get User Fund And Margin
92-
*WebsocketApi* | [**get_market_data_feed**](docs/WebsocketApi.md#get_market_data_feed) | **GET** /feed/market-data-feed | Market Data Feed
93-
*WebsocketApi* | [**get_market_data_feed_authorize**](docs/WebsocketApi.md#get_market_data_feed_authorize) | **GET** /feed/market-data-feed/authorize | Market Data Feed Authorize
94-
*WebsocketApi* | [**get_portfolio_stream_feed**](docs/WebsocketApi.md#get_portfolio_stream_feed) | **GET** /feed/portfolio-stream-feed | Portfolio Stream Feed
95-
*WebsocketApi* | [**get_portfolio_stream_feed_authorize**](docs/WebsocketApi.md#get_portfolio_stream_feed_authorize) | **GET** /feed/portfolio-stream-feed/authorize | Portfolio Stream Feed Authorize
67+
*ChargeApi* | [**get_brokerage**](docs/ChargeApi.md#get_brokerage) | **GET** /v2/charges/brokerage | Brokerage details
68+
*HistoryApi* | [**get_historical_candle_data**](docs/HistoryApi.md#get_historical_candle_data) | **GET** /v2/historical-candle/{instrumentKey}/{interval}/{to_date} | Historical candle data
69+
*HistoryApi* | [**get_historical_candle_data1**](docs/HistoryApi.md#get_historical_candle_data1) | **GET** /v2/historical-candle/{instrumentKey}/{interval}/{to_date}/{from_date} | Historical candle data
70+
*HistoryApi* | [**get_intra_day_candle_data**](docs/HistoryApi.md#get_intra_day_candle_data) | **GET** /v2/historical-candle/intraday/{instrumentKey}/{interval} | Intra day candle data
71+
*LoginApi* | [**authorize**](docs/LoginApi.md#authorize) | **GET** /v2/login/authorization/dialog | Authorize API
72+
*LoginApi* | [**logout**](docs/LoginApi.md#logout) | **DELETE** /v2/logout | Logout
73+
*LoginApi* | [**token**](docs/LoginApi.md#token) | **POST** /v2/login/authorization/token | Get token API
74+
*MarketHolidaysAndTimingsApi* | [**get_exchange_timings**](docs/MarketHolidaysAndTimingsApi.md#get_exchange_timings) | **GET** /v2/market/timings/{date} | Get Exchange Timings on particular date
75+
*MarketHolidaysAndTimingsApi* | [**get_holiday**](docs/MarketHolidaysAndTimingsApi.md#get_holiday) | **GET** /v2/market/holidays/{date} | Get Holiday on particular date
76+
*MarketHolidaysAndTimingsApi* | [**get_holidays**](docs/MarketHolidaysAndTimingsApi.md#get_holidays) | **GET** /v2/market/holidays | Get Holiday list of current year
77+
*MarketHolidaysAndTimingsApi* | [**get_market_status**](docs/MarketHolidaysAndTimingsApi.md#get_market_status) | **GET** /v2/market/status/{exchange} | Get Market status for particular exchange
78+
*MarketQuoteApi* | [**get_full_market_quote**](docs/MarketQuoteApi.md#get_full_market_quote) | **GET** /v2/market-quote/quotes | Market quotes and instruments - Full market quotes
79+
*MarketQuoteApi* | [**get_market_quote_ohlc**](docs/MarketQuoteApi.md#get_market_quote_ohlc) | **GET** /v2/market-quote/ohlc | Market quotes and instruments - OHLC quotes
80+
*MarketQuoteApi* | [**ltp**](docs/MarketQuoteApi.md#ltp) | **GET** /v2/market-quote/ltp | Market quotes and instruments - LTP quotes.
81+
*OptionsApi* | [**get_option_contracts**](docs/OptionsApi.md#get_option_contracts) | **GET** /v2/option/contract | Get option contracts
82+
*OptionsApi* | [**get_put_call_option_chain**](docs/OptionsApi.md#get_put_call_option_chain) | **GET** /v2/option/chain | Get option chain
83+
*OrderApi* | [**cancel_order**](docs/OrderApi.md#cancel_order) | **DELETE** /v2/order/cancel | Cancel order
84+
*OrderApi* | [**get_order_book**](docs/OrderApi.md#get_order_book) | **GET** /v2/order/retrieve-all | Get order book
85+
*OrderApi* | [**get_order_details**](docs/OrderApi.md#get_order_details) | **GET** /v2/order/history | Get order history
86+
*OrderApi* | [**get_trade_history**](docs/OrderApi.md#get_trade_history) | **GET** /v2/order/trades/get-trades-for-day | Get trades
87+
*OrderApi* | [**get_trades_by_order**](docs/OrderApi.md#get_trades_by_order) | **GET** /v2/order/trades | Get trades for order
88+
*OrderApi* | [**modify_order**](docs/OrderApi.md#modify_order) | **PUT** /v2/order/modify | Modify order
89+
*OrderApi* | [**place_order**](docs/OrderApi.md#place_order) | **POST** /v2/order/place | Place order
90+
*PortfolioApi* | [**convert_positions**](docs/PortfolioApi.md#convert_positions) | **PUT** /v2/portfolio/convert-position | Convert Positions
91+
*PortfolioApi* | [**get_holdings**](docs/PortfolioApi.md#get_holdings) | **GET** /v2/portfolio/long-term-holdings | Get Holdings
92+
*PortfolioApi* | [**get_positions**](docs/PortfolioApi.md#get_positions) | **GET** /v2/portfolio/short-term-positions | Get Positions
93+
*TradeProfitAndLossApi* | [**get_profit_and_loss_charges**](docs/TradeProfitAndLossApi.md#get_profit_and_loss_charges) | **GET** /v2/trade/profit-loss/charges | Get profit and loss on trades
94+
*TradeProfitAndLossApi* | [**get_trade_wise_profit_and_loss_data**](docs/TradeProfitAndLossApi.md#get_trade_wise_profit_and_loss_data) | **GET** /v2/trade/profit-loss/data | Get Trade-wise Profit and Loss Report Data
95+
*TradeProfitAndLossApi* | [**get_trade_wise_profit_and_loss_meta_data**](docs/TradeProfitAndLossApi.md#get_trade_wise_profit_and_loss_meta_data) | **GET** /v2/trade/profit-loss/metadata | Get profit and loss meta data on trades
96+
*UserApi* | [**get_profile**](docs/UserApi.md#get_profile) | **GET** /v2/user/profile | Get profile
97+
*UserApi* | [**get_user_fund_margin**](docs/UserApi.md#get_user_fund_margin) | **GET** /v2/user/get-funds-and-margin | Get User Fund And Margin
98+
*WebsocketApi* | [**get_market_data_feed**](docs/WebsocketApi.md#get_market_data_feed) | **GET** /v2/feed/market-data-feed | Market Data Feed
99+
*WebsocketApi* | [**get_market_data_feed_authorize**](docs/WebsocketApi.md#get_market_data_feed_authorize) | **GET** /v2/feed/market-data-feed/authorize | Market Data Feed Authorize
100+
*WebsocketApi* | [**get_portfolio_stream_feed**](docs/WebsocketApi.md#get_portfolio_stream_feed) | **GET** /v2/feed/portfolio-stream-feed | Portfolio Stream Feed
101+
*WebsocketApi* | [**get_portfolio_stream_feed_authorize**](docs/WebsocketApi.md#get_portfolio_stream_feed_authorize) | **GET** /v2/feed/portfolio-stream-feed/authorize | Portfolio Stream Feed Authorize
96102

97103
## Documentation for Feeder Functions
98104

@@ -404,6 +410,40 @@ def main():
404410
if __name__ == "__main__":
405411
main()
406412
```
413+
<br/>
414+
415+
Position and holding updates can be enabled by setting the corresponding flag to `True` in the constructor of the `PortfolioDataStreamer` class.
416+
417+
```python
418+
import upstox_client
419+
import data_token
420+
421+
422+
def on_message(message):
423+
print(message)
424+
425+
426+
def on_open():
427+
print("connection opened")
428+
429+
430+
def main():
431+
configuration = upstox_client.Configuration()
432+
configuration.access_token = <ACCESS_TOKEN>
433+
434+
streamer = upstox_client.PortfolioDataStreamer(upstox_client.ApiClient(configuration),order_update=True,position_update=True,holding_update=True)
435+
436+
streamer.on("message", on_message)
437+
streamer.on("open", on_open)
438+
streamer.connect()
439+
440+
441+
if __name__ == "__main__":
442+
main()
443+
444+
```
445+
446+
<br/>
407447

408448
This example demonstrates initializing the PortfolioDataStreamer, connecting it to the WebSocket, and setting up an event listener to receive and print order updates. Replace <ACCESS_TOKEN> with your valid access token to authenticate the session.
409449

@@ -425,6 +465,7 @@ This example demonstrates initializing the PortfolioDataStreamer, connecting it
425465

426466
## Documentation For Models
427467

468+
- [AnalyticsData](docs/AnalyticsData.md)
428469
- [ApiGatewayErrorResponse](docs/ApiGatewayErrorResponse.md)
429470
- [BrokerageData](docs/BrokerageData.md)
430471
- [BrokerageTaxes](docs/BrokerageTaxes.md)
@@ -437,13 +478,19 @@ This example demonstrates initializing the PortfolioDataStreamer, connecting it
437478
- [Depth](docs/Depth.md)
438479
- [DepthMap](docs/DepthMap.md)
439480
- [DpPlan](docs/DpPlan.md)
481+
- [ExchangeTimingData](docs/ExchangeTimingData.md)
440482
- [GetBrokerageResponse](docs/GetBrokerageResponse.md)
483+
- [GetExchangeTimingResponse](docs/GetExchangeTimingResponse.md)
441484
- [GetFullMarketQuoteResponse](docs/GetFullMarketQuoteResponse.md)
442485
- [GetHistoricalCandleResponse](docs/GetHistoricalCandleResponse.md)
443486
- [GetHoldingsResponse](docs/GetHoldingsResponse.md)
487+
- [GetHolidayResponse](docs/GetHolidayResponse.md)
444488
- [GetIntraDayCandleResponse](docs/GetIntraDayCandleResponse.md)
445489
- [GetMarketQuoteLastTradedPriceResponse](docs/GetMarketQuoteLastTradedPriceResponse.md)
446490
- [GetMarketQuoteOHLCResponse](docs/GetMarketQuoteOHLCResponse.md)
491+
- [GetMarketStatusResponse](docs/GetMarketStatusResponse.md)
492+
- [GetOptionChainResponse](docs/GetOptionChainResponse.md)
493+
- [GetOptionContractResponse](docs/GetOptionContractResponse.md)
447494
- [GetOrderBookResponse](docs/GetOrderBookResponse.md)
448495
- [GetOrderResponse](docs/GetOrderResponse.md)
449496
- [GetPositionResponse](docs/GetPositionResponse.md)
@@ -455,11 +502,15 @@ This example demonstrates initializing the PortfolioDataStreamer, connecting it
455502
- [GetUserFundMarginResponse](docs/GetUserFundMarginResponse.md)
456503
- [HistoricalCandleData](docs/HistoricalCandleData.md)
457504
- [HoldingsData](docs/HoldingsData.md)
505+
- [HolidayData](docs/HolidayData.md)
506+
- [InstrumentData](docs/InstrumentData.md)
458507
- [IntraDayCandleData](docs/IntraDayCandleData.md)
459508
- [LogoutResponse](docs/LogoutResponse.md)
509+
- [MarketData](docs/MarketData.md)
460510
- [MarketQuoteOHLC](docs/MarketQuoteOHLC.md)
461511
- [MarketQuoteSymbol](docs/MarketQuoteSymbol.md)
462512
- [MarketQuoteSymbolLtp](docs/MarketQuoteSymbolLtp.md)
513+
- [MarketStatusData](docs/MarketStatusData.md)
463514
- [ModifyOrderData](docs/ModifyOrderData.md)
464515
- [ModifyOrderRequest](docs/ModifyOrderRequest.md)
465516
- [ModifyOrderResponse](docs/ModifyOrderResponse.md)
@@ -468,6 +519,7 @@ This example demonstrates initializing the PortfolioDataStreamer, connecting it
468519
- [OAuthClientExceptionCauseStackTrace](docs/OAuthClientExceptionCauseStackTrace.md)
469520
- [OAuthClientExceptionCauseSuppressed](docs/OAuthClientExceptionCauseSuppressed.md)
470521
- [Ohlc](docs/Ohlc.md)
522+
- [OptionStrikeData](docs/OptionStrikeData.md)
471523
- [OrderBookData](docs/OrderBookData.md)
472524
- [OrderData](docs/OrderData.md)
473525
- [OtherTaxes](docs/OtherTaxes.md)
@@ -483,6 +535,7 @@ This example demonstrates initializing the PortfolioDataStreamer, connecting it
483535
- [ProfitAndLossMetaData](docs/ProfitAndLossMetaData.md)
484536
- [ProfitAndLossMetaDataWrapper](docs/ProfitAndLossMetaDataWrapper.md)
485537
- [ProfitAndLossOtherChargesTaxes](docs/ProfitAndLossOtherChargesTaxes.md)
538+
- [PutCallOptionChainData](docs/PutCallOptionChainData.md)
486539
- [TokenRequest](docs/TokenRequest.md)
487540
- [TokenResponse](docs/TokenResponse.md)
488541
- [TradeData](docs/TradeData.md)

docs/ExchangeTimingData.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# ExchangeTimingData
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**exchange** | **str** | | [optional]
7+
**start_time** | **int** | | [optional]
8+
**end_time** | **int** | | [optional]
9+
10+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
11+

docs/GetExchangeTimingResponse.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GetExchangeTimingResponse
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**status** | **str** | | [optional]
7+
**data** | [**list[ExchangeTimingData]**](ExchangeTimingData.md) | Response data for exchange timing list | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/GetHolidayResponse.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GetHolidayResponse
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**status** | **str** | | [optional]
7+
**data** | [**list[HolidayData]**](HolidayData.md) | Response data for holiday list | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/GetMarketStatusResponse.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GetMarketStatusResponse
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**status** | **str** | | [optional]
7+
**data** | [**MarketStatusData**](MarketStatusData.md) | | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/GetOptionChainResponse.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GetOptionChainResponse
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**status** | **str** | | [optional]
7+
**data** | [**list[OptionStrikeData]**](OptionStrikeData.md) | Response data for option chain data | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/GetOptionContractResponse.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# GetOptionContractResponse
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**status** | **str** | | [optional]
7+
**data** | [**list[InstrumentData]**](InstrumentData.md) | Response data for option contracts | [optional]
8+
9+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
10+

docs/HolidayData.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# HolidayData
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**_date** | **datetime** | | [optional]
7+
**description** | **str** | | [optional]
8+
**holiday_type** | **str** | | [optional]
9+
**closed_exchanges** | **list[str]** | | [optional]
10+
**open_exchanges** | [**list[ExchangeTimingData]**](ExchangeTimingData.md) | | [optional]
11+
12+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
13+

docs/InstrumentData.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# InstrumentData
2+
3+
## Properties
4+
Name | Type | Description | Notes
5+
------------ | ------------- | ------------- | -------------
6+
**name** | **str** | | [optional]
7+
**segment** | **str** | | [optional]
8+
**exchange** | **str** | | [optional]
9+
**isin** | **str** | | [optional]
10+
**expiry** | **datetime** | | [optional]
11+
**country** | **str** | | [optional]
12+
**latency** | **str** | | [optional]
13+
**description** | **str** | | [optional]
14+
**currency** | **str** | | [optional]
15+
**weekly** | **bool** | | [optional]
16+
**instrument_key** | **str** | | [optional]
17+
**exchange_token** | **str** | | [optional]
18+
**trading_symbol** | **str** | | [optional]
19+
**short_name** | **str** | | [optional]
20+
**tick_size** | **float** | | [optional]
21+
**lot_size** | **int** | | [optional]
22+
**instrument_type** | **str** | | [optional]
23+
**freeze_quantity** | **float** | | [optional]
24+
**underlying_key** | **str** | | [optional]
25+
**underlying_type** | **str** | | [optional]
26+
**underlying_symbol** | **str** | | [optional]
27+
**last_trading_date** | **datetime** | | [optional]
28+
**strike_price** | **float** | | [optional]
29+
**price_quote_unit** | **str** | | [optional]
30+
**qty_multiplier** | **int** | | [optional]
31+
**minimum_lot** | **int** | | [optional]
32+
**start_time** | **str** | | [optional]
33+
**end_time** | **str** | | [optional]
34+
**week_days** | **str** | | [optional]
35+
**general_denominator** | **float** | | [optional]
36+
**general_numerator** | **float** | | [optional]
37+
**price_numerator** | **float** | | [optional]
38+
**price_denominator** | **float** | | [optional]
39+
**mtf_enabled** | **bool** | | [optional]
40+
**mtf_bracket** | **float** | | [optional]
41+
**security_type** | **str** | | [optional]
42+
43+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
44+

0 commit comments

Comments
 (0)