HN user

shogunmike

1,208 karma
Posts95
Comments100
View on HN
www.quantstart.com 8y ago

High Frequency Trading – Introduction to Market Microstructure

shogunmike
1pts0
www.quantstart.com 8y ago

Buying vs. Renting a GPU-Based Deep Learning Machine for Quant Trading Research

shogunmike
1pts0
www.quantstart.com 8y ago

What Alternative Technology Career Paths Exist for Quants?

shogunmike
1pts0
www.quantstart.com 8y ago

Linear Algebra for Deep Learning: Matrix Algebra

shogunmike
131pts8
www.quantstart.com 8y ago

Scalars, Vectors, Matrices and Tensors – Linear Algebra for Deep Learning

shogunmike
4pts0
www.quantstart.com 8y ago

What Are the Different Types of Quant Funds?

shogunmike
1pts0
www.quantstart.com 8y ago

The Theory of Rough Paths and Signatures (Part 2)

shogunmike
1pts0
www.quantstart.com 8y ago

Setting Up an Algorithmic Trading Business

shogunmike
2pts0
www.quantstart.com 9y ago

What Are the Career Paths in Systematic Trading?

shogunmike
2pts0
www.quantstart.com 9y ago

The Theory of Rough Paths and Signatures (Part 1)

shogunmike
1pts0
www.quantstart.com 9y ago

What is Deep Learning?

shogunmike
1pts0
www.quantstart.com 9y ago

How to Learn Advanced Mathematics Without Heading to University – Part 3

shogunmike
480pts180
www.quantstart.com 9y ago

How Do You Move from Quant Developer to Quant Trader?

shogunmike
2pts0
www.quantstart.com 9y ago

Beginner's Guide to Unsupervised Learning

shogunmike
3pts0
www.quantstart.com 10y ago

Can You Get a Job in HFT Without a Degree?

shogunmike
1pts0
www.quantstart.com 10y ago

Cointegrated Time Series Analysis for Mean Reversion Trading with R

shogunmike
1pts0
www.quantstart.com 10y ago

Deep Learning with Theano, Part 1 – Logistic Regression

shogunmike
2pts0
www.quantstart.com 10y ago

How to Learn Advanced Mathematics Without Heading to University – Part 2

shogunmike
5pts2
www.quantstart.com 10y ago

Bayesian Linear Regression Models with PyMC3

shogunmike
2pts0
www.quantstart.com 10y ago

Markov Chain Monte Carlo for Bayesian Inference – The Metropolis Algorithm

shogunmike
87pts9
www.bbc.co.uk 10y ago

Would you let a robot invest your hard-earned cash?

shogunmike
1pts0
www.quantstart.com 10y ago

How to Learn Advanced Mathematics Without Heading to University

shogunmike
178pts74
www.quantstart.com 10y ago

How to Write a Great Quant Blog

shogunmike
1pts0
www.quantstart.com 10y ago

GARCH Models for Time Series Analysis

shogunmike
2pts0
www.quantstart.com 10y ago

ARIMA Models for Time Series Analysis

shogunmike
1pts0
www.quantstart.com 10y ago

ARMA Models for Financial Time Series (Part 3)

shogunmike
1pts0
www.quantstart.com 10y ago

Moving Average Models for Time Series Analysis

shogunmike
2pts0
www.quantstart.com 10y ago

Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis

shogunmike
3pts0
www.quantstart.com 11y ago

Serial Correlation in Time Series Analysis

shogunmike
36pts1
www.quantstart.com 11y ago

Beginner's Guide to Time Series Analysis

shogunmike
2pts0

You're correct - it doesn't get into the deep learning aspect yet.

This article is in fact the second part of a larger planned series. The idea is to present more depth than a "quick refresher" that seems to be common to a lot of blog posts, but far less material than would be found in a 10-week (or single semester) undergraduate course.

Thanks for the Stanford link. I'll check it out.

Disclaimer: I run a site discussing Python/ML topics as applied to quant finance.

Python is primarily used because the machine learning libraries within it are very mature and play nicely with each other.

It is easy to get started in Python (and most of its libraries) by downloading the freely-available Anaconda distribution. This usually "just works", cross-platform. The language itself is extremely straightforward to pick up.

Within the Python ecosystem there are many mature libraries. In particular NumPy was written for carrying out vectorised computation. This enabled more libraries, such as pandas (for dataframe manipulation), SciPy (for general scientific computation) and scikit-learn (for ML) to be developed. Each of these libraries also possess clean and consistent APIs for carrying out their specialty tasks.

Thus it becomes straightforward in Python to import data from many sources, "wrangle" it into the correct format (even with real-world, messy data), put it into an ML data pipeline and then visualise it easily (via Matplotlib or Seaborn). In addition there is Jupyter for straightforward "notebook" style research.

Finally, Theano and TensorFlow are two great deep learning libraries. There are a few hiccups on installation sometimes, but for the most part they "just work".

There are still some "missing pieces" however. The statsmodels library does a good job of time series analysis, but it doesn't yet compete fully with R in this respect.

Julia is also likely to make serious inroads into Python's usage in the near future. I'm excited about where the project is heading.

Indeed, this is the latest article and it does link back to parts 1 & 2.

Each part of the series is designed to cover the "typical" modules on a UK four-year undergraduate Masters of Mathematics degree.

However, it can be challenging in the latter two years to include a broad enough set of modules to cover all interests, so I have had to stick to those "core" modules likely to be found in many degrees, as well as those more specifically related to quant finance and machine learning.

However, it is my hope that individuals will be motivated to look at other areas as well, even if they're not directly related to career paths!

Disclaimer(s): QuantStart.com founder here, background as a quant dev at a small fund.

I should probably nuance my statement that it is easy to find trading strategies by saying that it is easy to find new trading /ideas/. There are a huge number of freely available trading ideas on forums, pre-print servers (arXiv, SSRN), blogs etc. The trick is knowing how to implement them properly, accounting for any transaction costs and adjusting the parameters of the model. This is often where the stated performance falls down. It takes a lot of time to carry out this sort of research.

Long-term profitable strategies are tricky to find, due to the ever-present spectre of "alpha decay". This is where your strategy's edge is "arb'd out" - everyone else knows what you're doing and so there's no tradeable edge anymore. Hence it is necessary to have a portfolio of strategies and gradually phase out the ones that aren't doing well, and bring in new ones over time.

That being said there are a large number of trend following funds (known as Commodity Trading Advisors, or CTAs, in the industry) that all broadly do the same thing (follow "trends" in the commodity futures markets) and have great years every now and then. There are some well-known "retail" quant traders who do well by trend following, but it does require quite a bit of capital to trade in futures.

The philosophy that I do try to emphasise is to always be learning and researching new ideas. Also, as you mention, I'm pretty keen on discussing the math(s)/statistics aspect because once you have a solid math capability, it is easier to see where potential edges might exist and how to really assess whether it is a true "edge" or just a statistical anomaly.

I believe someone else in a grandchild comment below said that there are many areas that bigger quant funds won't touch because of institutional incentives. If you have $10bn assets under management (AUM), then you're not going to care about investing $100-200k, even if the returns are good, because it won't move the needle on your monthly reports.

The trick is to niche down into markets that you can spend a lot of time researching to find a distinct edge, that won't likely be touched by bigger funds. One area that is becoming interesting recently, due to the prevalence of satellite data/AI/deep learning-esque VC-backed startups, is building commodity supply/demand models. A good example is forecasting oil supply/demand by analysing large quantities of storage tank heights in global refineries [1].

Also, a small related-to-Zipline plug: I've recently started a free Python-based MIT-licensed open-source backtester [2], predominantly as a learning tool for programming and quant trading. There's about 4-5 of us working on it at the moment and it's in an early alpha stage, but we're always looking for people willing to help.

[1] https://orbitalinsight.com/solutions/ [2] - https://github.com/mhallsmoore/qstrader/

When researching for the article I was actually rather surprised that I couldn't find many MOOCs on aeronautical, civil, electrical, chemical or mechanical engineering.

While it's pretty straightforward to find open courses/content on Linear Algebra and Calculus, there's very little on, say, Compressible Flow/Gas Dynamics or Turbomachinery, for instance.

If anybody knows of any courses on topics related to the above engineering disciplines, I'd love to take a look.

I also agree that at the end of part 2, one would have sufficient "mathematical maturity" to handle most commercial environments.

That depends primarily on your favoured learning style. MOOCs are certainly changing the available resources and lecturers are publishing freely available notes for particular courses on their home pages.

Unfortunately some textbooks can be expensive, but some are more reasonably priced. Unfortunately, the more "niche" the mathematical area becomes, the harder it becomes to find freely available sources.

I personally prefer a mix of video lectures and textbooks. Being able to watch video lectures, with the ability to pause and rewind, is a very useful feature that is not available in live lectures!

Some good books on Machine Learning:

Machine Learning: The Art and Science of Algorithms that Make Sense of Data (Flach): http://www.amazon.com/Machine-Learning-Science-Algorithms-Se...

Machine Learning: A Probabilistic Perspective (Murphy): http://www.amazon.com/Machine-Learning-Probabilistic-Perspec...

Pattern Recognition and Machine Learning (Bishop): http://www.amazon.com/Pattern-Recognition-Learning-Informati...

There are some great resources/books for Bayesian statistics and graphical models. I've listed them in (approximate) order of increasing difficulty/mathematical complexity:

Think Bayes (Downey): http://www.amazon.com/Think-Bayes-Allen-B-Downey/dp/14493707...

Bayesian Methods for Hackers (Davidson-Pilon et al): https://github.com/CamDavidsonPilon/Probabilistic-Programmin...

Doing Bayesian Data Analysis (Kruschke), aka "the puppy book": http://www.amazon.com/Doing-Bayesian-Data-Analysis-Second/dp...

Bayesian Data Analysis (Gellman): http://www.amazon.com/Bayesian-Analysis-Chapman-Statistical-...

Bayesian Reasoning and Machine Learning (Barber): http://www.amazon.com/Bayesian-Reasoning-Machine-Learning-Ba...

Probabilistic Graphical Models (Koller et al): https://www.coursera.org/course/pgm http://www.amazon.com/Probabilistic-Graphical-Models-Princip...

If you want a more mathematical/statistical take on Machine Learning, then the two books by Hastie/Tibshirani et al are definitely worth a read (plus, they're free to download from the authors' websites!):

Introduction to Statistical Learning: http://www-bcf.usc.edu/~gareth/ISL/

The Elements of Statistical Learning: http://statweb.stanford.edu/~tibs/ElemStatLearn/

Obviously there is the whole field of "deep learning" as well! A good place to start is with: http://deeplearning.net/

I actually tried this a few months ago. I had some issues trying to run the typical vector addition "Hello world!" examples on my system.

I'm not 100% sure but I also think that by installing the nvidia-cuda-toolkit package it leaves out the CUDA samples. These contain the deviceQuery and bandwidthTest scripts necessary to check that CUDA is functional.

Admittedly I have two consumer cards in SLI, so that may have affected the install. It could also have been incompatibility between the actual Nvidia display drivers and the various dependencies. It's a bit messy!

You're quite right actually! I probably haven't been as explicit as how hidden the risks are when using VaR. Although, within other articles I've tried to make the point that any risk management strategy should be utilised as part of a larger framework.

It is a shame that risk management often takes a back-seat to "alpha generation", as solid implementation of the former is what keeps funds (and retail traders) in business.

I agree, the scope of the article is somewhat specific to the "toy" example presented.

Generally I would use C++ or (gasp!) Fortran with either MPI or CUDA for these sorts of tasks if performance was the most critical factor.

I'm excited by the Julia language though!