Request to review the simple query that client wrote & optimize it

Request to review the simple query that client wrote & optimize it
ds = dsweb.DataClient(username = auth_info['secrets'][1]['key'], password = auth_info['secrets'][1]['value'])

# Golbal parameters

start_date = '2008-01-01'

# Listing of instruments per dataset

instruments = {

    'energy' : 'ETQC.01,LNGASIA,NATGAS1,LLCC.01',

    'FX' : 'USAFGHN,TDALLSP,TDDZDSP,TDAOASP,USARGEN,USARMEN,TDAWGSP,MSERAUD,TDAZNSP,BAHRDI$,USBAHDN,BANTAK$,TDBBDSP,TDBYNSP,TDBZDSP,BERMDO$,BOLIPE$,TDBAMSP,BOTSWPI,USBRAZL,BRUNDO$,BLUSDSP,TDBIFSP,TDXPFSP,TDKHRSP,MSERCAD,TDCVESP,CAYIDO$,TDXAFSP,CDIVCF$,USCHILP,USCHINY,USCOLMP,TDKMFSP,TDCDFSP,TDCRCSP,TDCUPSP,USCZECK,MSERDKK,TDDJFSP,TDDOPSP,TDXCDSP,TDEGPSP,TDERNSP,TDETBSP,EUDOLLR,TDFJDSP,TDGMDSP,TDGELSP,TDGHSSP,TDGTQSP,TDGNFSP,USGUYAN,TDHTGSP,TDHNLSP,MSERHKD,HNUSDNB,ICUSDSP,USINDNR,USINDON,TDIRRSP,TDIQDSP,ISUSDSP,TDJMDSP,MSERJPY,USJORDR,TDKZTSP,TDKESSP,USKUWTD,TDKGSSP,TDLAKSP,TDLBPSP,TDLRDSP,TDLYDSP,TDMOPSP,TDMGASP,TDMWKSP,USMALAY,TDMVRSP,TDMRUSP,TDMURSP,USMEXPF,TDMDLSP,TDMNTSP,MOROCD$,TDMZNSP,TDMMKSP,TDNADSP,TDNPRSP,TDANGSP,TDUSESP,MSERNZD,TDNIOSP,NIGNAI$,TDMKDSP,MSERNOK,TDOMRSP,USPAKIS,PAPUAK$,TDPYGSP,USPERUI,PHUSDSP,USPOLZL,TDQARSP,TDRONSP,RSUSD.X,TDRWFSP,WESTSAI,TDSTNSP,USSAUDR,TDRSDSP,TDSCRSP,MSERSGD,SOLOMOI,TDSOSSP,BBZARSP,KOUSDSP,SSPUSSP,SPEDRAW,MSERLKR,TDSDGSP,TDUSRDP,TDSZLSP,MSERSEK,MSERCHF,TDSYPSP,USTAIWD,TAJIKS$,TDTZSSP,USTHAIB,TONGAPI,TDTTDSP,TDTNDSP,TKUSDSP,TDTMMSP,TDUGXSP,TDUAHSP,USUTDAD,UKDOLLR,USURUGP,TDUZSSP,VANUAT$,USVENBS,TDVNDSP,YEMENR$,TDZMKSP,TDZWDSP,USG6WIC',

    'stocks' : "XGLFLD$,S&PCOMP,MSWRLD$,MSEMKF$,MSEROP$,MSEAFE$,MSPACF$,S&PCOMP,DAXINDX,FTSE100,FRCAC40,HNGKNGI,KORCOMP,CHSASHR"

}

# Collecting data

data = {}

missing_indicators = {}

for ds_name in instruments.keys():

    print(ds_name)

    if len(instruments[ds_name].split(",")) <= 50:

        data[ds_name] = ds.get_data(tickers=instruments[ds_name], start=start_date, freq='D')

    else:

        instru_split = [instruments[ds_name].split(",")[i:i + 50] for i in range(0, len(instruments[ds_name].split(",")), 50)]

        df_list = []

        for instru_chunk in instru_split:

            df_list.append(ds.get_data(tickers=",".join(instru_chunk), start=start_date, freq='D'))

        data[ds_name] = pd.concat(df_list, axis = 1)

    # Checking missing indicators

    instrument_requested = instruments[ds_name].split(",")

    instruments_covered = data[ds_name].columns.get_level_values('Instrument')

    missing_indicators[ds_name] = list(set(instrument_requested) - set(instruments_covered))