Projects
SIX
We have been working with SIX AB for many years. Originally we worked
with Dextel/Findata but this company was bought by SIX 1995. The SIX
Trader products were owned by us and licensed by SIX in the beginning, but
SIX has now bought the system. For more information about SIX see www.six.se
.
The SIX Trader products are used by thousands of professional users. Many users rely on these products to provide them with real-time financial information all the time.
SIX Trader Server
The SIX Trader Server receives financial data from SIX via satellite or a VPN connection. SIX Trader Server process the the information and makes it available on the clients LAN. The users in the LAN can then use SIX Trader Client or SIX Web II to view the information.
Examples of real-time financial data are stock quotes, exchange rates, interest rates and news.
The challenge when developing the server software is to make it fast and robust enough to handle real-time information reliably 24 hours a day for months or even years. The server runs on Windows NT/2000 and uses a custom made database to store the information. Data is sent via TCP/IP using a proprietary protocol to the clients.
We will probably start using PGM (Pragmatic Multicast) as one way to deliver data from SIX to the server. This will require that we implement the PGM protocol on top of Multicast. This is an example of advanced network communication.
SIX Trader SIXP Server
The SIX Trader SIXP Server is similar to a SIX Trader Server, but it makes data available in the LAN using the SIXP protocol that we have developed together with SIX. The users can then access the information via a Java API or an NT/COM API.
The SIXP solution is the preferred way for SIX to deliver a data feed to customers that use the data as an input to their systems. This solution has been a big hit and many big companies, Internet stock brokers and media companies use this as a source of real-time financial data.
SIX Trader Client
The
SIX Trader Client connects to a SIX Trader Server to retrieve real-time
financial data. Data can be presented in tables, composite window and
graphs. Alarms can be set to signal on special conditions. Macros written
in VBScript or JScript can be executed from the application as a response
to a key or an alarm. A set of windows can be saved in a workbook. Other
applications, such as Excel, can be integrated into SIX Trader Client. You
can also use DDE links to create hot links to other applications such as
Excel.
The challenge when developing this program was to handle real-time information in a user friendly GUI. For example, as you drag data from one window to the next, the data may change or it may even be deleted. Standard GUI components are seldom designed for real-time information and everything is built on our own components.
SIX Web II/Terminal
The SIX Web II/Terminal is web based solution to present real-time financial data. We have developed a set of ActiveX components that are used in DHTML pages to create a responsive and easy-to-use application.
The current implementation communicates with a SIX Trader Server over the users LAN. It requires too much bandwidth to use over the Internet. However, we are working on a version were we use compression and other techniques to minimize the amount of data sent between server and client. That version can be run over the Internet.
A future project is to replace the ActiveX components with a Java based solution.
SIX Equity Trader
SIX Equity Trader communicates with a SIX History Collector Server to obtain equity trade information. This information is then analyzed and presented as tables and graphs. All analyzes work on live data and are updated continuously. The program integrates very well with SIX Trader Client.
SIX Derivative Trader
SIX Derivative Trader analyses option contract and calculates implicit standard deviation, theoretical prices and measurements in real-time. The program integrates and uses data delivered via SIX Trader Client.
SIX History Collector Server
The SIX History Collector Server collects equity trade information from a SIX Trader Server and store the information in a searchable database. For optimal speed some aggregations are precomputed. We have designed our own database engine to be able to handle real-time updates at the same time as the client can access the data. The data is retrieved via the SIXP Protocol. SIX Equity Trader can read this data to make analysis and presentations.
The challenge in this project was to create a high speed solution that can run on an ordinary PC server.
SIX News Collector Server
The SIX News Collector Server stores news articles in an index database for quick access. Millions of articles can be stored.
The challenge in this project was that we had to develop a search engine that could handle updates at the same time as the clients search the database. Articles should be available in the database as soon as they have been published. There can be several new articles per second. Old articles can be purged from the system without recreating the index. We were not able to find any search engine that could handle these features in a cost efficient way.
SIX Feed Replicator
The SIX Feed Replicator is a server that receives the SIX information feed from a server and distributes it to several other servers. You can define more than one source of information and the program will switch to another source if one source fails.
We will soon add support for receiving data using the PGM protocol.
EcoWin
We have been working with EcoWin since 1992 when we developed their
first Windows based version of EcoWin Graphics. EcoWin has a very good
penetration on the Nordic market, but have recently opened a London office
and are expanding their business. You can read more about EcoWin at www.ecowin.com
.
EcoWin Graphics
The
EcoWin Graphics application is an advanced tool for analyzing and
presenting economic time series. The program can read data from different
databases. There is a set of built in analysis but with the formula
language you can define new functions. Time series can be presented in
graphs, tables and reports. The program is highly modular and new
functions are added continuously in the form of add-ons and upgrades.
Charts can be embedded in Microsoft Office documents using OLE. This is a very useful feature that enables you to have up-to-date charts in you documents. It is also possible to use DDE to link data to for instance Excel.
The most common way to retrieve time series is to connect to the extensive EcoWin Time Series Database over the Internet. Data is transferred using XML over HTTP.
The challenge when developing EcoWin is to create an easy-to-use application that also contains a lot of advanced functions.
We have made our own extension to EcoWin Graphics called Vinga Asset Allocation.
EcoWin Database Server
The EcoWin Database Server provides EcoWin Graphics with time series from EcoWin's time series database that contains hundred of thousands of series. Since it is very inefficient to store time series in an ordinary relational database, we have developed a specialized database for this purpose. The server is implemented as an ISAPI extension to Microsoft Internet Information Server.
Users can access the Database Server on-line via Internet, by synchronizing a local copy of the database via Internet or by using a modem.
The challenge when developing the program was to get the performance needed on an ordinary PC server and to support many simultaneous clients.
A new version of the server is currently being developed. It will be based on IBM's DB2 and IBM's WebSphere and will be completely Java based (JSP, EJB and Java servlets). By using the Time Series Extender that has been developed by EcoWin time series can be stored efficiently in the DB2 relational database. The new database will be able to handle millions of series and it will be possible to search the database in new powerful ways by for instance specifying mathematical conditions.
ScandInfo
Analysis of marketing research
For ScandInfo who delivers market research services Vinga has developed a .NET-based solution which uses Microsoft SQL Server with OLAP and Microsoft Report Server. The system handles very large datasets and has strong requirements on rapidly providing its users with reports on demand. This requires a powerful solution. Read more here.
Greenpeace
Fund raising/membership system
The Vinga fundraising and membership maintenance system for organizations was developed in early 90s.
The organization is assumed to undertake campaigns and responses such as new members, gifts or orders for material. Such responses trigger user defined actions such as letters and journal subscriptions. Statistics over member characteristics based on historical record of individual behavior, geographical distribution and other information available. Address information is updated and is tested for consistency with zip code databases. Also sound index routines are used for avoiding duplicates.
The system also has a module for economic reports on campaign activities. External information from other sources can be imported, to be used for statistical purposes.
The system was developed using DataFlex, a 4GL database system and is used by Greenpeace Sweden running in DOS under Windows.