Why does the house account seem to outperform my account?
Most AlgoLab users are trading with the DifferenceEngine (DE) system or subscribed to AutoSystemSwitcher, which has been set to trade the DE system for over 6 months so AlgoLabHouse2 is the reference house system for this analysis.
If you've ever noticed that the AlgoLabHouse2 account seems to outperform your own AlgoLab account, there are a few reasons why this might happen, and none of them are due to an unfair advantage that the house accounts may have over other AlgoLab accounts. The possible causes for this discrepancy could be any or all of the following 3 reasons:
You are circumventing AlgoLab's built in automation by pausing your account, changing your leverage (risk value, or # of contracts traded), or manually exiting your trades (AlgoLab Pro users).
The capital in your account is less than optimal considering the number of contracts you are trading. During very active trading the minimum is about $50,000 with more capital being advantageous (read on to find out why).
Missed trades due to "trade crowding".
If you'd like to understand this better I have provided a detailed explanation below.
1. CIRCUMVENTING AUTOMATION
The majority of AlgoLab users (but not all) who have attempted to improve their returns by taking manual control over their AlgoLab have failed to outperform, and more typically have managed to underperform the house account due to their actions. Following are some tactics used: (some of these functions are only available in AlgoLab Pro)
1. Pause trading to hopefully avoid a drawdown day or period. Typically (but not always), an unprofitable day or period is followed by a profitable day or period. If you pause your AlgoLab after you have lost money, chances are good that you will still be paused when the markets 'rebound' and you will miss earning some or all of those losses back.
2. Increase or lower your leverage (# contracts traded which we used to call "risk") hoping to capitalize on a profitable period, or to reduce contracts going into a losing period. Here is an example of an AlgoLab account that doubled the number of contracts traded shortly before a very bad drawdown day. Notice how that single change effected this profit graph going forward from that moment on:
3. Pause AlgoLab hoping to "skip-over" a losing period.
Here is an example of an AlgoLab user that paused their account and missed out on two very significant profitable periods:
4. Change trading systems from SuperSystem to DifferenceEngine or visa versa. Since late November, we have recommended all AlgoLab users AutoFollow an account called "AutoSystemSwitcher" which will automatically switch your system between SuperSystem and DifferenceEngine depending on which system has been outperforming. it is my expectation that we will all be trading DE for the foreseeable future, and any switch to SS could be very temporary - if at all. However, some users have attempted to predict when SS might be becoming more profitable than DE (based on a statistically insignificant profitable day, or two), and have switched their systems over. At times, this has been profitable, but more often than not, they end up switching back after realizing that DE is still a better trading system.
Occasionally, increasing leverage, pausing or using the AlgoLab Pro manual trade exit feature can be profitable if the user has developed an intuitive feel. But more often than not, it just doesn't work. Below is an example of an AlgoLab Pro account that increased the # of contracts traded at an opportune time (red arrow). Notice that this account also used manual trade exits subsequent to the increase in leverage to turn a losing period (12/14/19 to 12/31/18) into a profitable period. I need to stress that even though automation override can periodically improve results over short periods of time, it has failed to result in overall improvement over a longer period of time. Even the very experienced AlgoLab Pro account shown below has not managed to outperform the HouseAccount (they have only matched the performance of the HouseAccount) over the entire period that they have been trading (as measured by gain/pain ratio which I will talk about later).
2. CAPITAL IN YOUR ACCOUNT IS LESS THAN OPTIMAL
For the smaller capital accounts this is the single most important reason your account may be underperforming the HouseAccount. Before I get into this analysis, I need to point out that making FAIR comparisons between AlgoLab accounts is very difficult. Many users have made settings changes and have circumvented automation, and these actions throw any kind of fair comparison to the house account out the window. The other reason this is so difficult, is that we at AlgoLab have periodically changed trading systems from DifferenceEngine to SuperSystem and back via the AutoSystemSwitcher. You can only compare results between 2 accounts that have been trading the exact same system over a period of time.
The period of time between 10/11/18 and 12/30/18 for most of our users have been consistently set to AutoSystemSwitcher, and have been trading DifferenceEngine. So the comparisons I'm going to show you below are only for that period.
As you should clearly see below, the result of this analysis is such that if your capital is at the low end ($50,000 or less) of what we recommend, your account will probably not perform as well as the HouseAccount which trades a single contract (just like all of the $50,000 accounts), but the HouseAccount has access to over $150,000 of capital.
The table below is sorted from the highest capitalized account ($353,000) to the lowest ($41,000). Rather than measuring performance using the % return, or $ of profit, since each account uses different leverage levels (trades different numbers of contracts), the best and fairest method of comparison is the gain/pain ratio. This ratio can be found on your dashboard in the red badge at the top left hand side of your profit graph. This ratio is the maximum profit (for the time period set on your chart), divided by the maximum drawdown (loss) for that period. If you are trading many contracts, then your maximum profit will be higher, but your maximum loss will be proportional, so this is a good way to compare performance between different accounts.
Another way of looking at gain/pain is this is how many dollars of profit are earned for each dollar risked. It is important to point out that lower gain/pain ratios don't necessarily mean that these accounts lose money - it just means that they earn less profit for every dollar lost in drawdown.
For comparison, the S&P 500 index over this same period of time produced a gain/pain ratio of .16 so even a relatively poor AlgoLab gain/pain ratio of .6 in the table below is three and a half times better than the stock market.
** note: There was a single large capital account above $300K set to relatively low risk of 2 contracts that had an unusually low gain/pain of .7. This low gain/pain for such a well capitalized account was very unusual and did not fit the pattern in the table above. I could find no reason for the poor performance, as this user had not circumvented automation at any time. I contacted the user and inquired. It turns out that the capital in their IB account was deposited in Canadian dollars, and even though the AlgoLab and the IB account is set to US base currency, this account was negatively effected by the exchange rate difference between the Canadian dollar and the US dollar over the period of his AlgoLab trading. This explains the difference perfectly. If not for the currency risk in his account, his GP would be just as high as the house account - possibly even higher, as his capital to contracts ratio was better.
What is the reason that lower capital accounts are not as profitable as larger capital accounts?
When AlgoLab transmits an order to your Interactive Brokers account to buy 1 contract of gold (for example), it sends a stop limit order which is an exact price which *may* result in an opened position if gold were to "hit" that exact price. This order stays on the server at Interactive Brokers until it is filled, or cancelled. The Chicago Mercantile Exchange wants to make sure that you have about $4000 of capital in your account before it will allow you to buy 1 contract of gold. This amount is called the minimum margin requirement and is different for every symbol. If you had at least $4000 in your IB account when gold reached your stop limit price, then CME would allow you to buy that contract. You don't actually "spend" any money, however that minimum margin requirement of $4000 is reserved, or "set aside" to cover your new gold position.
Each position that you have in your account consumes more of your available capital. If you have 5 positions, and each one required a minimum margin amount of $5000, then you would have used up $25,000 of your $50,000 of available capital.
There are times when your AlgoLab trading account might have 10 positions. If each symbol you owned consumed $5000 of margin, then you would have used up all of your $50,000 of capital and you would not be allowed to purchase any more positions. At this point, Interactive Brokers would reject any new orders sent by AlgoLab to your account.
There are many times when AlgoLab is going through profitable periods or days where most users will amass quite a large number of open positions. Accounts that have excess capital like the house account which is currently above $150,000 will never be in a position where IB rejects new orders, and will continue to accumulate new profitable positions while low capital accounts that 'run out of margin' will miss-out on these new potentially profitable positions.
Compounding this situation for low capital accounts, it is not only the open positions that consume available capital, but also, in behind the scenes and not viewable through the dashboard we have "outstanding orders" waiting for the right price to be hit and these orders will consume a different % of your margin. IB does not release the formula that it uses to calculate open-order margin, and this calculation also changes depending on current market volatility. Therefore, it is possible to consume all of your margin without any open positions by simply having a whole bunch of open stop limit orders, waiting to be filled. This is key to understanding why low capital accounts may not be as profitable as higher capital accounts.
The result of this limitation, as I said above, is that these low capital accounts can potentially miss-out on profitable trades. If this restriction is happening during a period when we are in a drawdown, it can be beneficial, but more often, in profitable periods it is detrimental.
The matter is far worse when a new $50,000 account goes through a drawdown immediately after starting trading and is reduced to $30,000 to $35,000. These trade restrictions will be happening on a daily basis. This is why it is difficult to recover from a bad drawdown if your account value drops down to $35,000. This is not to say that you can't recover, as many have! It does mean it takes longer to become profitable. See the account below as an example:
The $50,000 account above went through a bad drawdown immediately after they started trading. To make matters worse, this user paused the account part-way down, and missed out on some profitable days. Once they resigned to allowing AlgoLab to full automation, and once the drawdown period was over, they eventually regained all of their lost profit.
I need to stress here, that there have been MANY, MANY $50,000 (or even less) accounts that have earned well over 100% returns over time, and that this minimum margin issue doesn't mean that your account will not be profitable. I'm just pointing out that if you are comparing results between your account and any other accounts that may have more available capital, then this might be the reason your account is less profitable (or has a lower GP ratio).
3. MISSED TRADES DUE TO TRADE CROWDING
You will note that in the table above, there are some accounts with similar levels of capital but widely varying gain/pain ratios. This is due to the somewhat random nature of getting "filled" on a new position. When an order to buy 1 contract of gold at $1000 stop limit is submitted to your IB account, then your buy order will be filled if there is an off-setting sell order for 1 contract at $1000 that is also sitting on the IB server. There has to be a seller for every buyer and visa versa. There are times when there might only be a dozen sellers at our exact stop limit price, and there may be 2 dozen buyers at that price level. That's called "trade crowding". The order in which the buyers get matched to available sellers is on a 'first come, first served' basis. If your stop limit order is transmitted to IB first, then you will be the first to get filled.
All AlgoLab users orders are not transmitted at the exact same time, or our server would crash. To protect our servers, AlgoLab transmits new orders for your account on a randomly chosen second each minute. We have NOT measured any advantage to this order priority over time. The result of this random timing of order placement is such that it is possible periodically to either be filled on a profitable position when another account is not filled, or to be filled on an unprofitable position when another account is lucky and does not get filled on that position. In summary, most of us get filled on most or our orders most of the time. (There is no other way to say this.)
Over longer time periods, the randomly timed placement of orders doesn't matter, but over short periods of time, there can be noticeable differences that could be due to random timing.
HOW CAN I IMPROVE THE PERFORMANCE OF MY ALGOLAB ACCOUNT?
Circumventing automation is not recommended. We have seen periods where manual changes have resulted in both higher profits and larger losses. If this is the option you choose it is suggested that you open a Pro Demo Account where you can experiment and practice various techniques that some of our AlgoLab Pro users use in their attempt to outperform. Again, I really do need to stress than most Pro users have not managed to outperform the house account - even through shorter periods. There are a very small handful of users who seem to have developed a feel for timing and manual exits who have outperformed over a fairly long period of time - however, nobody has outperformed over the entire period from start of trading to now. Statistically, I'm still not convinced beating the automated house account is even possible, and even I don't attempt it.
Low capital. If your capital is less than $50,000, you don't have to do anything about it because your account will probably still be profitable as per our Performance Estimator calculator, or the Performance Viewer backtesting application, it just won't be as profitable as soon as a higher capitalized account. The other option is to simply add more capital and bring your account to $50,000 and continue to trade 1 contract. This won't cost you any additional AlgoLab subscription fees because we only charge per contract that you trade. A million dollar trading account trading a single contract (leverage level of "1") is paying $200 / month in AlgoLab subscription fees which is the same as a $50,000 account trading 1 contract.
Trade crowding. The random fluctuations of trade fills should work out after a long period of time .
WHAT ARE WE DOING TO IMPROVE THIS?
There are some changes to AlgoLab which are currently being tested which may help reduce the effect of IB restricting trades based on insufficient margin / low capital.
Delayed order transmission. One of those changes is if your capital is under $50,000, AlgoLab will hold off on transmitting orders until shortly before price reaches the stop limit order. This means that you won't be restricted due to open order margin consumption because you won't have any open orders. This won't help with position margin consumption. The offsetting effect of this order withholding is that when your order is transmitted, it will likely be sent at the back of the line, and the consequence is possibly not being filled due to the first come first served rule.
Trade crowding order offsets. Trade crowding is where we have many orders to enter a position at the same price, and there are not enough offsetting orders to fill all of those positions. The result is that the users who submitted orders first get filled first, and the 'back of the line' orders do not get filled. There is something new that we have put into place which should help with trade crowding, and this will become a more important issue as we grow, and add more users all trading the same system.
AlgoLab will offset your entry price by a few ticks so that we 'spread out' our entry orders and we aren't all fighting for the same price. This offset makes no difference in the overall profitability of our systems based on historical backtesting, and we are only talking about a few ticks of offset. (a tick is the smallest price increment).
We work tirelessly to ensure AlgoLab is the best automated trading system we can create.
AlgoLab is at the forefront of algorithmic trading which places our subscribers into a new and quickly emerging class of investors. The returns possible are well worth the risk considering the volatile nature of all the markets we trade in. 2018 was extremely difficult for even the savvy stock traders, but during this time AlgoLab performed exceptionally well.
We ask that our subscribers be patient. This is a marathon, not a sprint. From our last post, all subscribers who have been trading with AlgoLab for over 1 year were extremely profitable. Please take a little time to learn about algorithmic trading so that you understand that there will be large swings in both directions and that this the nature of this type of investing.
Thank you for your support and feel comfortable to contact us with any questions you might have.