While analysing scrip master I found that it is missing many indexes including bank nifty.
Code below to reproduce the issue.
df → compact sm
dfl → detailed sm
diff = set(df['SEM_SMST_SECURITY_ID'].tolist()) - set(dfl['SECURITY_ID'].tolist())
res = df[df['SEM_SMST_SECURITY_ID'].apply(lambda x: x in diff)]
print(res['SEM_TRADING_SYMBOL'].tolist())
[‘BHRT22’, ‘SNXT50’, ‘BSEMOI’, ‘BSEEVI’, ‘SENSEX’, ‘BSEPBI’, ‘ESG100’, ‘LCTMCI’, ‘LMI250’, ‘MID150’, ‘MSL400’, ‘USDINR’, ‘GBPINR’, ‘EURINR’, ‘GBPUSD’, ‘MIDCAP’, ‘BSE200’, ‘BSE500’, ‘BANKEX’, ‘BSE CD’, ‘BSE CG’, ‘BSE HC’, ‘METAL’, ‘POWER’, ‘BSEPSU’, ‘TECK’, ‘SMLCAP’, ‘ALLCAP’, ‘INFRA’, ‘UTILS’, ‘SMLSEL’, ‘BASMTR’, ‘FIN’, ‘LRGCAP’, ‘CDGS’, ‘INDSTR’, ‘NIFTY PVT BANK’, ‘NIFTY 100’, ‘GBPUSD’, ‘USDJPY’, ‘NIFTY FMCG’, ‘NIFTY MEDIA’, ‘NIFTY METAL’, ‘NIFTY PSU BANK’, ‘NIFTY MID100 FREE’, ‘MIDCPNIFTY’, ‘NIFTY TOTAL MKT’, ‘NIFTY MICROCAP250’, ‘Nifty Healthcare’, ‘GBPINR’, ‘Nifty Oil and Gas’, ‘Nifty India Digital’, ‘Nifty500 Multicap India Manufacturing 50:30:20’, ‘Nifty100 ESG’, ‘Nifty100 ESG Sector Leaders’, ‘Nifty200 Alpha 30’, ‘Nifty Alpha Low Volatility 30’, ‘Nifty50 Dividend Points’, ‘Nifty50 Equal Weight’, ‘Nifty50 PR 1x Inverse’, ‘Nifty50 PR 2x Leverage’, ‘Nifty50 TR 1x Inverse’, ‘JPYINR’, ‘Nifty200 Quality 30’, ‘USDINR’, ‘GIFTNIFTY’]
