In this article we profile Nomura’s series of FX algorithms, called Tsuwamono, a name that is derived from the Japanese definition of soldier, warrior and man of courage.
NINJA
Ninja takes advantage of market liquidity to capture as much spread as possible. This passive pegging algorithm minimizes market impact by accepting greater market risk. The algo’s aggressiveness spectrum spans from passive side top of book to market mid; it never fully aggresses the spread. The market activity profile mentioned above is only a guide to how near to mid the algo will peg in order to stay close to the assumed level of market participation. Its behavior will not change once it reaches its maximum level of aggressive pegging. However, Ninja will back off for a certain period of time if it gets too many fills. The pegging mechanics can be fully configured in terms of the type of reference price. The only case when Ninja might cross the spread aggressively is to clear the last odd lot to ensure full execution (once there is less than 100,000 left to trade) Historical and real-time market activity determine Ninja’s behaviour. Market activity is defined as:
1. Current day and historical trades from available venues for a predefined window.
2. A size of one million is assigned for each trade.
3. Volumes from historical and real-time buckets are averaged in set proportions (in the case of Ninja it is 50/50).
SAMURAI
Samurai delivers fast execution of large orders and takes advantage of liquidity opportunities. By prioritizing urgency, there is no upper limit on passive fills – the order is filled immediately if another market participant is willing to cross the spread. The real-time/historical market activity profile acts as guidance, and a trigger for more aggressive resting orders and sweeps. Samurai is price aware: if the market moves unfavorably, it tries to accelerate execution. Samurai is similar to Ninja in terms of the balance between historical and real-time benchmarks (see above). However, as Samurai is more dynamic, the profile does not use a 50/50 average. Instead, it uses the greater of the historical or real-time value.
A distinctive feature of Samurai is the ability to detect opportunistic liquidity on the market and intelligently exploit it while minimizing market impact. Three mechanisms achieve this:
1.Skew detection: Samurai analyzes multiple order books and detects if there are any asymmetric (skewed) orders. There is an option to select which venues to screen for skewed orders. This feature works best with large orders detection.
2. Large orders detection: Samurai searches order books for large block orders and takes part of them without moving the market.
3. Big quote clean up: The algo tries to finish immediately if the on the book is larger than the remaining trade amount. This allows for quick completion without impacting the market.
Samurai’s main goal is to execute rapidly while minimizing market impact. As mentioned above, if the market moves unfavorably, the algo accelerates execution. In addition, Samurai also has an optional stop-loss feature. This allows the algo to sweep all the remaining trade amount if the price unfavorably moves a set number of basis points away from the starting price. Full execution of stop-loss is dependent on the size and prevalent liquidity at a given moment.
Nomura’a FX algo offering summary
TWAP
This trajectory-based algorithm minimizes the difference between cumulative fill rate and time-weighted price. You specify basic parameters such as start time, end time and limit price and full execution takes place as long as these conditions are met. In its most basic setup (without any dynamic features) the reference for TWAP is the standard linear execution profile. The algo starts by placing passive orders ahead of the profile, backing off if fills occur too quickly. If passive orders are not filled and it falls behind the trajectory, it sweeps aggressively. This ensures that TWAP always stays within a certain tolerance to the assumed execution profile. In order to benefit from available liquidity and favorable market conditions limits can be specified within which the algo will be able to deviate from its core profile. This is done in two ways:
1. By placing passive orders, trying to capture the spread and getting ahead of the standard linear profile
2. By speeding-up/slowing down execution based on the relationship between current market price and its trailing five-minute average. This is an optional feature of TWAP which can be activated separately for each execution. It makes TWAP deviate from its assumed linear profile.
With TWAP, the algo is entirely responsible for slicing, which is based on statistical analysis. This makes it quick and easy to set up and run. The target trajectory determines the expected filled quantity for any given time.
SATORI
Satori replicates an historical volume profile. The overall market volume over a day is estimated using market data. Statistical analysis is based on three months of data and is updated weekly to reflect any structural shifts. The curve’s granularity varies, and ranges from 15 minutes to five minutes. When the start time and desired market participation rate is set, the profile is scaled to determine the stop time and trading intensity. The trading profile and stop time are based on two parameters: start time and assumed percentage market participation (and the historical volume profile). Additionally, an end time parameter can be stipulated which will truncate execution time, potentially leaving part of the order unexecuted.
SHOGUN
Shogun leverages smart order routing capabilities to quickly take liquidity with minimal market impact. It is powerful yet simple and quick to use. The limit price is a critical parameter for Shogun. Depending on the price set, it will:
1. Place a passive order for a fraction of the amount at the limit price level if it is better than the current market price. As the market price becomes tradeable (equal or better than the limit price), the algo will take advantage of liquidity as it becomes available.
2. Try to get an immediate fill (using an aggressive sweep) immediately if the prevailing market price is better than limit price. Shogun tries to execute even if only a fraction of the entire amount is available at equal or better price. If only a partial fill is achieved, the algo will place a passive order at the limit price level while waiting for the market price to become tradeable again.
Order slicing and venue choice is automatic. The inputs – size of the trade, side and limit price – are simple and facilitate rapid execution.
Benefits of FX algo execution
Common Features
Would-if-I-could
TWAP, Satori and Ninja offer the ability to immediately fill a certain percentage of the parent order if the market moves favorably – effectively a take-profit feature. The rationale for this feature is that a trader may have a certain profit level at which they do not wish to run the algo further (and take any consequent market risk). The reference price is defined as:
1. A specified limit price.
2. The price prevailing at the market when the algo starts.
It can be defined whether the trigger is exactly this price or an offset expressed in either absolute terms or basis points. This allows the following:
Execute a certain percentage immediately if a specified price is reached
and
Execute a certain percentage immediately if the price moves by y (as an absolute value or basis points) in favor relative to the price at the start of the algo.
Interaction between algos
It is possible that two or more algos will be trading simultaneously in the same direction for the same currency pair. In this situation trading decisions are completely independent for each algo. There is no downstream aggregation, netting or block trading. Therefore, it is possible (although relatively rare) that more than one algo will try to target the same quote from an aggregated order book.
In this case, each algo independently sends out a child order. The venue’s rules will determine which order is filled first, second or rejected. The two parent orders are independent and unaware of one another. No orders have preferential treatment over others when sourcing liquidity.
Liquidity Pools
Nomura algos can be executed against multiple pools of liquidity: one important differentiator of our algos is Nomura’s eFX stream. The available options are:
- External only
- Hybrid
- Nomura Liquidity only
Nomura currently does not offer an option to place passive limit orders in its internal matching engine which could be filled by other participants. Instead, internal liquidity is added to the existing external liquidity mix. When the client selects the external only option, the algo only uses available external venues. For passive orders, its internal algorithm chooses the appropriate venue to place an order.
The choice is subject to a minimum size check. Similarly, when the algo aggresses, it uses its aggregation logic to choose the best venue to aggress on. There is one exception to these rules: when the amount in term in external only mode is specified, the algo trades on Nomura’s internal stream. In this case, a small piece of the amount is reserved to trade in order to manage potential deviations due to price moves. This is traded as a remainder at the end of the execution. Currently the only way the algo can trade small remainders is to aggress internal Nomura quotes. In hybrid mode, passive order placement options are the same as the bank does not accept passive orders internally.
However, as mentioned before, Nomura’s internal liquidity stack works with the external aggregated order book to further improve price and order book depth. Internal only mode is dedicated for clients who would like to fully internalize their orders with Nomura. Any passive order placement is inactive. The algo only aggresses the spread on Nomura’s eFX stack. Consequently, Ninja (as a fully passive algo) will not work properly in this mode and passive aspects of other algos’ are inactive.