Added Support for Ubuntu 18.04LTS

Preparing for the upcoming release of Ubuntu 18.04LTS (Bionic Beaver) due to release on 2018-04-26 we have updated our DEB repository with compatible versions of all our software products.

For fresh installs all you have to do is to add our repository and our signing key:

sudo wget "https://packages.millistream.com/apt/sources.list.d/bionic.list" -O /etc/apt/sources.list.d/millistream.list
wget -q "https://packages.millistream.com/D2FCCE35.gpg" -O- | sudo apt-key add -
sudo apt update

Or if you are upgrading from a previous version of Ubuntu you can simply re-enable the repository (the upgrade process in Ubuntu/Debian disables all external repositories) and fetch the new binaries:

sudo wget "https://packages.millistream.com/apt/sources.list.d/bionic.list" -O /etc/apt/sources.list.d/millistream.list
sudo apt update
sudo apt upgrade

Upgraded feed access point in Amazon EC2

When Amazon applied patches to their EC2 infrastructure to secure it against the Meltdown vulnerability in their Intel processors on December 2017 we experienced a large performance degradation of our feed access point in AWS EC2 Ireland.

Unfortunately it turns out that network heavy distribution applications such as our feed access point is the type of application that are the most affected by the Meltdown mitigations, experiencing up to 50% performance degradation.

To mitigate this we have upgraded our feed access point in AWS EC2 to the instance type that have the highest performance available. Unfortunately upgrading to this instance type means that the old IP address cannot be retained (unfortunately the IP address of the old access point was not an Elastic address, but the new one is) and thus all users of the aws.millistream.com access point must open for port 9000/9100 (depending on if receiving delayed and/or realtime data) to IPv4 address 52.51.190.39.

The CNAME in our DNS servers for aws.millistream.com will change from the current value of 54.195.186.72 to 52.51.190.39 at 2018-02-03.

Valid feed access points for the Millistream Data Feed (MDF):

Address 	        Provider        Location
sth2.millistream.com    IP-Only         Stockholm, Sweden 
sth.millistream.com 	Verizon 	Stockholm, Sweden
lon.millistream.com 	C4L 	        London, UK
aws.millistream.com 	Amazon EC2 	Dublin, Ireland

Millistream Database Application (MDA) version 0.9.41 released

The Millistream MDA project team is pleased to announce the release of version 0.9.41 of our open source application for updating SQL servers with data from the Millistream Data Feed.

  • Support for new table “underlyings” from SQL Schema v90. Instruments have started to use multiply underlying id:s so the current model with a single column in “instruments” does no longer suffice. To remedy this we have added a new table “underlyings” which will have one row per insref and underlying (as ISIN as usual). When we will start to send out multiple underlyings the “instruments.underlyingid” can contain multiple ISINs separated by a pipe “|” character which is hard to deocde using SQL so this new table is much better to use.
  • Support for new table “priip” from SQL Schema v90. This is the “European PRIIPs Template (EPT) v1.1” table. Please not that access to this data requires additional entitlements.
  • Support for new table “mifid” from SQL Schema v90. This is the “European MiFID Template (EMT) v1.0” table. Please not that access to this data requires additional entitlements.
  • Log the SQL Server error code on sql errors for easier troubleshooting
  • Made the source possible to compile under MSYS2 on Windows
  • The Windows Installer includes the latest version of libmdf (v1.0.21) needed to deflate the MMT column in the “trades” table (a new column from SQL Schema v90)

As earlier announced, as of v0.9.33 the database schema is developed independently of the MDA and the latest schema including upgrade scripts is available on our ftp server under the documents section (MDA_schemas_[version].zip). As of this writing the latest database schema is v90 and is available from ftp://ftp.millistream.com/documents/MDA_schema_90.zip.

Do note however that the latest schemas are only needed if you need the new columns/tables, they are not mandatory to operate the MDA!

We consider MDA 0.9.41 to be the best version of MDA available and we recommend that users of older versions upgrade as soon as possible.

MDA 0.9.41 is available for download from the following locations:

Windows users upgrade by running the installer for the new version. Linux users who have added our apt or yum repositories can upgrade by simply issuing:

  • Debian/Ubuntu: “apt update && apt upgrade
  • Red Hat/CentOS/Amazon Linux AMI: “yum upgrade

Information on how to add these repositories are available at ftp://ftp.millistream.com/binaries/linux/.

And as usual, if you have any questions what so ever regarding this release or other things, don’t hesitate to contact us at tech@millistream.com.

Millistream Data Feed API (MDF) version 1.0.21 released

Millistream is pleased to announce the release of version 1.0.21 of our open source Data Feed API.

  • updated mdf_fields.h to the latest version (82 new fields)
  • two new MiFID2 messages MDF_M_PRIIP (EPT) and MDF_M_MIFID (EMT)
  • performance improvement of numeric field decoding (up to 113% increase)
  • automatically deflate the MDF_F_MMT string

As usual this version of MDF is binary compatible with previous versions, so there is no need to recompile client applications, so users (including users of the Java JNI wrapper) can simply upgrade by replacing the libmdf file itself.

MDF 1.0.21 is available for download from the following locations:

Linux users who have added our apt or yum repositories can upgrade by simply issuing:

  • Debian/Ubuntu: “apt-get update && apt-get upgrade
  • Red Hat/CentOS/Amazon Linux AMI: “yum upgrade

Information on how to add these repositories are available at
ftp://ftp.millistream.com/binaries/linux/

And as usual, if you have any questions what so ever regarding this release or other things, don’t hesitate to contact us at tech@millistream.com.

libmdf 1.0.20 installer for Windows

Millistream is proud to announce the release of version 1.0.20 of our open source Millistream Data Feed API for Microsoft Windows.

Starting with v1.0.20 we provide libmdf via a installer for Windows that can be downloaded from https://packages.millistream.com/Windows/libmdf-1.0.20.exe. The installer contains three components of which two are optional:

  1. The libmdf core library file, needed for all applications that use libmdf. Installs to C:\Windows\System32 (mandatory)
  2. The libmdf development files, needed for developers who write C/C++ applications using libmdf. Installs to C:\Program Files\Millistream\libmdf (optional)
  3. The libmdf Java and JNI bindings, needed for applications written in Java and/or for developers who write Java applications using libmdf. Installs to C:\Windows\System32 (the JNI library) and C:\Program Files\Millistream\libmdf (the JAR file) (optional)

Minimum requirements for the optional Java files are Java 8 (Spider). If you need support for older versions then please contact Millistream Tech support.

The full source code for libmdf can be downloaded from https://packages.millistream.com/source/libmdf-1.0.20-2.tar.gz and the source code for the Java and JNI bindings can be downloaded from ftp://ftp.millistream.com/sources/libmdf-java-1.0.20.tar.gz.

Example code for both C/C++ and Java can be downloaded from https://packages.millistream.com/source/mdf_examples.zip, and full documentation can be found at ftp://ftp.millistream.com/documents/.

 

libmdf 1.0.20 installer for macOS

Millistream is proud to announce the release of version 1.0.20 of our open source Millistream Data Feed API for macOS.

Starting with v1.0.20 we provide libmdf via a signed pkg installer for macOS that can be downloaded from https://packages.millistream.com/macOS/libmdf-1.0.20.pkg. The installer contains three components of which two are optional:

  1. The libmdf core library file, needed for all applications that use libmdf. Installs to /usr/local/lib (mandatory)
  2. The libmdf development files, needed for developers who write C/C++ applications using libmdf. Installs to /usr/local/lib and /usr/local/include (optional)
  3. The libmdf Java and JNI bindings, needed for applications written in Java and/or for developers who write Java applications using libmdf. Installs to /Library/Java/Extensions (optional)

Minimum requirements for the installer is macOS Sierra (10.12) and Java 8 (Spider) for the optional Java files. If you need support for older versions of either then please contact Millistream Tech support.

The full source code for libmdf can be downloaded from https://packages.millistream.com/source/libmdf-1.0.20-2.tar.gz and the source code for the Java and JNI bindings can be downloaded from ftp://ftp.millistream.com/sources/libmdf-java-1.0.20.tar.gz.

Example code for both C/C++ and Java can be downloaded from https://packages.millistream.com/source/mdf_examples.zip, and full documentation can be found at ftp://ftp.millistream.com/documents/.

 

libmdf added to the FreeBSD® Ports and Packages Collection

Millistream is proud to announce that our Market Data API C/C++ library libmdf, have just been added to the FreeBSD® Ports and Packages Collection.

Details about the package can be found at the FreshPorts site: https://www.freshports.org/net/libmdf/

 

Millistream Database Application (MDA) version 0.9.40 released

The Millistream MDA project team is pleased to announce the release of version 0.9.40 of our open source application for updating SQL servers with data from the Millistream Data Feed.

  • Fixed an error on PostgreSQL where escaped string containing forward slash “\” characters would be sent wrongly to the SQL server if “standard_conforming_strings” is enabled on the server (which it is per default in newer versions of PostgreSQL).
  • Support “connectionstring” setting in mda.config for the Microsoft SQL Server and PostreSQL servers for power users that want to set more options for the connection to the SQL server than the available settings in mda.config allow. When “connectionstring” is used then the other settings such as “username”, “password”, “dbname”, “server” and “port” are ignored by the MDA.
  • On Microsoft SQL Server and PostgreSQL a “mda –check-types” could erroneously report errors for “numeric” columns with a length between (10,0) and (19,0).
  • When connecting with MySQL/MariaDB, MDA will now read options from the “mda” group in the “my.cnf” file if such a group exists.
  • The SSL settings added in v0.9.39 for MySQL/MariaDB will now also work for PostgreSQL (even though they are perhaps best set there using the “connectionstring” setting anyway).
  • Added man pages for “mda” and “mda.config” on Linux.

As earlier announced, as of v0.9.33 the database schema is developed independently of the MDA and the latest schema including upgrade scripts is available on our ftp server under the documents section (MDA_schemas_[version].zip). As of this writing the latest database schema is v89 and thus the file is available from ftp://ftp.millistream.com/documents/MDA_schema_89.zip.

Do note however that the latest schemas are only needed if you need the new columns/tables, they are not mandatory to operate the MDA!

We consider MDA 0.9.40 to be the best version of MDA available and we recommend that users of older versions upgrade as soon as possible.

MDA 0.9.40 is available for download from the following locations:

Windows users upgrade by running the installer for the new version. Linux users who have added our apt or yum repositories can upgrade by simply issuing:

  • Debian/Ubuntu: “apt update && apt upgrade
  • Red Hat/CentOS/Amazon Linux AMI: “yum upgrade

Information on how to add these repositories are available at ftp://ftp.millistream.com/binaries/linux/.

And as usual, if you have any questions what so ever regarding this release or other things, don’t hesitate to contact us at tech@millistream.com.

Extended News Coding Latency Decreased to below 100microseconds

Since day one, extended news coding for news messages in the Millistream Market Data Feed (MDF) have been handled asynchronously in order to keep the latency of the news contents low. The initial News Headline message contains the coding supplied by the source and the asynchronous process uses this initial coding in order to find extended coding (i.e more ISIN codes connected with the companies in the text message and/or possible company insref:s).

Over time this process have been slightly slower and slower to process each new News Headline message as it worked with a single queue and used a SQL server as the database for lookups. However during the weekend we have put a new process into production that uses an internal in-memory database with a O(1) guarantee for lookups which have lowered the latency down to below 100µs.

Added support for Debian 9 “Stretch”

Even though the release date of Debian 9 “Stretch” is yet unknown, it went into full freeze at 2017-02-05 and consequently we have updated our DEB repository with builds of all our software products for Debian 9.

For fresh installs all you have to do is to add our repository and our signing key:

sudo wget "https://packages.millistream.com/apt/sources.list.d/stretch.list" -O /etc/apt/sources.list.d/millistream.list
wget -q "https://packages.millistream.com/D2FCCE35.gpg" -O- | sudo apt-key add -
sudo apt update

Or if you are upgrading from a previous version of Debian you can simply open /etc/apt/sources.list.d/millistream.list in a text editor of your choice and change the distribution name to “stretch” so that it matches this content:

deb https://packages.millistream.com/apt stretch main
deb-src https://packages.millistream.com/apt stretch main

After which you can fetch the new binaries with:

sudo apt update
sudo apt upgrade