from kiteconnect import KiteConnect from kiteconnect import KiteTicker import pandas as pd import pdb kws = "" kite = "" api_k = "xxxxxxxxxx" # api_key api_s = "xxxxxxxxxx" # api_secret trd_portfolio = {'BANKNIFTY19JULFUT': {'token': 975873}} def get_login(api_k, api_s): # log in to zerodha API panel global kws, kite kite = KiteConnect(api_key=api_k) print("[*] Generate access Token : ", kite.login_url()) request_tkn = input("[*] Enter Your Request Token Here : ") data = kite.generate_session(request_tkn, api_secret=api_s) kite.set_access_token(data["access_token"]) kws = KiteTicker(api_k, data["access_token"]) print(data['access_token']) # # pdb.set_trace() # kite.set_access_token('4tN29CKS89i71siZyLsL0rSc3EcJvccY') # kws = KiteTicker(api_k, '4tN29CKS89i71siZyLsL0rSc3EcJvccY') # print(data['access_token']) get_login(api_k, api_s) # pdb.set_trace() ticks_storage = pd.DataFrame() timeframe = 3 temp = {} def on_ticks(ws, ticks): for name in trd_portfolio: token = trd_portfolio[name]['token'] for single_company in ticks: if single_company['instrument_token'] == token: temp[single_company['timestamp']] = single_company df = pd.DataFrame.from_dict(temp, orient='index') ohlc = df['last_price'].resample(str(timeframe)+'Min').ohlc() print(ohlc) # pdb.set_trace() subscribe = [975873] def on_connect(ws, response): ws.subscribe(subscribe) ws.set_mode(ws.MODE_FULL, subscribe) kws.on_ticks = on_ticks kws.on_connect = on_connect kws.connect()