Adding More New Features to Greek Engine
Today I spent a good bit of time adding a significant new feature to the Greek Engine that is needed for the next significant phase of it's rollout. This part takes the option trades and calculates a little bit about the implied values and then generates a "sales" message with a lot of interesting data. This is used by the systems the traders use to see what's happening at the time of each option sale, and so it's really quite useful.
There were a few issues with the code - things that needed to be cleaned up, but for the most part, it was in decent shape. But the problems started when I started up the server and saw the load that was generated by this addition. It was too heavyweight for the threads that were feeding it, and it was causing speed issues that it didn't have to.
So I decided it was time to spin off the processing to a new thread, in fact, the thread that was doing the sending downstream just needed to do a larger portion of the work. So I had to fix up a few things, and refactor a few classes, but in the end I have something that's far better than before - far cleaner and clearer, and at the same time, it's a lot faster.
Good work indeed.