by Haksun Li | Apr 8, 2015 |

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 SuanShu, a powerful modern library of mathematics, statistics, optimization and data mining. Unified Mathematical Analysis and Modeling Library 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 (D’Aspremont, 2011) to construct a maximally mean reverting portfolio of two assets and then trade the pair using (Elliott, van der Hoek, & Malcolm, 2005) 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 Quadratic Programming (Markowitz or Modern Portfolio Theory), Second Order Conic Programming as well as Differential Evolution. 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. Uniqueness Numerical Method Inc. has a unique way...
by Haksun Li | Apr 15, 2015 |

Dr. Haksun Li is a founder and the CEO of NM LTD., an algorithmic trading research and mathematical modelling consulting company. The firm serves brokerage houses and funds all over the world, multinational corporations, very high net worth individuals and gambling groups. Prior to this, Haksun was a quantitative trader/quantitative analyst with multiple investment banks. He trades stocks, options, commodity futures, FX and bonds. He has worked in New York, London, Tokyo, Singapore and Hong Kong. Dr. Haksun Li is the Vice Dean of the Big Data Finance and Investment Institute of Fudan University, China. He was an adjunct professor with multiple universities. He has taught at the National University of Singapore (Mathematics), Nanyang Technological University (Business School), Fu Dan University (Economics), as well as Hong Kong University of Science and Technology (Mathematics). Dr. Haksun Li has a B.S. and M.S. in Pure and Financial Mathematics from the University of Chicago, an M.S. and a Ph.D. in Computer Science & Engineering from the University of Michigan, Ann Arbor. Academic Duties Dr. Haksun Li is/was a Vice Dean of the Big Data Finance Institute of Fudan University, China; an Adjunct Assistant Professor of the Department of Mathematics, National University of Singapore; an Adjunct Associate Professor of Banking & Finance at Nanyang Business School, Nanyang Technological University. He was also an industry fellow. external adviser, Fu Dan University, School of Economics He also taught at these universities in the past. Hong Kong University of Science and Technology, Department of Mathematics Fu Dan University, School of Economics Beijing University seminar 介绍 李克辛博士是数值方法股份有限公司的创办人和行政总裁。 李博士在数值方法股份有限公司致力于科学计算技术的研发以及交易、投资和资产管理方面的咨询工作。在他的领导下，公司立足于量化投资和金融科技领域，服务对象包括世界各地的证券和基金公司，跨国企业，高资产人士及博彩投资团队等。李博士管理和交易的资产包括股票，期权，商品期货，外汇和债券。 近期，李博士帮助瑞士的一家投资公司解决了资产组合的最优交易问题，为香港知名医疗集团提供了信息技术的咨询，为美国拉斯维加斯的专业博彩团队设计了应用在篮球和美式橄榄球上的博弈策略。此外，李博士还与多所中国顶尖大学合作组织了算法交易和量化投资方面的培训课程。 在创立数值方法股份有限公司之前，李博士曾先后在瑞士银行和法国巴黎银行从事量化分析员和量化交易员的工作。在后者就职期间李博士管理着超过一亿欧元的资产。李博士是复旦大学大数据金融研究院副院长。另外李博士也曾在新加坡国立大学，南洋理工大学，复旦大学和香港科技大学担任兼职教授。 李博士拥有芝加哥大学的数学学士和金融数学硕士学位，以及密歇根大学计算机硕士和博士学位。 学术职务 李博士是/曾是 复旦大学大数据金融研究院副院长 新加坡国立大学数学系的兼职助理教授 新加坡南洋理工大学商学院的兼职副教授，院士 复旦大学经济学院 校外导师 李博士还任教于这些大学。 香港大学科技数学系 复旦大学经济学院...
by sanjay | Apr 13, 2015 |

Installation On your web site I can read, suanshu.net-2.0.0.zip and algoquant-0.5.0.zip. Should we download both, or does AlgoQuant suffice and we get SuanShu with the algoquant-0.x.x.zip? You just need to download algoquant-0.5.0.zip. It comes with the latest version of SuanShu as well. SuanShu.net is our experimental C# library and is free to download and use. Which version of Java do you recommend? We in house test all our code using a few thousands unit tests daily with 4 versions of jvm from Sun/Oracle: 1.6.x 32 and 64 bits, 1.7.x 32 and 64 bit. Your choice of jvm version is a personal decision. Although some of our developers use the IBM clone with eclipse, it is not part of our routine testing procedure. My personal preference is the Oracle 1.6.x 64 bit. We need 64 bit to process a large amount of data. We prefer 1.6.x because it is a much more mature product with history esp. amid-st the infamous security patches and testing/release policy from Oracle lately. mvn compile does not work! Please do mvn clean install before compile. When building AlgoQuant with Maven, I got errors with the plugin Surefire. E.g., Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test (default-test) on project algoquant-core: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14:test failed This problem seems to happen mostly on a Mac. Please try to use Surefire version 2.14.1 or above. You may try to run the maven build with option “-e”. You may try to skip the unit testing by option “-skipTests”. (In NetBeans, there is such an option under “Maven”.) If none of the above works, our wild guess is that your VM...
by webmaster | Apr 15, 2015 |

The central idea of modern financial economics: The average return of a stock is the payoff for taking risk. Factor Premium & Factor Exposure Given a stock and a risk factor, Factor Premium quantifies the payoff to an investor who takes on this risk by buying the stock. Factor Exposure quantifies the exposure of the stock to this risk. Average stock return per this risk average stock return = factor exposure X factor premium Mathematics Suppose we have N stocks whose returns depend on K factors. the factor premiums for the K factors: the factor exposures of stock i: The return on stock i, ” , can be written as The average stock return is where, , Finding Factor Premium Since return () and factor exposures () of the N stocks are known, we can compute, at any time point, the factor premiums () from the stock return equation using the OLS (Ordinary Least Square) regression. Panel Regression However, knowing the factor premiums on separate time points (e.g. each month or season) would not be helpful for prediction and analysis. We would like to know whether there exist stable factor premiums for a longer time period (e.g. 2~3 years). Given there are N stocks over T time periods, Factor exposures of N stocks over T time periods, We can estimate the factor premiums (f) from the following equation using OLS regression, Our Implementation in Algoquant AlgoQuant has a package on QEPM to model factors, exposure and premium. We currently support the computation of premiums using cross-sectional or panel regressions (factor premiums on separate time points). Reference Ludwig...
by webmaster | Jan 14, 2013 |

Maven How do I exclude SuanShu’s dependencies in my own Java project? SuanShu depends on some third-party modules: akka-2.1.4 joda-time-2.8.2 kryo-2.22 heaps-2.0 (from teneighty.org) By default, Maven includes these transitive dependencies in the classpath. If you do not want them to be included in the classpath of your project, you may exclude them explicitly by adding an “exclusion” in the dependency section: <dependencies> <dependency> <groupId>com.numericalmethod</groupId> <artifactId>suanshu</artifactId> <version>${suanshu.version}</version> <exclusions> <exclusion> <groupId>com.esotericsoftware.kryo</groupId> <!-- exclude kryo --> <artifactId>kryo</artifactId> </exclusion> </exclusions> </dependency> </dependencies> 12345678910111213 <dependencies> <dependency> <groupId>com.numericalmethod</groupId> <artifactId>suanshu</artifactId> <version>${suanshu.version}</version> <exclusions> <exclusion> <groupId>com.esotericsoftware.kryo</groupId> <!-- exclude kryo --> <artifactId>kryo</artifactId> </exclusion> </exclusions> </dependency></dependencies> See this guide for more...
## Recent Comments