Can someone tell me why get_history function does not work for some fields in a stable manner?
It returns data when it feels like it.
It does not return data even when they exist in the database.
What am I doing wrong?
df = rd.get_history(universe=["QNBK.QA", "IQCD.QA", "QIBK.QA", "ORDS.QA", "ERES.QA", "QGTS.QA", "MARK.QA", "DUBK.QA", "CBQK.QA", "QEWS.QA", "MPHC.QA", "QIIK.QA", "QFLS.QA", "QNNS.QA", "IGRD.QA", "BRES.QA", "VFQS.QA", "ABQK.QA", "DHBK.QA", "QAMC.QA", "QATI.QA", "GISS.QA", "AHCS.QA", "ZHCD.QA", "UDCD.QA", "MERS.QA", "MCCS.QA", "BLDN.QA", "QNCD.QA", "MEZA.QA", "QFBQ.QA", "QIGD.QA", "GWCS.QA", "MCGS.QA", "QISI.QA", "DOHI.QA", "QIMD.QA", "QGRI.QA", "SIIS.QA", "BEMA.QA", "QLMI.QA", "MRDS.QA", "AKHI.QA", "MHAR.QA", "MKDM.QA", "WDAM.QA", "NLCS.QA", "TQES.QA", "QOIS.QA", "DBIS.QA", "IHGS.QA", "FALH.QA", "QGMD.QA", "QCFS.QA"],
fields= ['TR.OPENPRICE', 'TR.HIGHPRICE', 'TR.LOWPRICE', 'TR.CLOSEPRICE', 'YIELD', 'TR.VOLUME', 'TR.CompanyMarketCapitalization', 'TR.NUMBEROFTRADES', 'TR.PriceTargetMean', 'Tr.RecLabel', 'TR.IssuerRating', 'TR.RTBCEconomicSector', 'TR.PriceTargetMean', 'Tr.RecLabel', 'TR.IssuerRating', 'TR.RTBCEconomicSector'],
interval='1d', start="2010-01-01", end="2025-01-01")
rics = {"QNBK.QA", "IQCD.QA", "QIBK.QA", "ORDS.QA", "ERES.QA", "QGTS.QA", "MARK.QA", "DUBK.QA", "CBQK.QA","QEWS.QA", "MPHC.QA", "QIIK.QA", "QFLS.QA", "QNNS.QA", "IGRD.QA", "BRES.QA", "VFQS.QA", "ABQK.QA","DHBK.QA", "QAMC.QA", "QATI.QA", "GISS.QA", "AHCS.QA", "ZHCD.QA", "UDCD.QA", "MERS.QA", "MCCS.QA","BLDN.QA", "QNCD.QA", "MEZA.QA", "QFBQ.QA", "QIGD.QA", "GWCS.QA", "MCGS.QA", "QISI.QA", "DOHI.QA", "QIMD.QA", "QGRI.QA", "SIIS.QA", "BEMA.QA", "QLMI.QA", "MRDS.QA", "AKHI.QA", "MHAR.QA", "MKDM.QA", "WDAM.QA", "NLCS.QA", "TQES.QA", "QOIS.QA", "DBIS.QA", "IHGS.QA", "FALH.QA", "QGMD.QA", "QCFS.QA"}
format_df = pd.DataFrame()idx = pd.IndexSlicefirst_loop = True for ric in rics: # get the dataframe of each RIC in the RICs list temp_df = df.loc[:,idx[ric,:]] temp_df.columns = temp_df.columns.droplevel() temp_df.reset_index(inplace=True) temp_df['RIC'] = ric temp_df.dropna(inplace=True)
# put this value in the format_df dataframe if first_loop: format_df = temp_df first_loop = False else: format_df = format_df._append(temp_df)
format_df.to_csv("QSE1.csv", index=True)