Research
Choosing A Platform
July 21, 2020

Scaling up — Trading Regulation in US

When I first got into automation, I focused entirely on the strategies — all I did for almost 2 years was write and test signals, strategies, systems, and various filters to compile a sort of database of potential Alpha models. I don’t really know why this was my path, I didn’t exactly plan it like that, but it ended up being a good use of my time for the most part. Something I wish I had considered was more of the organizational aspects of Algorithmic Trading, and how exactly I hoped to scale. Trading as an individual is quite simple — it really doesn’t require anything in terms of regulation aside from a brokerage account and capital. Trading outside capital is a different story — but it’s far simpler in the US than in other regions of the world. Ask any experienced entrepreneur what the most difficult part of starting a business is, and 8/10 will likely say ‘scaling effectively’; building an automated trading business is no different! I’m going to take you through the checklist that I wish I had gone through prior to starting out as an individual, and eventually a CTA/CPO and RIA (and I’ll explain what these are in a bit). 

Let’s begin with the simplest method of going live — this involves simply opening a brokerage account at whichever firm you feel suits your needs best. There are a few considerations here, and it’s important to be honest with yourself about these. For the remainder of the article I’m going to operate under the assumption that you have developed and tested your automated strategies extensively. To me that means you have a group of strategies, with low correlation to each other, that have been through backtests, WF’s, and a good period of simulation/paper trading to ensure realtime performance isn’t worlds away from your tested metrics. If you haven’t done this, please save yourself the money and start by simulating them (ACTUALLY simulating — with execution, slippage and everything; Not just watching the code run realtime.)

  • How much capital do you have to trade: It’s important to select money that could almost be considered disposable. Most traders lose initially, and system trading definitely has its hurdles too. Mainly, don’t use next months Mortgage payment. Also consider your drawdown levels, and realize that live drawdowns will likely exceed your backtest/ WF levels. I’ll be frank and give what I would consider to be comfortable starting capital levels for these markets, keep in mind they are simply my opinions and bootstrapping for less may be possible. 
  • A good way to determine capital requirements is to multiply your drawdown by 1.5 or 2.0, then add the capital requirements for the instruments, and go by that amount PER SHARE / CONTRACT. For example; ES @12.9k Initial Margin + 3.5k Drawdown x 1.5 = $18.15k per contract. 
  • Which markets would you like to trade.: This also circles back to the first point, as Futures is likely the most liquid — but also has a higher capital requirement if you need a large universe. Equities seems cheaper, and it can be cheaper to start out — but I find that it’s actually more expensive to trade any sort of scale in equities. There’s also a 25K PDT minimum in Equities (Pattern Day Trader designation — cannot have more than 2 round trip trades per day if < 25k level) that can be prohibitive, but equities allow Margin at this level at most brokerages (4x1). Forex also allows 50:1 margin in the US, and is probably the cheapest market to get your feet wet in. Please be mindful of the use of margin, as it can greatly increase modeled drawdowns (for example, your FX drawdown of 10K can now be 500K). 
  • Which platform/language are you comfortable with: In my opinion the easiest ones are TradeStation’s Easylanguage, or TradingView’s Pine Script — though these are retail focused languages. NinjaTrader’s NT8 is also good for any developers with C# / .Net experience (and is quite robust in general). If you need a more robust full programming language, I suggest Python as long as latency isn’t a large factor (More on that next). Ease of Use is key here, you want something you’re COMFORTABLE in, not something that will take you a month to program a strategy in.
  • How many trades per year: Getting an idea of your systems scale should not only help you negotiate commissions with any brokerage, but will also determine if you need to be concerned with latency — an expensive goal. This should also give you an idea if you need to worry about things like PDT ($25K) minimums, and how important your trading costs are. If you’re trading intervals of >1M bars, I think any of these languages/platforms should suit you just fine. If you’re going to be trading on tick level intervals, or 10 second intervals, using a lower level language like C+ + or C# may be needed — thus you’ll need a brokerage that integrates with C + +, C#, or Java (Interactive Brokers’ IB API does). Keep in mind there are firms that spend 9-10 figures monthly to ensure optimal latency; unless you’re trading 9 or 10 figures I find it best to stay out of the arms race ( even if you are trading huge figures).
  • HFT If you decide to go down the latency rabbit hole, you’ll need to consider costs like server collocation (Equities: Equinix NY, 2.6K/mo; Futures: CME Aurora, 5K+/mo). On top of that you’ll need to be quite the C + +, C#, or Java developer — and may also want to consider investing in a FIX engine for execution (another $5K/mo +). I really think for the purposes of this article it’s best to avoid this nearly endless expense — I’ve considered doing this many times and always end up being overcome by expenses when I get close to pulling the trigger.
  • Trading your own Capital ? : If you have the means to trade your own capital, that will definitely keep things simpler. Really all you need to do is open a brokerage account at a firm of your choice, fund it, and begin trading. You may want to find an accountant that specializes in prop trading, or possibly create an entity to protect yourself (an LLC or S-Corp are most popular, and have tax advantages over a C Corporation) — if it’s your own money it’s likely personal preference as to whether you need to incorporate at all. I did not incorporate when trading my own account, but it may have made it easier on my accountant. If you’re trading your own capital, your setup ends here; wasn’t that easy?!

Trading Outside Capital

So you’ve had some success on your own, and you decide it’s time to open up your strategies to the public. If you determine it’s time to begin trading outside capital (ideally when you have 3+ years of a successful track record), there are some considerations and requirements in order to get registered. 

Trading outside capital can bring many regulatory topics into the question, but it also puts a strain on your anxiety level, capital, and strategies. It’s important to ensure that you have done a proper look in the mirror to ensure that you have the resources in all aspects to continue.

Capacity

Many strategies that work wonderfully at say $1M simply fall off after $5M, and are nonexistent at $20M, and it’s important to know where yours land. Determining where exactly your models threshold volume is is more of an art than a science; There’s a few different models that can be used, from the rudimentary to the rather complex. I’ve used a model as simple as 2.5% of ADV (Average Daily Volume) as a max Share Count, but I’ll also include my own ported version of Quantopian’s slippage model below in case you’re looking to include things like Price Impact.

Registration

If you’re comfortable with your strategies capacity, it’s most likely time to begin studying. There are some exemptions for both Futures and Equities, but they have pretty low limits. I’ll mention these exemptions just in case: 

  • Futures: You can manage up to 400k of outside money (400K of initial investments), and up to 15 clients without registering as a CTA or CPO.
  • Equities: You can have as many as 5 clients, and $50M state of $150M Federal and still be exempt under the private advisor exemption. There are other exemptions for things like Venture Capital, but really it’s 5 clients.

My initial question — what markets are you trading — determines what registration you need. If you’re going with Futures, you have a few routes to go here. If you’re trading equities, you’ll need to either open an RIA, or become a RIAR at an existing RIA (Regifted Investment Advisor (Representative)). The simplest route is to look up an RIA, and speak with them about becoming an RIAR — many places are open to these types of agreements, like Edward Jones and similar firms. If you’d like to start your own RIA, you’ll need to file a Form ADV either with each state in which you have > 5 clients, or a Federal Registration if you meet the Federal Requirements (>$110M, for starters). You will also need to pass either a Series 7 or a Series 65. I’ll include a link for specifics of registering an RIA — from someone who has registered a federal RIA it is not an easy task. https://www.investopedia.com/articles/professionals/041013/becoming-registered-investment-advisor.asp

If you decide Futures, you’ll need to register as either a CPO / CTA (Commodity Pool Advisor, or Commodity Trade Advisor) — I suggest the latter for simplicity and cost. CPO is essentially a hedge fund, whereas CTA you simply control other peoples accounts. This lack of custody (you never have possession of client money — simply a Limited Power of Attorney / Trade Agreement to trade the account the client owns.) for a CTA makes it much more lax in terms of regulation. There are no longer regular audits, you don’t have strict requirements on capital base, etc. A CTA will cost you at least 5K to open, you’ll need a track record / performance capsule, and various details of your accounts and strategies performance to date. You’ll also need to pass a Series 3 Exam with the NFA. https://www.nfa.futures.org/registration-membership/who-has-to-register/cta.html

For simplicity sake, I think the easiest route here is to simply start out under the Futures exemption, or speak with an existing RIA. If you have success, you can then register as a CTA, or even begin your own RIA. Keep in mind you will now have to monitor every new client account as a CTA (or register as a CPO, which is more difficult/complex) — it’s not an easy undertaking in general. I did it with many wonderful partners and it still is not easy to manage. The absolute simplest method is to simply trade your own account, and let that number grow naturally!

Brokerage & Platform Opinions

First off, let me explain the difference between Brokerage and Platform. A Brokerage is any Broker / Dealer that you can open an account and execute trades with. A platform is any front-end or programming language that can be used to automate trading — but this can also be a Broker / Brokers API. A telling example is Multicharts, which is a Platform that uses Easylanguage (TradeStation’s Language/Platform) and can be used with a handful of different brokerages for execution (for example, Interactive Brokers, or GAIN Futures). In the interest of full disclosure, I use Multicharts x Interactive Brokers for Equities, and TradeStation or Multicharts x GAIN for Futures (as well as Native Python x Interactive Brokers x IB Insync). In my opinion, Easylanguage (ELD) is the fastest way to get strategies to production — and I’ve used it effectively even at scale. If you don’t like Tradestation, you can use Multicharts to trade your ELD strategies with a solid list of different brokerages — which is what I do.

#Favorite Platforms

  • Multicharts/Tradestation’s ELD: This is my favorite, as it utilizes ELD. It’s not cheap though, so if you’re just starting out I would skip this for now. I have use this for Futures, Equities, Spot FX, and Crypto even. ELD is as I’ve said the fastest way to get ideas into production that I’ve come across — but Multicharts isn’t cheap — I would use Tradestation to start, and if you like it go with MC for production when you can swing it.
  • TradingView Pine Script: I haven’t actually used this live, but they are always adding new features and integrations — I think it will be big in years to come as more than simply an analysis platform.
  • Alpaca:Something else I haven’t used, but seems to be growing rapidly. This is actually a Python API, but can use TradingView Scripts as well somehow. 
  • Python x IB-Insync: This is not Interactive Brokers API (which in my opinion is terrible), but a third party framework to work with their api and make it less terrible. I also have a modular strategy build using this that may prove helpful if you’d like to use Python and Interactive Brokers.

-QuantConnect: A Python / C# Api — I’ve never used it live, and I prefer Quantopian outright — but this offers integration with IB, and some other Brokerages (GAIN for Futures, a Crypto and FX brokerage). If you’re a super technical Python programmer you may enjoy this — I don’t love it.

  • Ninjatrader/NT8: This is similar to TradeStation, but it’s paid (and expensive) which always bothered me. The language NT8 is pretty impressive though, so if you’re coming from .NET I would definitely take a look at this. Multicharts also offers a .NET version that uses NT8 with other brokerages.

#Favorite Automated Brokerages

  • Interactive Brokers: There’s many things that bother me with IB, but it is pretty good overall. The API works and has many language integrations, their commissions are competitive, they offer most instruments (Futures, Equities, FX). Primary complaint is they’re very strict about Data usage, and their data sucks. For such expensive data one would think it would be better quality, not have all these pacing violations
  • . TradeStation: Most data is free — including popular Futures instruments — and the data is very good quality. Tradestation service is terrible, but the language (ELD) is excellent and everything else is worth dealing with for the free use of the language. Commissions are VERY high, but for testing this is by far my favorite platform. (Futures, Equities, Options, FX, Crypto).
  • GAIN: It doesn’t really have a platform (at least not a good one), but they’re very large, consistent, and offer very good service and flexibility in terms of instruments (Futures, FX)
  • NT8: I’ve never used this, but I have many friends that swear by them. Robust platform, with exceptional error handling — just not really my style. Don’t love that it’s so expensive— you get what you pay for here though (Equities, Futures, Options, Fx)
  • Alpaca: New kid on the block here, but they offer the ability to execute Tradingview, Quantopian, and their own simple API via Python and more. I think in the future I will likely use Alpaca for native Python builds. They also offer free data once you have a minimum account size, and the API could not be cleaner. (Equities, Futures, FX)

In general, I in no way endorse any of these brokerages, and strongly dislike most of them — but they are a necessary evil. My favorite outright brokerage is TD Ameritrade, but for automation they are way behind — so if you’re simply a systematic trader I suggest looking to them for all discretionary trading. They offer all asset classes, a great (barely automated) platform, TOS, and wonderful service — and free commissions in many instruments.

One of my favorite sort of proverbs of automated trading is the idea the development process, where initially most strategies fail, then you find some success and suddenly you’re thinking how to become the next RenTech — only to realize your probably missing something and start over. After enough of these cycles, you realize you’re likely somewhere in the middle like most people, and that beating the market is in no way easy no matter what tools you’re using. It is a difficult industry to be exceptional in, but I think finding a consistent level of success is completely viable for those who are willing to put in the work.

As you can see there are many questions you must answer if you’re going the route of managing money for others, but for the most part it’s quite simple if you’re only trading your own or are below the exemption levels — I suggest you stay below them for as long as you can ! Let the scale come naturally, and don’t worry so much about how much money your managing — focus on your returns.

Download Modular IB Strategy

Interactive Brokers Modular IB strategy is ready to automate Futures, Options, Equities & FX via IB API

Sign Up Now
Zach Oakes

I've managed a quant focused Master Fund for 10 years. I'm a full stack developer, working mostly in Python, ELD, C#, and some C++. My specialties include Strategy Development & Portfolio Optimization -- I write about Alpha and ways to find, create, exploit, or improve it. Enjoy!

← All Posts