Hacker News new | ask | show | jobs
by derriz 2237 days ago
I’ve written code (a year or so ago) against the IB API and it seemed clear to me that the API was a thinish skin over multiple backend systems. The feed you get for products from different markets (even different futures markets) was different - the population of fields in price and trade feed was wildly inconsistent. I’m guessing each market is accessed in by a different IB system. Negative prices are a feature of some massively traded futures - interest rate futures for example - but can effectively never occur for index futures or the like.
1 comments

From what I've seen, almost all financial companies developed a bunch of systems for different security types (which all have different rules and edge cases) independently, and only tried to tie them together as time went on. It's a recipe for a lot of confusion and inconsistency.

There are tons of opportunities in finance to make short-sighted proclamations like "the number of futures in this kind of contract is always 100" or "this type of security can't go negative", and have it be true at the time, but false 5 years later when they add a new type of contract.

Kind of orthogonal, but I’ve often faced pushback from Product Managers when trying to future proof a feature that I’m going to ship. The pushback is usually “oh, there’s no way our customers will ever need that!”. Only until many years later will it blow up in your face, with costly consequences.
I have had similar experiences. Even if the future-proofing is very inexpensive, they'd rather waste more work un-doing the future-proofing than the total amount of work that went into it in the first place, because it's "unnecessary".