We may earn an affiliate commission when you visit our partners.
Course image
Jose Portilla

Welcome to Python for Financial Analysis and Algorithmic Trading. Are you interested in how people use Python to conduct rigorous financial analysis and pursue algorithmic trading, then this is the right course for you.

This course will guide you through everything you need to know to use Python for Finance and Algorithmic Trading. We'll start off by learning the fundamentals of Python, and then proceed to learn about the various core libraries used in the Py-Finance Ecosystem, including jupyter, numpy, pandas, matplotlib, statsmodels, zipline, Quantopian, and much more.

Read more

Welcome to Python for Financial Analysis and Algorithmic Trading. Are you interested in how people use Python to conduct rigorous financial analysis and pursue algorithmic trading, then this is the right course for you.

This course will guide you through everything you need to know to use Python for Finance and Algorithmic Trading. We'll start off by learning the fundamentals of Python, and then proceed to learn about the various core libraries used in the Py-Finance Ecosystem, including jupyter, numpy, pandas, matplotlib, statsmodels, zipline, Quantopian, and much more.

We'll cover the following topics used by financial professionals:

  • Python Fundamentals
  • NumPy for High Speed Numerical Processing
  • Pandas for Efficient Data Analysis
  • Matplotlib for Data Visualization
  • Using pandas-datareader and Quandl for data ingestion
  • Pandas Time Series Analysis Techniques
  • Stock Returns Analysis
  • Cumulative Daily Returns
  • Volatility and Securities Risk
  • EWMA (Exponentially Weighted Moving Average)
  • Statsmodels
  • ETS (Error-Trend-Seasonality)
  • ARIMA (Auto-regressive Integrated Moving Averages)
  • Auto Correlation Plots and Partial Auto Correlation Plots
  • Sharpe Ratio
  • Portfolio Allocation Optimization
  • Efficient Frontier and Markowitz Optimization
  • Types of Funds
  • Order Books
  • Short Selling
  • Capital Asset Pricing Model
  • Stock Splits and Dividends
  • Efficient Market Hypothesis
  • Algorithmic Trading with Quantopian
  • Futures Trading
Enroll now

What's inside

Learning objectives

  • Use numpy to quickly work with numerical data
  • Use pandas for analyze and visualize data
  • Use matplotlib to create custom plots
  • Learn how to use statsmodels for time series analysis
  • Calculate financial statistics, such as daily returns, cumulative returns, volatility, etc..
  • Use exponentially weighted moving averages
  • Use arima models on time series data
  • Calculate the sharpe ratio
  • Optimize portfolio allocations
  • Understand the capital asset pricing model
  • Learn about the efficient market hypothesis
  • Conduct algorithmic trading on quantopian
  • Show more
  • Show less

Syllabus

Let's go over the course!
Introduction to Course
Course Overview Lecture (DON'T SKIP THIS!)
Did you skip the last lecture? Please go back and view it!
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Suitable for Python learners who wish to pursue algorithmic trading within the finance industry
Taught by Jose Portilla, who holds extensive experience in finance and algorithmic trading
Involves working with various essential Python libraries like NumPy, Pandas, Matplotlib, and Statsmodels
Covers a wide range of topics including Python fundamentals, financial analysis techniques, time series analysis, and algorithmic trading
Offers comprehensive instruction on using Python's data analysis capabilities for financial applications
Provides hands-on exercises and projects to reinforce the concepts covered in the course

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Python for finance and algorithmic trading reviews

According to learners, this course provides a solid foundation in using Python for finance, covering essential libraries like Pandas and NumPy effectively. Students appreciate the clear explanations and hands-on coding examples, finding the practical projects very helpful. However, a recurring point is the outdated nature of the algorithmic trading section, particularly the reliance on the now inaccessible Quantopian platform, which significantly impacts that part of the course. Despite this drawback, the course is widely considered a valuable resource for learning financial analysis with Python.
Pace depends on prior Python/finance skills.
"If you have zero Python experience, the initial part might feel rushed, but the later sections are fine."
"For someone with a little Python background, the pace was just right, diving into the finance applications quickly."
"Some finance parts were briefly covered, assuming perhaps more prior financial knowledge than I had."
Instructor explains complex topics well.
"The instructor explains complex topics clearly and is easy to follow throughout the course."
"Lectures were well-structured and the concepts were broken down into manageable parts."
"I found the explanations helped me grasp difficult statistical and financial ideas."
Teaches key tools for financial data.
"Excellent coverage of Pandas, NumPy, and Matplotlib, giving a great foundation for financial data work."
"I now feel confident using these libraries for data manipulation and visualization in finance."
"The course effectively introduces the main tools in the Python finance ecosystem."
Offers valuable hands-on application.
"The hands-on coding and projects are the strongest part of the course for me, really helped solidify understanding."
"I found the stock market analysis project particularly useful for applying what I learned about Pandas and time series."
"Getting to write actual code for financial calculations made the concepts click better than just theory."
Algorithmic trading module needs updates.
"The section on algorithmic trading using Quantopian is completely obsolete, making it impossible to follow along."
"...major drawback that the Quantopian part is not updated; it's crucial for a course with 'algorithmic trading' in the title."
"I skipped the trading module because the platform isn't available anymore, disappointing for a course focused on this."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python for Financial Analysis and Algorithmic Trading with these activities:
Review Fundamentals of Python
This activity will allow you to recall and refresh your memory for the basic fundamentals of Python programming language, which this course will heavily rely on.
Browse courses on Python Basics
Show steps
  • Go over your notes or resources from previous Python courses or materials.
  • Re-watch introductory Python video tutorials
  • Install Python on your computer and run through some basic Python exercises.
Read 'Python for Data Analysis'
This book provides a comprehensive guide to Python libraries essential for data analysis and manipulation, reinforcing your understanding of concepts covered in the course.
Show steps
  • Obtain a copy of the book.
  • Read through the chapters relevant to the course topics.
  • Work through the exercises and examples provided in the book.
Join a Python Study Group
This activity will allow you to connect with other learners, share knowledge, and enhance your understanding through discussions and problem-solving.
Browse courses on Python
Show steps
  • Find or create a study group with fellow learners.
  • Meet regularly to discuss course topics, work on assignments together, and support each other's learning.
  • Take turns presenting concepts, leading discussions, and sharing resources.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Complete NumPy and Pandas Tutorials
This activity will help you strengthen your hands-on skills for using NumPy and Pandas, which are essential libraries for data analysis and manipulation.
Browse courses on NumPy
Show steps
  • Find online tutorials or courses on NumPy and Pandas.
  • Follow the tutorials and complete the practice exercises.
  • Refer to the official NumPy and Pandas documentation for further clarification or advanced techniques.
Solve Data Analysis Challenges
By engaging in practice drills and solving data analysis challenges, you will enhance your ability to apply the concepts and techniques learned in this course to real-world scenarios.
Browse courses on Data Analysis
Show steps
  • Find online data analysis challenges or platforms.
  • Work through the challenges and try to solve them using NumPy, Pandas, and other techniques covered in the course.
  • Review your solutions and identify areas for improvement.
Develop a Python Project for Portfolio Optimization
This activity will provide you with an opportunity to apply your knowledge and skills to a practical project, demonstrating your understanding of the concepts covered in the course.
Browse courses on Portfolio Optimization
Show steps
  • Gather data on financial assets and markets.
  • Design a Python program to implement portfolio optimization algorithms.
  • Test and refine your program.
  • Write a report summarizing your findings and insights.
Develop a Financial Analysis Dashboard
This activity will allow you to apply your knowledge and skills to create a practical tool that visualizes and analyzes financial data, enhancing your understanding of financial concepts.
Browse courses on Financial Analysis
Show steps
  • Gather and prepare financial data.
  • Design and develop a Python program to create interactive visualizations.
  • Deploy the dashboard and share it with others.

Career center

Learners who complete Python for Financial Analysis and Algorithmic Trading will develop knowledge and skills that may be useful to these careers:
Hedge Fund Manager
Hedge Fund Managers manage investment funds that use advanced investment strategies. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Hedge Fund Manager, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in portfolio theory, risk management, and financial modeling, which are essential for success in this role.
Trader
Traders buy and sell financial instruments for their own account or on behalf of clients. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Trader, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in technical analysis and trading strategies, which are essential for success in this role.
Quantitative Analyst
Quantitative Analysts (Quants) use mathematical and statistical models to analyze financial data and develop trading strategies. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Quant, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in time series analysis, econometrics, and portfolio optimization, which are all essential for success in this role.
Data Scientist
Data Scientists use data to solve business problems. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Data Scientist, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in machine learning and statistical modeling, which are essential for success in this role.
Venture Capitalist
Venture Capitalists invest in early-stage companies. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Venture Capitalist, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in financial modeling, valuation, and due diligence, as well as an overview of the venture capital industry, which are essential for success in this role.
Portfolio Manager
Portfolio Managers manage investment portfolios for individuals and institutions. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Portfolio Manager, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in portfolio theory and optimization, which are essential for success in this role.
Private Equity Investor
Private Equity Investors invest in private companies. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Private Equity Investor, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in financial modeling, valuation, and due diligence, which are essential for success in this role.
Risk Manager
Risk Managers identify, assess, and manage risks. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Risk Manager, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in risk management and financial modeling, which are essential for success in this role.
Statistician
Statisticians collect, analyze, and interpret data. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Statistician, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in probability and statistics, which are essential for success in this role.
Actuary
Actuaries use mathematical and statistical models to assess risk and uncertainty. The Python for Financial Analysis and Algorithmic Trading course would be useful for an Actuary, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in probability and statistics, which are essential for success in this role.
Investment Banker
Investment Bankers help companies raise capital and advise on mergers and acquisitions. The Python for Financial Analysis and Algorithmic Trading course would be useful for an Investment Banker, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in financial modeling and valuation, which are essential for success in this role.
Financial Planner
Financial Planners help individuals and families plan for their financial future. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Financial Planner, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in financial planning and investment management, which are essential for success in this role.
Financial Analyst
Financial Analysts help organizations make informed financial decisions by analyzing financial data, identifying trends, and making recommendations. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Financial Analyst, as it will teach the basics of Python, as well as how to use NumPy and Pandas for data analysis and visualization. This course would also provide a solid foundation in time series analysis, which is essential for understanding and forecasting financial data.
Economist
Economists study the economy and make predictions about its future performance. The Python for Financial Analysis and Algorithmic Trading course would be useful for an Economist, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and statsmodels for data analysis and visualization. This course would also provide a solid foundation in econometrics and forecasting, which are essential for success in this role.
Software Engineer
Software Engineers design, develop, and maintain software applications. The Python for Financial Analysis and Algorithmic Trading course would be useful for a Software Engineer, as it will teach the basics of Python, as well as how to use NumPy, Pandas, and matplotlib for data analysis and visualization. This course would also provide a solid foundation in object-oriented programming and software design, which are essential for success in this role.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Python for Financial Analysis and Algorithmic Trading:

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python for Financial Analysis and Algorithmic Trading.
An excellent resource to supplement this course as it provides a comprehensive introduction to financial modeling with Python, making it particularly helpful for those with little to no experience in financial modeling.
Provides an in-depth exploration of machine learning techniques used in financial risk management, including risk modeling, portfolio optimization, and algorithmic trading.
Offers a comprehensive overview of quantitative finance, covering topics such as risk assessment, asset pricing, and portfolio management, providing a solid theoretical foundation for this course's practical applications.
Serves as an excellent reference for understanding the Python libraries and techniques used in this course, particularly NumPy, Pandas, and Matplotlib.
Offers a practical guide to using Python for financial analysis, modeling, and portfolio management, providing additional insights and examples beyond what is covered in this course.
Provides a comprehensive overview of financial risk management concepts and techniques, including market risk, credit risk, and operational risk, offering a broader context for understanding the risk-related topics covered in this course.
Offers a practical guide to algorithmic trading strategies and techniques, providing insights into the world of algorithmic trading beyond what is covered in this course.
Provides an advanced exploration of machine learning techniques used in finance, offering a deeper understanding of the theoretical foundations and applications of machine learning in this domain.
Offers a practical guide to using Python for financial analysis, focusing on real-world applications and case studies, providing additional examples and hands-on experience.
Provides a collection of ready-to-use Python recipes for machine learning tasks, including data preprocessing, model evaluation, and hyperparameter tuning, offering practical solutions for common challenges.
Offers a comprehensive guide to using Python for financial analysis and modeling, providing a deeper understanding of the Python libraries and techniques used in this domain.
Offers an advanced exploration of time series analysis techniques using Python, providing a deeper understanding of the theoretical foundations and applications of time series analysis.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser