Today we implement the order placement strategy in Almgren and Chriss (2000) s.t. for a certain order size $Q$, we can estimate the probability to perform the optimal strategy in the paper within time horizon of $T$.

# Mathematical Formulation

It is tolerable[1] in HFT that we assume stock price evolves according to the discrete time arithmetic Brownian motion:

$\begin{cases} dS(t) = \mu dt + \sigma dW(t),\\\\ dQ(t) = -\dot{Q}(t)dt \end{cases}$

where $Q(t)$ is the quantity of stock we still need to order at time $t$. Now let $\eta$ denote the linear coefficient for temporary market impact, and let $\lambda$ denote the penalty coefficient for risks. To minimize the cost function

$C = \eta \int_0^T \dot{Q}^2(t) dt + \lambda\sigma\int_0^T Q(t) dt$

we have the unique solution given by

$Q^*(t) = Q\cdot \left(1 - \frac{t}{T^*}\right)^2$

where $Q\equiv Q(0)$ is the total and initial quantity to execute, and the optimal liquidation horizon $T^*$ is given by

$T^* = \sqrt{\frac{4Q\eta}{\lambda\sigma}}.$

Here, $\eta$ and $\lambda$ are exogenous parameters and $\sigma$ is estimated from the price time series (see the previous post) within $K$ time units, given by

$\hat{\sigma}^2 = \frac{\sum_{i=1}^n (\Delta_i - \hat{\mu}_{\Delta})^2}{(n-1)\tau}$

where $\\{\Delta_i\\}$ are the first order differences of the stock price using $\tau$ as sample period, $n\equiv\lfloor K / \tau\rfloor$ is the length of the array, and

$\hat{\mu}_{\Delta} = \frac{\sum_{i=1}^n \Delta_i}{n}.$

Notice that $\hat{\sigma}^2$ is proved asymptotically normal with variance

$Var(\hat{\sigma}^2) = \frac{2\sigma^4}{n}.$

Now that we know

$\hat{\sigma}^2 \equiv \frac{16Q^2\eta^2}{\lambda^2 \hat{T}^4} \overset{d}{\to} \mathcal{N}\left(\sigma^2, \frac{2\sigma^4}{n}\right)$

which yields

$\frac{16Q^2\eta^2}{\lambda^2\hat{\sigma}^2\hat{T}^4}\overset{d}{\to}\mathcal{N}\left(1, \frac{2}{n}\right),$

to keep consistency of parameters, with $n\equiv \lfloor K/\tau\rfloor \to\infty$ we can also write

$\frac{16Q^2\eta^2}{\lambda^2\hat{\sigma}^2\hat{T}^4}\overset{d}{\to}\mathcal{N}\left(1, \frac{2\tau}{K}\right).$

with which we can estimate the probability of successful strategy performance. Specifically, the execution strategy is given above, and the expected cost of trading is

$C^* = \eta \int_0^{T^*} \left(\frac{2Q}{T}\left(1 - \frac{t}{T^*}\right)\right)^2 dt + \lambda\sigma\int_0^{T^*} Q\cdot \left(1 - \frac{t}{T^*}\right) dt = \frac{4\eta Q^2}{3T^*} + \frac{\lambda \sigma QT^*}{3} = \frac{4}{3}\sqrt{\eta\lambda\sigma Q^3}.$

# Implementation

(1.465147881156472, 0.8431842483948604)

which means there's a probability of 84.3% that we can perform our order placement strategy of size 10 within 3.6405 time units and minimize the trading cost of 1.47 at optimum.

1. 1.Over long-􏰊term 􏰛investment􏰔 time scales or in extremely volatile markets􏰁 it is important to consider geometric rather than arithmetic Brownian motion􏰟; this corresponds to letting $\sigma$􏰮 scale with $S$􏰘 But over the short-􏰊term 􏰛trading􏰔 time horizons of interest the total fractional price changes are small􏰁 and the di􏰈fference between arithmetic and geometric Brownian motions is negligible. (Almgren and Chriss, 2000) ↩︎