Here is is promised (brief, unfocussed) update - with a question at the end for those who make it that far.
As hinted at, my auto system has undergone many changes, as has my trading knowledge. I look at the system now as a kind of robot assistant that supports what I do by crunching data and giving me insights. I still run a strategy on it that gives me signals when it finds them, but it also gives me a run-down of the sectors and industries each morning and lets me run an adhoc (and very crude) fundamental analysis of an individual stock as required.
Although I call it a system it is more of a platform. And rather than simply a platform for running algos it is more akin to a kind of hand-stitched TWS, made out of bits of driftwood and old bottle-tops and smelling faintly of craft glue. I even have a front end for it so I can plug in trades and show me my positions at any given moment based on a GPB/USD rate I update every half hour. Why go to all this trouble when there is perfectly good software out there already that does this 100 times better than my clunky java contraption? Because it's my way of driving my learning home. I'm a data person, so everything I learn about the markets comes with the question "how can I look at that in data terms?" Also it's rewarding. Some people are good at DIY and build things with their hands that enrich their lives. This is the geek equivalent of that.
But I freely admit to being a geek who is behind the times. I my day job world I moved into data architecture years ago, so my hacking skills are a bit lame. And I was never a front-end hacker anyway - back end all the way for me! Which leads me to a rather embarrassing admission - this super dooper system I have been raving about? The front-end is a windows batch file (*blushes*) I've been meaning to work out how to use something like Slack for my interfacial needs, but there is always something more relevant to do.
HERE IS THE QUESTION
One thing I want to nail ASAP is performance measurement. Profit factor, gain to pain ratio... all that good and slightly scary stuff. But I am finding it hard.. possibly because of the way I have done my trade data model - essentially I have one top-level trade representing the position in an stock, then under it I have trade_transactions representing buys or sells. If I buy a stock one day and then sell it another day, there will be one trade record for that position with two trade_transaction records for the buy and the sell. And if I buy 100 shares in a stock one day, sell 5, add 50, sell another 25 and then sell the rest - that will be 5 trade_transactions.
Is this a normal way to structure the data? What I am finding is that I am not sure how to measure performance that way - each time you sell a partial position, that becomes a realised profit, with the rest of the position unrealised. So it becomes a bit ambiguous if I want to show the current state of my performance in that position, which has grown and shrunk over time. I may be overthinking this. But also I may be underthinking it. Who knows!