AlgoQuant is a library of integrated trading research tools. AlgoQuant is a lot more than just an application of backtesting. It is an actively developed and ever more comprehensive library of reusable components that you can use to build your own trading tools from research, backtesting and data analysis to actual automatic order execution. AlgoQuant is particularly designed for quantitative and algorithmic trading because it is backed by a very powerful math library (SuanShu), which allows very quick prototyping very complicated quantitative strategies.
Unified Mathematical Analysis and Modeling Library
AlgoQuant differentiates itself from other trading system by focusing on quantitative trading strategy research (not execution). (However, there is nothing to prevent you from replacing our mock market with a real market execution/brokerage API.) Built on SuanShu, you can do all the data analysis and sophisticated mathematics based strategies all in Java, without the need to resort to external math software like Excel, python, R, or Matlab. Additionally, AlgoQuant comes with some well established models published in academic journal papers.
Numerical Method Inc. has a unique way of doing backtest. In general, backtest using historical data alone is not a sufficient justification of a quantitative trading strategy. Historical backtest tells only how much money we could have made in the past. What we really want to know is how much money we may make in the future. The future P&L is a random variable. Therefore, in addition to reporting the historical P&L, a proper backtest should, when applicable and feasible, report also the probability function of the future P&L.
In general, optimizing strategy parameters is a very difficult optimization problem due to, e.g., curse of dimensionality, discrete or integral variables, trading constraints. AlgoQuant comes with a suite of professional optimization tools, e.g., LP, SDP, SOCP, QP, DEOptim, simulated annealing, genetic algorithm, to do strategy and portfolio optimization.
Moreover, we can only find the optimal strategy parameters with respect to, e.g., historical data, or a hypothetical model. The optimal parameters for live trading are going to be different than what we have picked. We hope that the (small) differences between the optimal parameters and our choices do not severely reduce the profit. So, AlgoQuant checks the stability of the strategy parameters around the chosen values by doing sensitivity analysis to see how the P&L curve changes.
Finally, AlgoQuant uses Monte Carlo simulation to stress test a strategy. We want to ensure (or check) that the strategy is profitable in many plausible situations. For example, the strategy needs to be profitable on average in many possible prices that have similar statistical properties as the ones we use in study before it can go live. Also, to identify the sources of profit, we compute the expected returns of trading a strategy under different (hopefully isolated) risk factors.
AlgoQuant comes with source code. You may not distribute in any form the binaries and/or source code of AlgoQuant. You may distribute your own work such as add-ons or patch files.
- For free trial, you can download our release version here (after registering with this blog):
algoquant-0.8.0.zip (17.9 MiB, 644 hits)You do not have permission to download this file.
AlgoQuant is licensed to use, not sold. Permission to modify the software is granted, but NOT the right to distribute the code (modified or not) in either source or binary format.
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.