I probably need to disagree. Let's take a profiling architecture in python to set up a simple deep learning model and test it using financial time series. There are tons of modules where one plugs in a pandas dataframe and out comes the accuracy of the train and validation data set. Out comes the result. Job done. Not quite, I would argue. Unless the researcher has actually understood what is going on under the hood and why nothing really has been learned. The result without context is quite meaningless I would argue. I am not suggesting to reinvent what keras or tensorflow already offer, so I am with you on the issue of reusing modules. But I strongly suggest to write and create the overall architecture yourself. Because training a network is much more than just plugging data into a framework. It's thinking of what data to use, feature extraction/engineering, data cleansing and preprocessing, choice of hyper parameters, how to normalize the data, the design of the core layers, what to measure and optimize for, how to interpret results,... All that can only be understood properly by doing it oneself. With keras or scikit learn or other packages of course but nonetheless a self-defined and implemented testing framework. Once a model has been validated in the initial profiling stage can the researcher move on to a more robust testing framework and backtest.
I agree....you are not going to pull some ML framework off the shelf and have it spit out some profitable models without understanding on some level how it is doing what it is doing. It also depends on which rabbit hole you want to go down. The strategies I am trading are relatively simple....no ML required. I just need a quick way to spin up strategies to test ideas and I have achieved that via an integration I build to an existing platform.
Rob, you should publish your list. I'm sure people will appreciate it. #2 is the most controversial it seems. I did write my own too and there was a value in it, but also a good deal of distraction. Perhaps I should combine it with "80% spent on your strategy development, 10% on experiments, 10% on automation". Ultimately, don't get into a trap of spending most time creating software vs a strategy. #7 - understood, considering your background. For someone who is just starting out, do you feel it is a good idea to go head to head with the best guys in the industry working hyper-liquid instruments?
It is a good point. After reading all the comments (the backtesting point was the most discussed), I can't disagree that there is value in creating your own backtesting engine, what I meant is - watch out for becoming a backtesting engine developer in the process. For guys with software dev background, this can easily become a rabbit whole and escape from more "boring" and new = uncomfortable but ultimately more valuable for trading activities.
Good points, though I bet you spent a decent amount of time to fully understand everything about that external framework.
I see no mention about discretionary content. Do you allow for that yourself or do you prefer 100% mechanical? Running 100% mechanical will likely give poorer results imo.
Agree with you on the second point. I do run 100% mechanical and this is a lifestyle choice. Couple of hours after market close I receive automated report which I look at, habitually, at some point before I go to bed. It contains slippage + model vs live comparison and no $ or PL figures to keep it emotionless. Can go on vacation and have everything running, keep building my tech business during a day, rock climb and keep looking for a wife. End of the week I look at PL and trailing 3m models / live performance. That is where I will use my discretion - turning strategy off/on and adjusting % allocations. I would love to see an experienced and profitable discretionary trader doing a post similar to mine. Val
I think if one were trading the Indexes or fx, the importance of discretionary content would be less than for individual stocks.