SmartQuant Discussion

Automated Quantitative Strategy Development, SmartQuant Product Discussion and Technical Support Forums
It is currently Sun Sep 23, 2018 10:01 am

All times are UTC + 3 hours




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: OpenQuant 2014
PostPosted: Wed Jan 01, 2014 8:31 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
We are pleased to announce the launch of completely redesigned SmartQuant framework and OpenQuant 2014 IDE.

You are welcome to contact us at info@smartquant.com to get a copy of OpenQuant 2014 preview and to take part in the beta testing program.

Introduction to OpenQuant 2014 for OpenQuant Users: http://www.smartquant.com/openquant2014/doc/Introduction%20to%20OpenQuant%202014%20for%20OpenQuant%20users.pdf

Happy New Year!

Image

The framework has been re-designed and re-programmed from scratch. There can be many frameworks running in parallel within one application on the same computer. The framework (API) is open to the end user. You can use it to create your own trading applications.

A new architecture based on the event bus concept is the core of the new framework. This new architecture allows us to efficiently utilize multithreading, caching, balance workload and construct distributed trading applications.

Simulation speed has been increased dramatically. Parallel strategy optimization can now be done in several ways, either by running several isolated framework instances in parallel or by distributing simulator events to several frameworks connected via event bus.

Thanks to the event bus and event pipes concept, dynamic market data subscriptions during simulations are possible now. This was not possible before. This feature open doors to a large subset of strategies, such as automatic futures rollovers, option chains, dynamic portfolio allocation and rebalancing, etc.

Multiple providers are supported. Providers call strategy event handlers from the same thread. Actually all strategy event handlers are called from the same thread now and this resolves a great number of conflicts that OpenQuant users had before, especially in the real time mode or while using/developing their own custom providers.

Framework clock can rely on computer hardware and trigger timers (remainders) with nanosecond precision.

Data base engine has been rewritten from scratch. Multiple clients accessing data file on local host or via network are now supported through data file server service (QuantFileServer). Insert and delete operations are much faster now. The data engine can store any named objects, such as instruments or portfolios, which are stored now in the data file instead of slow MS Access database.

Thanks to the QuantFileServer, several OpenQuant applications can be launched simultaneously on the same computer under the same user name.

Execution layer has been rewritten from scratch. Instead of slow FIX messages the new OpenQuant uses fast and compact execution messages, which have a set of standard predefined fields, but can also have a set of user defined fields. This significantly speeds up simulations and minimizes memory consumption, so that now OpenQuant is able to simulate millions of orders in pretty reasonable time.

Execution messages are two-way messages now (from and to a broker). They are either execution commands or execution reports, so that it’s possible now to keep and track the entire step by step execution history associated with an order.

Hierarchies of strategies and portfolios become possible. A strategy can have child strategies and a portfolio can have a parent portfolio. There is no need for a special metastaregy class any longer – every strategy can be a metastrategy and you can build trees of strategies of different types. For example this means that now it’s possible to see not only aggregated, but also per instrument portfolio and performance statistics for OpenQuant InstrumentStrategy.

OpenQuant 2014 solutions are normal Microsoft Visual Studio solutions, which can be opened, compiled, debugged and executed in Visual Studio.

There are several strategy types built into framework. Strategies derived from the base Strategy class receive events for all instruments, while InstrumentStrategy creates an instance per instrument internally. ComponentStrategy works with Signals propagating through a set of strategy components such as DataStrategy, AlphaStrategy, RiskStrategy, PositionStrategy, ExecutionStrategy, ReportStrategy.

New class of Sell Side Strategies allows to support truly synthetic instruments (pairs, spreads, baskets, etc.), which are seen as normal instruments to the rest of framework and to Buy Side Strategies; to implement a variety of broker side strategies, such as algorithmic orders, automatic rollovers, etc.

A completely new strategy logging and monitoring system was designed and developed.


Top
 Profile  
 
 Post subject: Re: OpenQuant 2014
PostPosted: Thu Jan 23, 2014 12:15 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
Multicore optimization and many other features have been added to OpenQuant 2014 beta since initial realease. You can download updated version using the same download link. Don't foget to do clean uninstall as discussed in the introductory doc:

Reinstalling

Since OpenQuant 2014 is an early beta, which we update quite frequently, it’s a good idea to perform “clean” uninstall before installing a new version. OpenQuant installer doesn’t override user files such as data files, configuration files or strategy files. Thus you may miss important changes in those files if you don’t remove them manually.
In order to perform “clean” uninstall, you should uninstall OpenQuant selecting Uninstall in windows start menu,

and then manually remove files from your AppData\Roaming\SmartQuant Ltd\OpenQuant 2014\ and your Documents\OpenQuant 2014\Solutions\ folders . Indeed you can leave or backup files that you need. For example you don’t need to delete your own strategies if you need them, but if you want to update demo strategies, you need to delete corresponding files.
Then you can install a new version of OpenQuant 2014 as discussed in the previous chapter.


Top
 Profile  
 
 Post subject: Re: OpenQuant 2014
PostPosted: Tue Jan 28, 2014 9:21 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
The database engine was heavily refactored and should be even more speedy and reliable now. The raw format of data files was changed and you need to perform clean uninstall in order to successfully upgrade to this version from any previous version.


Top
 Profile  
 
 Post subject: Re: OpenQuant 2014
PostPosted: Mon Feb 03, 2014 6:42 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
A number of new features was added, particularly:

Using external series in the data simulator

The DataSimulator can use external data series to simulate the flow of market data events stored in these series. You can add external data series to the DataSimulator using DataSimulator.Series.Add() method.

This feature can be used to significantly speed up strategy simulations. The idea is to run strategy simulations normally for the first time and record data event flow into a series in a data file. Next time you can run strategy simulations using this data series instead of usual strategy market data subscriptions. When you run strategy simulations in a normal way, data simulator adds a number of event queues into the data pipe of the event bus. Actually it adds one event queue per market data request per instrument, so that if you have bid, ask and trade series per instrument and add hundred instruments into a strategy, the data pipe is going to consists of three hundred event queues (one event queue per simulated data series). Consequently, events from these queues should be correlated before they can be used to trigger strategy event handlers. This event correlation process can take a lot of CPU resources (in the most simple and naive approach we should look up all three hundred queues and find an event with the most recent datetime every time we need to pick up the next strategy event). When we use DataSeriesEventLogger to record data event flow coming into our strategy, we record a flow of already correlated events, so that we don’t need to spend time to correlate events if we run the data simulator next time with such pre-recorded data series.

The process of making bars from ticks in the BarFactory for a number of time frames and instruments can take significant CPU time as well. Again, you can use technique discussed above to simulate pre-recorded series of bars.

Using data series cache to speed up simulations

Data series objects can be cached in memory when you read data series from disk for the first time. This means that next time you access the same data series object, it will be almost immediately returned from memory. Data series objects will not be loaded from disk, decompressed and deserialized. This can significantly speed up repeating simulations. Indeed you should have enough free memory installed in your computer to keep all simulation data in memory cache.


Top
 Profile  
 
 Post subject: Re: OpenQuant 2014
PostPosted: Mon Apr 07, 2014 8:56 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
New OpenQuant 2014 update includes several samples (MS Visual Studio solutions with full source code) of user data/execution providers (OpenECry), indicators and a demo application (trading console with algo orders) that can be developed with SmartQuant Framework.

Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group