Did Your FX Algorithms Learn the Lessons from the CHF Storm?

by Guest Contributors
  • The storm created by the removal of the CHF peg floor by the SNB on the 15th of January changed the industry. Did your Fx algorithms learn the lesson?
Did Your FX Algorithms Learn the Lessons from the CHF Storm?
FM

Everyone agrees, that in the FX industry, there was a before and an after the 15th of January 2015. Following a surprise move from the SNB, the CHF crashed in a few minutes and provoked some irreversible damage among both sell and buy-side actors.

Some of these impacts were obvious and direct, such as the direct financial loss hitting major sell-side and buy side players. Some other came right after such as the Prime Broker credit lines tightening.

The reasons for this disaster are numerous and I will not detail them all. A lot of people already gave their point of view on this, but it’s worth noticing that they seem to have a common root. Contrary to equities, FX was supposed to be relatively safe from crashes, more particularly the flash crash ones. For example, if I quote one of the conclusion of the BIS report on High-frequency trading in the foreign exchange market:

“ […]the different nature, structure and size of the FX market may make a flash crash-type event less likely in FX than in equities.”

Liquidity was never meant to be a problem on major currency pairs. This provoked over-leverage across the board, especially on the supposed “safe” pegs having very low volatility.

Thinking that forex was safer, when it comes to flash crashes, than equities was definitely a mistake. Indeed, during the famous May 6 2010 flash crash, the fall was of “only” 9% on US indices. This is quite pale in comparison with the 40% drop on the EURCHF!

But let’s focus here on the important consequences and take-aways from this event in relation of your FX algorithms.

Beware of “run away” algorithms

To me, if there is only one important thing to remember from this event - it is the potential danger of the basic “run away” algorithms. What do we call a basic “run away” algorithm? In case of X, Y, Z reasons (here especially volatility, daily variation, lack of liquidity, ...), do everything you can to flat your exposition and stop trading. Flat all and unplug! No smart hedging involved here.

Many have built such a logic to protect their account, but during a flash crash, such as the one of the 15th of January, it makes everything worse…

following the crowd rarely works in trading

Acting in the middle of a panicking crowd with a basic reflex can maybe save you in a real life situation... But following the crowd rarely works in trading. And it is easy to understand why.

Look at the below diagram showing the available EURCHF price during the event. First stage, prices are crashing and liquidity dries out. Second stage liquidity is totally gone or so, with a spread up to 5000 pips! Someone quote at 0.5, hence a crash of 60%. Liquidity Providers review the situation. Third stage liquidity comes back and a more reasonable pricing too. Prices revert and close most of the gap to finally stabilise around 1.05.

EURCHF volatility and liquidity during the crash

EURCHF volatility and liquidity during the crash

EURCHF volatility and liquidity during the crash, Source: FXCM

This 3 stages scenario is reproduced by most flash crashes and it actually became their signature. Prices revert to a reasonable level once operators take time to think about the real life underlying. So do act either very early on stage 1, or on stage 3. But, above all, do not act like too much traders in the end of stage 1, or even worse, during phase 2.

If you do not already look at liquidity in addition the basic prices, you should really start doing it as it will help you to analyse where you are in the 3 stages. And this can now be done even at the retail level… So no excuse here. In this case you however just have to hope that your broker will not force you out at the worst time…

This common flash crash scenario is the reason why the SEC asked the US stock exchanges to implement circuit-breakers. When an exaggerated movement happens, for example a movement of 10% or more in a 5 minutes windows, the market will be frozen the time it takes for traders to analyze the situation and to propose a more reasonable pricing. While such circuit-breakers can be “easy” to implement and very efficient on a centralised markets such as the US equities, it is of course difficult to implement on (spot) Forex which is an OTC market. Your broker will however likely have such a system that should protect you, or them… In theory.

So without mandatory or documented circuit-breakers to protect you at the source, make sure you at least implement one which will require a human trader analysis before taking any serious action such as a catastrophic flat all in the middle of the storm!

This is the end of Part-I. Stay with us for Part-II that will discuss about spike filtering, exception handling, liquidity fragmentation, passivity and pegs!

Everyone agrees, that in the FX industry, there was a before and an after the 15th of January 2015. Following a surprise move from the SNB, the CHF crashed in a few minutes and provoked some irreversible damage among both sell and buy-side actors.

Some of these impacts were obvious and direct, such as the direct financial loss hitting major sell-side and buy side players. Some other came right after such as the Prime Broker credit lines tightening.

The reasons for this disaster are numerous and I will not detail them all. A lot of people already gave their point of view on this, but it’s worth noticing that they seem to have a common root. Contrary to equities, FX was supposed to be relatively safe from crashes, more particularly the flash crash ones. For example, if I quote one of the conclusion of the BIS report on High-frequency trading in the foreign exchange market:

“ […]the different nature, structure and size of the FX market may make a flash crash-type event less likely in FX than in equities.”

Liquidity was never meant to be a problem on major currency pairs. This provoked over-leverage across the board, especially on the supposed “safe” pegs having very low volatility.

Thinking that forex was safer, when it comes to flash crashes, than equities was definitely a mistake. Indeed, during the famous May 6 2010 flash crash, the fall was of “only” 9% on US indices. This is quite pale in comparison with the 40% drop on the EURCHF!

But let’s focus here on the important consequences and take-aways from this event in relation of your FX algorithms.

Beware of “run away” algorithms

To me, if there is only one important thing to remember from this event - it is the potential danger of the basic “run away” algorithms. What do we call a basic “run away” algorithm? In case of X, Y, Z reasons (here especially volatility, daily variation, lack of liquidity, ...), do everything you can to flat your exposition and stop trading. Flat all and unplug! No smart hedging involved here.

Many have built such a logic to protect their account, but during a flash crash, such as the one of the 15th of January, it makes everything worse…

following the crowd rarely works in trading

Acting in the middle of a panicking crowd with a basic reflex can maybe save you in a real life situation... But following the crowd rarely works in trading. And it is easy to understand why.

Look at the below diagram showing the available EURCHF price during the event. First stage, prices are crashing and liquidity dries out. Second stage liquidity is totally gone or so, with a spread up to 5000 pips! Someone quote at 0.5, hence a crash of 60%. Liquidity Providers review the situation. Third stage liquidity comes back and a more reasonable pricing too. Prices revert and close most of the gap to finally stabilise around 1.05.

EURCHF volatility and liquidity during the crash

EURCHF volatility and liquidity during the crash

EURCHF volatility and liquidity during the crash, Source: FXCM

This 3 stages scenario is reproduced by most flash crashes and it actually became their signature. Prices revert to a reasonable level once operators take time to think about the real life underlying. So do act either very early on stage 1, or on stage 3. But, above all, do not act like too much traders in the end of stage 1, or even worse, during phase 2.

If you do not already look at liquidity in addition the basic prices, you should really start doing it as it will help you to analyse where you are in the 3 stages. And this can now be done even at the retail level… So no excuse here. In this case you however just have to hope that your broker will not force you out at the worst time…

This common flash crash scenario is the reason why the SEC asked the US stock exchanges to implement circuit-breakers. When an exaggerated movement happens, for example a movement of 10% or more in a 5 minutes windows, the market will be frozen the time it takes for traders to analyze the situation and to propose a more reasonable pricing. While such circuit-breakers can be “easy” to implement and very efficient on a centralised markets such as the US equities, it is of course difficult to implement on (spot) Forex which is an OTC market. Your broker will however likely have such a system that should protect you, or them… In theory.

So without mandatory or documented circuit-breakers to protect you at the source, make sure you at least implement one which will require a human trader analysis before taking any serious action such as a catastrophic flat all in the middle of the storm!

This is the end of Part-I. Stay with us for Part-II that will discuss about spike filtering, exception handling, liquidity fragmentation, passivity and pegs!

About the Author: Guest Contributors
Guest Contributors
  • 410 Articles
  • 9 Followers
About the Author: Guest Contributors
This could be your profile next week. Simply apply!
  • 410 Articles
  • 9 Followers

More from the Author

Retail FX

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}