Transactional Cost on High Frequency Trading

Posted on May 12, 2018

Image result for high frequency trading

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.

  • Β the timeout and stop loss have the **same priority**. Whichever happens the first, got to fill the order.
    -Β  Β for example, we have an order to buy at time 0(picture below), we implement OMMSide method and join the bid at $12.05. Then, at time 1, the price moved up. If our stop loss PnL = 0.05, then the stop-loss will be triggered because midprice minus offer price (12.105-12.05 = 0.055) exceed 0.05. There is more than one way to define the stop loss, our team chooses this method.
  • On the other hand, if the time 1 is after the timeout limit. Then the order will be executed based on the market price when the time is 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.

PnL on Different TTE


PnL on different Alpha Engines

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.

Fill or Kill Execution

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.

About Author

Nan(Lainey) Liu

Nan(Lainey) is a master student at New York University studying Financial Engineering. She is passionate in the applications of machine learning technique in financial industry eg. High-Frequency Trading, Option Pricing. Nan developed a shiny app to research on...
View all posts by Nan(Lainey) Liu >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI