Quantopian – why I don’t take part

Quantopian is a very interesting FinTech project for virtually everybody, who wants to try the algorithmic trading. Yet I explain why I myself - a successful trader, experienced quant and good programmer - don't take part.

First of all Quantopian requires from traders to upload their algorithms to the Quantopian's server. It may be justified with data protection: Quantopian has a rich dataset, which is very expensive. But if they are so keen on protecting the data (which are licensed to them but are not their intellectual property), why should I disclose my algorithm (which is my intellectual property) to them?!

Second, as a programming language they allow only Python. Python is definitely a very successful language. Bruce Eckel, whose books I read to learn Java and C++ is a big Python fan. Many argue that every data scientist should possess Python. All right, all right ... but still I haven't got around to learn Python. Indeed, I know pretty in depth R, C++ and PHP. I use R when I need to do some statistical analysis. C++ is good for computationally-intensive tasks and if they can be run in parallel I also engage CUDA. If I need to preprocess a data, PHP is a good scripting language. So I really have no big need to learn Python and IMO its Quantopian's job to offer the alternatives, e.g. R and Matlab.

Now let us reflect on what Quantopian does and doesn't look for or, in other words, which properties your algorithm should have (and which avoid) in order to get funded by Quantopian.

Low Exposure to the Market
We want algorithms that aren't correlated to the rest of the stock market. If your algorithm is correlated with the rest of the stock market, the algorithm isn't providing any quality different from buying a market index. As a practical matter this means that we're looking for algorithms that have a strong hedging component, or are completely hedged at all times. We measure market exposure by calculating your beta to the S&P 500. We are looking for algorithms with a market beta between -0.3 and +0.3

So they essentially want a market neutrality. Of course it is good but is it realistic in the world, in which even gold has positively correlated with stocks during recent years?! And if an algorithm has a large beta (closely correlates with the market) but also has a significant alpha (beats the market), isn't it still worthy?!

Consistent Profitability
We are looking for uncorrelated algorithms that show stable profits. If your algorithm is losing money, or makes money in a volatile way, it isn't very helpful. We are looking for algorithms that consistently have a Sharpe ratio over 1.0.

This is probably the most unrealistic requirement, esp. for the algorithmic trading. Guys, do you really believe that a market inefficiency, which consistently persists, will not be exploited (and thus exhausted) in the twinkling of an eye?!
I do have algorithmic components in my trading strategies but essentially they watch a large asset universe and patiently wait for a proper opportunity (patience is one the the biggest advantages of computers over humans). Usually, I need a higher volatility in order these opportunities to occur. And the volatility clustering (alternation of periods with high and low volatility) is a stylized fact!

Actively Trading Algorithms
Your algorithm has to actively trade. We measure that by looking at how often your portfolio turns over per year. This is important because we need your algorithm to be predictable. Our algorithm selection model only works if we have sufficient data to analyze about your algorithm. Algorithms that rebalance or trade very infrequently are difficult to model with limited historical data. We are looking for algorithms that turn over their portfolio between 12 and 500 times per year (e.g between once per month and twice a day).

In Germany they say: Hin und her macht Tasche leer! (trading too frequently makes you wallet empty). Yes, due to the Central Limit Theorem a large number of trades allows a reliable statistical evaluation of a trading algorithm. I used it when I evaluated the Einstein's and my own performance. But one should clearly understand that the statistical tractability is a nice-to-have feature, which in no way should be bought at cost of performance. If you try to trade too frequently, not only will you have to pay the spread and commissions, but you will essentially trade the noise!

Low Correlation to Peers
Your algorithm must generate a returns stream that has low correlation with other algorithms we select. We measure correlation by looking at your average pairwise correlation with the rest of the algorithms in the pool. We prefer that average to be between -30% and +30% average pairwise correlation with the other algorithms in our portfolio.

Oh my God! I should take into consideration the factors that I even cannot see completely (or do everyone has a full access to everyone's algorithms ... which would be even worse). But guys, do you at least adhere to "first come, first got funded" principle?! Or if I create a good algo but then somebody else makes a similar one, I may be rejected only because somebody did (later than me) a similar good job?!

Strategic Intent
We are looking for algorithms that are driven by underlying economic reasoning. Examples of economic reasoning could be a supply and demand imbalance, a mixture of technical and fundamental drivers of stock price or a structural mispricing between an index ETF and its constituent stocks.

Whose economy has the fastest growth during last decades?! Chinese! Even if its growth is not the fastest, it is definitely one of. And Deng Xiaoping, the father of Chinese Wirtschaftwunder used to say: "It doesn't matter whether a cat is white or black, as long as it catches mice".

What you have forgotten to mention (but definitely should have to) is the scalability. As a matter of fact, most of the market inefficiencies are found by small caps. Einstein's Platintrader 1000% Leidenschaft  is an example that generally suits your requirements (with only one exception: most likely Einstein is a discretionary trader). But with real money his portfolio would reach the market liquidity limit very quickly due to the slippage and partial execution of orders.
As to what Quantopian does not want (overfitting, data snooping, spurious correlations and infringing or misappropriated content), these requirements are generally plausible. Probably only the spurious correlation is somewhat questionable:

If there is no economic underpinning linking the algorithm's signal and its profits, this should be a warning sign. When you don't know why your algorithm works, it is difficult to have confidence about its future behavior.

Of course it good to have an economic linking but is it really possible? At least many experts argue that the stock prices converges to fundamental data only in long-term (if at all).


But ok, let us unrealistically assume that you have fulfilled all the requirements. As a reward Quantopians offer you

Your compensation
If your algorithm receives an allocation, we will pay you a share of the returns that your algorithm earns on our capital. Our target is to pay you 10% of the net profit on your algorithm's allocation.

10% of the net profit!!! Guys, you are really generous! Summing up, let me tell you a short anecdote, which was very popular in Russia in 90s, as Russia moved from communism to a (wild) capitalism.
A job-ad: we are looking for a secretary with 20 years of experience, not older than 18 years, who is ready to work for food.


P.S. All my critics doesn't mean that Quantopian is a useless project. Contrary, I find it very useful an, like Wikifolio, genually social. Indeed, every student or wanna-be-quant-trader can make his hands dirty and get a track record. But this is only a first step and don't expect that Quantopian will be able to help you to make further steps (at least so far).

And if Quantopian really wants to be a successful mediator between investors and quantitative traders, they should get rid of their overfastidiousness, stop being Python only, allow traders to run algos at their client machines (put a requirement in license agreement not to redistribute the market data or offer a paid subscription like Quandl does) and, last but not least, more actively attract investors.

The discretionary (human) and the automatic (computer) trading are often contraposed. I am quite sure they should rather complement than substitute each other. A computer should do a routine job like "search for assets that dropped x% within two weeks". A computer may also do some fundamental preselection, e.g. based on the branch,  P/E and even news sentiment. But it is a trader's task to scrutinize why this drop has happened (analyze the news not just for "positive" or "negative" sentiment, interpret economic and political events and so on).
Another example: the commodity markets are, in my opinion, more trendy than stock markets (recall gold, oil, agricultures and metals during recent decades). What is more important, they experience more mean reversion by downtrend because if a company goes bankrupt, a stock can fall to zero but a commodity will always cost something. Since I cannot (though I would with pleasure) do the fundamental analysis for all liquid commodities, I use a set of algorithms to automatically recognize trends and their reversals. But for the oil, which is likely the most important commodity, I do a lot of fundamental analysis (finally, currently I work in energy branch). And this fundamental analysis is more qualitative than quantitative, because the oil price converges (if it all) to the fundamentals only in a long term. But knowing what the shale oil is, what Donald Trump is promising to do, what the (range of) break-even production costs is and that OPEC lands will likely  (secretly) violate their own agreement allows me to introduce an "inclination to going short" into my system. But if the context qualitatively changes (e.g. I know that a new OPEC meeting is scheduled and the market does pay attention to it), this inclination may be (temporarily) disabled. Moreover, it will readily be changed to going long, if there are reasons to do this like e.g. a rising demand in India like it was in China in 200x.

Like this post and wanna learn more? Have a look at Knowledge rather than Hope: A Book for Retail Investors and Mathematical Finance Students

FinViz - an advanced stock screener (both for technical and fundamental traders)

Author: Vasily Nekrasov

Founder of letYourMoneyGrow.com

5 thoughts on “Quantopian – why I don’t take part”

  1. Reading you, I think you don’t really understand some of their requirements (volatility, you seem to confuse your algo’s vol with the market vol) or know what is quantitative trading in a professional / institutional environment. All your points (except first and last) are classic criteria against which a quant. strat. will be evaluated.

    Where you have a point is:
    * your first point which is indeed critical
    * whether it’s realistic for an individual to handle all those criteria (but I suspect if your strat ranks low on one but good on others, you still have a chance depending on how your strat mix w/ the rest: impact on Sharpe or Calmar, max drawdown, etc…)
    * your first PS is probably the most important, gives a chance to practice / learn. Which kind of defeat the point of Quantopian as business imho (a cynical mind would say if an individual shows promise, shareholders like Cohen might have first dibs on hiring the person directly)

    For your last point, average HF fee is around 1.5/15 these days so them paying 0/10 while providing everything (data, infrastructure, funding) is not unfair.

    Note: I’m not a Quantopian apologist. I’m not on the platform and don’t plan to be (being a PM at a HF)

    1. Hi LM,

      thank you for an interesting comment.
      It is virtually unrealistic to fulfill all criteria (and not only for individuals).
      And the most stupid requirement is to be uncorrelated with others (when I even cannot track these others, at least not so easily).

      As to performance, I know that 10% of profit (BTW they don’t say how the measure it, likely by high-watermark principle) is as such not uncommon. Wikifolio e.g. allows to set the performance fee upto 30% of profit but will take a half of it and additionally 0.95% capital p.a. as fund management costs.
      But 10% for an algo, satisfying all these requirements is still too little. According to the industry practice I would say, it should be 20% or at least 15%.

  2. I am always intrigued to hear the experience of people who have been part of the allocation process.
    In fairness I haven’t studied the Quantopian site for details but when last this question was raised very little visibility was put forward. I would love to hear more allocation user stories.

  3. Vasily, I think you make a lot of valid points here, especially the one regarding uploading your trading strategies. If your strategies are any good then sharing them with any company and its employees is crazy, no matter who they are.

    Trading strategies have to be kept a secret, they should never be shared with anyone outside of your most trusted group. There are many other risks to cloud based platforms that I could think of that go beyond those listed in the terms of use.

    IQBroker is a new and free desktop alternative that can connect you to quality historical data and portfolio level backtesting, optimization and algorithmic trading using C#, VB.NET, R.NET and F#. You can backtest your trading strategies privately and never share them with anyone.

Leave a Reply

Your email address will not be published.