Forum Applications Trading Strategies (Algo Quant)
current capabilities of algoquant – questions
-
yping99Participant 2012-07-30 at 4:13 am
I am impressed with your design philosophy and white papers. I was wondering if you could answer the following about your .2 version:
- Roughly how many ticks per second -per modern core- can be consumed during backtesting for the simplest strategy that virtually never triggers (so no expensive transactions taking place) such as buy when the spread 2 levels deep exists and is 10% wide ?
- Am I correct from looking at the code that it will use/store milliseconds but not microseconds ?
Can you share some features coming in future algoquant versions even if you cant specify the time ?
-
Haksun LiModerator 2012-07-30 at 4:21 pm
Hello ba201,
Thank you very much for your interest in AlgoQuant.
A few clarifications –
AlgoQuant is not an application but rather a programming library. AlgoQuant is a collection of data structures and algorithms in algorithmic or quantitative trading. So, in theory, the backtesting can be as fast as you make it. In reality, however, currently, AlgoQuant comes with a few simulators, each designed to simulate a different market situation.
We do try to make AlgoQuant run very fast. Because we rely on Monte Carlo simulation and bootstrapping to backtest and validate a trading strategy, we make AlgoQuant run in as many parallel cores as possible. This is a still working objective in progress.
Yes, as of now, AlgoQuant work with milliseconds. We will have to extend the library if to work with microseconds.
The AlgoQuant features and priorities are driven by the demand of the subscribers to the library. The short term modules scheduled to be released are:
1. Monte Carlo backtesting 2. Bootstrapping backtesting 3. Auto backtesting report generation 4. A downloader of Yahoo and Google financial data 5. Better parallel processing capability
I would like to emphasize that the selling point of AlgoQuant is not yet another backtester. Backtesting is never the reason why we create AlgoQuant. Rather, the advantage of AlgoQuant is to let user code up complex mathematical trading strategies relatively easier. It is those mathematical models that we are selling so you don’t need to reproduce them yourself. They are like the arsenal and tools in your warehouse. For upcoming releases, we have worked on the following math modules:
For mean-reversion trading, 1. Identifying small mean-reverting portfolios. Alexandre D’Aspremont. Quantitative Finance, Volume 11 Issue 3 2011. 2. Optimal Pairs Trading: A Stochastic Control Approach. Mudchanatongsuk, S., Primbs, J.A., Wong, W. Dept. of Manage. Sci. & Eng., Stanford Univ., Stanford, CA.
For portfolio allocation, 3. Mean–variance portfolio optimization when means and covariances are unknown. Tze Leung Lai, Haipeng Xing, Zehao Chen.
For stop-losing a strategy, 4. a change point detection algorithm
-
yping99Participant 2012-08-09 at 12:44 am
Thank you.
Will the current fill simulator in your library take into account queue position when simulating fills ?
-
Ken YiuParticipant 2012-08-09 at 9:04 am
For limit orders, you can specify customized order-filling model. We have implemented some simple probabilistic models (namely, RandomVariableFillModel and PartialFillRVFillModel) for this purpose.
You are also free to implement your own model which takes queue size into account, and plug into the simulator by calling:
<br /> Simulator mySimulator = new SimpleSimulator.Builder(depthCaches).<br /> useLimitOrderExecutionModel(myOwnModel).build();<br />