Using Level-Zero Cache automated Trading Strategies can profit from full database access in Live-Trading without introducing any latency penalties.
There are many advantages of having a database available to your trading strategy: orders / trades can be stored, current positions are available even after a system restart, performance indicators can be calculated based on database data, etc. Java based systems often use persistence frameworks like Hibernate to interface with the database. Hibernate comes with an internal caching mechanism (First and Second Level Cache) which requires a Hibernate Session. Creation of a Hibernate Session is usually very quick (a few milliseconds). This mechanism is therefore fine for any request-response based system (like a Web Page). However this approach is not feasible for a trading application. A trading application typically receives several thousand market data events per second. Ideally these market data events have to be matched to the latest data stored in the database (e.g. Security related information, current Positions, executed Trades, etc.). However opening a new Hibernate Session for every market data event, to synchronize related objects, is much too expensive!
For this purpose AlgoTrader introduces the Level-Zero Cache
Some of the Features of Level-Zero Cache:
- Level-Zero Cache is a pure Java based Cache
- Level-Zero Cache does not require an active Hibernate Session
- Objects available inside the Level-Zero Cache will be delivered instantaneously and do not introduce any additional latency
- Level-Zero Cache does refresh objects at the same time a database update occurs
For further details please visit: http://www.algotrader.ch/algotrader-int ... ero-cache/
Cheers
Andy