In the previous article we talked about the dynamic between volume and price and talked about a strategy that takes advantage of volume spikes during NYSE open.
One problem with the strategy was that it’s pretty sensitive to trading costs since the holding time is pretty short.
Luckily there are a few things we can do to help with that.
If you enjoy this article consider getting the paid subscription, that way you can support me and I can write even more articles!
Here is a discount code for those interested: https://www.vertoxquant.com/62375e34
Table of Content
Improving Fee Structure
Combining Signals
Reducing Slippage (Execution Algorithms etc.)
Smart Limit Orders
Finals Remarks
Improving Fee Structure
It’s no secret that fees are by far the biggest component of trading cost, especially for small traders.
Let’s look at the fee structure of the top exchanges:
Binance
You will usually see that spot fees are much higher than derivative fees plus derivatives have higher liquidity so no matter how much money you are trading, in most cases you will want to trade liquidity.
For derivatives the fees will matter on what derivative you are trading, perps, dated products, etc.
For perps you often have different rates for different quoting currencies.
In the case of Binance, USDC perps have lower fees than USDT fees.
Especially with small stablecoins you get perps that have special fees like, in the case of FDUSD on Binance, 0%! You also get a higher risk of depegging and way lower liquidity on the other hand, they create those promotional fees to curb trading and increase volume and liquidity.
Another thing exchanges with their own coin will do is give you a discount on fees if you pay it with their coin.
Let’s say you run a trade that would cost you $10 in fees but you got $9 worth of BNB in your account. Since you would get a 10% discount when paying with BNB you would only spend your $9 worth of BNB on fees with this trade.
Obviously when holding the exchanges coin you are now exposed to the price movements of that coin.
Bybit
Okx
As you can see Okx has really high spot fees so if you have to trade spot for some reason (for example if you are doing a cash and carry arbitrage) then you probably shouldn’t run that on Okx.
Other than the methods mentioned above when trying to get good deal the only other options you have are:
Increase your volume and/or exchange coin holding to get a higher fee level.
Special deals with exchanges.
Unless you are a firm and / or trade with a ton of money you will probably not be able to do this one, at least not on a big exchange (Still possible on a small one).
Combining Signals
Consider the following example:
You have 3 Strategies A, B and that trade every day at 00:00 UTC.
Strategy A tells you to buy $1000 of BTC.
Strategy B tells you to buy $400 of BTC.
Strategy C tells you to sell $800 of BTC.
You only have to buy $600 of BTC and traded 3 strategies at once, getting all of their alpha for only a fraction of the cost.
This obviously only works if your strategies have their entries / exits at the same time and trade the same instrument.
This can be if they always during the same time of day or during the same event like a certain news release or one of elon musks tweets.
Reducing Slippage (Execution Algorithms etc.)
Trading enough size where it would cause you to wipe out multiple levels of the book?This can happen on shitcoins or some other illiquid product even if you aren’t trading a lot of money.
One way to reduce slippage is to place your trade on multiple exchanges at the same time.
Another one is execution algorithms.
All execution algorithm work by breaking your order up into multiple smaller orders and placing those over time.
The 2 most common ones are TWAP and VWAP.
TWAP (Time Weighted Average Price)
Let’s say you want to buy $100.000 worth of SHITUSDT but oh no such a huge market order would slip price really hard.
Luckily you aren’t in a rush to buy that much SHITUSDT thanks to the holding time of your strategy.
You are fine even if it takes a few minutes to execute the trade.
In such a scenario you can use a TWAP execution algorithm.
You specify over what time horizon you want to execute your trade and how many orders it should do.
Let’s say for our example we want to execute the trade in 10 trades over 100 seconds.
The algorithm would then buy $10.000 worth of SHITUSDT every 10 seconds.
Note: TWAP Algorithms are super easy to detect if you do it like that, make sure you put some randomness into your orders.
Instead of executing $10.000 every trade it could execute $8700 one trade and then $11.300 another one.
Also don’t do it exactly every 10 seconds, maybe one trade happens after 14 seconds and then another one happens after just 7 seconds.
This will make it much harder to detect and avoid people frontrunning you. (Unless you want me to frontrun you, in that case go ahead and don’t include any randomness!)
With a TWAP algorithm we therefore get executed at the TWAP on average.
VWAP (Volume Weighted Average Price)
This execution algorithm is more sophisticated and usually seen as superior and therefore preferred by most people and firms.
We once again want to execute $10.000 and want our order to be 10% of total volume and want to execute over 5 trades.
We would therefore buy $2.000 worth of SHITCOIN every time there has been $20.000 worth of volume.
You once again want to incorporate some randomness, don’t trade exactly $2000 each time and don’t do it exactly every $20.000 in volume.
With a VWAP algorithm we therefore get executed at the VWAP on average, this is seen as a more accurate fair price than TWAP.
You can develop more sophisticated custom execution algorithms that will change the size of each order depending on the available liquidity of the book for even less slippage.
Smart Limit Orders
You should try to execute with limit orders whenever you can for 2 reasons:
A lot lower trading fees
No slippage
While this isn’t always possible there are some strategies where this is often is possible.
The most notable one is mean reversion.
Let’s say you expect BTC to revert if price drops by 2% within a minute or whatever strategy you come up with.
One way of running this strategy is checking the change in price of BTC over the last 2 minutes all the time and placing a market order if it happens to be lower than -2%.
This can be easily executed via limit orders.
You now check the price of BTC 2 minutes ago and continuously update a limit order that is 2% below that price.
Here is a visualization:
Black is the BTC price and green is the price of our limit order.
As you can see in that initial drop of btc, if it dropped just a little lower it would have been executed via a limit order.
For other strategies like seasonality strategies or whatever else is not dependant on price movement where you don’t need to get executed right away you could also try keeping a limit order at BBA like a market maker and hope to get filled over time.
For things like momentum you can’t really execute via limit orders though, this is also why momentum strategies usually have pretty low capacity (at least for very quick and sudden momentum) since other momentum traders will also place market orders and the book will be thin on the direction of momentum.
Final Remarks
As you can see lowering your trading costs is often really simple and just implementing some of the methods above will make you make more money forever.
It’s therefore pretty important to integrate those methods whenever you can.