Trading Research/Idea Recommendation using Alternating Least Squares (ALS)
Spark is generating a lot of interest. Obvious ideas for using Spark in the Single Bank Platform space is around helping the sell-sides clients in identify trade ideas/research/commentary to assist them in their portfolio. As a starting point, its worth reading the Spark movie recommendation with MLib article over on ampcamp, which provides details on collaborative filtering and alternating least squares (ALS). Code is also provided🙂
MLlib is a Spark implementation of some common machine learning algorithms and utilities, including classification, regression, clustering, collaborative filtering, dimensionality reduction, as well as underlying optimization primitives
Its probably also having a read of the ampcamp’s Spark Streaming article.
Finally, check out Andrew Psaltis’s video, Real-time Map Reduce: Exploring Clickstream Analytics with Spark Streaming, Kafka and WebSockets
With all the above, its relatively easy to begin to look at using Spark Streaming to deliver alerts to client on recommended reading material.
For a deep understanding of what is going on, try this article. Be mindful of the ‘cold start’ issue:
inability to address products new to the system, for which content based approaches would be adequate.
Taking this a step further, user data and trade content with trading activity, quoting activity and possible CRM data would enhance the recommendations.
Finally, it would be interesting to know if you could take advantage of Collaborative Filtering from a spreading perspective, to possible recommend a spread on the trade price for an instrument. Logistic Regression maybe more interesting for optimize the client spread based on the price sensitivity from RFQ accept/reject data.