Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs

    Historical data is not fetching for few symbols

    Python SDK
    3
    16
    95
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Ramesh last edited by

      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 727400

      No 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 : ADANIPORTS

      Appreciate your suggestions.

      A W 2 Replies Last reply Reply Quote 0
      • A
        admin @Ramesh last edited by

        HI @Ramesh Post your request an response here.

        R W 3 Replies Last reply Reply Quote 0
        • R
          Ramesh @admin last edited by

          @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?

          A 1 Reply Last reply Reply Quote 0
          • A
            admin @Ramesh last edited by

            HI @Ramesh We need your request to evaluate what parameters your are passing in to the historical api.

            R W 2 Replies Last reply Reply Quote 0
            • R
              Ramesh @admin last edited by

              @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)

              A 1 Reply Last reply Reply Quote 0
              • R
                Ramesh @admin last edited by

                @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)

                W 1 Reply Last reply Reply Quote 0
                • W
                  webseos @admin last edited by webseos

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • W
                    webseos @Ramesh last edited by

                    @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]]}

                    1 Reply Last reply Reply Quote 0
                    • W
                      webseos @Ramesh last edited by

                      @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

                      R 1 Reply Last reply Reply Quote 0
                      • W
                        webseos @admin last edited by

                        @admin Full Code required, I sense request frequency problematic

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Ramesh @webseos last edited by

                          @webseos please find below code

                          import json
                          from datetime import datetime, timedelta
                          from time import strftime
                          import time

                          package 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 = None

                          days_to_subtract = 100 # Specify in terms days
                          days_to_subtract_hours = 50 # Specify in terms days
                          days_to_subtract_5mins = 5 # Specify in terms days

                          def 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 smartObj

                              logout = 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()
                          
                          W 1 Reply Last reply Reply Quote 0
                          • R
                            Ramesh @webseos last edited by

                            @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

                            1 Reply Last reply Reply Quote 0
                            • W
                              webseos @Ramesh last edited by webseos

                              @Ramesh

                              **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()

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                Ramesh @webseos last edited by

                                @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

                                1 Reply Last reply Reply Quote 0
                                • A
                                  admin @Ramesh last edited by

                                  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.

                                  R 1 Reply Last reply Reply Quote 0
                                  • R
                                    Ramesh @admin last edited by

                                    @admin Hi trying to get one day time frame data all F&O symbol for a week.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post