Hello Sa,
I think it is important to share algos so we might encourage someone else to explore new areas. So I’d like to add my thoughts in response to your question to give you a different perspective. Granted I’ll approach this more from a fundamental analysis point of view since that has not been explored fully yet. The books “Stocks for the Long Run” and a “Random Walk Down Wall Street” are good starting areas for any investor in my opinion.
Although I have only been a Quantopian member for about a month now, I’ve explored many of the shared algorithms and I came to a similar conclusion as you did. I ask myself: what problem does this algo try to solve?. Usually they compromise a balance between profits and risk. Typically, when trying to reduce risk you will reduce profits. If we could borrow an infinit amount of money, then we would opt for an algo with the least amount of risk with a tiny profit. Yet as demonstrated by this graph: http://www.vox.com/personal-finance/2014/7/22/5877329/less-than-a-quarter-of-americans-get-the-most-important-investment found in “Stocks for the Long Run”, stocks provide the most profit. However most people take the middle ground and still purchase some bonds because they have an aversion to risk (i.e. a large draw down).
The other aspect that must be considered is your investment timeframe. It is easier to make money when the market is trending (it either goes up or down) vs when it is not (moving sideways). A strategy that works well in a downtrend (eg 07-09) may not work well when the market is in an uptrend (eg 04-06) or when the market is moving sideways (eg Feb to July of this year). A strategy that works well for a short time period is called over fitted
because it is not robust enough to generate profits over a long period of time.
Having said all this, I suggest you give fundamental analysis a look. All stocks represent companies. These companies either generate cash flow that exceed expenses which they can use to either grow the business to generate more cash flow (hopefully buying back shares or paying dividends to shareholders) or they operate at a loss and someday close. Fundamental Analysis revolves around finding the metric that best predicts future cash flow growth. All algos rely on past information to predict future movement. Just like some try to profit from a bounce after a stock has dropped (think potential energy in a compressed spring) others try to identify a company`s revenue trend from its balance sheet and income statement.
The algo that I have shared is a simple one based on what was shared in the Help & API Docs
with a few personal modifications and some other shared lines of code. This algo invests monthly in companies with the lowest Price to Earnings ratio. This is a work in progress. Quadrupling the SPY is a good start. 3 areas I wish to improve are: a) reduce the massive drawdowns, b) explore other fundamental metrics such as ROA, ROE, PtoFCF, PtoB, LTDER, PtoCF, etc. that may generate better returns and c) to hedge by shorting stocks that have poor fundamentals. I`m glad Jamie Lunn has shared his code because I think it may help in addressing problem a). If someone has suggestions, please let me know. I also hope that if another Quantopian has an interesting algo that explores a new area that they will share it as well.