Call & Put Options: ITM-ATM-OTM Concepts in Python with Processing out WebSocket RTD

from kiteconnect import KiteTicker
from kiteconnect import KiteConnect
import numpy as np
import pandas as pd
import time

api_key='your_api_key'
api_secret='your_api_secret'
access_token='your_access_token'
kite=KiteConnect(api_key,api_secret)
kite.set_access_token(access_token)
kws=KiteTicker(api_key,access_token)
exchange='NFO'
last_price_exchange='NSE'
last_price_tradingsymbol='NIFTY BANK'
tradingsymbol='BANKNIFTY'
expiry='22NOV18'
last_price=kite.ltp('%s:%s'%(last_price_exchange,last_price_tradingsymbol))['%s:%s'%(last_price_exchange,last_price_tradingsymbol)]['last_price']
instruments=kite.instruments('NFO')
instruments=pd.DataFrame(instruments)
segment_str_match=instruments[instruments['tradingsymbol'].str.match(tradingsymbol+expiry)]
strike=segment_str_match['strike']
ITMCE=[i for i in strike if(np.round(last_price)>i)]
ITMPE=[i for i in strike if(np.round(last_price)IDXITMCE=np.abs(ITMCE-np.round(last_price)).argmin()
IDXITMPE=np.abs(ITMPE-np.round(last_price)).argmin()
PE='PE'
CE='CE'
str_int_CE=tradingsymbol+expiry+str(int(ITMCE[IDXITMCE]))+PE
str_int_PE=tradingsymbol+expiry+str(int(ITMPE[IDXITMPE]))+CE
time.sleep(1)
instrument_token_CE=kite.ltp('%s:%s'%(exchange,str_int_CE))['%s:%s'%(exchange,str_int_CE)]['instrument_token']
time.sleep(1)
instrument_token_PE=kite.ltp('%s:%s'%(exchange,str_int_PE))['%s:%s'%(exchange,str_int_PE)]['instrument_token']
tokens=[instrument_token_CE,instrument_token_PE]
dict={instrument_token_CE:str_int_CE,instrument_token_PE:str_int_PE}
def on_ticks(ws,ticks):
    print(dict[ticks[0]['instrument_token']],ticks[0]['timestamp'],ticks[0]['last_price'])
def on_connect(ws,response):
    ws.subscribe(tokens)
kws.on_ticks=on_ticks
kws.on_connect=on_connect
kws.connect(threaded=True)
count=0
while True:
    count+=1
    if(count%2==0):
        
        if(kws.is_connected):
            
            kws.set_mode(kws.MODE_FULL,tokens)
        else:
            if(kws.is_connected):
                
                kws.set_mode(kws.MODE_FULL,tokens)
    time.sleep(0.500)