I'm also building a data driven (mostly NLP) portfolio optimizer, based on expected utility theory! It's a naive model, but it also has statistical bounds on its efficiency relative to the regret, which is an interesting bonus.
Out of curiosity, what kind of model (loss function) are you using?