ICE Has Officially Gone Back to the Future(s)

It’s a little known fact that any time there is a trade break at any of our clients using K3, I get an alert email.  When we configure the email alerts I ask clients to put me on the distribution list for any trades received from the exchange in K3 but not able to book in the ETRM system. It just helps me supervise any troubleshooting and making sure any problems are headed off at the pass.

So with the changes on ICE, I was expecting a pretty busy morning.  And then…..Nothing.

K3 Customers Made the Transition in a Couple of Hours

At the risk of bragging, I’m happy to say that K3 clients weren’t slaving away this weekend.  Unlike approaches that use trade templates or hard-coded mappings, with K3 the update process was simple.  Our clients made the update without changing any code, doing painful technology manual labor, requiring code freezes or distracting skilled developers from other projects.

They simply opened the K3 GUI and exported affected mappings to Excel.  They then replaced affected values from the ICE spreadsheets and pasted the updated mappings back into K3.  Done.

If anything was time consuming, it was getting into the ICE Test environment and booking deals to ensure all was flowing correctly.  All in all, the process took a couple hours end-to-end and I’m proud to say that most of them did it without even having to ask for help.

Ok, I am bragging.  But if anything it’s because I’m really proud of our people and how they work smart.  I know a lot of folks spent their weekend (probably a lot of weekends) altering internal systems.  And I’ve been there, but it just does not have to be that way.

Oh yeah, and some guy jumped from 128,000 feet this weekend.  Wow.

 

 

Share on TwitterShare on LinkedInShare via email

Disaster at Knight: Only One Thing Could Have Gone Wrong

They botched the Software Quality Assurance (QA)…stating the obvious…Res Ipsa Loquitur…(It speaks for itself).  But the $400 million dollar question is HOW they botched the application QA.

This is not the first time in my career I have seen this.  It is the third.

The first time was a UK company in the newly formed UK power market.  Big vendor developers had botched the (manual) bidding code such that it posted bids as asks and vice versa.  $80 million down the drain before they found the error. 

The second was a hedge fund that had botched the automated booking process in their ETRM system causing the portfolio to be mis-hedged.

First some background on QA steps.

COMPILE

After code is written, it is compiled.  In a way compiling code is a form of testing.  If the code compiles, it means there are no obvious errors in the code that prevent it from running.  But running is different than working as intended.  The dirty secret of software development is a testing manifesto of, “if it compiles it ships.”  Do software updates come to you where the application starts and runs fine, but then interacting with it throws errors?  You’ve got a team adhering to, “if it compiles it ships.”

There are many types of testing, but without getting into semantic games, here’s a simple breakdown.

UNIT TESTING

Unit testing is the lowest level of code testing.  It is written by programmers and focuses on independently testing the smallest units of code.  Once unit tests are fully in-place, they can be run anytime code is added or modified to ensure that existing functionality has not been affected.  This allows complex systems to be dynamic and still stable.  What unit testing does not do it test how various units function together.

FUNCTIONAL TESTING

Once each individual unit of code works as intended, the full code base need to be tested together.  In other words, does the whole application function as intended.  The scope of such testing is captured in ‘Test Scripts’ which describe a set of discrete system actions with data inputs that produce a set of expected results.  In other words, I type my ID and password and click ‘Login’ with an expected result of logging in successfully.  These can be run manually or even automated with software tools since they are the same actions/results each time.

This phase of testing is really only as good as the testers or the person who automated the scripts.  I had a buddy running development and the testing consultants (who seemed to come out of a yellow bus with backpacks) said the testing had failed.   The test script said “Enter a pipeline company” in XYZ field.   They failed it because there was no company called “A Pipeline Company” in the drop down.  I wish I was kidding.

UAT

Finally, the last step is User Acceptance Testing or UAT.  This is where the users, those who use the application on a day to day basis, actually test the application for themselves.  In addition to testing their day-to-day activities (which may be just running through test scripts) they should also conduct what I like to call ‘monkey testing’.  In other words, beat on the system like a monkey and try and break the darn thing.  This is an important catch-all phase however it’s always tough because getting time from the actual users is a challenge.  But at the end of the day they have to put their name on it.

Where’d Knight Go Wrong?

If you have to point a finger, UAT is the place where blame is assigned.  As a publicly traded company there are some Sarbanes-Oxley implications to not running through test scripts.  One project we were on for a large enterprise application, the test scripts had to be put in paper form for SOX and they literally filled a 10×12 room.

I don’t know if offshore resources were involved.  In recent years there has been a large push to do testing offshore.  But my experience is that coordinating testing in a remote location adds another level of complexity to the mix.  For running test scripts in a far-away land, you are literally banking that a remote person whom you’ve never met knows the difference between a bid and ask, a put and a call, a long call versus a short put.  My experience is that this distance can foster a lack of accountability.  But most of all, do you know what it is like to get a trader to talk to the testing team at 9PM?  Brutal.

Share on TwitterShare on LinkedInShare via email

POW! ICE Goes to the Future(s)

Last week   ICE announced that it is registering its products as Futures.

ICE has always traded “look alike” swaps that acted and behaved just like futures.  As look-alike contracts, ICE was able to stay out of the Commodity Exchange Act and the CFTC.   Dodd Frank changed all of that.  So ICE seems to have adopted a “join ‘em” attitude and decided to go head to head with CME.

Back to Futures!

It’s worth pointing out that there is still a HUGE incentive to trade bilaterally OTC.   If you are Exxon, the amount of collateral you have to put up for an OTC trade is minimal if not zero.  So why would you clear and post margin? Uncleared OTC is going to remain alive and kicking.  Sure, some trades will be mandated for clearing.  But for now those contracts are few and as new products come into scope they will be battled over furiously.

In this sense, ICE really has an edge.  ICE has a great OTC platform that will stay live;  an SDR that appears functional; and, a wide futures product mix.  CME may tout Clearport as the ultimate OTC clearing destination, but as many know, it’s just far, far harder to use than clearing on ICE.  I was talking to a broker who told me that ICE calls him every week to make sure everything is running smooth as silk.  CME?  No comment.

While I am pretty bullish on ICE with this move, it is not without some anticipated growing pains.  I think the worst pain is going to be in their pricing and margin groups.  Pricing was a revenue center for ICE.  So if you are anyone but a high volume trader, getting prices and margin cooperation has historically been a bit like a trip to the dentist (you pay for pain).  I think this is changing.  After all, its a federal requirement that futures settlement prices get published daily.

But these are trivialities.  For those trading on ICE, there is really not much impact.  Had ICE stayed with look-alikes, they would have had to send all these trades to Trade Vault as a DCO anyway.

 

Share on TwitterShare on LinkedInShare via email

Dodd Frank | DTCC and Trade Vault “Gotchas”

Dodd Frank  | Trade Vault and DTCC “Gotchas”

The compliance deadlines are looming.   Some of the bigger Gotchas that keep coming up:

Data Is Not In Our Trading System.  The CFTC wants (XYZ Data Point).  We don’t have that in our trading system!

Case in Point:  Option Expiration Time Zone.  Obscure, yes.   So much so I have to say I have never seen this value actually captured in a trading system.

Case in Point: Termination Fee Payer:   Nope, have not seen this one either.

Case in Point:  Execution Time:  Oh sure, we have that in the trading system.  Wait, maybe not.   The trading system only has the execution date, not the execution time.

Missing data is the number one gotcha of SDR reporting.  The solution to this is what we refer to as value mapping to derive values.   If you were coding this from scratch one would have to create a table or a rule.  This is one of the reasons I love K3 Server mapping.   We joke when we demo the system that mapping is soooo boring.   But when it comes time to manage these relationships, we just put them into the mapper and away we go.

Aggregation & Disaggregation.  We’ve talked about this a bit in previous posts.  Sometimes calendar strips are booked as, just that, calendar strips.  And sometimes they are booked as 12 monthly legs.  Sometimes, spreads are booked as just that, spreads.   And sometimes they are booked as legs.  Depending on how the trades are booked and how the SDR wants them, we may have to do some fancy footwork to properly book into the SDR.

If you were coding from the ground up this means you’ve got to create some fancy logic.  For K3 Server it is a simple matter of either sending the trade to our aggregation or disaggregation components; or just use a rule to do the same.  All that fancy footwork is done already in a GUI that any BA can use.

DTCC Trade Vault or Both?  Just about everyone I have talked to is struggling with which SDR they should use.  As of this writing there is only one for commodities (Trade Vault), but I am sure that will change shortly.  So our answer is BOTH.  It’s just a fact that some trades are going to be on DTCC and some on Trade Vault.  We’ve integrated with both and routing is all done internally in K3 by deal type or other criteria.

SEF Deals Not on a SEF (yet).  Yes, SEF’s are supposed to submit trades on your behalf to the SDR.   The problem?  There are no SEFs yet.  There is a pretty good chance that there may be a lengthy period of time where we are executing on a “soon to be SEF” but it is not one yet.   It is worthwhile being cautious and not making assumptions about whether the SEF is going to submit on your behalf.  In the end every reporting entity is going to have to be ready to go to submit trades to the SDR, irrespective of where it was executed.

Changing Rules

All rules will inevitably be changed.  Some trade types may no longer need to be reported and some additional trade types will need to start being reported.  Whatever solution you craft to comply with Dodd-Frank requirements, it has to be agile enough to respond to a dynamic set of requirements.

You could just stick the problem in the lap of some smart developers or consultants and say “Go!” but that generally leads to a short-term solution which costs more and more to maintain as you add capabilities.  Doesn’t seem like an issue now when business groups are throwing endless money behind compliance efforts, but the gravy train will eventually run dry.  And if you haven’t thought up front about managing those interfaces efficiently, your current uptick in spend may paint you in a corner down the line.

This is just the tip of the iceberg.   More to come….

Share on TwitterShare on LinkedInShare via email

Opinion | Call for Visionary CIOs, CTOs and COOs

I’ve worked inside of a number of large trading shops now, both as an employee and as a consultant.  As a result I’ve worked with some really smart people…people who can tell you all the minutae of how to price complex options, people who can build technology systems to compute the value of thousands of trades at the push of a button and leaders who run globally distributed groups serving a complex matrix of stakeholders all with different needs.  Quantitatively, it’s been a daily learning experience.  Qualitatively, it’s like watching the head of snake trying to swallow a mouse too big and giving itself whiplash while trying to eat.

The process pretty works like this…

A trader or sales person (commonly known as the Front Office) needs something from his technology systems to make his job easier.  Could be as simple as the way he views his positions to something more difficult like explaining the factors leading to the change in his portfolio value overnight.  Almost inevitably, the Front Office person will snap their fingers and work with someone from IT to make the required change(s).  The IT developer, buried under a growing list of such requests, greases “it” to come up with the fastest solution.  It’s like watching someone row a boat with holes in the bottom…they are rowing at full tilt just to stay afloat.

The IT Manager is measuring the Developer based on how much they have ”done” for the Front Office (not always how they have done it) and the pressure only adds incentive for short cuts and band-aid solutions. What’s the net effect for the enterprise?

Front Office person is temporarily satisfied.  Developer goes back to addressing their laundry list of such fixes and the IT Manager feels like they are running a successful team. Except that building systems with limited foresight is like putting up scaffolding held together with thread.  Once it starts to rattle, you need to prop it up.  And the fastest way to prop up enterprise systems is to throw people at the problem.

So the next time that Front Office person requests an incremental change to the original fix, the effort is double as they must revise the original fix to cater to the new request and then actually complete the new request.  Extrapolate this out a couple years with many Front Office folks making many such requests and you get:

  • Underperforming tools for Front Office users
  • Computer Engineers whose jobs are reduced to holding up scaffolding
  • Middle Office folks whose requests never get addressed

As the scaffolding becomes more fragile the relationships between these groups can become fractured.  Turns out that it doesn’t have to be this way.

Global IT spent this year is going to be around $1.2 trillion (Gartner) and 25% of it ($300billion) will be spent on building system interfaces.  So we built a product, K3, that aims to remove the scaffolding around system interfaces.  Open source components for developers to build interfaces and a simple GUI for Middle Office people to manage the data flow thereafter.  Empowering users to self-drive allows the Middle Office to handle 80% of the Front Office requests around interfaces and Developers to focus on being engineers instead of data janitors.

Results for the Enterprise?  Front Office folks can focus on revenue, Developers can return to being Engineers on strategic initiatives and Middle Office people can raise their hand with the hope of being noticed.  Now everybody hug.

If you’re a visionary CIO, CTO or COO who is looking to build an enterprise and get past the scaffolding, email me.  We need to talk.

Share on TwitterShare on LinkedInShare via email

Opinion | Enterprise Guys in a Social World

So we are at TechCrunch Disrupt in NYC this week.  K3 demo’d as a finalist in the Disrupt Battlefield Competition yesterday to an ocean of MacBooks.  As far as we can tell we are only one of two enterprise applications here.  Everything else?  SOCIAL.  Social Consumer, Social Media…social…social … social… (Marsha, Marsha, Marsha!)

Even among the social apps there is something of a dark specter lurking amongst the

Where's the Money?

Startup Alley tables.   How much more can the “C” category actually consume???  And moreover, how can you MONETZE it???

We enterprise apps guys live and die by “value prop” and monetization strategy.  K3 reduces maintenance costs of interfaces by 50% and virtually eliminates lost data problems associated with custom code interfaces.  It’s a $300 Billion dollar market.  That’s how we built it.  That’s how we sell it.  That’s how our clients come to love it.

So, let’s think about the social value prop.  For most of these apps it is about harnessing a social community of trust.  But, if you can’t monetize the community of trust it boils down to simple entertainment/advertising model.  Pinterest…love it…its entertainment.  Facebook…love it, but its entertainment.  Unfortunately, the rabbit like propagation of social entertainment, based entirely on advertising revenue, has bit the hand that feeds it by turning advertising into total white noise.

Let’s look at Facebook.  I’ve created a highly trusted community there.  My buddy Daniel is a prolific reader.  When he finishes a book on Kindle, I don’t even look at the title.  I just buy it.  But what’s FB getting out of this?  Nada.  But that’s the trusted interaction social apps HAVE to monetize.

If there is anything I believe in, it’s the creative power of the people at this conference.   The next Google, the next Facebook is going to have to come up with a brand new revenue model that taps the trusted community.

Share on TwitterShare on LinkedInShare via email