Inside Metro: A Q&A with OptionsCity’s CTO, Victor Glava

 Q: Let’s start with a question I am sure you get asked a lot. Why did you and the other founders start OptionsCity?

A: Yes, that's a question I often get asked. At the onset, we had a simple mission: to create the highest performance futures options trading software available on the market. That mission led us to develop the first version of Metro just 16 months after starting the company. And that mission is the same one that drove us to create the latest version of the Metro platform.

Every day we are solving challenging technical problems and pushing the limits of what can and should be done with trading technology. And that is incredibly rewarding.

At the same time, we also wanted to create a great culture where we, as founders, enjoy coming to. We knew that we will be spending a lot of time at work and wanted to make the time in the office as rewarding as possible for everyone involved.

Q: You mention the latest version of Metro and I know it has been very well received. How does it compare to other versions?

A: I have always been proud of what the OptionsCity team has released in terms of functionality and performance. However, this past year, we've spent a great deal of time optimizing the Metro platform, and after more than 9 years of releases, I'm probably the proudest and most excited about our latest version.

In my opinion, this version is the best yet.


Q: Why are you so proud of the latest version of Metro?

A: Well, I am passionate about the technology we are putting out. Most notably, we are pushing the limits of the platform from a performance point of view. As you know, performance covers a wide range of areas and we've looked at many of them.

Let’s talk about speed. Put simply, we’ve optimized the code to make sure that Metro is the lowest-latency, highest performance platform out of the box.

We have gotten to a level where the performance of the platform is not affected by inefficiencies in the code, but rather on whether critical data is being read from main memory (SDRAM) versus the L1/L2/L3 caches on the CPU.

Because of this, we can submit 60,000 orders per second that involve the entire tick-to-trade loop using one Freeway job. That is 16us per order. That is beyond cool!

Our critical functions, like market data processing, quoting, electronic eye can scale with ease across one or many cores within the CPU’s. This allows us to dynamically double the number of cores dedicated to quoting, for example, being able to do the same amount of work twice as fast.

Quite some time ago, we stopped relying on the concurrent data-structures offered by Java JDK and wrote our own data-structures to hand over data between threads in a safe manner that do not incur any lock-acquisition costs. We accomplish this by using things like spinning locks and circular queues.

We also implemented an intelligent caching system that allows us to perform complex operations ahead of time and store the results in various caches. This allows the critical functions of the system to only incur the cost of retrieving a result rather than having to go through the complex computation. This is done for many entities across the organization.


Q: Is it hard to continue improving year after year, version after version?

A: Yes, but it is made possible by advancements in other areas of technology and understanding. If nothing changed, continuous improvement would be harder. However, nothing is static, including our understanding of technology, the technology and tools available, and our understanding of the markets. This allows new inputs to the equation, which leads to new outputs. In our case, those outputs are new functionality and new performance characteristics.


Q: You mention functionality. How does the latest version of Metro compare to others from a functionality point of view?

This is probably the other reason why I am so excited about this version. Besides the strides we are making from a performance standpoint, we've also continued to improve overall functionality.  

At the end of last year, we took a step back, looked at the platform as a whole, from functionality, to performance, to usability, to some of the stability issues we’ve had. We decided that a major rehab of the platform was in order. This was especially true when it came to the front-end as opposed to the back-end. There had always been a level of ongoing rehab for the back-end, but not on the front-end. So, while all the heavy lifting is done on the server, the various issues with the front-end were causing headaches for our customers. The result of this major work has allowed us to deliver the latest version of Metro.

While the Metro platform has always been highly intuitive, this latest version drastically improves upon our previous versions and, we think, puts Metro’s performance far ahead of our competitors. So, the stability, quality, ease of use, intuitiveness, and feature set are what set this version apart from the rest – whether those are in-house systems or our direct competitors.

As far as functionality, we have a number of enhancements. We bring together non-aggregated energy markets from CME, ICE and the new Nasdaq Futures exchanges, allowing our customers best execution across all of them. We are doing for energy futures and options what NBBO did for equities. We’ve revamped a lot of the core functions, like Risk Reporting, Calendaring, Favorites, Hotlist in the TradeSheets. We have given our customers the ability to route orders to a Freeway Algo which expands the level of complex ordering strategies to anything OptionsCity or our third-party developers can come up with. We have made a feature like the Instrument Filter Set available to all functions within the system. We have automated previously manual functions like setting of the Underlying offset used for the rolls, with a Metro App.

The list of improvements really goes on and on.


Q: Is it risky to continue pushing a platform forward? Doesn’t stability and quality start suffering?

Change always involves risk. However, we are not afraid of change, neither at the management level nor with our development teams. We know that this is the only way to push the platform forward. We do not stitch together solutions from decades old code. When something does not work as intended, we are not afraid to get our hands dirty, like we did with the major refactoring in this Metro version.

Because of this willingness to change, we are more committed to quality and stability than most. Our QA team for Metro is as big as our development staff. This does not include the high level of automated testing that we do, either at the low-level, via unit tests, or at a high-level via Integration tests written against the Freeway API and as platform wide regression tests using high-end professional tools like UFT.


Q: Thank you for your time.

Thank you for the opportunity to talk about the great accomplishments of our Metro development team.


Schedule a Metro Demo

Posted by OptionsCity Software

OptionsCity Software powers the trading, risk management and analytics needs of professional futures and options traders, market-makers, introducing brokers and financial institutions worldwide. OptionsCity’s diverse suite of powerful tools includes Metro, its flagship electronic trading and market-making platform, and Freeway, an automated trading engine designed to build, test, and deploy algorithms and custom trading strategies. OptionsCity also offers a cloud-based futures trading platform, CityTrader, with its REST-based, easy-to-implement City API for accessing futures and options market data and analytics. OptionsCity's latest offering, City Execution, allows Thomson Reuters Eikon users to execute futures and options trades seamlessly from within Eikon.

Previous article Leveraging APIs in the Agricultural Markets Next article OptionsCity’s City API Nominated for 2016 Chicago Innovation Award