I'm off to Eastbourne this weekend, so I thought I'd get my update in today instead.
First off, motivation is still good, and I feel like I'm making progress. The journal is helping a lot, as I'm not just accountable to myself. I think the biggest danger ahead is just the more you learn the more you realise you really know nothing and the changes of giving up are greatly increased. It's the classic
Dunning-Kruger effect.
This week I've been reading a couple of books by Andreas Clenow that I'm really enjoying. For a start they're highly readable, and void of fluff, so it absolutely feels like time well spent. The two books are
Following the Trend and
Stocks on the Move, the first is focussed on trend following futures, the latter on momentum trading stocks. Each give specific rules for a trading system that replicate with surprising success what the majority of hedge funds are doing, through diversification that captures the whole market. Whilst the former doesn't have much practical utility for the retail trader like you and me as it requires capital in excess of $1m given you're trading potentially 50 instruments across 5 markets. A question that springs to mind is whether you could trade instead with the e-minis, although I don't believe there are enough alternatives to diversify across (either alternatives don't exist, or volume is so low the spreads are unfavourable), in order to make the strategy work. On the stocks side, the strategy trades weekly, and requires scanning the stock constituents of the S&P500, which is ripe for algorithmic trading to do the heavily lifting work. Anyway, what I like is that Clenow presents a complete strategy, the theory behind it, the backtesting, even a year by year look at how it would actually feel like to trade it, then further details about some practical considerations around doing it in practice (data, position sizing, risk management etc).
On the options side, I continue to follow the Steady Options trades, I allowed (or to be more exact let slip!) my free trial rollover to the monthly plan, so I intend to continue following their trades on my live IB account for now. I also picked up a copy of
Options for Rookies that I've seen mentioned, more than once ,as a great beginners guide for Options (quick tip: on Amazon it looks like it's free if you have Kindle Unlimited, except it's not in the UK, as it's restricted to the US only). I prefer physical books anyway. My trading library is expanding exponentially, and it was already pretty large before (let's hope they do more than just collect dust). I also traded my first weekly credit spread on ZB (US T-Bonds) last week, and that's been an interesting ride, it'll expire today, but just the experience of following the trade day by day, and the effect of the underlying movement has been an eye opener. This directional option trades (as opposed to the volatility plays on Steady Options) is what actually got me interested in the momentum books I mentioned above, as ultimately to have any change of success you need to be able to identify the trend (and of course manage the position thereafter).
On the algorithmic side, I hit a bit of a wall with QTPYLib, through no fault of the software itself, but just it felt like I was spending more time on getting it up and running that I needed to. I planned to set it up on a virtual server to run 24/7 using the tutorial here:
https://dimon.ca/how-to-setup-ibc-and-tws-on-headless-ubuntu-in-10-minutes/ - but given I'm time poor I just felt I was getting enough bang for my buck; and probably I should look at what other options are out there.
So I spent some time research the current state of algorithmic trading, to see what are the main options, in particular with a focus on using Python to code up your system. Here's what I found out.
You've basically got three approaches; and I think for anyone starting out, who isn't necessarily all that tech-savy; it's a bit of no-brainer. The approaches are:
- ONLINE approach - Use a fully online platform (everything is done in your browser, nothing to install locally) which comes with everything you need (inc. solid data)
- DIY approach - Use an open-source framework/library that you have to install yourself on your own computer or server (baremetal or cloud) and f
- DESKTOP approach - Use a desktop application that you run yourself but it's more likely you'll have to use a proprietary language, or if not, it's unlikely you can use Python.
1. ONLINE
So, if you just want to get up and running with minimal fuss, and focus on the strategy and get back-testing, then go with option 1. right now, I don't see any reason why you wouldn't. From my research there are two main players,
Quantopian and
Quantconnect - the big difference is that Quantopian you can't live trade through the online platform (although you can through the DIY approach since they've open-sourced the backtesting/trading engine, it's called
Zipline so that avenue isn't entirely blocked, also see
IBridgePy as another way to do it).
With Quantconnect you can trade through the platform your strategy, for a small monthly fee ($20+ for the server costs) on Interactive Brokers, FXCM, Oanda and GDax (cryptos). Quantconnect have also open-sourced their engine, so you can run the algorithms on your own setup, it's called
Lean.
Both platforms let you code in Python, in fact Quantopian only supports Python whereas Quantconnect also offers C# and has F# (in beta). You may ask what their business model if they're giving this all away for free, well the idea is that you can share your strategy easily and the best ones get funded and they take a cut from the proceeds. However everything is private unless you choose to share your strategies. I signed up for both and Quantopian comes across as a more mature platform, the
$50m they've received in venture money no doubt has helped (Quantconnect is on
$1m). I plan to spend more time on both, although I think Quantopian is easier for the average joe, as they have a lot of good introductory material:
Outside of the big two, there are a couple of other offerings that I'll probably play around with, time permitting:
2. DIY
I've already mentioned both of the two online platforms have outsourced their backtesting/trading engines, so they're both worth checking out:
Another framework I've heard good things about is Backtrader. Apparently it's quite a feature complete Python backtesting and live trading framework that can do live trading and has a solid community behind it. However, I've heard it, doesn't have a "portfolio first" approach, so you're out of luck with the Clenow strategies I mentioned earlier, which is a big minus for me.
Then there's QTPyLib that I've previously mentioned, as well as another couple of options:
Reddit has a fairly complete list
here, if you really want to exhaust all options:.
3. DESKTOP
I won't talk much about these, as none of these (to my knowledge) lets you uses Python, but I include some of them (by no means an exhaustive list) to give a more complete picture as to the options out there for algorithmic trading (in no particular order):
Final comment, I spotted yesterday this topic on the Quantopian community forums:
https://www.quantopian.com/posts/stocks-on-the-move-by-andreas-clenow - it was started 3 years ago, but you can see Andreas Clenow posting about the very strategy he outlines in his Stocks on the Move book and shares the code to implement it in Quantopian. The great thing about these online platforms is the ability to share strategies, which you can then just 'clone' and editing yourself (if you're a techie, think github for trading systems). I intend to delve into this further in the coming weeks.