Fund FX and CLS

Here’s a picture: You buy a nice bottle of wine from me for $50 (What can I say, you like wine and I sell some serious gourmet Brunello.) I’m just a broker so I’ll have the wine shipped to you and you’ll send the payment directly to my supplier… The catch is, all I know about this supplier is that the guy’s name is “Giovanni’s Vinos”, in Milan Italy, and that he has a Bank of America account somewhere in New York City. So now, I expect you to transfer $50 into Giovanni’s account at BofA based solely on this information. Sorry, dude.

In the world of Foreign Exchange (FX) Trading, it’s called Fund FX, and that’s exactly what I’ve been trying to implement for one of our Japanese clients for the last several months. Yeah, fun stuff.

On the interface, I need to extract settlement information from an imcoming MT202 SWIFT message. This message contains antiquated pseudo-cryptic character sequences clearly conceived by twisted alien creatures with pasty white faces to keep track of where we keep our pieces of green paper. A SWIFT MT202 Message is used to order the movement of funds (Your $50) to the Bank of America account of ‘Giovanni’s Vinos.’ It would look something like this:

{1:F01YOUUSNYAXXX0000000000}{2:I202DFO1SFNYAXXXN2020}{3:{108:MT202}}{4:
:20:2021
:32A:040723USD50,
:57D:BANK OF AMERICANEW YORK
:58D:GIOVANNI'S VINOSMILANO
-}{5:}

I need to interpret these instructions as soon as they come in the system and match them against transfers and issue settlement instructions to BofA in New York. So now I’ve got to figure out a way to identify Giovanni’s account at BofA… Granted, in real-life the bank name would allow me to uniquely identify it, and all I really need to do is locate its SWIFT code and, with the recent introduction of Continuous Linked Settlement (CLS), all this has gotten a lot easier. The thing gets to be a real nightmare, though, if you’re trying to implement an interface to both Fund FX and CLS at the same time. What came first, the chicken or the egg?

What really irks me, though, is that both CLS and Fund FX are brand-spanking new services. Don’t you think they could at least have opted for a less arcane protocol than SWIFT? I fully understand the ubiquitous presence of SWIFT in the world of foreign exchange settlements. Still, If I’m architecting a new system, I’d much rather use XML and SOAP to communicate and let people generate their own SWIFT, if they need to. Apparently though, that’s just me…

Bloomberg, SWIFT, and other dinosaurs

Why are some of the most widely used protocols and data streams on Wall Street so antiquated? I’ve been working recently to interface my employer’s product with Bloomberg security data. FTP? Flat-file format? Errrr… I’m surprised they didn’t ask me to use punch cards to send my request via US Mail.

Now my first thought was that our client (on whose behalf I’m implementing this interface) is too cheap to get an upgrade on its Bloomberg License. Still, that doesn’t really make sense when upgrading to real-time quotes and reference data updates would have a significant upside for its traders.

No… I think this is all Bloomberg’s doing. They’ve got antiquated software that’s clearly (as far as I could discern from the API documentation) running batch jobs to query their data feeds and… well, you know… concurrency is, like, really hard. 😉 Then again, it could simply be that, like Microsoft and other pseudo-monopolies out there, Bloomberg knows he’s got the best data on the street and his clients will do just about anything to get to it. Clearly, if indices, quotes and credit events were drugs, Bloomberg would be the Pablo Escobar of the digital age.