
Hello,
I am starting my last year in MSc Finance this fall and am looking to prepare myself for the thesis. The subjects I am interested in are:
 Optimizing trading frequency in algorithmic trading  Investigating and establishing a method to find what kind of volume is possible to trade in a given market without slippage, or if there is slippage, how to minimize it as much as possible
Do you have any good papers/books you would recommend me to read?
Thank you, 
Nous promettons selon nos espérances, et nous tenons selon nos craintes. 



bullero


Total Posts: 75 
Joined: Feb 2018 


You need to be more specific. In most practical cases, you cannot separate those subjects from each other.
First, trading frequency is highly dependent on your general approach. You need to fix the edge you are seeking to capture, how long it is going to last and then bake this information with the cost of each action into the modelling methodology you are using to solve the problem. That is, you need to ask yourself what is my edge per trade, on average, and how much I need to pay for it or how much of my edge is lost due to volatility and competition. Like in any business you need to consider a large variety of different costs which might differ from firm to firm. Therefore, you will find it significantly more difficult, compared to your second subject, to find any reasonable papers which will have any relevance outside the university campus. If you want to do it properly, you model these sources for edge and costs explicitly in your framework.
Second, the problem of optimal execution, in a general sense, is a "solved problem" in the sense that the general framework is quite solid already. Try to Google optimal execution and you will find a plethora of different approaches ranging from standard dynamic programming to the ML equivalent called reinforcement or Qlearning. Irrespective of approach, these modelling frameworks determine a "trading schedule" which is a set of rules conditioned on your state space, i.e., they define which action(s) (where you should trade, how many shares/contracts to trade and which order types should be used) the exec algo is going to take given your remaining time and the remaining inventory/lack of inventory. The specifics are then implementation details which depend on statistical features of the specific instrument or market and costs.




ronin


Total Posts: 679 
Joined: May 2006 


>  Optimizing trading frequency in algorithmic trading
That doesn't actually mean anything. There is nobody who goes "I trade at 100 Hz" "Oh yeah? I trade at 1,000 Hz. Haha, I win!" Seriously, it's not how it works.
>  Investigating and establishing a method to find what kind of volume is possible to trade in a given market without slippage, or if there is slippage, how to minimize it as much as possible
Zero volume, zero slipage. More seriously, the key word is "market impact". Look for early work by Robert Almgren and the guys from the CFM, and more recently from Jim Gatheral et al. I think there are some presentations by JG that you can google that have a decent reference list, so that would be a good starting point.

"There is a SIX am?"  Arthur 




@bullero, @ronin I see. I read some of the original paper by Almgren (Optimal execution of portfolio transactions) and felt that I understood it alright. However, I am not very well versed in maths, (I did a business degree) but I do believe that I know my way around Python quite well.
Do you think it would be a good idea to implement/test any of the reinforcement learning/dynamic programming models described in the papers? I have access to high frequency data from my university. 
Nous promettons selon nos espérances, et nous tenons selon nos craintes. 


bullero


Total Posts: 75 
Joined: Feb 2018 


Why not? I did something similar and got very good feedback.
Edit: What you could do is a kind of a hybrid study where you take one of those basic market making models and extend it with some short term alpha signal which enables you to skew the pricing and cancel resting orders. 





@bullero That sounds like a great idea! Do you happen to have any suggestions which papers I could start to dig into to find a suitable market making model? 
Nous promettons selon nos espérances, et nous tenons selon nos craintes. 


bullero


Total Posts: 75 
Joined: Feb 2018 


Avellaneda and Stoikov is the first modern one (https://www.math.nyu.edu/faculty/avellane/HighFrequencyTrading.pdf). The problem with that model is that it does not impose explicit inventory penalty. Also, this paper is hard to follow if you lack understanding of the maths behind stochastic control and dynamic programming. However, you should read it since they introduce a mathematically nice way to model the fill intensities for a limit order in the book.
Fodra and Labadie (https://arxiv.org/pdf/1206.4810.pdf) extend the AS model with terminal inventory penalties and solve the HJB for different set of utility functions. The fill intensities are similar to AS.
Cartea and Jaimungal (http://www.math.ualberta.ca/~cfrei/PIMS/MarketMaking.pdf) extend AS model, again, with both running and terminal inventory penalties. The fill rates are similar to AS. The linear formulation of the utility function results in nice HJB which is very easy to solve semi analytically and very easy to solve numerically with backward Euler scheme.
Cartea and Jaimungal (https://poseidon01.ssrn.com/delivery.php?ID=048098119110096000079000026099102095019007064059048087112092108094126073081120092086120062044006006096062127098123091025092109059085090089088069125102025098072089086051013101120125099008087122116101083004126001113004002116115104126108095102080090006&EXT=pdf) extend AS model, again, with both running and inventory penalties. However, now the market maker only posts at the BBO. Also, now with short term alpha component. In order to understand this paper it is insightful to read this first (https://poseidon01.ssrn.com/delivery.php?ID=516000122122104093088102108098127092099021067011054023110070072000095112091113028009053037096016037002029031100119086019082089051043087083034007114075016081102104010046045029080027003107085011127126108015116080082121108080018116100068090113024027070&EXT=pdf).
Edit: Since you have experience with Python you should check out this. Also gives nice intuitive explanation of the general methodology: http://rendezvouswithdestiny.me/finance/stoch_ctrl_mm.html






Thank you so much! This is incredibly helpful 
Nous promettons selon nos espérances, et nous tenons selon nos craintes. 

