nsetools_get_quote is not fetching Delivery data and Delivery % . Can you include this as part of feature request
nsetools_get_quote does not decide what it wants to fetch. It just fetches what NSE gives. So, NSE API does not give those data you seek in that API.
It may give those data in some other API endpoint.
Tell me where you are seeing Delivery data and Delivery %, I will find it recursively.
https://www.nseindia.com/get-quotes/equity?symbol=INFY
Please check delivery position section , it has delivery related details
Thanks in advance
It is coming from https://www.nseindia.com/api/quote-equity?symbol=INFY§ion=trade_info
use nsefetch()
nsefetch("https://www.nseindia.com/api/quote-equity?symbol=INFY§ion=trade_info")
The output will look like →
{
"noBlockDeals": true,
"bulkBlockDeals": [
{
"name": "Session I"
},
{
"name": "Session II"
}
],
"marketDeptOrderBook": {
"totalBuyQuantity": 536527,
"totalSellQuantity": 486427,
"bid": [
{
"price": 1392.5,
"quantity": 1906
},
{
"price": 1392.4,
"quantity": 3
},
{
"price": 1392.25,
"quantity": 27
},
{
"price": 1392.2,
"quantity": 31
},
{
"price": 1392.15,
"quantity": 27
}
],
"ask": [
{
"price": 1392.65,
"quantity": 2
},
{
"price": 1392.7,
"quantity": 2
},
{
"price": 1392.85,
"quantity": 1038
},
{
"price": 1392.9,
"quantity": 3108
},
{
"price": 1392.95,
"quantity": 156
}
],
"tradeInfo": {
"totalTradedVolume": 5301240,
"totalTradedValue": 74214.71,
"totalMarketCap": 57774921.45,
"ffmc": 50958339.4732687,
"impactCost": 0.01
},
"valueAtRisk": {
"securityVar": 9.83,
"indexVar": 0,
"varMargin": 9.83,
"extremeLossMargin": 3.5,
"adhocMargin": 0,
"applicableMargin": 13.33
}
},
"securityWiseDP": {
"quantityTraded": 4102272,
"deliveryQuantity": 2920190,
"deliveryToTradedQuantity": 71.18,
"seriesRemarks": null,
"secWiseDelPosDate": "13-APR-2023 11:00:00"
}
}
Use this as a temporary solution; I am adding this as Feature Request
Thanks alot for this
You need it in urgency? I will do when I get access to laptop then. I am admitted now for dehydration and fever man.
Sorry i didn’t know . Take care . Get Well Soon .
Areh lol.
I love to do these works. I just have “angry-wife” problem moment being. I think I will be released day after tomorrow. Then all will be solved.
Anyways, will do then
Added this new feature.
Do note - same can be achievable using Bhavcopy function as shown here NSEPy Functions - Unofficed
I modified the nse_quote() function to
def nse_quote(symbol,section=""):
#https://forum.unofficed.com/t/nsetools-get-quote-is-not-fetching-delivery-data-and-delivery-can-you-include-this-as-part-of-feature-request/1115/4
symbol = nsesymbolpurify(symbol)
if(section==""):
if any(x in symbol for x in fnolist()):
payload = nsefetch('https://www.nseindia.com/api/quote-derivative?symbol='+symbol)
else:
payload = nsefetch('https://www.nseindia.com/api/quote-equity?symbol='+symbol)
return payload
if(section!=""):
payload = nsefetch('https://www.nseindia.com/api/quote-equity?symbol='+symbol+'§ion='+section)
return payload
Now, if you do
print(nse_quote("INFY","trade_info"))
You get the desired info -
{'noBlockDeals': True, 'bulkBlockDeals': [{'name': 'Session I'}, {'name': 'Session II'}], 'marketDeptOrderBook': {'totalBuyQuantity': 0, 'totalSellQuantity': 1060, 'bid': [{'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}], 'ask': [{'price': 1227.55, 'quantity': 1060}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}, {'price': 0, 'quantity': 0}], 'tradeInfo': {'totalTradedVolume': 5680192, 'totalTradedValue': 69680.62, 'totalMarketCap': 50902831.74, 'ffmc': 43796057.9853049, 'impactCost': 0.01}, 'valueAtRisk': {'securityVar': 10.67, 'indexVar': 0, 'varMargin': 10.67, 'extremeLossMargin': 3.5, 'adhocMargin': 0, 'applicableMargin': 14.17}}, 'securityWiseDP': {'quantityTraded': 5680192, 'deliveryQuantity': 3669872, 'deliveryToTradedQuantity': 64.61, 'seriesRemarks': None, 'secWiseDelPosDate': '26-APR-2023 EOD'}}
Thanks Alot , this will really help
6 posts were split to a new topic: Is there any way your library allows to grab the intraday delivery data as well?
Reorganized the code to use your nsefetch() function directly. However if I haven’t updated the web-page manually it just doesn’t allow me to get the fresh data. Have you found the way how to avoid that?
Both ways work for me however even your nsefetch() function requires manual web-page update. Ideally if we can avoid that
nsefetch() does not need anything manual.
I love firing people. Check I have created unlimited modules at Leverage - Unofficed