Pull to refresh

Copy Trading: A Viable Earning Strategy or Just Another Broker Scam?

Reading time11 min
Views586

Hello everyone!

A year ago, I became curious about whether it was possible to earn money in crypto by copying the trades of other traders. Instead of investing money right away, I decided to thoroughly explore this by writing a parser that monitored about 2,000 portfolios in real-time over the course of a year.

Initially, I parsed the Traderwagon site, which unfortunately shut down. I then switched to Binance's copy trading, which was just starting out at the time.

The number of portfolios available for investment on Binance is continually growing; currently, there are over 10,000. My script only parsed a portion of these to maintain about 2,000 consistent portfolios. This was necessary to track changes in traders' positions at least every 20 minutes with the server resources I had allocated for the project.

There are several peculiarities in how my parser operates. For example, when a trader hides their positions, my script also closes them since it can't monitor hidden trades. When a trader significantly adjusts their position, such as a complete turnaround, the script exits the trade. I chose to save time on developing a more complex follow-algorithm and planned to refine it later if the testing stage proved successful. I also limited the time a trader could stay in a deal to a few days and forcibly closed positions if this period was exceeded. I observed that staying in a trade longer slightly increased the average profit/loss, whereas reducing the time allowed for reinvesting the same funds into a greater number of traders and their deals.

After each parsing cycle, the script sends a report to my Telegram:

"list":"2180: 2180 / 2180"
"yes_content":"2180 / 0"
"no_driver":0
"restart_driver":0
"proxy_change":0
"refresh":0
"hide":0
"closed":1
exec_time: 18.8 mins
curThreads: 0

This report shows me how many portfolios were parsed and the types and amounts of errors that occurred. It seems that Binance servers have some filters to protect against excessive requests, which occasionally causes issues for my parser:

"list":"2186: 2186 / 2177"
"yes_content":"2134 / 43"
"no_driver":26
"restart_driver":360
"proxy_change":161
"refresh":68
"hide":0
"closed":0
exec_time: 23.5 mins
curThreads: 10

Increasing/changing the number of proxies usually helps in such cases.

In 4 months of operation on Binance, this script collected data on 300,000 trader transactions. Below, I will discuss their effectiveness.

Before that, however, I want to highlight some manipulations to which data on copy trading platforms are susceptible. These manipulations prompted me to write the parser:

  1. When traders lose all their money, they often close their loss-making portfolio and open a new one. The closed portfolio disappears from the site, which means that on a copy trading platform, you only see the surviving traders. They are a minority. On Binance, about 75% of the portfolios I observed closed within four months. You see the remaining 25% that survived these four months and might think that you are more likely to earn money than lose it. However, the statistics suggest otherwise. The graveyard of traders is hidden.

  2. Of the remaining 25%, approximately half are profitable and half are not. The list of portfolios on the page includes filters for profitability, PnL, and other indicators that are usually enabled by default and display the best traders at the top. You see these top performers, see how much they've earned, and think they will continue to earn in the future, so you invest in them. But will they earn in the future? After all, if instead of traders there were 10,000 monkeys trading, many of them would also randomly show good statistics over four months. However, investing in them would have led to losses.

  3. After a trader enters a trade and finds themselves in a drawdown, they often hide their current positions (there's a feature on the platform for this). As a result, the page with the portfolio list for copy trading looks even better. And you, visiting a trader's portfolio page, might mistakenly invest in them seeing their positive results and not seeing how they sat through a 70% drawdown on open positions, which luckily for them turned positive.

  4. Many traders (probably most, but I haven't counted) use Martingale, i.e., they increase the size of their trades (or their number) to recover losses. Because of this, they have attractive, beautifully growing profitability charts, but such traders eventually always lose money.

  5. Some platforms (at least Traderwagon was like this) have ways to manipulate trading statistics. There, a trader could first open a trade and then, when it was in profit, close it in several parts. It resulted in the trader having many profitable trades and few losing ones, distorting some site statistics in their favor. Traders find such loopholes and manipulate their statistics.

Realizing all this, I decided to independently monitor all traders, count their statistics including as if they were trading with a 1:1 leverage and a fixed trade size, and monitor the actual leverage, trade size, and other indicators.

With this approach, I could assess before entering each trade whether it was worth entering and not copy the trades from the portfolio that I did not like.

Analysis

Let's move on to analyzing the effectiveness of the traders.

Here's the first chart to consider. This is a simulation of my investment in all trades of all traders if I traded with the same 1:1 leverage, the same lot size ($1), and was in no more than 1,031 trades simultaneously. Under these conditions, I would have made a 21% return on my deposit over four months. The horizontal scale shows the number of trades for the light blue chart and time (not indicated on the scale) for the dark blue, with profitability in % relative to the transaction on the vertical scale.

Where did the numbers 1,031 simultaneous trades and 250,000 trades over four months come from?

This is the distribution of the maximum number of simultaneously open trades that need to be maintained to copy all 300,000 trades. In the middle of the chart, you can see the point when the pace of increase in the number of simultaneously open trades grows, and at the end of the chart, the growth begins to accelerate. The acceleration of the pace of increase in the number of simultaneously open trades is related to two factors: 1 - short-term price jumps, during which traders massively open positions, 2 - recovering losses (Martingale).

The recovery of losses will be particularly evident if, next to this chart, in the same scale, a chart of the sums of profitability for all trades is displayed. It shows that at the level of 1,500 trades, their opening pace begins to increase more strongly, but traders continue to lose money. At the level of 1,800 trades, the growth intensifies significantly, and here the traders manage to recover about half of the losses incurred.

In reality, recovering losses can only lead to the loss of all funds because it requires an infinite increase in the size of the position. If I were to allow traders to recover losses, I would need to be prepared to simultaneously support an infinite number of open trades of infinite size. This is impossible.

Even if traders using Martingale didn't lose their deposits, the effectiveness of investing in such traders would be low. Because (see the chart) to work with such traders, you always need to be able to increase investments in them several times over a short period of time so that the trader can recover. This is particularly evident at the end of the chart, where it begins to grow almost exponentially. The rest of the time, these funds will be idle. That is, out of $1,000, I give the trader $100, and I keep $900 to ensure that in the event of losses, he has a high probability of recovering. Typically, traders start recovering losses at the same time, so I would have to keep this money idle. Instead, I could invest my $1,000 in 10 traders (at $100 per trader) who do not recover losses, and in this case, my money would work more efficiently and be subject to lower risks.

To solve the problem of inefficient use of funds due to the need to reserve them for traders using Martingale, my backtesting script for trade selection strategies first built the distribution of the number of simultaneously open trades for each tested strategy (i.e., for each set of parameters), then cut off 40% of the largest numbers and conducted testing over the entire time period with the previously calculated limit for the maximum number of open trades. For 300,000 trades with 2,250 simultaneously open positions, the number turned out to be 1,031, and 250,000 trades will be copied with such a limit. Actually, 1,031 is not the optimal number, and I should have chosen 750, but I had programmed it to cut off 40%, so a larger number was chosen.

In subsequent development stages, I planned to calculate traders using Martingale and not copy them.

Let's continue the analysis. Let's look at how the price of Bitcoin futures changed during the time of copying traders' trades.

The charts show that when the market is rising, traders earn money, and when it is falling, they lose money. This is unfortunate because in my view, a good trader should be able to earn on any market (or at least not lose much on a falling market).

This will also be evident if transactions are sorted first by the long/short feature and then by time. On the chart on the left (look only at the blue semi-transparent chart), we would lose money in short trades (0 - 85,000 on the X-axis) and earn money in long trades (85,000 - 300,000).

Now let's try to find the best traders to copy their trades. First, we will focus on the quality indicators of the portfolio provided by the copy trading platform, in my case Binance.

I decided to select trades based on the Sharpe ratio, calculated for the portfolio. I like that this ratio shows how evenly the deposit grows and allows excluding traders with large deposit drawdowns. Here is an example of a portfolio with a high Sharpe ratio of 7.63 and a chart of its deposit growth over 90 days.

I sorted the profitability of all trades in ascending order (blue semi-transparent color) and descending order (red semi-transparent) of the Sharpe ratio. On the right side of the chart, you can compare the profitability of trades by traders with negative (from 0 to -10) and positive (from 0 to 13) Sharpe ratios. The Sharpe ratio values are marked with dots (to the right of the chart, its values are indicated in green on the logarithmic scale), and the profitability charts are highlighted with solid lines with an increase (blue) and a decrease (red) in the Sharpe ratio. On the rest of the chart, the Sharpe ratio was not indicated for the portfolio because Binance calculates it only for portfolios that meet certain conditions (trading for more than N days, more than M trades, etc.). There was also a moment when Binance slightly changed the layout, and my parser did not collect the Sharpe ratio for several days, missing a significant drop. Because of this, the chart might give the false impression that the presence of a Sharpe ratio for a portfolio increases the likelihood of making a profit. This is not the case.

The obtained chart clearly shows that the current values of the Sharpe ratio do not affect the profitability of a new deal being concluded. And a trader who has been "successfully" trading for 3 months with a Sharpe ratio of 10 and a trader who has been losing money for 3 months and has a Sharpe ratio of -10 are equally likely to make or lose money on a new deal.

The Sharpe ratio is indeed a good indicator. And the lack of its correlation with the future results of traders is important because it indicates that none of the traders on the platform knows how to trade.

This could be the end of the study. But I wanted to double-check everything, and I did this several times, including checking how other indicators calculated by the copy trading platform affect future profitability: PnL, ROI, MDD, Copy Traders Count, Mock Copy Traders Count, Days Trading, AUM, Leading Margin Balance, Win Rate.

Based on the collected statistical data, I came to the conclusion that none of these indicators affects future profitability.

Therefore, no matter how good a portfolio looks for investment, its quality indicators, unfortunately, have no value.

This should have concluded the research.

But I wanted to be absolutely sure that I was not mistaken. I decided to independently recalculate all indicators, try to remove some of the assumptions I had made (trading with 1:1 leverage, fixed lot, forced closing of trades after a certain time, etc.), and try to introduce my own quality indicators. And I did it, burying myself in this task for several months. As a result, I got several indicators that successfully predicted transactions that would bring income in the future during the 4-month period (and during the six-month period on TraderWagon).

For example, here is the distribution of the profitability of transactions before entering them, where the trader earned at least N% in the last 30 days if trading with 1:1 leverage and the same lot size. It looks promising. I highlighted the potentially interesting section with the results of simulated transactions with past profitability >100% in red. The potential profitability of the strategy can be increased by playing with other parameters, such as maximum drawdown, etc. (I calculated up to 150 indicators), but the problem (apart from possible excessive optimization) is that any investment strategies built using my calculated indicators correlate with market profitability. Possibly, the Sharpe ratio from Binance was the best indicator.

Here is an example of such a strategy for selecting trades, relying on just one trader indicator. The strategy yields 40% profit over 3.5 months on average, yielding 0.28% per transaction, which is more than the commission that the broker will take for these transactions. But this chart correlates with the market. This means that when a collapse occurs, money will be lost in proportion to the size of the collapse.

You can play around with the parameters and optimize the strategy in such a way as to protect against drawdowns. But it seems impossible to do this, given the randomness of traders' results on copy trading platforms. To avoid getting carried away with parameter selection, I tried to choose only those parameters that have a fundamental justification, but I always came to the same result. Here is an example of a strategy based on just two parameters. The result of the backtests is shown on the left. On the right is the actual result after launching the strategy on a small account.

A red vertical line marks the point at which the strategy was launched on the real account. The reason for the loss of money is that the market suddenly went down. The size of the deposit reduction is approximately equal to the size of the market decline. It turns out that the previous growth in the backtest results was due only to market growth and excessive optimization of parameters (although it would seem that there are only 2 of them and it is easy to justify why they should work).

Realizing that all the strategies obtained do not protect against market declines, I decided to investigate which indicators affect the profitability of shorts.

It turned out that none.

The lower left image shows the distribution of the profitability of short transactions, depending on the previous profitability of the portfolio (calculated for another time interval). It shows that no past profitability affects the likelihood of making a profit in the future.

And the chart on the right shows the same distributions, constructed for both types of transactions: long + short. It shows that past profitability increases the likelihood of profit in the future. This happened because the last 4 months often had a rising trend market.

My own calculations showed the same thing I initially saw: if the market is rising, traders on the copy trading platform make money; if it is falling, they lose. And it is impossible to choose among them someone who will earn. Unfortunately, earnings and losses on these platforms are explained by randomness, not the competencies and experience of their participants.

Conclusion

Brokers have invented another way to provoke observers to give them their money. (If anyone is not aware, brokers earn a commission from each transaction you make, and that is the only thing they know how to do and the only thing they are interested in).

Finally

I have long been interested in how the size of the transaction and the size of the used margin leverage affect the effectiveness of transactions. For those who are also interested, here is the data from Binance. Actually, I don't know how representative they are; perhaps most traders on this platform are random robots and scammers, and in this case, this data should not be trusted:

leverage - The result of the transaction on average does not depend on the used leverage. I specifically checked small leverages (from 1:1 to 1:3) and saw that the results on 1:2 and 1:3 are better than the market, but on 1:1, they are somehow worse. Large leverages (1:100 and above) show results worse than the market, but a strategy built on trading in the opposite direction to them shows profitability, which correlates with the market direction.

leverage_level - Dependence of the transaction result on the deviation of the current leverage from the average leverage previously used by this trader. The results here are similar.

volume - Dependence of the transaction result on its volume in dollars. Here, there was a slight positive deviation when trading volumes larger than average, but the influence of this indicator on the profitability of the strategy is minimal.

olume_level - Dependence of the transaction result on the deviation of the current volume from the average volume previously used by this trader. Here, there is no pattern.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 2: ↑2 and ↓0+3
Comments0

Articles