David vs Goliath (You against the Markets), A Dynamic Programming Approach to Separate the Impact and Timing of Trading Costs
To trade, or not to trade, that is the question! Whether an optimizer can yield the answer,Against the spikes and crashes of markets gone wild.To quench one's thirst before liquidity runs dry,Or wait till the tide of momentum turns mild. A trader's conundrum is whether (and how much) to trade during a given interval or wait for the next interval when the price momentum is more favorable to his direction of trading. We develop a fundamentally different stochastic dynamic programming model of trading costs based on the Bellman principle of optimality and show that trading costs are a zero sum game. Built on a strong theoretical foundation, this model can provide insights to market participants by splitting the overall move of the security price during the duration of an order into the Market Impact (price move caused by their actions) and Market Timing (price move caused by everyone else) components. Plugging different distributions of prices and volumes into this framework can help traders decide when to bear higher Market Impact by trading more in the hope of offsetting the cost of trading at a higher price later. We derive formulations of this model under different laws of motion of the security prices. We start with a benchmark scenario and extend this to include multiple sources of uncertainty, liquidity constraints due to volume curve shifts and relate trading costs to the spread