James, thanks for your comments. Using a combined approach with price, fundamentals & alternative data and a hybrid DL methodology as you mention is, i am sure, an excellent path to discovery.
Sometimes i reflect on the efforts that people like Altman (z-score) & Piotroski must have applied to get their formulae, and how much easier (after the initial set-up effort) and potentially better any comparable results could be nowadays with modern software tools.
I have not worked with Keras / Tensorflow yet, partly because i keep spending time working on technically simpler ideas that are a result of struggling back & forth with some underlying "philosophical" issues that i will share with you. I believe that the relatively complex sort of price patterns that people like Tom DeMark found in the past because of their unusual personal intellectual abilities (think the old Dustin Hoffman movie Rainman: "What are you doing?" "Counting cards") can certainly be found and exploited with DL and some (or most?) such patterns will therefore get arbitraged away in due course.
Much simpler phenomena such as trends that are fundamentally driven will not get arbitraged away because it doesn't matter how many people find them, even if the days of very long and very clean continuous trends (1970s & 80s) have gone. Many people say the markets tend to become more mean-reverting, and that notion might be true but i am skeptical if that is necessarily a very useful observation in general. Personally I don't buy the "TF is dead" notion; i just think that because of MR behavior, the useful time-frame for TF is very, very much shorter now. You can probably read between my lines here, but i will now also put some of my ideas explicitly by coming from a different direction.
A lot of conventional thinking regarding ML for trading (Howard Bandy for example) takes an approach something like this: Define a direction and minimum threshold size for trades and try to use ML to identify when trades in the given direction will be "sufficiently" profitable to be worthwhile, based on some set of precursor conditions that one is trying to discover. As i see it, that's more-or-less what i think most people working with ML try to do. However just like with the old-style NN work before it, the results are generally less spectacular than everyone hopes. People try to improve them using tools like confusion matrices & ROC charts to better discriminate between TP, FP, TN, FN, and use pre-processing for better feature engineering & extraction as inputs. OK, better but still doesn't work all that well.
My observation is that the performance of any sort of ML is critically dependent on the exact way in which the problem is formulated. I think the real issue here is that the problem is generally being formulated in the wrong way!! For real practical trading, it is not just a pure ML problem of improving Accuracy or F1 or Matthews Correlation Coefficient. In real-life trading there is a huge difference between FP and FN. Personally i really don't care if i miss good trades because there will always be lots more opportunities, as long as i haven't blown my account. What i personally most want to do in practice is to avoid bad trades. So any sort of confusion matrix or similar ML conceptual tool definitely needs a cost-benefit weight function to account for this. Try looking that up on the internet and see how many (few) traders are considering that aspect!
Now i make it simpler and take a step back from ML altogether. Instead of a conventional ML trading problem, if what i really want more than anything is to avoid bad trades, then i turn the whole thing back-to-front and make my objective to identify and avoid potentially bad trading situations. This includes any random & chaotic behavior, MR or any other behavior that consists of trends that are just too short or too small in amplitude to be exploitable, any rapid reversals and small-range bars, anything that produces whipsaws in real trading. Then i lump ALL of these things together and call them "non-tradable regimes". My contention is that identifying these and avoiding them is actually an easier problem than the conventional ML approach to trading.
After all the non-tradable stuff (which turns out to be most of the time) is removed, it is then trivially easy to see what the remaining tradable direction is ;-)
The difference between this and a conventional ML approach is not just one of semantics. By treating the whole trading problem backwards in this way, it becomes very much easier .... to the point that maybe it doesn't really even need much sophisticated ML ....... just as long as you a) believe in market regimes, and b) believe that missing good trades is actually ok.
I hope these ideas resonate with you. Comments / feedback welcome. Cheers, best wishes, Tony :)