Special thanks to my great teammate, Qiang Ji.
This research explores two execution approaches i.e Market Taking and Opportunistic Market Making. In short, Market Taking (MT) method allows us to send market order and aggress market immediately with the latest quotes. While, Opportunistic Market Making (OMM) method is more risky, which will send limit orders and wait under the certain time limit for a more beneficial price to fill the order. More specifically, OMM can also be divided into 2 types according to how to set the limit order price: OMMMid will set the mid-price as limit price; OMMSide will set a limit price on your side. Undoubtedly, different execution methods should have different characteristics.
PnL Definition
The 3 execution methodologies can be summarized as:
It needs to be mentioned that, in this report, we define **execution PnL** for each order as:
where ExecutedPrice is the price where an order is finally filled; MidPrice is the latest mid-price when entering the market, and Buy is a signal {-1,1}.
Exit Rule
Our team also implement some rules for the stop loss and the time out.
Execution Engine Building
The code will be on my GitHub
Implementing and Analysis
In this part, we will back-test 3 approaches with SL=-0.00035 and TTE=10, and report some statistics in the recapitulating table. In addition to required statistics, we also computed **Hitting Ratios**(proportion of positive PnLs), 95VaR and standard deviation of PnL for each method, in order to provide a more comprehensive view of the execution performance.
By comparing total PnLs of the 3 execution methods, we find that:
OMMSide > OMMMid > MT
OMMSide has the highest PnL as the result of successfully taking opportunistic executions. Another interesting thing we found is that all the 3 execution methods have a dramatic decline in PnL around 2 AM, Jan 11st. At that time, market quote happened to have an unexpected widen spread.
Since the original numbers of PnL are too small, we rescale them by multiplying 1000. As shown in the table, PnL of OMMSide is the highest and also volatile. PnL of MT is the lowest but also less risky. As compensation, the execution difficulty is also higher if you are seeking higher average PnL. OMMSide tended to have the highest execution time and also be more likely to touch SL or TTE.
PnL on Different Stop Loss
We set the TTE to be 10 s constant, we enumerate different SL to test its influence on PnL median as well as Execution Time median.
The orders in the file are generated by different Alpha Engines. Since the final executed prices are given in the data, we can directly calculate the PnL for each order by combing corresponding mid-prices. After grouping order PnL for each engine, we may get some insights into the difference between AEs in execution costs.
From the perspective of execution PnL, we find MAR performed a better opportunistic method in execution, and got a positive average PnL. On the contrary, SOM performed worst, since it ordered many times but ended up with lowest average PnL. It seems more times you trade, more likely you will suffer a large transaction cost. That is to say, average PnL is negatively correlated with trade times.
Another common OMM execution method in practice is called "Fill or Kill". This approach also sends limit orders. But unlike previous OMM strategies: "Fill or Kill" would wait a certain time to see whether limit order could be filled. If time is out and order is not filled, then cancel ("kill") the order. Obviously, implementing this strategy, all the executed orders should have positive PnL, while there also would be some canceled orders leaving NA in the PnL column. We believe it is worthwhile to dig into such a strategy and compare it with the others.
As we can see, from the perspective of risk, MT has lowest VaR and std, while its average PnL is also limited, comparing with OMM methods. On the other hand, although OMMSide has the highest average PnL, its average execution time is also the largest which means it is exposed to more market risk. Further more, in consistence with common scense, OMMSide is more likely to touch SL and TTE limit than OMMMid, since it sets a more 'opportunistic' limit price.