Algorithmic Trading Using Python – Full Course

Wordpress sites

Learn how to perform algorithmic trading using Python in this complete course. Algorithmic trading means using computers to make investment decisions. Computer algorithms can make trades at a speed and frequency that is not possible by a human.

After learning the basics of algorithmic trading, you will learn how to build three algorithmic trading projects.

💻 Code:

✏️ Course developed by Nick McCullum. Learn more about Nick here:

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Algorithmic Trading Fundamentals & API Basics
⌨️ (0:17:20) Building An Equal-Weight S&P 500 Index Fund
⌨️ (1:38:44) Building A Quantitative Momentum Investing Strategy
⌨️ (2:54:02) Building A Quantitative Value Investing Strategy

Note that this course is meant for educational purposes only. The data and information presented in this video is not investment advice. One benefit of this course is that you get access to unlimited scrambled test data (rather than live production data), so that you can experiment as much as you want without risking any money or paying any fees.

This course is original content created by freeCodeCamp. This content was created using data and a grant provided by IEX Cloud. You can learn more about IEX Cloud here:

Any opinions or assertions contained herein do not represent the opinions or beliefs of IEX Cloud, its third-party data providers, or any of its affiliates or employees.

37 thoughts on “Algorithmic Trading Using Python – Full Course”

  1. Sir, you clearly explained both financial and coding keywords better than my professors did in 4 years of schooling. You’re a great teacher!!

    1. Leonidas Chang

      Trading bots are mostly scams… but there are exceptions. You just need a lot a patience to backtest and run many bots, discard the ones that are scams and keep playing with the ones that are good. EDIT: since so many of you ask, yes I use Galileo FX ..

    1. Reloadi g this thing is like off and on but how do you know if you should restart it? This is debugging

  2. Still watching and learning the topics, so far so good, thanks a lot for generous offering this great course and I look forward to seeing this extended topic with advanced techniques and link to specific brokers’ API like IB, Futu, etc. Thanks again for your great teaching!!

  3. Shouldn’t stocks with negative P/E and P/B ratio be removed when you are calculating the RV Score? I see that it was done when you take the simpler approach and only use the P/E ratio. Thanks in advance 🙂

  4. This is awesome! I followed every part of the course and finished all three projects successfully. Thank you so much for providing great quality content!

    1. How do you feel like this course has affected your knowledge of algo-trading a month later? Have you been deploying any of the strategies used?

    2. George Pointcarré

      guys it is a simplified approach that allows to learn to program in python in a playful way. with this course you can try to make the analysis more relevant by integrating other indicators idk

    3. @Akash Kumar Singh I’m having the same issue right now, especially since I’m on a windows computer, were you able to figure it out?

  5. great video, what I really liked is that you showed in a super clear way how to use the requests library in Python and now I do not need to depend on 3rd party wrappers that might not have all functionality! thanks!

  6. Rather than counting zeros, an easier way to input large numbers with many zeros is to use e-notation:

    3e3 (which equals 3 * 10^3, or 3000)
    10e6 (equals 10 * 10^6, or 10000000)
    8e100 (equals 8 * 10^100, or 80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)

  7. I don’t comment often but this guy is an amazing teacher. He explained everything in such good detail. It helped me as I need a deep understanding of a topic to grasp it completely. Keep up the great work.

  8. this was awesome and though I’ve just finished the first part only, I cannot thank you enough for how well you explained each portion of the project. Now only, if I could build up from here!

  9. Great course. Thank you for all the work you put in and your thorough explanation of how it all works together while coding. I haven’t been coding python for more than a year and this was a great refresher course into data science and api use

  10. Thank you so much for this tutorial! It has been a great distraction from my regular school work. Keep em coming! 🙂

  11. What I like about your tutorial is that one doesn’t miss out if they start with the third section.
    Also than you didn’t cut out the bugs and struggle helps people to understand that these stuff belong to a programmers life.
    Another positive point is that you try to clarify specific financial terms.
    Overall you did a great job here.
    One point of improvement is your face cam position on the screen.

  12. 50min in and am already in love with the style of teaching. Errors are left in the vid as well as the logical process of debugging them, everything he mentions are backed up by examples. Superb content

  13. Andrey Shamardin

    52:39 If you stuck with appending series to a dataframe like me, this method(.append) returns a new object, so if you want to see the result, you should assign final_dataframe to new variable and then print it.

    new_dataframe = final_dataframe.append(pd.Series(


  14. Congrats Nick McCullum for creating this. Good that the debugging parts are left in, so we can understand in more details how various parts work.

  15. Excellent course for someone new to Algo Trading. It’s precise and well designed course. I would like to see something more along lines of simulating real time strategies like VWAP, TWAP. This one is more of pre-trade analytics. Nonetheless I liked it and strongly suggest to anyone new to Algo trading space!

  16. This is a great course. I learned so much from it. One suggestion: the robust value trading program should exclude the negative PE Ratio stocks first before sorting for the low 50 stocks.

  17. Depending on the data set, you may need a couple additional lines of code for calculating momentum percentiles,
    if hqm_dataframe.loc[row,change_col] == None:
    hqm_dataframe.loc[row, change_col] = 0.0

  18. adithya ravindra

    finished the entire thing in one sitting. Loved it! its an amazing course if you are starting out algo trading!

Comments are closed.