Quant Mashup - Quant Start Autoregressive Integrated Moving Average ARIMA(p, d, q) Models for Time Series Analysis [Quant Start]In the previous set of articles (Parts 1, 2 and 3) we went into significant detail about the AR(p), MA(q) and ARMA(p,q) linear time series models. We used these models to generate simulated data sets, fitted models to recover parameters and then applied these models to financial equities data. In(...) Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 3 [Quant Start]This is the third and final post in the mini-series on Autoregressive Moving Average (ARMA) models for time series analysis. We've introduced Autoregressive models and Moving Average models in the two previous articles. Now it is time to combine them to produce a more sophisticated model.(...) Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 2 [Quant Start]In Part 1 we considered the Autoregressive model of order p, also known as the AR(p) model. We introduced it as an extension of the random walk model in an attempt to explain additional serial correlation in financial time series. Ultimately we realised that it was not sufficiently flexible to truly(...) Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 1 [Quant Start]In the last article we looked at random walks and white noise as basic time series models for certain financial instruments, such as daily equity and equity index prices. We found that in some cases a random walk model was insufficient to capture the full autocorrelation behaviour of the instrument,(...) White Noise and Random Walks in Time Series Analysis [Quant Start]In the last article of the Time Series Analysis series we discussed the importance of serial correlation and why it is extremely useful in the context of quantitative trading. In this article we will make full use of serial correlation by discussing our first time series models, including some(...) Serial Correlation in Time Series Analysis [Quant Start]In last week's article we looked at Time Series Analysis as a means of helping us create trading strategies. In this article we are going to look at one of the most important aspects of time series, namely serial correlation (also known as autocorrelation). Before we dive into the definition of(...) Forex Trading Diary #7 - New Backtest Interface [Quant Start]Although I've spent the majority of this month researching time series analysis for the upcoming article series, I've also been working on QSForex attempting to improve the API somewhat. In particular I've made the interface for beginning a new backtest a lot simpler by encapsulating(...) Beginner's Guide to Time Series Analysis [Quant Start]Over the last few years we've looked at various tools to help us identify exploitable patterns in asset prices. In particular we have considered basic econometrics, statistical machine learning and Bayesian statistics. While these are all great modern tools for data analysis, the vast majority(...) Successful Algorithmic Trading Updated for Python 2.7.x and Python 3.4.x [Quant Start]This is a short update to inform current and prospective readers of Successful Algorithmic Trading that the Python code in the book has been updated to be fully compatible with both Python 2.7.x and Python 3.4.x. In addition I've created a requirements.txt file that allows you to easily(...) Forex Trading Diary #6 - Multi-Day Trading and Plotting Results [Quant Start]It's been a while since my latest Forex Trading Diary update. I've been busy working on the new QuantStart Jobs Board and so I've not had as much time as usual to work on QSForex, although I have made some progress! In particular I have been able to add some new features including:(...) Bayesian Inference of a Binomial Proportion - The Analytical Approach [Quant Start]In the previous article on Bayesian statistics we examined Bayes' rule and considered how it allowed us to rationally update beliefs about uncertainty as new evidence came to light. We mentioned briefly that such techniques are becoming extremely important in the fields of data science and(...) The Top 5 UK Universities For Becoming A Quant [Quant Start]In a previous article I outlined the best degree courses to take in order to help you get a job as a quant. I also mentioned that to discuss the best UK universities was an article in itself. This is that article! Coincidentally, the QS World University Rankings for 2014/15 have just been released(...) Forex Trading Diary #5 - Trading Multiple Currency Pairs [Quant Start]Yesterday I published some important changes to the QSForex software. These changes have increased the usefulness of the system significantly to the point where it is nearly ready for multi-day tick-data backtesting over a range of currency pairs. The following changes have been posted to Github:(...) Forex Trading Diary #4 - Adding a Backtesting Capability [Quant Start]I've been busy working on the open-source QSForex system over the past week. I've made some useful improvements and I thought I'd share them with you in this forex trading diary update. In particular, I've made the following changes, which will be discussed at length in this(...) Matrix-Matrix Multiplication on the GPU with Nvidia CUDA [Quant Start]In the previous article we discussed Monte Carlo methods and their implementation in CUDA, focusing on option pricing. Today, we take a step back from finance to introduce a couple of essential topics, which will help us to write more advanced (and efficient!) programs in the future. In subsequent(...) Best Undergraduate Degree Course For Becoming A Quant? [Quant Start]I'm often asked by individuals in high-school or sixth-form (for those of us in the UK!), as well as those contemplating heading back to university, as to what the most appropriate degree course is to take in order to become a quant. If I had to pick one course to cover all aspects of quant(...) Using Cross-Validation to Optimise a Machine Learning Method - The Regression Setting [Quant Start]One of the most problematic areas of quantitative trading is optimising a forecasting strategy to improve its performance. Seasoned quant traders realise that it is all too easy to generate a strategy with stellar predictive ability on a backtest. However, some backtests can mask the danger of an(...) Forex Trading Diary #3 - Open Sourcing the Forex Trading System [Quant Start]In today's entry of the Forex Trading Diary I want to discuss the longer term plan for the forex trading system. In addition I want to outline how I've used Python's Decimal data-type to make calculations more accurate. To date, we've been experimenting with the OANDA Rest API in(...) The Bias-Variance Tradeoff in Statistical Machine Learning - The Regression Setting [Quant Start]In this article I want to discuss one of the most important and tricky issues in machine learning, that of model selection and the bias-variance tradeoff. The latter is one of the most crucial issues in helping us achieve profitable trading strategies based on machine learning techniques. Model(...) Forex Trading Diary #2 - Adding a Portfolio to the OANDA Automated Trading System [Quant Start]In the last Forex Trading Diary Entry (#1) I described how to build an automated trading system that hooks into the OANDA forex brokerage API. I also mentioned that the next steps included constructing a portfolio and risk management overlay for all suggested signals generated by the Strategy(...) Forex Trading Diary #1 - Automated Forex Trading with the OANDA API [Quant Start]I previously mentioned in the QuantStart: 2014 In Review article that I would be spending some of 2015 writing about automated forex trading. Given that I myself usually carry out research in equities and futures markets, I thought it would be fun (and educational!) to write about my experiences of(...) Supervised Learning for Document Classification with Scikit-Learn [Quant Start]This is the first article in what will become a set of tutorials on how to carry out natural language document classification, for the purposes of sentiment analysis and, ultimately, automated trade filter or signal generation. This particular article will make use of Support Vector Machines (SVM)(...)