I am trying to build an infrastructure for detecting relative value opportunities in options. The idea is to make the infrastructure "employer-independent", even though I will most certainly use it while working here. The final goal is to be able to open a separate shop, should I decide to do so, with the least amount of downtime. I will also prefice right away that I am not a "true" IT person - even though I've majored in Math/CS some years ago, I have been trading options for the last 18 years and it certainly did not make me any smarter.
Thus, I decided to go with a web service-style approach. The data stream from exchanges, the vol surface fitter and the volatility database would all reside on a private server (I take it putting a server in some reasonable colocation service is dirt cheap these days if you don't need light-speed latency). Also, on the same server would reside my volatility RV code (which I would write in R) and whatever results would be displayed in the form of simple HTML pages or downloadable CSV files.
Obviously, a lot of choices have to be made and questions have to be answered. That's where I hope the collective intelligence here would help me:
(a) What operating system I go with? Linux sounds like a natural choice but it will somewhat restrict my software choices. It does, however, seem to be most cost effective and scalable.
(b) Which database should I use? So far I am leaning toward MySQL - free, scalable, good administration UI. Oracle is the other choice.
(c) The volatility fitter/updater - should it be developed in C++, Java or some .NET platform? I can see positives to all of these, but most importantly C++ is the easiest to interconnect with R, has the least number of performance issues (and since we are fitting vol surfaces for several thousands of stocks a few times a day, performance is important).
(d) The development process is probably the biggest question, maybe I should have put it in the first place. My choices here are fairly limited:
1. I can probably take a stab at this myself with some bits and pieces outsourced to contractors. It's the cheapest way, but it will take a long time to get anywhere considering that I am working 12-hour days as is.
2. I can hire a pure IT person to work on the non-financial components. The issue, however, would be that pretty much everything will be financial in one or another form. Also, support of the system will be reliant on that person. Also, there are regulatory issues with me hiring someone.
3. I can (probably) find a student that could work on this project in his/her spare time, pay something or other to support him/her and, once the whole fund idea goes live, make him a partner.
Any other issues/problems you guys see? Any thoughts or suggestions?
Thus, I decided to go with a web service-style approach. The data stream from exchanges, the vol surface fitter and the volatility database would all reside on a private server (I take it putting a server in some reasonable colocation service is dirt cheap these days if you don't need light-speed latency). Also, on the same server would reside my volatility RV code (which I would write in R) and whatever results would be displayed in the form of simple HTML pages or downloadable CSV files.
Obviously, a lot of choices have to be made and questions have to be answered. That's where I hope the collective intelligence here would help me:
(a) What operating system I go with? Linux sounds like a natural choice but it will somewhat restrict my software choices. It does, however, seem to be most cost effective and scalable.
(b) Which database should I use? So far I am leaning toward MySQL - free, scalable, good administration UI. Oracle is the other choice.
(c) The volatility fitter/updater - should it be developed in C++, Java or some .NET platform? I can see positives to all of these, but most importantly C++ is the easiest to interconnect with R, has the least number of performance issues (and since we are fitting vol surfaces for several thousands of stocks a few times a day, performance is important).
(d) The development process is probably the biggest question, maybe I should have put it in the first place. My choices here are fairly limited:
1. I can probably take a stab at this myself with some bits and pieces outsourced to contractors. It's the cheapest way, but it will take a long time to get anywhere considering that I am working 12-hour days as is.
2. I can hire a pure IT person to work on the non-financial components. The issue, however, would be that pretty much everything will be financial in one or another form. Also, support of the system will be reliant on that person. Also, there are regulatory issues with me hiring someone.
3. I can (probably) find a student that could work on this project in his/her spare time, pay something or other to support him/her and, once the whole fund idea goes live, make him a partner.
Any other issues/problems you guys see? Any thoughts or suggestions?