Computational Investing was a course that hit two out of my three favorite topics: technology and investing. So it’s no surprise that I have taken this course not once – but twice.
From the course page at Coursera:
Why do the prices of some companies’ stocks seem to move up and down together while others move separately? What does portfolio “diversification” really mean and how important is it? What should the price of a stock be? How can we discover and exploit the relationships between equity prices automatically? We’ll examine these questions, and others, from a computational point of view. You will learn many of the principles and algorithms hedge funds and investment professionals use to maximize return and reduce risk in equity portfolios.
What the course aims to teach you is how to really measure the return of investment of a stock (relative to the market and/or relative to its industry), how to discover how certain stocks tend to move when the whole market moves (i.e. companies that always go up $1 when the market is up $1), how to properly diversify your portfolio to reduce risk and variance of return, and most importantly how to use this information to our advantage. During the course, we created simple computer programs to analyze large baskets of stocks looking for certain historical criteria. By looking for patterns that often lead to success, one can spot those events as they happen, and buy and sell the stock at moments expected to lead to the most profit.
For example, let’s say you analyzed the last 5 years of stock market trading across all S&P 500 stocks. You look for a pattern, such as stocks that drop more than 5% in a single day, and then follow their performance over the next several days. It might surprise you to that, on average, stocks that drop 5% in one day are often followed by a small recovery over the following days of 1%-2% back up. So in theory, you could buy any stock that dropped more than 5% the day it dropped, and aim to sell it 3 days later. If you did this consistently and without second-guessing or emotion, you would be expected to make 1%-2% per trade on your money, for a few days invested.
The problem, of course, is that when a stock drops by so much in a day, there is widespread belief that something significantly bad happened, and that it’s overvalued and deserved to drop. So it’s easy, as humans, to not want to buy such a stock as soon as it falls but wait for other external confirmations that the worst is over. That’s why this needs to be done using the help of computers.
It’s an interesting idea and approach. What other patterns could we find in the larger basket of stocks? What happens after a stock has a high run-up in a single day? What happens before earnings? What happens to an index of industry stocks when one stock is particularly strong? You can do all these types of analysis using computational analysis of the history.
As far as the course itself, the course requires a lot of programming week to week. And almost the entire first week of the class is devoted to downloading the software and installing it on your machine. There are a lot of files, libraries, etc that are required. Luckily, the course does a good job of providing video and written instructions, and the forums are full of people talking about and solving each others’ installation problems.
Beyond the first week, I find that Professor Balch and his team provide a lot of files and support for the students to get through the assignments. They are active on the forums, and there is a course wiki. Sometimes heavy clues are given such as pointing to a demo app source code that can be modified to complete that week’s assignment.
Will they ever offer “Computational Investing, Part II” online? I wish they would. I definitely would be interested.