Smart Trading Rule: A Modular Machine-Learning Framework for Portfolio Optimization with Transaction Costs | Synapse