Some architecture notes--
What I've done is create an API on top of the TWS API for the construction of trading programs. There is an "adapter" interface which plugs into the broker of choice (IB). In theory, to use the API with another broker I'd just have to write another adapter. The real benefit is that I can write trading programs the way I think, rather than the way the TWS-API (or whatever) is set up.
The first attempt ended up being mostly a throw-away. From what I understand after reading about professional development, that's not uncommon. That took about a year and a half. It took a long time because I had to learn about modern programming, but mostly because automated trading is one of the more difficult applications to really understand. Order management was very difficult. I spent many hours concentrating quietly with pen and notepad.
The second attempt turned out rather well. That's what I'm using now. I started it at the beginning of April, so it took about four months. The program I am trading with now, built on the API, is called "SQTP" for "single-quote trading program". I should be able to run multiple instances on multiple securities (haven't tried yet), each taking only 16MB of memory on the remote Linode.
I'm already thinking about a non-directional, multi-security program. It would be something to run when I expect a volatile day with no reference points to start out with. These are days when the market is "out of balance" as the premarket prices are already above/below significant reference points.
Question 1: Is it too late at that point (pre-market) to make money from an increase in volatility, should it turn out to be a volatile day?
Question 2: What options can give good results from an intra-day straddle if the market moves +/- 1-2 ADR?
Question 3: Ditto for #2, but with spreads (options or futures).
What I've done is create an API on top of the TWS API for the construction of trading programs. There is an "adapter" interface which plugs into the broker of choice (IB). In theory, to use the API with another broker I'd just have to write another adapter. The real benefit is that I can write trading programs the way I think, rather than the way the TWS-API (or whatever) is set up.
The first attempt ended up being mostly a throw-away. From what I understand after reading about professional development, that's not uncommon. That took about a year and a half. It took a long time because I had to learn about modern programming, but mostly because automated trading is one of the more difficult applications to really understand. Order management was very difficult. I spent many hours concentrating quietly with pen and notepad.
The second attempt turned out rather well. That's what I'm using now. I started it at the beginning of April, so it took about four months. The program I am trading with now, built on the API, is called "SQTP" for "single-quote trading program". I should be able to run multiple instances on multiple securities (haven't tried yet), each taking only 16MB of memory on the remote Linode.
I'm already thinking about a non-directional, multi-security program. It would be something to run when I expect a volatile day with no reference points to start out with. These are days when the market is "out of balance" as the premarket prices are already above/below significant reference points.
Question 1: Is it too late at that point (pre-market) to make money from an increase in volatility, should it turn out to be a volatile day?
Question 2: What options can give good results from an intra-day straddle if the market moves +/- 1-2 ADR?
Question 3: Ditto for #2, but with spreads (options or futures).