The Gateway to Algorithmic and Automated Trading

Fishing Efficiently

Published in Automated Trader Magazine Issue 19 Q4 2010

Alex Paley, Global Head of Algorithmic Product Development CIB - Global Markets at Deutsche Bank, outlines a portfolio transaction involving five stocks using a dark pool algorithm that optimises pool selection and minimises gaming risk.

Alex Paley

Alex Paley

The Scenario: It is late August 2010 and the manager of a London based fund specialising in mid and small cap names is considering the fund's investment options for the period leading up to the year end. In common with other stock indices, the FTSE 250 has drifted lower throughout a lacklustre August holiday period. Various brokers have expressed little enthusiasm for the prospects of mid caps for the remainder of year, on the grounds that the subdued economic environment will make it difficult for these companies to do much more than deliver flat earnings.

However, the fund manager takes the view that this downbeat sentiment may be somewhat overdone and that mid caps as a group will fare rather better in the run up to the year end. In addition, he has selected a small group of five stocks (most of which are FTSE 250 constituents) that he feels are likely to prosper: Keller Group, Yell, CSR, JD Wetherspoon and Game Group.

Keller Group: In the case of Keller Group, dismal first half results and a May profit warning (largely due to a sharp slowdown in US business) has seen the stock underperform over the summer. However, the manager's view is that this reaction has been overdone and he also feels that the company CEO's assertion that the second half will be significantly stronger is likely to prove correct.

Yell: The company's shares have performed very poorly year to date and it has yet to resolve the appointment of a new CEO and finance director. Second quarter sales numbers were weak but in line with previous guidance from the company. The fact that the company's core customers are small businesses who are cutting back on marketing and promotional spending in response to the drab economic conditions has given rise to further negative sentiment. Nevertheless, in line with his generally more optimistic view for SMEs and MMEs, the manager sees the company as worthy of a small more speculative long position.

CSR: After announcing Q2 revenue guidance significantly above analysts' estimates in May, CSR has spent the rest of the summer delivering a steady stream of announcements relating to new orders and collaborations with companies such as Sennheiser and Intel. While the shares have tracked the FTSE 250 lower throughout August, the manager sees considerable upside if markets pick up in the autumn.

JD Wetherspoon: While consumer discretionary spending remains under pressure, JD Wetherspoon has remained a buyer of outlets and has forged on with expansion plans, opening 41 new pubs to date in 2010, whilst unloading only two. The company has also shown a willingness to offer the sort of deals (sub-£1 pints and £1.99 breakfasts) likely to attract cash-strapped consumers.

Game Group: Although video games hardly constitute essential expenditure, in the manager's view Game Group looks likely to prove resilient despite the resignation of its chief executive in April. A recent series of presentations at a technology event previewing some forthcoming games showed that the company's release pipeline was robust. In view of the company's strong relationship with early adopters, the manager is taking the view that its earnings in the second half of 2010 will be more resilient than generally expected.

On the basis of his analysis, the manager decides to instruct his trading desk to buy into positions in all five stocks on September 1st.

The Assets: Keller Group, Yell, CSR, JD Wetherspoon and Game Group.

The Challenge: To buy:

• Keller Group - size: 10,000 - target price: 570

• Yell - size: 500,000- target price: 15.15

• CSR - size: 50,000- target price: 290

• JD Wetherspoon - size: 10,000 - target price: 420

• Game Group - size: 100,000- target price: 65.50

...during the trading session on Wednesday September 1st 2010.

The Algo: The execution algorithm being used by the trader is a dedicated dark pool algo that is designed to mitigate some of the challenges associated with order execution in dark pools. One of these challenges is aggregation; as order sizes grow, there is a need to access more dark pools but thereby increase the risk of information leakage. The ideal situation is to achieve the greatest percentage of dark fills while simultaneously minimising market impact.

The algorithm seeks to address this by employing a dark pool ranking model that maintains dark pool profiles that are based upon four primary factors:

• Market conditions in real time

• A statistical determination of the compatibility of each order with each pool

• Client order attributes

The dark pool ranking model seeks to achieve the balance between fill rate and market impact based on the characteristics of the order, and liquidity available in the various dark pools. The model factors in the urgency selected by the trader, and the performance of the order type across the various pools. This ensures that the smartest and most appropriate liquidity will be sourced across the fewest number of pools necessary to achieve the desired fill rate. This approach minimises both market impact and information leakage.

Another challenge associated with dark pools is the risk of being gamed as a result of information leakage. Pools may not publicly display quotes, but various techniques (such as screening for trades executed within the spread and pinging with immediate or cancel orders) can be used to provide significant information regarding liquidity in a pool. In addition to manipulative gaming practices, there has also recently been a proliferation of high frequency liquidity providers which may potentially result in P&L slippage.

The algorithm deals with these situations by incorporating high frequency trading (HFT) models under the hood of the agency algorithm. The dynamic return model is an HFT reversion model which prevents orders from trading during periods of irregular price activity. The model detects reversion opportunities and slows down and/or suspends trading until the stock price moves back into the expected range of desired price levels. The trader can control the number of reversion bets and sensitivity to price movements made by the model by selecting the desired urgency for each trade. This again gives the trader the control to strike a balance between fill rate and impact.

The algorithm's main user parameter is its urgency setting, which has three levels - low medium and high. This controls the number of dark pools included in trading and also the sensitivity of the algorithm's dynamic return model. A higher urgency setting will include more dark pools and allow a wider trading range before temporarily suspending trading. A lower setting includes fewer pools and a narrower range before suspending trading. This allows the trader discretion to instruct the algorithm on prioritisation of fill rate versus market impact.

The Trader: The trader, who is based in London, handles mostly UK stock trades for the fund and uses a variety of proprietary and standard technical tools to assist in market timing, including price divergence patterns, and Market Profile. As Figure 1 (a ten minute candlestick chart of JD Wetherspoon on September 1st 2010) illustrates, trading activity in the mid and small cap names in which the fund invests can be sporadic in nature, which makes it difficult for the trader to apply these tools to conventional time based price bars.

Figure 1

Figure 1

Source: CQG, inc. © 2010. All rights reserved worldwide.

As a result, in order to model intraday trends, the trader instead applies his analysis to constant volume price bars, which are built from a specified number of price ticks rather than minutes or seconds - see Figure 2, which shows a five tick constant volume bar chart of JD Wetherspoon on September 1st.

(Note: The timeframe of the trader's modelling is several orders of magnitude longer than that of the much shorter term dynamic return model used by the execution algorithm and so does not conflict or have any interaction with that.)

Figure 2

Figure 2

Source: CQG, inc. © 2010. All rights reserved worldwide.

7.41am: The FTSE 250 showed a modest overall gain in the previous session after a weak start (see Figure 3). Nevertheless, even though plenty of traders were taking an extra day off then in addition to the bank holiday Monday and despite the sideways or negative performance of the five stocks on his buy list, the trader is expecting some "back to work follow through". In his view, there is a good chance that the trading session and the target stocks will finish higher. He therefore opts to set up the algo with a medium urgency setting for four of the stocks; the exception is JD Wetherspoon, where he selects a high urgency setting.

Figure 3

Figure 3

Source: CQG, inc. © 2010. All rights reserved worldwide.

His reasoning for this is that JD Wetherspoon proved resilient in the previous trading session, despite negative comment from a Citigroup analyst. The analyst predicted that draft proposals from the International Accounting Standards Board (IASB) and the US Financial Accounting Standards Board (FASB) that would compel companies to bring operating leases onto the balance sheet would lop 20% or more from the company's full-year earnings per share along with other firms in the leisure sector. Despite this, JD Wetherspoon only slipped by 0.2p to close the previous trading session at 418.8p.

Figure 4

Figure 4

Source: CQG, inc. © 2010. All rights reserved worldwide.

8.00am: The majority of the target stocks have shown small gap up openings on the primary market.

8.45am: Although the FTSE 250 is starting to show the early signs of a modest rally, the first forty-five minutes of trading have been largely choppy for the individual target equities, with little clear price direction emerging. This has proven a good opportunity for the algo to pick up stock. Volumes completed: KLR.L - 845, YELL.L - 28,012, CSR.L - 3015, JDW.L - 623, GMG.L - 7953.

9.00am: Little significant price movement in any of the stocks, though after falling around 5p on the open JD Wetherspoon is picking up to levels near the previous night's close. Yell remains weak and so the trader chooses to reduce the algorithm's urgency setting for the stock to low. Volumes completed: KLR.L - 1023, YELL.L - 38,745, CSR.L - 5096, JDW.L - 876, GMG.L - 7953.

9.04am: Yell has continued weak and has briefly dropped below the bottom limit of its Market Profile Value Area (brown dashed line in Figure 4 with red highlighted constant volume bar). Despite the low urgency setting, the algorithm has taken advantage of this to pick up a significant block of stock in the algo provider's own dark pool. Volumes completed: KLR.L - 1152, YELL.L - 61,985, CSR.L - 5184, JDW.L - 903, GMG.L - 8234.

9.06am: CSR is starting to show signs of life and is approaching the upper limit of its Market Profile Value Area (MPVA - green dashed line in Figure 5 with blue highlighted constant volume bar). With the FTSE 250 also making new highs for the day and approaching the upper limit of its own Market Profile Value Area, the trader increases the urgency setting for CSR high. Volumes completed: KLR.L - 1175, YELL.L - 65,698, CSR.L - 5214, JDW.L - 953, GMG.L - 8952.

Figure 5

Figure 5

Source: CQG, inc. © 2010. All rights reserved worldwide.

9.30am: Despite a wide opening range, Keller Group is now pretty much near where it started the day and is continuing to soften, which has improved both productivity and price achieved. The algo has recently picked up a handful of shares on Turquoise, but the bulk of its activity is on the provider's dark pool. Volumes completed: KLR.L - 2014, YELL.L - 78,852, CSR.L - 8963, JDW.L - 1436, GMG.L - 13,985.

9.43am: With the exception of Keller Group, which has continued to weaken and is now trading below the bottom limit of its MPVA, all the stocks are now trading around the centre of their MPVAs and still not exhibiting any major trends. This has allowed the algorithm to acquire considerable additional volume. Volumes completed: KLR.L - 2589, YELL.L - 101,635, CSR.L - 8963, JDW.L - 1835, GMG.L - 19,232.

10.04am: CSR has softened steadily over the past ten minutes, prompting the trader to reduce its urgency setting to medium. By contrast, Yell has started to firm up, so the trader increases its urgency setting to medium, so the algo is now set to medium urgency for all five stocks. Further significant stock acquisitions in the algo provider's dark pool. Volumes completed: KLR.L - 2615, YELL.L - 122,512, CSR.L - 11,256, JDW.L - 2245, GMG.L - 23,010.

10.31am: In the past few minutes, the FTSE 250 has started to rally and (with the exception of Keller Group) so have all the target stocks. Three of the stocks - CSR, Game Group and Yell - have also broken out of the top of their MPVA. Coupled with the upward momentum in the market as a whole, this prompts the trader to raise the urgency setting on these three stocks to high, but leave JD Wetherspoon and Keller Group at medium urgency. Volumes completed: KLR.L - 3524, YELL.L - 168,852, CSR.L - 18,051, JDW.L - 3612, GMG.L - 30,947.

10.52am: The FTSE 250 is making new highs for the session, as are CSR, Yell and JD Wetherspoon. Volatility in these stocks is also rising and on several occasions in the past twenty minutes the algo has briefly suspended trading in some of the dark pools in order to avoid causing undue market impact during already uncertain conditions.. While this has marginally reduced the acquisition rate in these stocks, Game Group and Keller Group's lack of response to the overall market rally has allowed the algo to acquire several mid-sized blocks of Game Group on Turquoise and Chi-Delta and Keller on Turquoise, and several much larger blocks of both stocks in the provider's dark pool. Volumes completed: KLR.L - 4921, YELL.L - 181,201, CSR.L - 19,079, JDW.L - 3973, GMG.L - 42,023. As a result of the increased volatility and the temporary change in trading pattern for this stock, the algorithm's ranking model dynamically adjusted the pool allocation in order to minimise impact until normal trading resumed.

11.00am: Yell and CSR have continued to rally steadily and both stocks have nearly reached their target price levels. To avoid the risk of these stocks running away from him, the trader increases the urgency level on the algorithm to high for these stocks. Volumes completed: KLR.L - 5134, YELL.L - 201,524, CSR.L - 22,854, JDW.L - 4442, GMG.L - 46,214.

11.36am: The FTSE 250 has been easing off over the past twenty minutes or so. While Yell has also softened CSR continues to move ahead. Volumes completed: KLR.L - 6412, YELL.L - 249,964, CSR.L - 26,314, JDW.L - 5012, GMG.L - 49,912.

11.52am: Yell has triggered a short proprietary price divergence signal (see red inverted triangle in Figure 6), but as the stock is still trading significantly above the target price, the trader opts to leave the urgency setting at high. Meanwhile, the dynamic return model has made an independent reversion call, appropriate for the selected high urgency, effectively suspending trading at the blue inverted triangle level in Figure 6. The algo only suspended trading for a handful of seconds, barely a blip in the trader's workflow, but the cumulative savings from these reversion bets are quickly accumulated and passed back in the form of lower slippage costs.

CSR showing similar signs of losing its upward momentum. Volumes completed: KLR.L - 6798, YELL.L - 256,124, CSR.L - 26,992, JDW.L - 5245, GMG.L - 54,875.

Figure 6 illustrates how the dynamic return model places reversion bets, based on the selected urgency level, without interfering with overall workflow of the trader. As the trader lowers his urgency level based on his impression of the market, the dynamic return model becomes more conservative in sourcing liquidity by making more reversion bets. Conversely, as the trader increases his urgency level in a desire to acquire more stock, the model loosens it's constraints in an effort to source more liquidity. In both cases the high frequency reversion bets made by the model are barely noticeable to the naked eye, but since they are so numerous in number the value add accumulates rapidly.

Figure 6

Figure 6

Source: CQG, inc. © 2010. All rights reserved worldwide.

12.09pm: All five stocks have slipped back as trading activity has slowed during the mid day lull. Volumes completed: KLR.L - 6925, YELL.L - 276,398, CSR.L - 28,112, JDW.L - 5991, GMG.L - 58,357.

1.00pm: CSR and Yell are now significantly above their target prices and JD Wetherspoon has just broken above its target price, prompting the trader to move the urgency setting on the algo to high. Keller is just below its target price, but showing few coherent signs of upward momentum so the trader leaves the urgency setting on the algo at medium. Game Group is still drifting sideways, which has allowed the algo to acquire further stock on Chi-Delta and Turquoise Dark and some larger blocks in the provider's pool. Volumes completed: KLR.L - 7165, YELL.L - 301,247, CSR.L - 28,851, JDW.L - 5982, GMG.L - 67,721.

2.16pm: CSR is now trading some 10p above its target price and is well above the top of its MPVA. Despite some recent weakness the trader is unwilling to continue chasing it and so reduces the algo's urgency setting to medium. JD Wetherspoon is still strengthening and Keller has recently started trading above its target price, albeit with little conviction. Yell has softened a little and Game Group remains becalmed. Volumes completed: KLR.L - 7921, YELL.L - 341,759, CSR.L - 29,234, JDW.L - 6264, GMG.L - 77,191.

2.27pm: CSR is increasingly looking a lost cause as it continues to strengthen. Fortunately, the other four stocks are neutral to softer - particularly Yell, which has eased back appreciably (see red highlight Figure 7). Volumes completed: KLR.L - 8624, YELL.L - 379,597, CSR.L - 31,853, JDW.L - 6813, GMG.L - 84,257.

3.00pm: A rather unhelpful piece of news from the US in the form of a surprise increase in the Institute for Supply Management (ISM) index of US manufacturing, which rose to 56.3 in August from 55.5 in July, contrary to most economists' expectations of a fall to under 53. Fortunately only CSR (and to a much lesser extent Game Group) react positively; the other three stocks actually soften slightly. The algo almost completes the Game Group order with a series of trades on Chi-Delta and Turquoise Dark and one very large block in the provider's pool. Volumes completed: KLR.L - 8824, YELL.L - 401,991, CSR.L - 35,213, JDW.L - 7291, GMG.L - 97,213.

Figure 7

Figure 7

Source: CQG, inc. © 2010. All rights reserved worldwide.

3.20pm: Despite a minor rally in the stock, the algo comfortably completes the Game Group order well below the target price, with an average price paid of 65.15. Volumes completed: KLR.L - 9624, YELL.L - 442,113, CSR.L - 37,993, JDW.L - 7812, GMG.L - 100,000.

4.01pm: The algo completes the Keller Group order at an average of 567.35 just as it starts to rally strongly through the target price. JD Wetherspoon has eased a little but is still around 5p above its target acquisition price. CSR has weakened considerably but still looks unlikely to complete before the close. Yell is now trading sideways around the middle of its MPVA. Volumes completed: KLR.L - 10,000, YELL.L - 487,123, CSR.L - 41,037, JDW.L - 8467, GMG.L - 100,000.

4.14pm: Yell's recent inertia has allowed the algo to complete the order fractionally above the target price at 15.16, while a couple of large blocks in the algo provider's pool almost complete JD Wetherspoon. CSR looks a lost cause and so the trader calls the manager for instructions. The decision is taken to complete the trade irrespective of price, so the trader moves the urgency setting on the algo to high. Volumes completed: KLR.L - 10,000, YELL.L - 500,000, CSR.L - 41,037, JDW.L - 9912, GMG.L - 100,000.

4.23pm: JD Wetherspoon completes at an average price of 419.85. CSR now drifting sideways, which combined with the high urgency setting allows the algo to acquire several large blocks at an average price of 295.05. Volumes completed: KLR.L - 10,000, YELL.L - 500,000, CSR.L - 47,397, JDW.L - 10,000, GMG.L - 100,000.

4.26pm: CSR finally completes just before the close at an average price of 293.74. Volumes completed: KLR.L - 10,000, YELL.L - 500,000, CSR.L - 50,000, JDW.L - 10,000, GMG.L - 100,000.