4 ms·
It is much harder to turn a model into a profitable trading strategy than people realize. Apart from transaction costs, risk management and market impact there
by tikhonj 6y ago
It is much harder to turn a model into a profitable trading strategy than people realize. Apart from transaction costs, risk management and market impact there are also a lot of small operational details which can make or break your execution. One example I vaguely recall was that the details of how a specific foreign exchange conducted its closing auction could make a substantial difference to a strategy that involved executing there alongside other trading venues.
The payoff for getting these operational details right or wrong is massively asymmetrical. If you get everything right, you'll only do as well as your model lets you. But if you get anything wrong, you run a real chance of losing far more money than you could have hoped to make!
Even just validating your strategy on historical data (ie back-testing) is harder than it sounds. If you make a mistake that leaks information to the code you're testing, you can end up with a much rosier return and risk profile than you really have. Another way to lose money when you go put your model into action.
If you get over these challenges and run your strategy successfully for a while, other market participants are going to start adjusting against it and you have to adjust in turn. You can't just "set and forget".
I should note that I am far from an expert on any of this, though! I just know enough to not trade with serious money—my real savings are all in index funds I don't touch, thank you very much :).
- hogFeast 6y agoI believe what you are referring to is the fix. Foreign exchange markets, that I am aware of, do not have closing auctions. I have heard of some quants trading foreign exchange markets, agreeing to trade at the fix with their counter-party, and not realising that traders often manipulate the fix resulting in the quant's strategy appearing not to work. It is almost comical (I worked in finance but not in FX, everyone knew this was going on for decades before the SEC starting fining people) that someone who managed money was making this error. You are 100% correct about all the other stuff. Lots of issues with "production"...that is why financial firms employ traders/risk people/etc. Most people who trade themselves tend to go for lower-frequency strategies that they can implement personally. I actually don't think there are huge barriers, smaller investors have a huge advantage (when you trade at scale, the market moves against you) but you have to work with what you have and realise that you will get crushed if you try to replicate what someone with more money is doing. Also, data. Data is expensive, and a huge fixed cost.
- nstj 6y agoA “foreign exchange” not “foreign exchange market”
- hogFeast 6y agoAh, same principle. I have heard of many similar stories.
- tikhonj 6y agoI was half-remembering some story I heard a while ago about the work needed to arbitrage between some US ETF and some securities on a Brazilian exchange, or something to that effect. I don't remember the details, and I'm not even sure that specific example was real, but it stuck out as a great illustration of the complexities involved in executing a strategy vs just coming up with a model. Nothing foreign-exchange-specific there although, now that you mention it, dealing with different currencies is another problem you can run into with strategies.
- ben_w 6y agoThis is basically why I’ve never seriously considered doing it myself. I had a neat idea in about 2005 which I tested on historical data, and it beat buy-and-forget on every share I tried except for Google, and it only had one free parameter. But, even if I’d implemented it perfectly, and even if the algorithm has survived the financial crash, it would’ve only worked if I could trade for free, and other people copying the algorithm would probably have made it stop working.
- galaxyLogic 6y agoConsider you have some extra money, what do you do with it? Do you put it (or keep it) in a bank-account? That is an investment choice you have. If you have more money than you need for living then you are already investing it in some way, maybe a bank-account. And you make this investment decision following some algorithm in your head. So if you algorithm was so great wouldn't it make sense to use it rather than put money into a low-interest bank-account? My point is when it comes to investing, inaction IS action too. Therefore an investment algorithm does not need to beat the market. It just needs to beat doing nothing. Consider that if you have earnings you can put money into an IRA account and then trade with it almost for free.
- ben_w 6y ago> So if you algorithm was so great wouldn't it make sense to use it rather than put money into a low-interest bank-account? It wasn’t great outside of the spreadsheet. I forget the exact numbers, but imagine: making 0.1% per transaction sounds amazing until you find out the transaction fee is 1%. > Consider that if you have earnings you can put money into an IRA account and then trade with it almost for free. This was the UK in 2005 — no IRAs [0], and I received 5% on my current account around then. [0] Actually it’s worse than that — if you went into a UK bank in the early 2000s and said “IRA”, I’d expect the armed response unit to be called.
- beagle3 6y agoBut the transaction fee is not 1% if you are a professional. It’s now higher, but there was a time you could easily get closer to 0.05% with some effort and nontrivial but not huge volume. Iirc, last I checked, bitmex cost 0.075% to take liquidity, and paid 0.025 to give liquidity (which should be noted, is more than a tick - so, market making on bitmex is free money in an unpredictable market - which has made it technically expensive) INET had a similar incentive structure before they were bought by Nasdaq, as did BATS when it started - it’s a common way to jumpstart liquidity in a new exchange. Robinhood and IB will let you trade for free today (with other hidden and hard to quantify costs related to their order flow transactions instead) So there’s no general solution - the details keep changing - but there’s likely a way to make nice profit of 0.1%.
- mmahemoff 6y agoData quality is another real-world problem. There can be typos, deliberate biases, omissions that need to be guesstimated, sudden structural changes (e.g. a stock split event or a change in reporting cycles) etc. There's also heterogeneous data sources to aggregate and consolidate, each with their own way of measuring things. e.g. You can see how different states and countries are tracking Covid related stats, they all have their own metrics and interpretations. Some even change the way they report overnight. Companies will similarly report their data in different ways. Data cleansing is its own science and art for this reason, quite separately from developing any algos on it. It's a practical problem that's easy to overlook when you're just looking at ML transformations from input to output data sets.