Quote from Jerry030:
Iâd like to express my sincere thanks for your post, which is outstanding. It contributes well written, concrete, detailed information on real world trading in terms of the topic on this thread.
Hats off to you!
It also shows the exception to the just prior post, which notes that nothing of value is ever shared, on-line anymore.
A few questions if you care to respond:
1) What kind of profitability did this system generate, expressed in any metric you know or care to share? One assumes that with this kind of effort the trading was profitable enough to make this worthwhile long term.
2) You mentioned compensation based on performance, if the system kept working. I donât want to know the numbers but could you give me an idea of the ratio between base pay and incentive bonus that was used to keep everyone working happily?
My personal theory is that this has to have a relationship to the net profitability of the operation in order to keep folks from trying to steal it and or jump ship and try to duplicate it independently.
3) You mention extensive compartmentalization in hardware, software and people. What would have prevented a gathering of yourself and a half dozen peers in a bar on Friday after work from turning into a plot to put some of the pieces toghter either for fun or to get the system? You as DBA working with others who had access to the parts you didnât.
A number of the basic concepts you mention can be adapted to the kind of operations in the range of folks on ET. I suspect none can afford the mainframes you mention, however the concepts of breaking the system and its operation into parts running on multiple separate independent servers at different locations has been discussed along with
other some of the other elements you mentioned.
You also lend some support to my perspective that the best way to steal the system is to get access to the trades being executed and use advanced CI to clone a functional equivalent even if precise algos or parameters are unknown. I have done a portion of this process for a client. It is called a Failure Model. The client had a very complex proprietary system used to trade private money. He wanted to improve performance but of course wouldnât reveal anything about the structure of the system. So I used neural networks and other advanced CI to create a predictive model of the systems performance. When the model predicted that the system would generate a loosing trade then the system would not trade. When there was no prediction of a loss the system traded normally. This eliminated over 20% of the negative trades and boosted net profitability considerably. The next step in this logical process would be a Success Model: predicting winning trades. The two together would essentially duplicate most of the original system (functionally), without ever knowing anything about it except the market, time granularity, market data in, and trades out.
Thanks, again for a high quality post.
Jerry
Jerry,
You asked some questions that are at the heart of any security meeting. I sat through meetings where many of these same questions were asked. In these meetings we had to use existing bank security plus some we invented.
One of the basic security needs was filled by the banks two signature audit policy. If the system needed programmers to make changes then to it then a minimum of two signatures from bank officers responsible for their parts of the system were required before any code could be pull back for change. It was during this open period that the system was vulnerable to theft.
To counteract this theft risk the bank used test boxes for secured systems. The problem with this box is you could work on the objects inside all you wanted but nothing came out of it. You could not even screen scrape the images on the tubes. The code that came out of this box was the difference changes between the current production and modification (mod) that would be applied to production systems (version control was CA-Panvalet if I remember right). This means you did not see the entire code set again after it made production the first time. And it took a minimum of two signatures to get these mods to remake to the production code.
The bottom line would have taken an act of god to get the full production code out in the open where multiple people had an opportunity to get their hands on it to steal it. The second problem is with the system broken into parts you would need almost all of the management to sign off two at a time to get the system in the open. Donât think the auditors would not catch something like this. Doing this at a bar on Friday night would have drawn a lot of attention with a crowd that large.
For example my area secured all of the Database platform design, DB2 database definitions, SQL and Database processing code used by the system. It was rare we changed platform design, added new tables, designed new SQL and database code in the same mod. That would have required a full meeting of all the security team and many eyes looking over my shoulder.
As you mention the logs of the trades, trade transactions, execution output, trade transmissions any thing that pointed to interaction with exchanges had a big role in the design of this trading system. These objects were all cleaned up as they happened and stored as database objects rather than files to increase security (which is rare on regular systems). The idea behind this, I was told, was the system was ramped in stages. Once all functionality was operational the audit trail of the trades was like the source code.
I heard many times that if a competing bank got a âsnifferâ on any of our communication lines this system was toast. These types of comments towards the transactions were ongoing. These were rehashed more that the original systems design. We did things like change encryption because too many hands had touched codes and they were worried one end might be broken into. With every new release of DB2 we installed this system had to be tested (along with the others) for holes that IBM may have opened up. So there was no set it and forget with this system. We were at war and this was a main battle resource.
I got to hear about compensation based on performance in meetings with my boss and at other events. Discussing pay or bonuses on work time except with your boss even in jest could get you fired. Banks are way beyond touchy with this subject especially since I was a bank officer. In that meeting with my boss I got the largest bonus of my life. But my boss was perplexed. He was a straight guy. He told me to keep it quiet but the bonuses we had gotten were âa pittanceâ of what the âtrade managementâ guys had gotten. What I heard later on the sly at a Christmas party where lips were loosened by elixir was some bonuses were in the hundredâs of thousands for that team. Whew. But I still bought a car on my bonus. It was very nice compared to other leaner years.
About a month after that party I was at a change control meeting where I found out why the bonuses happened. They had ramped the system too full out for the last quarter of the year (which I already knew from seeing the database activity). But what I did not know is it blew out profit expectations because of volatility. I never did get close to learning net profitability and compensation numbers. I handled technical functionality and was not invited to system management meetings. All I heard was the rumors and offline conversations. But seeing the toys that team bought from that experience was an excellent motivational tool to get me into trading on my own full time.
Thanks,
RabbitOne