Writing Java Backtesting Program

I've been moving more and more to the dark side of automated trading lately, undergoing a big learning phase for programming.

In this spirit, I wanted to write my own properly object-oriented backtester to test some models I've been playing with lately. Can any of you veterans give me some guidelines on the general architecture?

Obviously, there will be some sort of base data structure, either representing a bar or a tick, depending on how fine-grained I want it, and I can certainly write all the individual algorithm methods, but I was more concerned with the big picture.

In particular, what is the best object-oriented way to represent a trading system, a set of buy and sell rules, an optimizer? Maybe a trading system should be an interface, and an optimizer should be a class with a TradingSystem instance variable?

Just looking for some general guidelines on the class structure and the sort of methods and IVs that should be housed in each.

Thanks very much in advance.
 
Gotcha, thanks.

Yeah, I'm going to give it a shot. I know there are platforms out there, and in the long run, I imagine I'll just use one of those, but I'm viewing this project as killing two birds with one stone. I want to sharpen my programming skills, which, in the long run, I'll use to do other, more novel things.
 
Thanks, Mojo. I'll definitely follow that thread. I can't do any automated brokering yet, but that's definitely the sort of info I'm after for backtesting.
 
Back
Top