Python, Data Science & AI Module
Offered by CFA Institute

Learn to use Jupyter Notebooks to build, present, and share data science and AI projects. Python offers simplicity, scalability, and strong open-source support. Data science focuses on cleaning, visualizing, and modeling data to inform decisions, while AI enables tasks like language understanding, decision-making, and object recognition.

This module follows the data science workflow—from financial data ingestion to training neural networks—without heavy math. You’ll work with real financial data, forecast EPS % change, and perform sentiment analysis. It also includes a refresher on Python fundamentals.

Through videos, quizzes, and projects, you’ll gain practical, industry-relevant skills you can apply immediately.

Prerequisite Required:

Recommend candidates have basic familiarity with Python and with the CFA® Program Level II Machine Learning curriculum.

Available for Level II.

Program Overview

  • Unit 1: Python Programming Fundamentals Review
    • Learn how to define Python variables, perform math operations, and leverage Python’s print() and input() functions.

    • Produce syntactically correct Python code using list comprehension and “for” loops.
    • Describe the syntax and use cases of user-defined, built-in, and lambda functions in Python and learn how to call these functions, send them arguments, and receive data from them.

  • Unit 2: Data Collection, Wrangling and Feature Engineering in Machine Learning
    • Obtain companies’ financial data, such as balance sheets, income statements, and cash flow statements, using the SimFin Platform.

    • Master data wrangling and feature engineering strategies for machine learning and data science applications.
    • Perform data merging using Pandas.
    • Locate, count, and handle missing values.
    • Perform one-hot encoding, which works by converting categorical data into numeric variables to be used as inputs to machine learning models.
  • Unit 3: Financial Forecasting Using Machine and Deep Learning
    • Describe simple and multiple linear regression models and the roles of dependent and independent variables in the model.

    • Describe the least-squares criterion and how it is used to estimate regression coefficients.
    • Master the scikit-learn library to build, train, and test machine learning models using real-world datasets to solve problems in the finance and banking sectors.
    • Discover the underlying theory, intuition, and mathematics behind artificial neural networks and deep learning.
    • Train and evaluate feedforward ANNs to solve regression machine learning problems in finance.
    • Examine the intuition behind the random forest algorithm and use it to solve regression problems using the scikit-learn library.
    • Explore the intuition behind boosting and leverage the XG-Boost algorithm to solve regression problems.
    • Perform hyperparameters optimization to improve machine learning regression model performance.

  • Unit 4: Natural Language Processing (NLP) in Python
    • Explain the concept of text data encoding and padding.
    • Develop a pipeline to perform text data encoding/tokenization and padding in Python.
    • Perform text data cleaning.
    • Plot a word cloud, which is a powerful visual representation of text data in which the size of each word indicates its importance in the given dataset.
    • Split the data into training and testing using the scikit-learn library.
    • Train and evaluate a custom-built long short-term memory (LSTM) network to perform sentiment analysis on news test data.
    • Perform sentiment analysis using off-the-shelf pre-trained language models.

Develop the skills to execute financial data science workflows!