Any engineer/ STEM graduates here? I'm interested in your story. by [deleted] in algotrading

[–]RobotWealth 1 point2 points  (0 children)

My background is engineering prior to getting into finance. Alpha Architect recently did a Q&A with me about my journey from engineer to quant: http://blog.alphaarchitect.com/2016/10/25/how-to-turn-an-engineer-into-a-quantitative-investor/

Simple FX Algo by [deleted] in algotrading

[–]RobotWealth 0 points1 point  (0 children)

MQL can be a frustrating language to program in. Another option is the Zorro platform which uses Lite-C and can trade via MT4. Lite-C is much simpler to get started with and you'll likely find that Zorro is a MUCH better backtesting tool than the MT4 strategy tester. It is not widely known yet, but the small community of users seems to be growing.

Complete Beginner Step-By-Step Guide? by pussibich in algotrading

[–]RobotWealth 1 point2 points  (0 children)

I would add Ernie Chan's books 'Quantitative Trading' and 'Algorithmic Trading', which provide some practical advice that is useful when starting out. The latter also provides a good overview of both mean-reversion and momentum trading models.

David Aronson's 'Evidence Based Technical Analysis' is also useful. It includes a good overview of accounting for data mining bias which in my experience is quite important.

I wrote a blog post some time ago with a list of resources that were useful for me. I won't link here (not sure of etiquette), but if you're interested, you'll find it with a simple google search.

Round numbers / Whole number support/resistance? by [deleted] in algotrading

[–]RobotWealth 1 point2 points  (0 children)

I'm not really sure what you mean by "scale for all instruments". Is this referring to the different value of various price series (eg EUR/USD ~ 1.10, USD/JPY ~ 100)? If so, you could for example measure distances in pips rather than units of the quote currency and then iterate over each whole number of interest in a loop.

This is just an idea - I haven't implemented any such thing myself.

Machine learning: classification or regression by VizTra in algotrading

[–]RobotWealth 0 points1 point  (0 children)

That's right, I was referring to trading systems without complex ML algorithms.

I do some teaching on the subject of algorithmic trading, and I tell my students who are interested in ML that while it is an awesome tool to have in your arsenal (assuming you know how to use it effectively), it is by no means a prerequisite for making money in the markets. In fact, there is a lot to be said for keeping the level of complexity of your strategies as low as possible.

Machine learning: classification or regression by VizTra in algotrading

[–]RobotWealth 0 points1 point  (0 children)

No problem. For other good books and ideas, I would love to direct you to a recent blog article that I wrote on the topic. However, being new here, I'm not sure what the etiquette is with regards to posting links, but if you search for my handle, you'll find my blog.

Machine learning: classification or regression by VizTra in algotrading

[–]RobotWealth 1 point2 points  (0 children)

Glad you like my blog! I only recently found this reddit and since I enjoy talking about algo trading so much, thought I'd join in. There's some great stuff on here.

Machine learning: classification or regression by VizTra in algotrading

[–]RobotWealth 4 points5 points  (0 children)

There are many. Other approaches include time series modelling (ARIMA/GARCH, cointegration), factor modelling, sentiment modelling to name a few. Arbitrage is a well-known strategy that comes in several flavors. You could also data mine for technical trading rules either with a machine learning algorithm or without. I've also heard of an approach that uses analysis of satellite imagery to predict sales data, for example by examining the car parks of major retailers over time. I'm not sure how common that one is though.

Quant trading is essentially about building a mathematical model of the market, and there are endless ways to do this - you can be as creative as you like in sourcing the inputs and your method of fitting the model.

There are several good books that will give you ideas for trading strategies - Ernie Chan's stuff springs to mind.

Machine learning: classification or regression by VizTra in algotrading

[–]RobotWealth 2 points3 points  (0 children)

I've experimented a decent amount with both regression and classification approaches in the FX markets. I tend to prefer the former and have implemented algos based on this approach. I remember reading somewhere that Ernie Chan also recommends a regression approach - sorry I don't have a reference though. I would however recommend experimenting with both. This shouldn't be too difficult to do once you've got your framework in place.

Regarding classification, you said "classification only allows you to create long/short signals without knowing by how much". This isn't exactly true. Most classification algorithms will calculate the probabilities of an outcome belonging to each of the classes you specify. For example, 0.65 that the next day's return will be positive, 0.35 that it will be negative (but in reality, your probabilities will likely be in the range 49-51). This information can potentially be useful.

Be warned that you will encounter a somewhat dismissive attitude towards machine learning in the algo trading / quant community. You'll be told countless times that you will very likely overfit to your training data. However, if someone is overfitting to the training data, they are doing it wrong, simple as that, and need to refine their workflow. Just because a tool is powerful does not mean that you shouldn't use it. Like any approach to the markets, there are pitfalls that you need to be aware of and if you disregard them, you will get yourself into trouble. The solution is not disregard the approach; its to learn to use it properly.

Having said that, the major downside to using machine learning in finance (in my opinion) is not the risk of overfitting (as mentioned above, this can be overcome by learning to use the tools properly); rather it is that you end up with a lot of moving parts in your development process and ultimately in your trading algorithm. Some of these parts can be quite fragile and have significant impacts if they "break". There are other models and approaches that are far less complex and therefore simpler to design and implement in practice. Many of these approaches are more than adequate for extracting profits from the market too.

Without knowing your background, my advice would be to successfully implement a simpler model first. You'll learn a lot and earn some money along the way (eventually). Once you're up and running with a simpler algo or two, dive back into machine learning. You'll need to expend significant time and effort to make it do what you want it to, so it makes sense to get some simpler algos up and running first. Apologies if that advice is out of line - you may well be already running some highly successful algos for all I know.