I wanted to create an algorithm that could trade a could efficiently trade a portfolio of securities defined by the user. The main challenge was figuring out how to get real-time stock data and interacting with borkerage api's to buy and sell stocks. I ended up using a service called QuantConnect. They host python programs on their servers and have custom APIs for data and trading.
The algorithm I created calculated efficient portfolio weights using Scipy and then rebalances to those target weights at market open every monday.