Hey guys. Thank you for all the responses. I greatly appreciate it. Here are some of the questions people have asked me so far:
1. Why do you want to learn algo trading? Shouldn't you learn discretionary trading first?
Quite simply, algo trading seems more interesting to me. I am more interested in building a product that works for me instead of being the product that works. Discretionary trading is fine but I think that a quant strategy that is constantly optimized by an experienced developer should beat a discretionary trader. Some people will disagree with that and point me to studies where quant firms underperform discretionary firms. That is fine but there are successful quant firms and there must be a reason why so many companies still invest in quant. There are successful quant traders and quant books. Ernest P Chan exists for a reason. I also like to write code and I love python.
2. What are your goals?
a. Choose a data provider, be confident in it, learn the api, and be able to download some historical data. I've several solutions, such as OANDA, Alpaca, IB, iex cloud, Yahoo Finance, etc. Either the support/community is lacking, the documentation is lacking, the amount of instruments offered is lacking, or some other reason. I'm looking into TwelveData and Analyzing Alpha now and those 2 solutions look promising.
b. Create a basic strategy, back test with a popular framework like Backtrader, modify the strategy, repeat.
c. Continue developing different strategies. When ready to deploy into production, create a method for determining which exchange to execute orders. There are many exchanges and there must be differences between them. What are the differences, and how are they relevant to my strategy?
d. Use strategies in production. Continue to optimize strategy and create new ones. Retire strategies if necessary.