Before programming a system, I find it helpful to diagram the flow and dimensionality of data. By breaking it down you can avoid complexity. Here's an example of a diagram (usually mine are hand drawn):

click to enlarge

Notice that we actually start out with one dimension here so the maximum dimension is 4.

The system diagrammed above is more complicated than those implemented in the code I've posted previously. Specifically it uses multiple models instead of one and performs portfolio optimization at the end.

8 comments:

Nicolas said...

Hi Max,

unfortunately, we can't enlarge the picture. The link is broken.

Regards,

Nicolas

Max Dama said...

Thanks Nicolas. It should be fixed.

hyin said...

I can't really understand the picture; would you explain briefly?

chintan said...
This post has been removed by the author.
chintan said...

I guess title is bit confusing.It should be Signal generation system.
Trading system sounds like a real time system.

Max Dama said...

Hyin,

Basically this system is composed of multiple specialized systems, which are based on the feature clusters. 3 feature clusters, for example, might be 1-year horizon/yearly data, 1-month horizon/monthly data, and 1-week horizon/weekly data. The three or more systems are trained and optimized. Finally, their signals are combined near the end.

Chintan,

Portfolio optimization refers to any kind of position sizing you want to do, such as Markowitz or some Monte Carlo-based optimization.

Regards,
Max

newtonlinchen said...

Max

I just put your blog in my blogroll. Take a look at: http://newtonlinchen.wordpress.com

Max Dama said...

Newton,

Thanks, I'm subscribed to your blog too. I read it every time you put a new note up. It must be amazing having a newborn son.

Regards,
Max