Live data from Hacker News

Citi Missed a Fat Finger

bloomberg.com

51–60 of 92 posts

Re: Citi Missed a Fat Finger

#51
I like github's solution to deleting a repository. A popup makes you type the repository name before confirming deletion.

In this case, if the value is unusually high say greater than 100 billion, make the trader type 100 billion before proceeding.

I confess that I also ignore popups and just click ok. This is where i appreciate github asking me to type the name of the repository, just to make sure that I know what I am doing.

Re: Citi Missed a Fat Finger

#52

I like github's solution to deleting a repository. A popup makes you type the repository name before confirming deletion. In this case, if the value is unusually high say greater than 100 billion, make the trader type 100 billion before proceeding. I confess that I also ignore popups and just click ok. This is where i appreciate github asking me to type the name of the repository, just to make sure that I know what I…

How long are these messages that your reading speed doesn't burn through it faster than it takes to click or tap the button...?

Re: Citi Missed a Fat Finger

#53
post #46

I've been in the room when it happened. In one memorable incident, a junior trader I sat opposite bought 100 bn Japanese Yen instead of 10 bn. His excuse? "I lost track of the zeros". We'd only hired the guy because he had a PhD and "PhD's are smart" - lol. In his defense the UI was awful. He left soon after...

How do you buy 10,000,000,000 (let alone 10x that much) of something as a junior trader without someone signing off on it? There's nothing at all to stop catastrophic actions being taken by anyone in the organization?

Yen was probably around hundredth of euro or dollar. So it is 100 million or billion worth of very liquid currency. Very likely among the most liquid trade pairs. As such you need to trade big to make money there. Get timing right and you make it, get it wrong and you lose some.

Re: Citi Missed a Fat Finger

#54
When entering and exchanging potentially very large money amounts, it behooves risk management of entered, encoded, and transmitted prices carefully like the following: NDC.

N = Length of string D

D = [0-9]+\.[0-9]+

C = 2 check digits using IBAN method against ND

Re: Citi Missed a Fat Finger

#55

When entering and exchanging potentially very large money amounts, it behooves risk management of entered, encoded, and transmitted prices carefully like the following: NDC. N = Length of string D D = [0-9]+\.[0-9]+ C = 2 check digits using IBAN method against ND

It doesn't seem that this would have helped here: the trader entered exactly the number that they intended to, just that their intent was misconceived.

Re: Citi Missed a Fat Finger

#56

I've been in the room when it happened. In one memorable incident, a junior trader I sat opposite bought 100 bn Japanese Yen instead of 10 bn. His excuse? "I lost track of the zeros". We'd only hired the guy because he had a PhD and "PhD's are smart" - lol. In his defense the UI was awful. He left soon after...

Most of exchanges and brokers have a dialog window “Looks like unusual order with high price impact - do you really want to execute yes/no” So definitely an UI issue.

Except that apparently they had such warnings for individual trades, but the bundle was implemented as "for(trade in bundle) transact(trade)". Which design has a certain appeal, standing on the shoulders of the peculiar handling of each trade, but with the terrible flaw that the bundle is never considered in its totality.

Re: Citi Missed a Fat Finger

#57
post #17

> However, as data from that external feed was unavailable, the price of the value of the Index instead defaulted to -1 To me, this reeks of a couple of bad experiences I had repeatedly as a back end developer coordinating with the front end: 1. Demanding that my services always returned correct-looking data, even if it wasn’t available, because they couldn’t (or wouldn’t) handle errors. The story always went like th…

Oh man, I would LOVE for all APIs to always return real HTTP response codes. It's crazy frustrating to get a 200 OK with an empty object or something instead of a payload with the expected/agreed-upon format. If someone can parse/handle a response from an API they can absolutely add a bit of code to handle a handful of response codes.

Re: Citi Missed a Fat Finger

#58

Earlier quoted context omitted.

This is a phenomenon in so many different jobs, and is called “alarm fatigue”. From https://www.nytimes.com/2010/08/01/weekinreview/01wald.html : > On Tuesday, the National Transportation Safety Board said that a crash last year on the Washington subway system that killed nine people had happened partly because train dispatchers had been ignoring 9,000 alarms per week. Air traffic controllers, nuclear plant operators…

> nurses in intensive-care units and others do the same. The last time I was in hospital, I came out the next day and my ears were ringing for a couple of days from the _constant_ ringing of alarms.

Every time I've been in a hospital (visiting people), I have a frequent sensation of wanting to get out of there. I hope/imagine I will never need to be in a hospital, because I know it will be hell for me. I have extremely good hearing, and am very affected by sound. Visiting people in hospital requires serious effort from me to maintain focus on the person and those I'm there with, and ignoring such a shocking degree of noise I can barely believe it's the accepted norm. I can't believe how many devices and processes purposely make noise as a part of _normal operation_, where there's not even anything amiss!

Re: Citi Missed a Fat Finger

#59
post #25
post #19

Earlier quoted context omitted.

This triggered a repressed memory. I was once on an ops team responsible for an application that had been turned over to us written in Java. The application ran in Tomcat, and prior to turning it over to us, the external vendor had "helpfully" built some monitoring and alerting for the application. One of the metrics they monitored was how many errors per minute and per hour were happening the application's logs. Whe…

"The errors let you know it's working; it's when the errors stop you have to worry."

[deleted]

Re: Citi Missed a Fat Finger

#60
post #55

When entering and exchanging potentially very large money amounts, it behooves risk management of entered, encoded, and transmitted prices carefully like the following: NDC. N = Length of string D D = [0-9]+\.[0-9]+ C = 2 check digits using IBAN method against ND

It doesn't seem that this would have helped here: the trader entered exactly the number that they intended to, just that their intent was misconceived.

Perhaps and perhaps another compounding factor was error-prone UX such as not displaying total estimates prominently or the presence of options leading to order-of-magnitude differences.

But the intent of what I suggested is to guard against many classes of errors including data entry, storage, transmission, and interpretation.

Post reply on HN