SIXP is a way of distributing all sorts of financial data to all sorts of clients. Since all the documentation on this site can be daunting for the beginner, we hope that this document will help you getting started.
SIXP consists of several parts:
You do not use the protocol directly when using SIXP. Instead you use one of the APIs. Today there are three APIs: Java, .NET and C++ (Windows and Linux).
Read more here: SIXP JAVA API, SIXP .NET API, SIXP C++ API
Should you use the Java, .NET, or C++ API. Is performance critical the C++ API is probably for you. Are you deeply invested in Microsoft technology .NET is probably the right tool for you. Are you using Linux but do not want the complexity of C++ the JAVA API is probably the right fit.
The CPU and memory consumption is normally insignificant compared to most client applications. You should select what API to use based on platform and programming language.
There are currently two main data types in SIXP: tables and text. Most information is organized into tables.
Tables consists of records and fields. For example, quotes on stocks at the Stockholm Stock Exchange can be retrieved as a table with one record for each stock and fields like Bid price, Ask price and Last paid. Records are sometimes called rows and fields are sometimes referred to as columns.
Tables can be updated in real time with data from the server. You can subscribe to notifications about changes in a table. Records can be added or deleted, but the set of fields is fixed as long as you subscribe to a table.
The fields can be of different types. Examples of types are decimal numbers, text strings and time stamps. Fields are identified by field names.
The text format is primarily used for news articles.
To retrieve a table or a text from the SIXP server you make a request where you specify a resource locator. The resource locator, RL, is a text string and can be compared to a URL used to identify web pages, but it does not contain a protocol or server name. The RL is composed of several parts: class, group and filter. The complete RL is composed as /class/group?filter. The idea is that you should be able to use the filter part to specify what records to include from tables.
For example: the RL to retrieve quotes for all stocks at the Stockholm Stock Exchange is /rt/stock/quote?Mkt="SSE".
Resource locators can also be found in some tables in fields with the data type LINK. The LINK field is composed of a protocol, RL and type specifier. You can for instance find this in tables with news headlines where the LINK field refers to the news article text.
Read more here: PRL language
In the documentation about the information structure you can find a list of available RLs together with a brief description. The filter does not affect what fields that are available in a table. I.e. all tables with the same class and group have the same field set. There is a list of available field sets that includes a short description. In the future more fields might be added and your application should not be confused by this.
Read more here: Data description
A test tool is included In the Tools SDK available in the download section, SIX Query. You can view tables and news articles and you can use this as a reference to verify that your application receives the correct data. It can also be used to find in what tables the information you need is located.