How do I get the constituents of MSCI Small Cap Index using Eikon API

Hi,

I am unable to download MSCI Index constituents for Small Cap index using EikonDataAPI.

I have been able to get MSCI World and Emerging market constituents using Ric codes .dMIWO00000NGB and dMIEF00000NGB.

However it's not returning any data for .dMIWO000S0P or .dMIEF000S0P

Any help would be appreciated.

Thanks,

Fergal

Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @fergal.twomey

    I have run this code and it returns the data properly.

    List<string> indexname = new List<string> { ".dMIWO000S0P" };
    List<string> fields = new List<string> { "TR.IndexConstituentRIC", "TR.IndexConstituentName" };
    var data2 = eikon.GetData(indexname, fields);
    data2.Print(true);

    The output is:

            Instrument   Constituent RIC Constituent Name
    (string) (string) (string)
    0 -> .dMIWO000S0P SVM.TO SILVERCORP METALS
    1 -> .dMIWO000S0P SGCG.DE SGL GROUP
    2 -> .dMIWO000S0P BPT.AX BEACH ENERGY
    3 -> .dMIWO000S0P 6651.T NITTO KOGYO CORP
    4 -> .dMIWO000S0P FCNCA.OQ FIRST CITIZENS BANCSHS A
    5 -> .dMIWO000S0P HMTV.OQ HEMISPHERE MEDIA GROUP A
    6 -> .dMIWO000S0P CC11.MU CONSUS COMM PROPERTY
    7 -> .dMIWO000S0P 0341.HK CAFE DE CORAL HOLDINGS
    8 -> .dMIWO000S0P 7840.T FRANCE BED HOLDINGS CO
    9 -> .dMIWO000S0P FPM.L FAROE PETROLEUM
    10 -> .dMIWO000S0P AVP.N AVON PRODUCTS
    11 -> .dMIWO000S0P IOMG.L IOMART GROUP
    12 -> .dMIWO000S0P 6136.T OSG CORP
    13 -> .dMIWO000S0P ALU.AX ALTIUM
    14 -> .dMIWO000S0P GMT.NZ GOODMAN PROPERTY TRUST
    : ... ... ...
    4360 -> .dMIWO000S0P ULE.L ULTRA ELECTRONIC HLDGS
    4361 -> .dMIWO000S0P FCFS.OQ FIRSTCASH
    4362 -> .dMIWO000S0P MDCO.OQ MEDICINES CO
    ...

    It could be a permission issue. Please enable debug log to verify the retrieved response.

    Logging

    The libraries use the Microsoft.Extensions.Logging package for logging. To support console log, it requires the Microsoft.Extensions.Logging.Console package. After adding this package, you can use the following code to enable console logging with debug level.

    using Microsoft.Extensions.Logging;
    ...
    eikon.GetLoggerFactory().AddConsole(LogLevel.Debug);

Answers

  • @fergal.twomey, have you tried this?

    df, e = ek.get_data('.dMIWO000S0P', ['TR.IndexConstituentRIC'])

    image

  • Thanks for your reply.

    I'm using C# but I have tried that RIC code, the forst example below works but the second doesn't:

    This works....

    List<string> indexname = new List<string> { ".dMIWO00000NGB" };

    List<string> fields = new List<string> { "TR.IndexConstituentRIC", "TR.IndexConstituentName" };

    var data2 = eikon.GetData( indexname, fields );

    But this doesn't...

    List<string> indexname = new List<string> { ".dMIWO000S0P" };

    List<string> fields = new List<string> { "TR.IndexConstituentRIC", "TR.IndexConstituentName" };

    var data2 = eikon.GetData( indexname, fields );