User Stories for the role of Investor:
As an Investor I can:
1. View my portfolio balance and uninvested cash at any time.
2. View my performance by:
* Time period
* Strategy
* Security
3. View my total market exposure.
___________________________
I think it's important to take a step back and try to view my system as would an objective investor, or as I would if I were investing my money with someone else.
The balance and percent invested are pretty straightforward. This is something one might track on a daily basis.
Performance by criteria, including Time Period, Strategy, and Security (and any combination) will allow reporting that might tease out some findings. In particular, narrowing which strategies have performed the best with certain securities, or if certain strategies fared especially well during a type of market. For example, my "Dying Company" strategy did real well during the swoon last year - of course it did, as it likes to go short and the market was down big time. Once might use their overall market outlook to choose which strategies to emphasize during a certain time period.
By the way, I am all for using discretionary (non-automated) criteria as part of the automated system. Choices such as which strategy to use on which security are very important to system success, and can't very well be automated. This is why I don't mind opening up this project to the public - you could have every line of code and that wouldn't provide you with my own discretionary criteria. No two people will have even nearly the same results (except by luck) even if they run this identical system.
Back to the user stories: total market exposure. This gets back to maximum risk. As an investor, if I say listen, I don't want any condition to lose more than 10% over market close (any overnight or weekend), then the system should be able to reflect that (note that excessive protection may also reduce potential gains). Going the other direction, we should be able to view (and track) market exposure. Again, this is a number one might track on a daily basis, as it may correlate with results and provide insight into the system performance.
Some of these reporting aspects may be a bit tricky to implement, and I plan to automate tracking of data as best I am able. As User Stories they won't necessarily be part of the first release, but will be implemented as I'm able, based on priorities. We'll do some prioritization after we list all the stories. Two more roles to go.
Damien