Skip to content

Instantly share code, notes, and snippets.

@aeron7
Created May 25, 2020 16:11
Show Gist options
  • Save aeron7/26fadf6aebf6cf6f5ba167bf7154d7ea to your computer and use it in GitHub Desktop.
Save aeron7/26fadf6aebf6cf6f5ba167bf7154d7ea to your computer and use it in GitHub Desktop.
Stockmock Dict Parser
theta3 = "p=BN::0_S_PE_20,BN::0_S_CE_20&et=10:42:00,14:48:00&s=intraday&ed=1,0&sfm=false&sfd=1550188800000&std=1581910710191&slp=-21&so=leg"
dict = {x[0] : x[1] for x in [x.split("=") for x in theta3.split("&") ]}
#Working on OrderFire
dict['p'] = dict['p'].split(',')
dict['et'] = dict['et'].split(',')
#24 Hour Conversion with zero Padded
if(len(dict['et'][0].split(':')[0])==1):dict['et'][0]="0"+dict['et'][0]
algo_start=dict['et'][0]
algo_end=dict['et'][1]
def dictmaker(dict):
bnltp=fut_ltp("BANKNIFTY")
nltp=fut_ltp("NIFTY")
logging.info("DictMarker Initiated.")
#Prepare New Dict
for i in range(0,len(dict['p'])):
dict['p'][i]=dict['p'][i].split('::')
dict['p'][i][1]=dict['p'][i][1].split('_')
if(dict['p'][i][0]=="BN"):tradesymbol='BANKNIFTY'
if(dict['p'][i][0]=="N"):tradesymbol='NIFTY'
if(dict['p'][i][1][1]=="S"):tradetype='SELL'
if(dict['p'][i][1][1]=="B"):tradetype='BUY'
if(len(dict['p'][i][1])==3):
tradesymbol=tradesymbol+weekfut
tradequant=dict['p'][i][1][2]
#logging.info(dict['p'][i])
if(len(dict['p'][i][1])==4):
strike=atm_strike(bnltp,100)+int(dict['p'][i][1][0])
tradesymbol=tradesymbol+weekly+str(strike)+dict['p'][i][1][2]
tradequant=dict['p'][i][1][3]
del dict['p'][i][1][2]
#logging.info(dict['p'][i])
dict['p'][i][0]=tradesymbol
dict['p'][i][1][1]=tradetype
del dict['p'][i][1][0]
dict['p'][i][1].insert(2,nfo_ltp(dict['p'][i][0]))
dict['p'][i][1].insert(3,'NA')
dict['p'][i][1].insert(4, 1)
return dict
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment