Last day to save 10% on Advanced & Elite.

CFA® Python PSM | Level 1 & Level 2 Guide

A screen showing a Python coding environment/Jupyter Notebook on the other, with a progression arrow pointing from Level 1 to Level 2.
Learn how the CFA® Python PSM develops practical Python skills across Levels 1 and 2. Get to know what each module covers, the tools you’ll use, and how you progress from Python fundamentals to Data Science and AI.
A screen showing a Python coding environment/Jupyter Notebook on the other, with a progression arrow pointing from Level 1 to Level 2.

The CFA® Python Practical Skills Module (PSM) helps you develop practical coding and data analysis skills alongside the CFA curriculum. Depending on your level and experience, you can start with the basics or move on to more advanced applications. Across Levels 1 and 2, the pathway introduces Python, Jupyter Notebooks, Pandas, data analysis, machine learning, and AI concepts used in finance.

CFA® Python PSM at a Glance

  • Modules: The Python pathway includes Python Programming Fundamentals (Python I) and Python, Data Science, and AI (Python II).
  • Levels: Python I is available at Levels 1 and 2, while Python II is the advanced option at Level 2. The Python pathway ends at Level 2.
  • Experience: Python I is designed for beginners, while Python II builds on the fundamentals covered in Python I.
  • Time Commitment: Plan for approximately 10 to 20 hours to complete a PSM.
  • Exam Impact: PSMs are separate from the scored CFA exam curriculum and do not affect your exam score.
  • Completion Requirement: You must complete an eligible PSM at each CFA level before receiving your exam results.

How Does the CFA Python PSM Pathway Work Across Levels?

The CFA Python PSM pathway includes two modules: Python Programming Fundamentals (Python I) and Python, Data Science, and AI (Python II). Your options depend on your CFA level and the PSM you completed previously.

  • Level 1: You can take Python Programming Fundamentals (Python I) to learn the fundamentals of Python and its applications in finance.
  • Level 2: Both Python modules are available. You can take Python I if you did not complete it at Level 1. If you already completed Python I, you can progress to Python, Data Science, and AI (Python II).
  • Level 3: Python I and Python II are not currently offered at Level 3. You still need to complete a PSM, but the available options focus on portfolio management and skills related to Level 3 pathways.

Please note: You cannot complete the same PSM at two different CFA levels. If you complete Python I at Level 1, for example, you will need to select a different eligible PSM at Level 2.

Build Your CFA Exam Skills First

Master the core curriculum with realistic practice, detailed explanations, adaptive tools, and mock exams.

Python Programming Fundamentals (Python I): Level 1 & Level 2 Beginner

The CFA Python Programming Fundamentals module takes you through Python step by step, starting with the basics. For candidates balancing the module with Level 1 prep, it requires no previous coding experience. You’ll write and run code in a browser using Jupyter Notebooks, so there is no complex software to install or set up.

Here’s what you’ll cover:

Getting Started With Python and Jupyter Notebooks

Start by getting familiar with Jupyter Notebooks, the environment you’ll use throughout the module. You’ll learn basic Python syntax, how to assign variables, and how to work with common data types such as strings, integers, and floats.

Working With Data Using Pandas

Next, you’ll learn how to use Pandas, a Python library for working with and analyzing data. You’ll practice importing financial datasets, such as CSV files containing historical stock prices, cleaning and filtering data, and calculating summary statistics.

Applying Python to Financial Data

Finally, you’ll apply your new Python skills to financial data. You’ll calculate daily returns, rolling averages, and volatility, then use libraries such as Matplotlib to turn your results into visualizations.

Level 2 (Advanced): Python, Data Science & AI

Python II is the advanced Python module for CFA Level 2. It builds on the skills covered in Python I and moves into more advanced applications of Python in finance.

What You’ll Learn:

The CFA Python Data Science and AI module covers predictive modeling, machine learning, and natural language processing (NLP). You’ll learn how to work with data to develop predictive models, analyze financial information, and understand how AI techniques are applied in areas such as investment analysis, portfolio management, and risk assessment.

Python I to Python II Progression

If you completed Python I at Level 1, you can progress to Python II at Level 2. If you completed Financial Modeling at Level 1 and are new to Python, you’ll need to take Python I at Level 2 first to develop the foundation required for Python II.

Level 3: The Python PSM Pathway Ends at Level 2

Python is not offered as a PSM at CFA Level 3. The Python progression ends with Python II at Level 2, so there is no three-level Python track. You are still required to complete an eligible PSM at Level 3 before receiving your exam results. However, the focus shifts from Python and data science to portfolio management. Available modules include options such as Portfolio Construction and Manager Selection. The Python skills developed at Levels 1 and 2 can still be useful for financial analysis and other data-focused work, even though they are not part of the Level 3 PSM options.

When to Complete Your CFA Python PSM

Choosing the right time to complete your CFA Python PSM can help you meet the requirement without taking valuable time away from your exam preparation. CFA Institute allows you to complete the PSM after registration, during your studies, or after taking the exam.

  • Keep exam preparation your priority: Focus first on the CFA curriculum, practice questions, review, and mock exams. Avoid letting the PSM take time away from the preparation you need for exam day.
  • Consider the post-exam waiting period: The 5 to 7 weeks between taking your exam and receiving your results can be a useful window for completing the PSM. Your exam is already behind you, giving you more time to focus on the module.
  • Set aside enough time for the module: Plan for the time required to complete the lessons, exercises, and other module activities. Starting with enough time gives you more flexibility and helps you avoid rushing through the material.
  • Finish before your results are released: Completing an eligible PSM is required before you can receive your CFA exam results. Make sure you finish and submit the module before the results-release deadline.

How the CFA Python PSM Can Support Your Career

Python skills can be useful across quantitative analysis, asset management, data science, risk management, and other data-focused finance roles. Completing the CFA Python PSM also gives you practical skills and experience that you can highlight on your resume and LinkedIn profile.

Resume Tips for Your CFA Python PSM

  • Use the full module name: Add the exact module you completed to your resume or LinkedIn. Example: CFA Institute Practical Skills Module: Python Programming & Data Analysis
  • Include relevant technical skills: Mention skills that reflect your module experience, such as Python, Pandas, Jupyter Notebooks, data analysis, machine learning, or NLP. Example: Python | Pandas | Jupyter Notebooks | Financial Data Analysis
  • Show how you applied your skills: Go beyond simply listing Python by describing what you used it for. Example: Applied Python and Pandas to analyze financial datasets, calculate financial metrics, and create data visualizations.
  • Highlight advanced Python II skills: If you completed Python II, include the data science and AI concepts you worked with. Example: Applied Python, machine learning, and NLP concepts to finance-focused data analysis and predictive modeling.

Ready to Prepare for Your Next CFA Exam?

Prepare with expert instruction, realistic practice, mock exams, and performance analytics all in one place.

Frequently Asked Questions (FAQs)

The Python PSMs do not have a separate scored final exam. Candidates progress through videos, knowledge-check questions, guided coding exercises, and practical projects. To satisfy the requirement, complete all required module activities and ensure the module is formally submitted.

No. The same PSM cannot be used to meet the completion requirement at multiple CFA levels. If you complete Python Programming Fundamentals at Level 1, you must choose a different eligible module at Level 2, such as Python, Data Science & AI, or Analyst Skills.

No. The Python PSM is separate from the scored CFA exam curriculum and does not affect your exam score. However, CFA Institute recommends familiarity with relevant Quantitative Methods content before beginning the introductory module and with Level 2 Machine Learning content before beginning Python, Data Science & AI.

Yes. CFA Institute allows candidates to stop one PSM and switch to another module available at their exam level. You must fully complete and submit at least one eligible PSM before results are released.

Share this blog

Latest From the UWorld Finance Blog

Scroll to Top