AlgoQuant

Revision for “AlgoQuant” created on April 22, 2017 @ 15:06:20

TitleContentExcerptRevision Note
AlgoQuant
AlgoQuant is a collection of trading-bot building tools. It is an actively developed and ever more comprehensive library of code for building systems for algorithmic trading in all aspects. You can use it to build systems for backtesting, trading strategy generation, data analysis, research, and actual order execution. Out of the box, AlgoQuant supports data import, data filtering and cleaning, in-samples calibration, out-samples simulation and performance analysis. Beyond these, the main competitive advantage that AlgoQuant has over other software is the incorporation of <a href="http://numericalmethod.com/up/suanshu">SuanShu</a>, a powerful modern library of mathematics, statistics, optimization and data mining.
<h1>Unified Mathematical Analysis and Modeling Library</h1>
AlgoQuant has a large collection of mathematical models, many from top academic journal publications, which a trader can use as building blocks to create his own trading models. For example, to build a mean reversion model, the trader can combine <a href="http://www.di.ens.fr/~aspremon/PDF/MeanRevVec.pdf">(D’Aspremont, 2011)</a> to construct a maximally mean reverting portfolio of two assets and then trade the pair using <a href="http://stat.wharton.upenn.edu/~steele/Courses/434/434Context/PairsTrading/PairsTradingQFin05.pdf">(Elliott, van der Hoek, &amp; Malcolm, 2005)</a> pair trading strategy. Both mathematical modules are available in the library. In addition, AlgoQuant has a large number of algorithms that the trader can apply. For example, in the area of portfolio optimization, AlgoQuant covers <a href="http://www.numericalmethod.com/javadoc/suanshu/com/numericalmethod/suanshu/optimization/multivariate/constrained/convex/sdp/socp/qp/package-summary.html">Quadratic Programming</a> (<a href="http://redmine.numericalmethod.com/projects/public/repository/svn-algoquant/show/core/src/main/java/com/numericalmethod/algoquant/model/portfoliooptimization">Markowitz or Modern Portfolio Theory</a>), <a href="http://www.numericalmethod.com/javadoc/suanshu/com/numericalmethod/suanshu/optimization/multivariate/constrained/convex/sdp/socp/problem/SOCPDualProblem.html">Second Order Conic Programming</a> as well as <a href="http://numericalmethod.com/blog/2011/05/31/strategy-optimization/">Differential Evolution</a>. In other words, using AlgoQuant, the trader does not need external math software like Excel, R, or MATLAB, and there are many readily available modules and algorithms to use. He can quickly build up very complicated mathematical strategies by combining together the components from the library.
<h1>Uniqueness</h1>
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&amp;L is a random variable. Therefore, in addition to reporting the historical P&amp;L, a proper backtest should, when applicable and feasible, report also the probability function of the future P&amp;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.,<a title="optimizer" href="http://www.numericalmethod.com/javadoc/suanshu/com/numericalmethod/suanshu/optimization/multivariate/constrained/ConstrainedMinimizer.html">LP, SDP, SOCP, QP, DEOptim, simulated annealing, genetic algorithm</a>, 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&amp;L curve changes.

Finally, AlgoQuant uses <a title="Monte Carlo simulation trading strategy" href="http://redmine.numericalmethod.com/projects/public/repository/svn-algoquant/show/core/src/main/java/com/numericalmethod/algoquant/execution/simulation/batch">Monte Carlo simulation</a> 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.
<h1>Trading Models</h1>
AlgoQuant has a collection of trading strategies and models, which can be purchased separately. They are found here: ​<a href="http://numericalmethod.com/quantitative-trading-strategies/" target="_blank" rel="noopener noreferrer">Quantitative Trading Strategies</a>.
<h1>Features Highlight</h1>
<ul>
<li>Backed by a math library <a href="http://numericalmethod.com/up/suanshu" target="_blank" rel="noopener noreferrer">SuanShu</a>, which allows you to prototype mathematical/quantitative models very quickly</li>
<li><a href="http://numericalmethod.com/2011/05/31/strategy-optimization/" target="_blank" rel="noopener noreferrer">​strategy optimization</a></li>
<li>Read <a href="http://redmine.numericalmethod.com/projects/public/repository/svn-algoquant/show/core/src/main/java/com/numericalmethod/algoquant/data/historicaldata" target="_blank" rel="noopener noreferrer">historical data</a> from various sources such as Bloomberg, CompuStat, Gain Capital, Yahoo.</li>
</ul>
<h1>Installation</h1>
<h2>Source Code</h2>
The latest source code can be browsed <a href="http://redmine.numericalmethod.com/projects/public/repository/svn-algoquant" target="_blank" rel="noopener noreferrer">here</a>.
<h2>Set Up</h2>
<ul>
<li><a href="http://numericalmethod.com/up/algoquant/setup" target="_blank" rel="noopener noreferrer">AlgoQuant Setup</a></li>
</ul>
<h1>Tutorials</h1>
<ul>
<li><a href="http://numericalmethod.com/up/algoquant/demo" target="_blank" rel="noopener noreferrer">Running the demos</a></li>
<li><a href="http://numericalmethod.com/up/algoquant/tutorial/strategy" target="_blank" rel="noopener noreferrer">Coding a trading strategy</a></li>
<li><a href="http://numericalmethod.com/up/algoquant/tutorial/infantino" target="_blank" rel="noopener noreferrer">Illustration with Infantino’s PCA strategy</a></li>
</ul>
<h1>Licensing</h1>
Permission to use, copy, and distribute AlgoQuant (but not the paid models and modules) and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the copyright holders not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The copyright holders makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

<b>Permission to modify the software is granted, but NOT the right to distribute the modified code in either source or binary format.</b>

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.

Full Licensing Terms: <a href="http://numericalmethod.com/algoquant-licensing-terms/" target="_blank" rel="noopener noreferrer">​http://numericalmethod.com/algoquant-licensing-terms/</a>



Old New Date Created Author Actions
April 22, 2017 @ 15:06:20 Haksun Li
April 22, 2017 @ 15:05:18 [Autosave] Haksun Li
April 20, 2015 @ 09:18:25 Haksun Li
April 15, 2015 @ 04:23:09 Haksun Li
April 15, 2015 @ 03:45:48 webmaster
April 14, 2015 @ 19:16:17 webmaster
April 14, 2015 @ 19:15:40 [Autosave] webmaster
April 14, 2015 @ 18:36:47 webmaster
April 14, 2015 @ 18:07:55 webmaster
April 14, 2015 @ 07:26:25 sanjay
April 14, 2015 @ 07:25:32 [Autosave] sanjay
April 13, 2015 @ 10:01:01 sanjay
April 13, 2015 @ 09:58:17 sanjay
April 13, 2015 @ 09:55:08 sanjay
April 13, 2015 @ 09:50:25 sanjay
April 13, 2015 @ 09:48:18 sanjay
April 13, 2015 @ 09:05:02 sanjay
April 13, 2015 @ 08:17:29 sanjay
April 10, 2015 @ 08:02:43 sanjay
April 10, 2015 @ 07:34:44 sanjay
April 10, 2015 @ 07:34:17 sanjay
April 9, 2015 @ 12:44:24 sanjay
April 9, 2015 @ 11:41:21 sanjay
April 9, 2015 @ 11:31:36 sanjay
April 8, 2015 @ 12:53:15 sanjay
April 8, 2015 @ 12:42:26 sanjay
April 8, 2015 @ 12:39:51 sanjay
April 8, 2015 @ 12:27:05 sanjay
April 8, 2015 @ 12:21:10 sanjay
April 8, 2015 @ 12:19:00 sanjay
April 8, 2015 @ 12:12:39 sanjay
April 8, 2015 @ 12:08:14 sanjay