The Gateway to Algorithmic and Automated Trading

Scalable participation algorithm

Published in Automated Trader Magazine Issue 10 Q3 2008

Toby Bayliss, Head of Electronic Execution Sales, Europe at Citi outlines the use of a scalable participation algorithm to trade a substantial order in BP.

The Asset: British Petroleum (BP) Ordinary Shares. Typical bid/offer spread is 0.25p.

The Challenge: To buy 4.5 million BP shares in a single trading session (June 17th 2008), at a limit of 595p. As of this date, the 60 day average daily traded volume for BP on the London Stock Exchange (LSE) is approximately 53m.

The Algo: A broker-developed participation algorithm that in addition to the basic target percentage participation rate has two user-configurable scalability settings:

• By value, which allows target percentage participation to increase as the market moves in favour of the order

• By momentum, which allows target percentage participation to increase as the market moves away from the order

The sensitivity of these setting can also be configured to determine the rate of change in the participation rate for a given price movement. Participation rates are scaled either side of a central pivot price that defaults to the mid price at the time of order entry.

The algorithm can be set to take all available liquidity aggressively in order to complete a trade immediately ('completion price') and is also able to interact opportunistically with the broker's internal liquidity and external dark pools.

The Trader: The trader works for a large conventional asset manager and uses assorted technical analysis studies (including divergence patterns and a volatility adjusted rate of change indicator) among various other inputs to her trading style.

Fig 1: 5 minute BP candlestick chart showing 595p limit price for order, divergence signals and volatility weighted rate of change indicator.
Fig 1: 5 minute BP candlestick chart showing 595p limit price for order, divergence signals and volatility weighted rate of change indicator.

7.30am: The trader sets the initial algorithm parameters in the expectation that BP will open lower than last night's close of 587.25p and soften slightly. Parameters set as follows:

• Target participation rate of 10%

• Scaling by value selected

• Sensitivity setting of 1% price movement to increase participation rate by 5%

• Opportunistic interaction turned on

• Pivot price left at default

• 'Completion price' functionality turned off

8.00am: (Quantity filled - 0) BP gaps down, but not spectacularly, from previous night's close and opens at 583p. Gap immediately starts to close in the wake of positive comments by Russian Deputy Prime Minister Alexei Kudrin that the recent disagreement between UK and Russian shareholders in oil joint venture TNK-BP would not have a significant impact on the country's investment climate.

8.07am: (Quantity filled - 126,053) BP has continued to rally and is now above previous day's close, so participation rate has fallen to slightly above 8%. Volatility adjusted rate of change indicator is flat and its 10 period average is still declining. Trader opts to leave settings unchanged for now.

8.21am: (Quantity filled - 184,230) Stock trading sideways in 587.5p-589.5p range; rate of change still flat. The algorithm has just picked up a single block of 55,500 shares on NYFIX.

8.34am: (Quantity filled - 468,658) Strong rally is now underway and stock has hit 591p. As stock is now starting to trade quickly away from her, trader opts to reset algo to scale by momentum and also increases sensitivity so 1% price movement will increase participation rate by 15%.

8.50am: (Quantity filled - 856,752) Momentum has abated in the past fifteen minutes and algorithm has also managed to find the other side for 115,000 shares in the broker's internal liquidity pool. Despite sideways movement, trader opts to leave algo scaling by momentum.

9.04am: (Quantity filled - 1,649,853) A further surge has pushed BP above the trader's limit price to 595.25p, but a flush of liquidity prior to that allowed the execution of significant volume.

9.10am: (Quantity filled - 1,649,853) Price still above limit at 595.25p, but a bearish divergence signal1 has been flagged. The trader switches to scaling by value and sets scaling sensitivity to maximum in anticipation of capturing liquidity on a retracement below the limit price.

“12.25pm: (Quantity fi lled – 2,191,534) Typically thin lunch hour liquidity, but gentle price fl uctuation in the 592p-594p range has assisted accumulation.”
"12.25pm: (Quantity filled - 2,191,534) Typically thin lunch hour liquidity, but gentle price fluctuation in the 592p-594p range has assisted accumulation."

9.16am: (Quantity filled - 1,649,853) Stock dips below limit. Algo reactivates.

9.27am: (Quantity filled - 1,921,534) Price still below limit, but rallying again.

10.55am: (Quantity filled - 2,011,534) BP has mostly traded above limit for past 90 minutes, but average rate of change has been steadily declining for past 40 minutes and price is now back below limit.

12.25pm: (Quantity filled - 2,191,534) Typically thin lunch hour liquidity, but gentle price fluctuation in the 592.25p-594p range has assisted accumulation. News story about TNK-BP CFO defending company performance against shareholder complaints has negligible impact.

1.20pm: (Quantity filled - 2,221,698) Bullish divergence2 suggests possible rally. Trader switches to scaling by momentum and sensitivity to 1% price movement increasing participation rate by 10%.

1.33pm: (Quantity filled - 2,242,253) Steady rally over past twenty minutes has pushed BP above limit price again.

2.00pm: (Quantity filled - 2,242,253) Further bearish divergence signal. Trader switches to scaling by value and sensitivity to 1% price movement increasing participation rate by 5%.

3.05pm: (Quantity filled - 2,590,350) Stock has fluctuated narrowly either side of limit price for last hour. Algorithm is crossing with Chi-X hidden liquidity. News wire items over the past 30 minutes about Gazprom denial of rumours that it is building stake in TNK-BP appear to have kept lid on any rallies. Significant price decline in last five minutes prompts trader to increase sensitivity to 1% price movement increasing participation rate by 15%.

4.05pm: (Quantity filled - 3,343,395) Bullish divergence and proximity to close prompts trader to invoke 'completion price' setting.

4.16pm: (Quantity filled - 4,281,258) Market starts to decline into the close.

4.22pm: (Quantity filled - 4,500,000) Trade completed, with 52% of visible executions done on Chi-X, and the rest on the LSE.