Machine Learning for Portolio Optimization: A Novel Algorithmic Trading Framework