Support to fetch live data will be added incrementally to jugaad-data
. Here’s the first installment, an example of how to fetch live stock quotes. The documentation will be updated incrementally, meanwhile showing the usage through example.
from jugaad_data.nse import NSELive
NSELive is a container class for functions to interact with NSE’s live data APIs.
n = NSELive()
stock_quote
is a function which fetches live quote for a stock along with a lot of other metadata.
q = n.stock_quote("HDFC")
print(q.keys())
dict_keys(['info', 'metadata', 'securityInfo', 'priceInfo', 'preOpenMarket'])
Let’s look at the metadata
and significance of some of the fields.
q['metadata']
{'series': 'EQ',
'symbol': 'HDFC',
'isin': 'INE001A01036',
'status': 'Listed',
'listingDate': '23-Oct-1996',
'industry': 'HOUSING FINANCE',
'lastUpdateTime': '15-Jan-2021 16:00:00',
'pdSectorPe': 31.43,
'pdSymbolPe': 29.19,
'pdSectorInd': 'NIFTY FINANCIAL SERVICES '}
Details of priceInfo
q['priceInfo']
{'lastPrice': 2635,
'change': -49.05000000000018,
'pChange': -1.8274622305843848,
'previousClose': 2684.05,
'open': 2661,
'close': 2632.75,
'vwap': 2645.57,
'lowerCP': '2415.65',
'upperCP': '2952.45',
'pPriceBand': 'No Band',
'basePrice': 2684.05,
'intraDayHighLow': {'min': 2615.6, 'max': 2688.45, 'value': 2635},
'weekHighLow': {'min': 1473.45,
'minDate': '24-Mar-2020',
'max': 2777.15,
'maxDate': '13-Jan-2021',
'value': 2635}}
Similarly you can look at other information in info
and preOpenMarket
q['info']
{'symbol': 'HDFC',
'companyName': 'Housing Development Finance Corporation Limited',
'industry': 'FINANCE - HOUSING',
'activeSeries': ['EQ', 'W3'],
'debtSeries': [],
'tempSuspendedSeries': ['W1', 'W2'],
'isFNOSec': True,
'isCASec': False,
'isSLBSec': True,
'isDebtSec': False,
'isSuspended': False,
'isETFSec': False,
'isDelisted': False,
'isin': 'INE001A13049',
'isTop10': False,
'identifier': 'HDFCEQN'}
q['securityInfo']
{'boardStatus': 'Main',
'tradingStatus': 'Active',
'tradingSegment': 'Normal Market',
'sessionNo': '-',
'slb': 'Yes',
'classOfShare': 'Equity',
'derivatives': 'Yes',
'surveillance': '-',
'faceValue': 2,
'issuedCap': 1800191002}
q['preOpenMarket']
{'preopen': [{'price': 2442.5, 'buyQty': 0, 'sellQty': 1248},
{'price': 2496.15, 'buyQty': 0, 'sellQty': 253},
{'price': 2549.85, 'buyQty': 0, 'sellQty': 2526},
{'price': 2600, 'buyQty': 0, 'sellQty': 1},
{'price': 2661, 'buyQty': 0, 'sellQty': 0, 'iep': True},
{'price': 2816.9, 'buyQty': 150, 'sellQty': 0},
{'price': 2818, 'buyQty': 7, 'sellQty': 0},
{'price': 2818.25, 'buyQty': 1877, 'sellQty': 0},
{'price': 2952.45, 'buyQty': 177, 'sellQty': 0}],
'ato': {'buy': 622, 'sell': 5946},
'IEP': 2661,
'totalTradedVolume': 29735,
'finalPrice': 2661,
'finalQuantity': 29735,
'lastUpdateTime': '15-Jan-2021 09:07:19',
'totalBuyQuantity': 63224,
'totalSellQuantity': 35437,
'atoBuyQty': 622,
'atoSellQty': 5946}