Historical data is not fetching for few symbols
-
Hi Admin,
I was trying to fetch the historical data with 1Min and 5 Mins time frame, however getting message as "No Historical data for this symbol <symbol name>. Also for 5 mins no values any symbol.
AARTIIND
No Historical Data for this symbol : AARTIIND
INDUSINDBK
No Historical Data for this symbol : INDUSINDBK
PEL
date open high low close volume
0 2021-05-03T00:00:00+05:30 1655.10 1715.80 1654.50 1707.35 635596
1 2021-05-04T00:00:00+05:30 1712.00 1726.65 1656.50 1664.55 754058
2 2021-05-05T00:00:00+05:30 1689.00 1733.00 1674.35 1720.90 977858
3 2021-05-06T00:00:00+05:30 1727.95 1730.00 1685.00 1700.10 565595
4 2021-05-07T00:00:00+05:30 1709.00 1713.50 1660.00 1669.65 727400No Five Min Historical Data for this symbol : TATACHEM
No Five Min Historical Data for this symbol : AARTIIND
No Five Min Historical Data for this symbol : INDUSINDBK
No Five Min Historical Data for this symbol : ASTRAL
No Five Min Historical Data for this symbol : ADANIPORTSAppreciate your suggestions.
-
@admin Hi trying to get one day time frame data all F&O symbol for a week.
-
HI @Ramesh said in Historical data is not fetching for few symbols:
@admin Please find below request details for one day (not for 1 min)
historicParam = {
"exchange": "NSE",
"symboltoken": "XXXX",
"interval": "ONE_DAY",
"fromdate": fromDate,
"todate": lastDate
}
respdatajson = smartObj.getCandleData(historicParam)How many days data you are requesting.
-
@webseos I'm getting data for few symbols and not for others, please see below response, where getting data for GAIL and not for TATACHEM and AARTIIND. Please guide
TATACHEM
{'status': True, 'message': 'SUCCESS', 'errorcode': '', 'data': []}
No Historical Data for this symbol : TATACHEM
GAIL
{'status': True, 'message': 'SUCCESS', 'errorcode': '', 'data': [['2021-05-04T00:00:00+05:30', 138.5, 145.65, 137.35, 143.75, 31185770], ['2021-05-05T00:00:00+05:30', 147.3, 148.85, 143.0, 145.05, 21912068], ['2021-05-06T00:00:00+05:30', 145.9, 151.85, 145.6, 151.15, 26499738], ['2021-05-07T00:00:00+05:30', 151.3, 152.65, 148.7, 150.25, 18927457], ['2021-05-10T00:00:00+05:30', 150.25, 155.5, 150.25, 154.55, 16390776], ['2021-05-11T00:00:00+05:30', 153.0, 163.5, 152.2, 161.9, 35767570], ['2021-05-12T00:00:00+05:30', 162.6, 165.75, 158.7, 161.05, 26642955], ['2021-05-14T00:00:00+05:30', 161.5, 161.75, 152.15, 152.7, 20845453], ['2021-05-17T00:00:00+05:30', 154.0, 154.8, 150.35, 153.15, 14494672], ['2021-05-18T00:00:00+05:30', 155.0, 158.0, 152.5, 152.8, 14263487], ['2021-05-19T00:00:00+05:30', 152.8, 154.55, 151.3, 152.8, 8993112], ['2021-05-20T00:00:00+05:30', 151.95, 152.3, 146.75, 147.35, 14895731], ['2021-05-21T00:00:00+05:30', 147.6, 150.45, 145.3, 145.75, 17043863], ['2021-05-24T00:00:00+05:30', 146.5, 152.6, 145.9, 151.7, 15732196], ['2021-05-25T00:00:00+05:30', 153.6, 155.75, 151.7, 155.1, 26222882], ['2021-05-26T00:00:00+05:30', 155.0, 155.8, 151.7, 152.1, 8663643], ['2021-05-27T00:00:00+05:30', 152.25, 155.0, 150.55, 152.8, 15013582], ['2021-05-28T00:00:00+05:30', 153.2, 157.4, 152.05, 153.05, 15352282], ['2021-05-31T00:00:00+05:30', 154.0, 161.4, 153.2, 159.95, 48101205], ['2021-06-01T00:00:00+05:30', 160.6, 161.75, 158.0, 160.45, 14125060], ['2021-06-02T00:00:00+05:30', 162.4, 163.45, 157.65, 158.85, 14123542], ['2021-06-03T00:00:00+05:30', 159.8, 162.25, 158.7, 161.05, 11740971], ['2021-06-04T00:00:00+05:30', 161.3, 164.75, 160.3, 162.0, 13443192], ['2021-06-07T00:00:00+05:30', 162.5, 169.9, 162.05, 168.35, 33219121], ['2021-06-08T00:00:00+05:30', 168.2, 169.8, 165.0, 167.8, 16692868], ['2021-06-09T00:00:00+05:30', 170.0, 170.3, 158.3, 162.4, 41513695], ['2021-06-10T00:00:00+05:30', 164.5, 166.0, 160.5, 163.5, 23519675], ['2021-06-11T00:00:00+05:30', 165.0, 167.75, 161.2, 163.75, 23815900], ['2021-06-14T00:00:00+05:30', 164.4, 164.6, 160.1, 163.15, 17059851], ['2021-06-15T00:00:00+05:30', 164.5, 166.2, 162.55, 163.0, 14365617], ['2021-06-16T00:00:00+05:30', 163.3, 165.75, 161.2, 161.75, 12490077], ['2021-06-17T00:00:00+05:30', 161.5, 163.65, 158.7, 160.5, 10112009], ['2021-06-18T00:00:00+05:30', 161.25, 161.95, 152.6, 155.05, 18169757], ['2021-06-21T00:00:00+05:30', 153.0, 156.15, 151.25, 155.25, 13484830], ['2021-06-22T00:00:00+05:30', 157.0, 158.7, 154.9, 155.3, 7859425], ['2021-06-23T00:00:00+05:30', 157.0, 157.0, 152.7, 153.35, 8189214], ['2021-06-24T00:00:00+05:30', 153.9, 154.95, 151.75, 152.25, 8153848], ['2021-06-25T00:00:00+05:30', 153.0, 154.7, 152.25, 153.1, 6551074], ['2021-06-28T00:00:00+05:30', 154.6, 155.15, 152.2, 153.35, 7206825], ['2021-06-29T00:00:00+05:30', 153.45, 153.75, 151.35, 152.0, 6406676], ['2021-06-30T00:00:00+05:30', 152.05, 152.55, 149.25, 149.65, 10512615], ['2021-07-01T00:00:00+05:30', 150.7, 153.75, 150.0, 153.0, 12357143], ['2021-07-02T00:00:00+05:30', 153.95, 153.95, 151.0, 151.3, 7467504], ['2021-07-05T00:00:00+05:30', 152.3, 153.65, 151.55, 152.15, 6273400], ['2021-07-06T00:00:00+05:30', 152.7, 155.1, 148.8, 150.35, 12998966], ['2021-07-07T00:00:00+05:30', 149.8, 152.1, 148.55, 149.95, 8210966], ['2021-07-08T00:00:00+05:30', 149.85, 151.1, 148.45, 148.7, 8533698], ['2021-07-09T00:00:00+05:30', 148.7, 149.05, 147.0, 147.15, 6837801], ['2021-07-12T00:00:00+05:30', 148.5, 149.2, 146.5, 146.75, 9767750], ['2021-07-13T00:00:00+05:30', 148.15, 151.4, 147.5, 148.8, 14198854], ['2021-07-14T00:00:00+05:30', 148.0, 149.95, 147.2, 147.85, 6200851], ['2021-07-15T00:00:00+05:30', 148.9, 148.9, 143.9, 144.4, 13149215], ['2021-07-16T00:00:00+05:30', 145.0, 145.2, 143.0, 144.8, 11323698], ['2021-07-19T00:00:00+05:30', 144.8, 148.0, 143.8, 144.35, 13175418], ['2021-07-20T00:00:00+05:30', 144.4, 145.0, 140.75, 142.35, 8956762], ['2021-07-22T00:00:00+05:30', 144.6, 145.2, 141.7, 143.8, 11671203], ['2021-07-23T00:00:00+05:30', 144.0, 145.0, 142.0, 142.4, 7355532], ['2021-07-26T00:00:00+05:30', 142.0, 142.1, 139.7, 141.35, 9260846], ['2021-07-27T00:00:00+05:30', 141.85, 142.0, 138.55, 139.05, 8747495], ['2021-07-28T00:00:00+05:30', 139.9, 139.9, 136.6, 137.85, 9152741], ['2021-07-29T00:00:00+05:30', 138.9, 139.6, 136.95, 137.5, 6949660], ['2021-07-30T00:00:00+05:30', 138.0, 141.8, 137.25, 139.55, 14416176], ['2021-08-02T00:00:00+05:30', 140.95, 143.3, 139.35, 142.85, 7539166], ['2021-08-03T00:00:00+05:30', 143.95, 144.15, 141.85, 143.3, 8902280], ['2021-08-04T00:00:00+05:30', 144.25, 146.2, 141.85, 142.4, 9592503], ['2021-08-05T00:00:00+05:30', 143.0, 145.6, 140.3, 142.9, 19500102], ['2021-08-06T00:00:00+05:30', 147.0, 153.95, 144.9, 148.75, 63506840], ['2021-08-09T00:00:00+05:30', 150.2, 150.5, 145.2, 145.8, 11261259], ['2021-08-10T00:00:00+05:30', 145.9, 148.15, 143.8, 144.85, 14949570], ['2021-08-11T00:00:00+05:30', 145.5, 148.5, 144.5, 144.65, 6378762]]}
date open high low close volume
0 2021-05-04T00:00:00+05:30 138.50 145.65 137.35 143.75 31185770
1 2021-05-05T00:00:00+05:30 147.30 148.85 143.00 145.05 21912068
2 2021-05-06T00:00:00+05:30 145.90 151.85 145.60 151.15 26499738
3 2021-05-07T00:00:00+05:30 151.30 152.65 148.70 150.25 18927457
4 2021-05-10T00:00:00+05:30 150.25 155.50 150.25 154.55 16390776
AARTIIND
{'status': True, 'message': 'SUCCESS', 'errorcode': '', 'data': []}
No Historical Data for this symbol : AARTIIND -
**I shall suggest you to look at this line
respdatajson = smartObj.getCandleData(historicParam)**
This will take time, so your program should wait to get response. After getting candles ohlc data rest of code will proceed.
just like AJAX synchronous call to server. So just think about it and let me know what you think
By the way the following 2 functions , I dont know what they were doing
handleLoggerInitialization()
createKPIBackupFile()** Also I did not understand these lines, what is pd, df.head() doing what
df = pd.DataFrame(respdata)
print(df.head() -
@webseos said in Historical data is not fetching for few symbols:
PI Key and User/Password ,make them ***** or XXXX
have already shared the code, please do let me know if you need more details
-
@webseos please find below code
import json
from datetime import datetime, timedelta
from time import strftime
import timepackage import statement
from smartapi import SmartConnect
symbolslist = [['IDEA','1111'],['ADANIENT','2222'],['GAIL','3333']] # 157 symbols
API_KEY = ""
SEC_KEY = ""CLIENT_ID = ""
PASSSWORD = ""feedToken = None
userProfile = None
smartObj = Nonedays_to_subtract = 100 # Specify in terms days
days_to_subtract_hours = 50 # Specify in terms days
days_to_subtract_5mins = 5 # Specify in terms daysdef smartApiInitialization():
try:
global feedToken
global userProfile
global smartObj
handleLoggerInitialization()
createKPIBackupFile()# import smartapi.smartExceptions(for smartExceptions) # create object of call smartObj =SmartConnect(api_key=API_KEY) # login api call data = smartObj.generateSession(CLIENT_ID ,PASSSWORD) refreshToken= data['data']['refreshToken'] # fetch the feedtoken feedToken =smartObj.getfeedToken() # fetch User Profile userProfile= smartObj.getProfile(refreshToken) except Exception as ex: logging.error("Exception in smartApiInitialization method : {}".format(str(ex))) print("Exception in smartApiInitialization method : {}".format(str(ex)))
def smartAppLogout():
try:
global smartObjlogout = smartObj.terminateSession(CLIENT_ID) print("Logout Successfull") logging.info("Logout Successfull") except Exception as ex: print("Exception in smartAppLogout method : {}".format(str(ex))) logging.error("Exception in smartAppLogout method : {}".format(str(ex)))
def getDayHistoricalData():
try: global smartObj global days_to_subtract global symbolslist lastDate = datetime.today() fromDate = lastDate - timedelta(days=days_to_subtract) lastDate = lastDate.strftime("%Y-%m-%d %H:%M") fromDate = fromDate.strftime("%Y-%m-%d %H:%M") for symbol in symbolslist : print(symbol) historicParam = { "exchange": "NSE", "symboltoken": symbol[1], "interval": "ONE_DAY", "fromdate": fromDate, "todate": lastDate } respdatajson = smartObj.getCandleData(historicParam) #print(respdatajson) respdata = respdatajson['data'] if len(respdata) == 0: print("No Historical Data for this symbol : {}".format(symbol)) logging.info("No Historical Data for this symbol : {}".format(symbol)) time.sleep(2) continue df = pd.DataFrame(respdata) print(df.head() time.sleep(2) except Exception as ex: print("Exception in getHistoricalData method : {}".format(str(ex))) logging.error("Exception in getHistoricalData method : {}".format(str(ex)))
if name == 'main':
smartApiInitialization()
getDayHistoricalData()smartAppLogout()
-
@admin Full Code required, I sense request frequency problematic
-
@Ramesh said in Historical data is not fetching for few symbols:
AARTIIND
Please type your code sample witout API Key and User/Password ,make them ***** or XXXX
Without code sample its useless to address problems
-
@Ramesh Show full Code
Partial code is not helpful
Code in Python
obj=SmartConnect(api_key="XXX")
#Historic api
print("Get 5 Min OHLC Data for 3045 SBIN EQ")
try:
historicParam={
"exchange": "NSE",
"symboltoken": "3045",
"interval": "FIFTEEN_MINUTE",
"fromdate": "2021-08-10 09:15",
"todate": "2021-08-10 13:16"
}
print(obj.getCandleData(historicParam))
except Exception as e:
print("Historic Api failed: {}".format(e.message))Output
Get 5 Min OHLC Data for 3045 SBIN EQ
{'status': True, 'message': 'SUCCESS', 'errorcode': '', 'data': [['2021-08-10T09:15:00+05:30', 434.4, 436.4, 433.9, 435.45, 1694733], ['2021-08-10T09:30:00+05:30', 435.65, 435.8, 433.5, 433.65, 1081541], ['2021-08-10T09:45:00+05:30', 433.6, 434.7, 433.0, 433.35, 913274], ['2021-08-10T10:00:00+05:30', 433.3, 433.45, 431.7, 432.35, 869497], ['2021-08-10T10:15:00+05:30', 432.4, 432.4, 430.2, 431.3, 1285541], ['2021-08-10T10:30:00+05:30', 431.25, 431.45, 429.65, 430.2, 1052319], ['2021-08-10T10:45:00+05:30', 430.2, 432.25, 429.5, 431.8, 1296572], ['2021-08-10T11:00:00+05:30', 431.7, 432.8, 431.0, 431.2, 978197], ['2021-08-10T11:15:00+05:30', 431.1, 431.5, 430.7, 430.75, 482722], ['2021-08-10T11:30:00+05:30', 430.75, 431.8, 430.25, 430.5, 710667], ['2021-08-10T11:45:00+05:30', 430.55, 430.7, 429.9, 430.4, 770203], ['2021-08-10T12:00:00+05:30', 430.4, 430.55, 429.6, 430.0, 500362], ['2021-08-10T12:15:00+05:30', 429.95, 430.35, 429.6, 430.15, 433561], ['2021-08-10T12:30:00+05:30', 430.05, 430.25, 428.6, 428.9, 894144], ['2021-08-10T12:45:00+05:30', 428.85, 428.9, 426.5, 427.0, 1954868], ['2021-08-10T13:00:00+05:30', 427.05, 429.0, 426.8, 427.75, 913878], ['2021-08-10T13:15:00+05:30', 427.65, 427.7, 426.7, 426.9, 680186]]}
-
This post is deleted! -
@admin Please find below request details for one day (not for 1 min)
historicParam = {
"exchange": "NSE",
"symboltoken": "XXXX",
"interval": "ONE_DAY",
"fromdate": fromDate,
"todate": lastDate
}
respdatajson = smartObj.getCandleData(historicParam) -
@admin Please find below request details for one day (not for 1 min)
historicParam = {
"exchange": "NSE",
"symboltoken": "XXXX",
"interval": "ONE_DAY",
"fromdate": fromDate,
"todate": lastDate
}
respdatajson = smartObj.getCandleData(historicParam) -
HI @Ramesh We need your request to evaluate what parameters your are passing in to the historical api.
-
@admin I want to fetch historical data for all nifty 50 stock with 1min and 5 min and getting the aboe message. Can you please let me know if i have missed anything?
-
HI @Ramesh Post your request an response here.