Manage Finance Data with Python Pandas Unique Masterclass

Analyze Stocks with Pandas, Numpy, Seaborn & Plotly. Create, analyze & optimize Index & Portfolios (CAPM, Alpha, Beta)
Manage Finance Data with Python Pandas Unique Masterclass
File Size :
532.81 MB
Total length :
26h 57m



Alexander Hagmann


Last update




Manage Finance Data with Python Pandas Unique Masterclass

What you’ll learn

Step into the Financial Analyst role and give advice on a client´s financial Portfolio (Final Project)
Import large Financial Datasets / historical Prices from Web Sources and analyze, aggregate and visualize them
Calculate Return, Risk, Correlation and Rolling Statistics for Stocks, Indexes and Portfolios
Create, analyze and optimize financial Portfolios and understand the use of the Sharpe Ratio
Intuitively understand Modern Portfolio Theory (CAPM, Beta, Alpha, CML, SML, Risk Diversification) with Real Data examples
Create Interactive Price Charts with Technical Indicators (Volume, OHLC, Candlestick, SMA etc.)
Create Financial Indexes (price-, equal- and value- weighted) and understand the difference between Price Return and Total Return
Easily switch between daily, weekly, monthly and annual returns and understand the benefits of log returns
Start from Zero and learn all the Basics of the powerful Pandas Library

Manage Finance Data with Python Pandas Unique Masterclass


No specific Finance knowledge needed! The course intuitively explains the major fundamentals of Finance and Portfolio Theorie based on data examples.
Ideally some Spreadsheet Basics/Programming Basics (not mandatory, the course guides you through the basics)
A desktop computer (Windows, Mac, or Linux) capable of storing and running Anaconda. The course will walk you through installing the necessary free software.
An internet connection capable of streaming videos
Some high school level math skills would be great (not mandatory, but it helps)


The Finance and Investment Industry is experiencing a dramatic change driven by ever-increasing processing power & connectivity and the introduction of powerful Machine Learning tools. The Finance and Investment Industry is more and more shifting from a math/formula-based business to a data-driven business.What can you do to keep pace?No matter if you want to dive deep into Machine Learning, or if you simply want to increase productivity at work when handling Financial Data, there is the very first and most important step: Leave Excel behind and manage your Financial Data with Python and Pandas! Pandas is the Excel for Python and learning Pandas from scratch is almost as easy as learning Excel. Pandas seems to be more complex at a first glance, as it simply offers so much more functionalities. The workflows you are used to do with Excel can be done with Pandas more efficiently. Pandas is a high-level coding library where all the hardcore coding stuff with dozens of coding lines are running automatically in the background. Pandas operations are typically done in one line of code! However, it is important to learn and master Pandas in a way that you understand what is going on you are aware of the pitfalls (Don´ts)you know best practices (Dos)    MANAGE FINANCE DATA WITH PYTHON & PANDAS best prepares you to master the new challenges and to stay ahead of your peers, fellows and competitors! Coding with Python/Pandas is one of the most in-Demand skills in Finance.This course is one of the most practical courses on Udemy with 200 Coding Exercises and a Final Project. You are free to select your individual level of difficulty. If you have no experience with Pandas at all, Part 1 will teach you all essentials (From Zero to Hero).Part 2 – The Core of this CourseImport Financial Data from Free Web Sources, Excel- and CSV-FilesCalculate Risk, Return, and Correlation of Stocks, Indexes and PortfoliosCalculate simple Returns, log Returns, and annualized Returns & RiskCreate your own customized Financial Index (price-weighted vs. equal-weighted vs. value-weighted)Understand the difference between Price Return and Total Return Create, analyze and optimize Stock PortfoliosCalculate Sharpe Ratio, Systematic Risk, Unsystematic Risk, Beta and Alpha for Stocks, Indexes and PortfoliosUnderstand Modern Portfolio Theory, Risk Diversification and the Capital Asset Pricing Model (CAPM)Forward-looking Mean-Variance Optimization (MVO) and its pitfalls Get an exclusive insight into how MVO is used in Real World (and why it is NOT used in many cases) -> get beyond Investments 101 level! Calculate Rolling Statistics (e.g. Simple Moving Averages) and aggregate, visualize and report Financial PerformanceCreate Interactive Charts with Technical Indicators (SMA, Candle Stick, Bollinger Bands etc.)Part 3 – Capstone ProjectStep into the Financial Analyst / Advisor Role and give advice on a Client´s Portfolio (Final Project Challenge).Apply and master what you have learned before!Part 4 Some advanced topics on handling Time Series Data with Pandas.AppendixDo you struggle with some basic Python / Numpy concepts? Here is all you need to know if you are completely new to Python!Why you should listen to me…In my career, I have built an extensive level of expertise and experience in both areas:  Finance and CodingFinance:10 years experience in the Finance and Investment Industry……where I held various quantitative & strategic positions.MSc in Finance Passed all three CFA Exams (currently no active member of the CFA Institute)Python & Pandas:I led a company-wide transformation from Excel to Python/PandasCode, models, and workflows are Real World Project-proven Instructor of the highest-rated and most trending general Course on PandasWhat are you waiting for? Guaranteed Satisfaction: Otherwise, get your money back with 30-Days-Money-Back-Guarantee.Looking Forward to seeing you in the Course!


Section 1: Getting Started

Lecture 1 Course Overview and how to maximize your learning success

Lecture 2 Tips: How to get the most out of this Course (don´t skip!)

Lecture 3 Did you know that…?

Lecture 4 FAQ / Important Information

Lecture 5 Installation of Anaconda

Lecture 6 Opening a Jupyter Notebook

Lecture 7 How to use Jupyter Notebooks


Lecture 8 Welcome to Part 1: Intro

Section 3: Pandas: Basics

Lecture 9 Intro to Tabular Data / Pandas

Lecture 10 Tabular Data Cheat Sheets

Lecture 11 First Steps (Inspection of Data, Part 1)

Lecture 12 First Steps (Inspection of Data, Part 2)

Lecture 13 Coding Exercise 0: Coding the Video Lectures

Lecture 14 Built-in Functions, Attributes and Methods

Lecture 15 Make it easy: TAB Completion and Tooltip

Lecture 16 Explore your own Dataset: Coding Exercise 1 (Intro)

Lecture 17 Explore your own Dataset: Coding Exercise 1 (Solution)

Lecture 18 Selecting Columns

Lecture 19 Selecting Rows with Square Brackets (not advisable)

Lecture 20 Selecting Rows with iloc (position-based indexing)

Lecture 21 Slicing Rows and Columns with iloc (position-based indexing)

Lecture 22 Position-based Indexing Cheat Sheets

Lecture 23 Selecting Rows with loc (label-based indexing)

Lecture 24 Slicing Rows and Columns with loc (label-based indexing)

Lecture 25 Label-based Indexing Cheat Sheets

Lecture 26 Summary and Outlook

Lecture 27 Coding Exercise 2 (Intro)

Lecture 28 Coding Exercise 2 (Solution)

Section 4: Pandas: Intermediate Topics

Lecture 29 Intro

Lecture 30 First Steps with Pandas Series

Lecture 31 Analyzing Numerical Series with unique(), nunique() and value_counts()

Lecture 32 UPDATE Pandas Version 0.24.0 (Jan 2019)

Lecture 33 EXCURSUS: Updating Pandas / Anaconda

Lecture 34 Analyzing non-numerical Series with unique(), nunique(), value_counts()

Lecture 35 The copy() method

Lecture 36 Sorting of Series and Introduction to the inplace – parameter

Lecture 37 Coding Exercise 3 (Intro)

Lecture 38 Coding Exercise 3 (Solution)

Lecture 39 First Steps with Pandas Index Objects

Lecture 40 Changing Row Index with set_index() and reset_index()

Lecture 41 Changing Column Labels

Lecture 42 Renaming Index & Column Labels with rename()

Lecture 43 Coding Exercise 4 (Intro)

Lecture 44 Coding Exercise 4 (Solution)

Lecture 45 Sorting DataFrames with sort_index() and sort_values()

Lecture 46 nunique() and nlargest() / nsmallest() with DataFrames

Lecture 47 Filtering DataFrames (one Condition)

Lecture 48 Filtering DataFrames by many Conditions (AND)

Lecture 49 Filtering DataFrames by many Conditions (OR)

Lecture 50 Advanced Filtering with between(), isin() and ~

Lecture 51 any() and all()

Lecture 52 Coding Exercise 5 (Intro)

Lecture 53 Coding Exercise 5 (Solution)

Lecture 54 Intro to NA Values / missing Values

Lecture 55 Handling NA Values / missing Values

Lecture 56 Exporting DataFrames to csv

Lecture 57 Summary Statistics and Accumulations

Lecture 58 The agg() method

Lecture 59 Coding Exercise 6 (Intro)

Lecture 60 Coding Exercise 6 (Solution)

Section 5: Data Visualization with Matplotlib and Seaborn

Lecture 61 Intro

Lecture 62 Visualization with Matplotlib (Intro)

Lecture 63 Customization of Plots

Lecture 64 Histogramms (Part 1)

Lecture 65 Histogramms (Part 2)

Lecture 66 Scatterplots

Lecture 67 First Steps with Seaborn

Lecture 68 Categorical Seaborn Plots

Lecture 69 Seaborn Regression Plots

Lecture 70 Seaborn Heatmaps

Lecture 71 Coding Exercise 7 (Intro)

Lecture 72 Coding Exercise 7 (Solution)

Section 6: Pandas: Advanced Topics

Lecture 73 Intro

Lecture 74 Removing Columns

Lecture 75 Removing Rows

Lecture 76 Adding new Columns to a DataFrame

Lecture 77 Arithmetic Operations (Part 1)

Lecture 78 Arithmetic Operations (Part 2)

Lecture 79 Creating DataFrames from Scratch with pd.DataFrame()

Lecture 80 Adding new Rows (Hands-on)

Lecture 81 Adding new Rows to a DataFrame

Lecture 82 Manipulating Elements in a DataFrame

Lecture 83 Coding Exercise 8 (Intro)

Lecture 84 Coding Exercise 8 (Solution)

Lecture 85 Introduction to GroupBy Operations

Lecture 86 Understanding the GroupBy Object

Lecture 87 Splitting with many Keys

Lecture 88 split-apply-combine

Lecture 89 split-apply-combine applied

Lecture 90 Hierarchical Indexing with Groupby

Lecture 91 stack() and unstack()

Lecture 92 Coding Exercise 9 (Intro)

Lecture 93 Coding Exercise 9 (Solution)


Lecture 94 Welcome

Section 8: Time Series Data in Pandas: Introduction

Lecture 95 Importing Time Series Data from csv-files

Lecture 96 Converting strings to datetime objects with pd.to_datetime()

Lecture 97 Initial Analysis / Visualization of Time Series

Lecture 98 Indexing and Slicing Time Series

Lecture 99 Creating a customized DatetimeIndex with pd.date_range()

Lecture 100 More on pd.date_range()

Lecture 101 Coding Exercise 10 (intro)

Lecture 102 Coding Exercise 10 (Solution)

Lecture 103 Downsampling Time Series with resample() (Part 1)

Lecture 104 Downsampling Time Series with resample (Part 2)

Lecture 105 The PeriodIndex object

Lecture 106 Advanced Indexing with reindex()

Lecture 107 Coding Exercise 11 (intro)

Lecture 108 Coding Exercise 11 (Solution)

Section 9: Financial Data – Essential Workflows (Risk, Return & Correlation)

Lecture 109 Intro

Lecture 110 Getting Ready (Installing required library)

Lecture 111 Importing Stock Price Data from Yahoo Finance (it still works!)

Lecture 112 Initial Inspection and Visualization

Lecture 113 Normalizing Time Series to a Base Value (100)

Lecture 114 The shift() method

Lecture 115 The methods diff() and pct_change()

Lecture 116 Measuring Stock Performance with MEAN Returns and STD of Returns

Lecture 117 Financial Time Series – Return and Risk

Lecture 118 Financial Time Series – Covariance and Correlation

Lecture 119 Coding Exercise 12 (intro)

Lecture 120 Coding Exercise 12 (Solution)

Section 10: Financial Data – Advanced Techniques (Rolling Statistics & Reporting)

Lecture 121 Intro

Lecture 122 Importing Financial Data from Excel

Lecture 123 Simple Moving Averages (SMA) with rolling()

Lecture 124 Momentum Trading Strategies with SMAs

Lecture 125 S&P 500 Performance Reporting – rolling risk and return

Lecture 126 S&P 500: Investment Horizon and Performance

Lecture 127 Simple Returns vs. Log Returns

Lecture 128 The S&P 500 Return Triangle (Part 1)

Lecture 129 The S&P 500 Return Triangle (Part 2)

Lecture 130 The S&P 500 Dollar Triangle

Lecture 131 The S&P 500 “Weather Radar”

Lecture 132 Exponentially-weighted Moving Averages (EWMA)

Lecture 133 Expanding Windows

Lecture 134 Rolling Correlation

Lecture 135 rollling() with fixed-sized time offsets

Lecture 136 Merging / Aligning Financial Time Series (hands-on)

Lecture 137 Coding Exercise 13 (intro)

Lecture 138 Coding Exercise 13 (Solution)

Section 11: Create and Analyze Financial Indexes

Lecture 139 Financial Indexes – an Overview

Lecture 140 Getting the Data

Lecture 141 Price-Weighted Index – Theory

Lecture 142 Creating a Price-Weighted Stock Index with Python

Lecture 143 Equal-Weighted Index – Theory

Lecture 144 Creating an Equal-Weighted Stock Index with Python

Lecture 145 Market Value-Weighted Index – Theory

Lecture 146 Creating a Market Value-Weighted Stock Index with Python (Part 1)

Lecture 147 Creating a Market Value-Weighted Stock Index with Python (Part 2)

Lecture 148 Comparison of weighting methods

Lecture 149 Price Index vs. Performance/Total Return Index

Lecture 150 Coding Exercise 14 (intro)

Lecture 151 Coding Exercise 14 (Solution)

Section 12: Create, Analyze and Optimize Financial Portfolios

Lecture 152 Intro

Lecture 153 Getting the Data

Lecture 154 Creating the equally-weighted Portfolio

Lecture 155 Creating many random Portfolios with Python

Lecture 156 What is the Sharpe Ratio and a Risk Free Asset?

Lecture 157 Portfolio Analysis and the Sharpe Ratio with Python

Lecture 158 Finding the Optimal Portfolio

Lecture 159 Excursus: Portfolio Optimization with scipy

Lecture 160 Sharpe Ratio – visualized and explained

Lecture 161 Coding Exercise 15 (Intro)

Lecture 162 Coding Exercise 15 (Solution)

Section 13: Modern Portfolio Theory & Asset Pricing (CAPM, Beta, Alpha, SLM & Risk divers.)

Lecture 163 Intro

Lecture 164 Capital Market Line (CML) & Two-Fund-Theorem

Lecture 165 The Portfolio Diversification Effect

Lecture 166 Systematic vs. unsystematic Risk

Lecture 167 Capital Asset Pricing Model (CAPM) & Security Market Line (SLM)

Lecture 168 Beta and Alpha

Lecture 169 Redefining the Market Portfolio

Lecture 170 Cyclical vs. non-cyclical Stocks – another Intuition on Beta

Lecture 171 Coding Exercise 16 (Intro)

Lecture 172 Coding Exercise 16 (Solution)

Section 14: Forward-looking Mean-Variance Optimization & Asset Allocation

Lecture 173 Intro

Lecture 174 Mean-Variance Optimization (MVO)

Lecture 175 It´s not that simple – Part 1 (Investments 101 vs. Real World)

Lecture 176 Changing Expected Returns

Lecture 177 It´s not that simple – Part 2 (Investments 101 vs. Real World)

Section 15: Interactive Financial Charts with Plotly and Cufflinks

Lecture 178 Intro

Lecture 179 Getting Ready (Installing required libraries)

Lecture 180 Creating Offline Graphs in Jupyter Notebooks

Lecture 181 Interactive Price Charts with Plotly

Lecture 182 Customizing Plotly Charts

Lecture 183 Interactive Histograms with Plotly

Lecture 184 Candle-Stick and OHLC Charts with Plotly

Lecture 185 SMA and Bollinger Bands with Plotly

Lecture 186 More Technical Indicators with Plotly (Volume, MACD, DMI)

Lecture 187 Coding Exercise 17


Lecture 188 Financial Analyst Challenge (Intro)

Lecture 189 Financial Analyst Challenge (Instruction & Hints)

Lecture 190 Financial Analyst Challenge (Solution Part 1)

Lecture 191 Financial Analyst Challenge (Solution Part 2)

Lecture 192 Financial Analyst Challenge (Solution Part 3)

Lecture 193 Financial Analyst Challenge (Solution Part 4)

Lecture 194 Financial Analyst Challenge (Solution Part 5)

Lecture 195 Financial Analyst Challenge (Solution Part 6)

Lecture 196 Financial Analyst Challenge (Solution Part 7)

Lecture 197 Additional Bonus Question

Section 17: ———- PART 4: ADVANCED TOPICS —————-

Lecture 198 Download of Course Materials Part 4

Lecture 199 Helpful DatetimeIndex Attributes and Methods

Lecture 200 Filling NA Values with bfill, ffill and interpolation

Lecture 201 resample() and agg()

Lecture 202 resample() and OHLC()

Lecture 203 Upsampling with resample()

Lecture 204 Timezones and Converting (Part 1)

Lecture 205 Timezones and Converting (Part 2)

Lecture 206 Shifting Dates with pd.DateOffset()

Lecture 207 Advanced Date Shifting

Lecture 208 The Timedelta Object


Lecture 209 Intro and Overview

Lecture 210 How to update Pandas to Version 1.0

Lecture 211 Downloads for this Section

Lecture 212 Important Recap: Pandas Display Options (Changed in Version 0.25)

Lecture 213 Info() method – new and extended output

Lecture 214 NEW Extension dtypes (“nullable” dtypes): Why do we need them?

Lecture 215 Creating the NEW extension dtypes with convert_dtypes()

Lecture 216 NEW pd.NA value for missing values

Lecture 217 The NEW “nullable” Int64Dtype

Lecture 218 The NEW StringDtype

Lecture 219 The NEW “nullable” BooleanDtype

Lecture 220 Addition of the ignore_index parameter

Lecture 221 Removal of prior Version Deprecations

Section 19: —————— APPENDIX ——————-

Lecture 222 Welcome to the Appendix & Download

Section 20: Appendix 1: Python Crash Course (optional)

Lecture 223 Intro

Lecture 224 First Steps

Lecture 225 Variables

Lecture 226 Data Types: Integers & Floats

Lecture 227 Data Types: Strings

Lecture 228 Data Types: Lists (Part 1)

Lecture 229 Data Types: Lists (Part 2)

Lecture 230 Data Types: Tuples

Lecture 231 Data Types: Sets

Lecture 232 Operators & Booleans

Lecture 233 Conditional Statements (if, elif, else, while)

Lecture 234 For Loops

Lecture 235 Key words break, pass, continue

Lecture 236 Generating Random Numbers

Lecture 237 User Defined Functions (Part 1)

Lecture 238 User Defined Functions (Part 2)

Lecture 239 User Defined Functions (Part 3)

Lecture 240 Visualization with Matplotlib

Lecture 241 Quiz Solution

Section 21: Appendix 2: Numpy Crash Course (optional)

Lecture 242 Introduction to Numpy Arrays

Lecture 243 Numpy Arrays: Vectorization

Lecture 244 Numpy Arrays: Indexing and Slicing

Lecture 245 Numpy Arrays: Shape and Dimensions

Lecture 246 Numpy Arrays: Indexing and Slicing of multi-dimensional Arrays

Lecture 247 Numpy Arrays: Boolean Indexing

Lecture 248 Generating Random Numbers

Lecture 249 Performance Issues

Lecture 250 Case Study: Numpy vs. Python Standard Library

Lecture 251 Summary Statistics

Lecture 252 Visualization and (Linear) Regression

Lecture 253 Numpy Quiz: Solution

Section 22: Download .py files

Lecture 254 .py files (Parts 1 & 2)

Lecture 255 .py files (Part 3)

Lecture 256 .py files (Part 4)

Section 23: What´s next? (outlook and additional resources)

Lecture 257 Bonus Lecture

Investment & Finance Professionals who want to transition from Excel into Python to boost their careers and working efficiency.,(Finance) Students and Researchers who need to handle large datasets and reached the limits of Excel.,Data Scientists who want to improve their Data Handling/Manipulation skills (in particular for Time Series Data),Everyone who want to step into (Financial) Data Science. Pandas is Key to everything.,Everyone curious about how Financial Performance is measured and how (Stock) Indexes and Portfolios are created, analyzed, visualized and optimized. It´s the easiest way to understand the concepts with data examples rather than theories and formulas.

Course Information:

Udemy | English | 26h 57m | 532.81 MB
Created by: Alexander Hagmann

You Can See More Courses in the Business >> Greetings from

New Courses

Scroll to Top