MOEX Spectra Market Data Adapter

Steps to migrate from the previous version of Spectra adapter to version 1.2

MOEX has updated the specification for Spectra market (link to the article) to version 1.2

Support of Spectra v.1.2 has been introduced in the Spectra adapter in FIX Antenna 2.15

The Spectra adapter in FIX Antenna 2.15 is incompatible with the previous version of Spectra protocol.

  1. Update FIX Antenna to version 2.15
  2. Update Spectra adapter configuration files: templates.xml, fixdic50sp2spectra.xml, configuration.xml
  3. Fix InstrumentListener::onSnapshot callback in your code according to the example above
  4. Rebuild your application

Changes in B2BITS FIX Antenna

  1. Updated configuration files

    FileDescriptionLocation
    templates.xmlFAST template
    used to decode message
    Official ftp: ftp://ftp.moex.com/pub/FAST/Spectra/test/ files templates.xml
    in FIX Antenna package: <FixAntenna_distribution_package>\samples\SpectraClient\bin\templates.xml
    fixdic50sp2spectra.xmlFIX dictionary
    used to map decoded message to FIX message
    in FIX Antenna package: <FixAntenna_distribution_package>\samples\SpectraClient\bin\fixdic50sp2spectra.xml
    configuration.xmlFeed configuration for test environmentin FIX Antenna package: <FixAntenna_distribution_package>\samples\SpectraClient\bin\configuration.xml

    Note

    The connections configuration file for spectra's test feeds <FixAntenna_distribution_package>\samples\SpectraClient\bin\configuration.xml can be obsolete in the package. 
    The newest one can be obtained from the official MOEX FTP: ftp://ftp.moex.com/pub/FAST/Spectra/test/ files fastgate.xml or configuration.xml 

  2. Change in Adapter API to pass all fragments of a fragmented snapshot in a single callback:

    //old version
    void InstrumentListener::onSnapshot( SpectraSubscriptionItem const& subsItem, Engine::FIXMessage const* msg )
    {
        applySnapshot(msg);
    }
    //new version
    void InstrumentListener::onSnapshot( SpectraSubscriptionItem const& subsItem, Engine::FIXMessage const* const* msgs, size_t snapshotsCount)
    {
        for(size_t i = 0; i < snapshotsCount; ++i)
        {
            applySnapshot(msgs[i]); //Order Book is in inconsistent state until the last message of msgs[] is applied
        }
    }
  3. The Spectra client sample was updated to use new Spectra adapter
    see <FixAntenna_distribution_package>\samples\SpectraClient

Steps to migrate from the version 1.2 of Spectra adapter to version 1.2.3

  1. Update Spectra adapter templates.xml configuration file in your application from the official MOEX ftp
  2. Update Spectra adapter configuration.xml configuration file in your application from the official MOEX ftp

Steps to migrate from the version 1.3.2 of Spectra adapter to version 1.4.2

  1. Update Spectra adapter templates.xml configuration file in your application from the official MOEX ftp
  2. Update Spectra adapter fixdic50sp2spectra.xml configuration file in your application from this link: fixdic50sp2spectra.xml or get it from the recent FIX Antenna C++ 2.20.2 package.
Supported since FIX Antenna 2.20.2

Changes in B2BITS FIX Antenna