Course Highlights
  • Learn Python coding from Zero in a Business, Finance & Data Science context (real Examples)
  • Learn Business & Finance (Time Value of Money, Capital Budgeting, Risk, Return & Correlation)
  • Learn Statistics (descriptive & inferential, Probability Distributions, Confidence Intervals, Hypothesis Testing)
  • Learn how to use the Bootstrapping method to perform hands-on statistical analyses and simulations
  • Learn Regression (Covariance & Correlation, Linear Regression, Multiple Regression, ANOVA)
  • Learn how to use all relevant and powerful Python Data Science Packages and Libraries
  • Learn how to use Numpy and Scipy for numerical, financial and scientific computing
  • Learn how to use Pandas to process Tabular (Financial) Data - cleaning, merging, manipulating
  • Learn how to use stats (scipy) for Statistics and Hypothesis Testing
  • Learn how to use statsmodels for Regression Analysis and ANOVA
  • Learn how to create meaningful Visualizations and Plots with Matplotlib and Seaborn
  • Learn how to create user-defined functions for Business & Finance applications
  • Learn how to solve and code real Projects in Business, Finance & Statistics
  • Learn how to unleash the full power of Python and Numpy with Monte Carlo Simulations
  • Understand and code Sharpe Ratio, Alpha, Beta, IRR, NPV, Yield-to-Maturity (YTM)
  • Learn how to code more advanced Finance concepts: Value-at-Risk, Portfolios and (Multi-) Factor Models
  • Understand the difference between the Normal Distribution and Student´s t-distributions: what to use when
Curriculum

5 Topics
Tips: How to get the most out of this Course (don´t skip!)
FAQ / Your Questions answered
How to download and install Anaconda for Python coding
Jupyter Notebooks - let´s get started
How to work with Jupyter Notebooks

2 Topics
Overview & Download of Course Materials for Part 1 ***Update May 2023***
Coding Projects Part 1 - Overview

19 Topics
Intro to the Time Value of Money (TVM) Concept (Theory)
Calculate Future Values (FV) with Python / Compounding
***NEW*** Udemy Online Coding Exercises - Intro
Future Value
Calculate Present Values (PV) with Python / Discounting
Present Value
Interest Rates and Returns (Theory)
Calculate Interest Rates and Returns with Python
Interest Rates
Introduction to Variables
Variables
Excursus: How to add inline comments
Variables and Memory (Theory)
More on Variables and Memory
Addition Assignment
Variables - Dos Don´ts and Conventions
The print() Function
print()
Coding Exercise 1

15 Topics
TVM Problems with many Cashflows
Intro to Python Lists
Creating Lists
Zero-based Indexing and negative Indexing in Python (Theory)
Indexing Lists
Indexing Lists
For Loops - Iterating over Lists
List Iteration
The range Object - another Iterable
Iterating over range objects
Calculate FV and PV for many Cashflows
The Net Present Value - NPV (Theory)
Calculate an Investment Project´s NPV
Calculating NPV
Coding Exercise 2

37 Topics
Data Types in Action
Strings
The Data Type Hierarchy (Theory)
Excursus: Dynamic Typing in Python
Build-in Functions
Functions
Integers
Floats
How to round Floats (and Integers) with round()
Rounding
More on Lists
Lists and Element-wise Operations
Element-wise Operations
Slicing Lists
Slicing Cheat Sheet
Slicing Lists
Changing Elements in Lists
Changing Lists
Sorting and Reversing Lists
Sorting Lists
Adding and removing Elements from/to Lists
Adding and Removing Elements
Mutable vs. immutable Objects (Part 1)
Mutable vs. immutable Objects (Part 2)
Coding Exercise 3
Tuples
Dictionaries
Dictionary
Intro to Strings
Capitalize Strings
String Replacement
String Replacement
Booleans
Operators (Theory)
Comparison Logical and Membership Operators in Action
Booleans and Operators
Coding Exercise 4

12 Topics
Conditional Statements
Conditionals
Keywords pass continue and break
Keywords
Calculate a Project´s Payback Period
While Loops
While Loop
The Internal Rate of Return - IRR (Theory)
Solving for a Project´s IRR
Bonds and the Yield to Maturity - YTM (Theory)
Solving for a Bond´s Yield to Maturity (YTM)
Coding Exercise 5

7 Topics
Intro
Line Plots
Scatter Plots
Customizing Plots (Part 1)
Customizing Plots (Part 2)
Plotting NPV & IRR
Coding Exercise 6

22 Topics
Modules Packages and Libraries - No need to reinvent the Wheel
Numpy Arrays
Numpy Arrays
Indexing and Slicing Numpy Arrays
Indexing and Slicing
Vectorized Operations with Numpy Arrays
PV with vectorized Numpy Code
Changing Elements in Numpy Arrays & Mutability
View vs. copy - potential Pitfalls when slicing Numpy Arrays
Changing elements in Arrays (and Copies)
Numpy Array Methods and Attributes
Methods
Numpy Universal Functions
Universal Functions
Boolean Arrays and Conditional Filtering
Conditional Filtering
Advanced Filtering & Bitwise Operators
Advanced Filtering
Determining a Project´s Payback Period with np.where()
Creating Numpy Arrays from Scratch
Numpy Arrays from Scratch
Coding Exercise 7

16 Topics
Evaluating Investments with npf.npv() and npf.irr()
Evaluating Annuities with npf.fv() - Funding Phase
Evaluating Annuities with npf.fv() - Payout Phase
How to solve for annuity payments with npf.pmt()
How to solve for the number of periodic payments with npf.nper()
How to calculate the required Contract Value with npf.pv()
Frequency of compounding and the effective annual interest rate
How to evaluate a Retirement Plan A-Z
Retirement Plan: Sensitivity Analysis
Mortgage Loan Analysis - Debt Sizing
Mortgage Loan Analysis - Interest Payments and Amortization Schedule
Calculate PV of equal installments with npf.pv() - Valuation of Bonds
Capital Budgeting - Mutually exclusive Projects (Part 1)
Capital Budgeting - Mutually exclusive Projects (Part 2)
Capital Budgeting - Mutually exclusive Projects (Part 3)
Coding Exercise 8

3 Topics
Statistics - Overview Terms and Vocabulary
Coding Projects Part 2 - Overview
Download of Part 2 Course Materials ***Update May 2023***

14 Topics
Population vs. Sample
Visualizing Frequency Distributions with plt.hist()
Relative and Cumulative Frequencies with plt.hist()
Measures of Central Tendency (Theory)
Coding Measures of Central Tendency - Mean and Median
Coding Measures of Central Tendency - Geometric Mean
Excursus: Why Log Returns are useful
Variability around the Central Tendency / Dispersion (Theory)
Minimum Maximum and Range with Python/Numpy
Variance and Standard Deviation with Python/Numpy
Percentiles with Python/Numpy
Skew and Kurtosis (Theory)
How to calculate Skew and Kurtosis with scipy.stats
Coding Exercise 1

14 Topics
How to generate Random Numbers with Numpy
Reproducibility with np.random.seed()
Probability Distributions - Overview
Discrete Uniform Distributions
Continuous Uniform Distributions
The Normal Distribution (Theory)
Creating a normally distributed Random Variable
Normal Distribution - Probability Density Function (pdf) with scipy.stats
Normal Distribution - Cumulative Distribution Function (cdf) with scipy.stats
The Standard Normal Distribution and Z-Values
Properties of the Standard Normal Distribution (Theory)
Probabilities and Z-Values with scipy.stats
Confidence Intervals with scipy.stats
Coding Exercise 2

14 Topics
Sample Statistic Sampling Error and Sampling Distribution (Theory)
Sampling with np.random.choice()
Sampling Distribution
Standard Error
Central Limit Theorem (Coding Part 1)
Central Limit Theorem (Coding Part 2)
Central Limit Theorem (Theory)
Point Estimates vs. Confidence Interval Estimates (known Population Variance)
The Student´s t-distribution: What is it and why/when do we use it?
Unknown Population Variance - the Standard Case (Example 1)
Unknown Population Variance - the Standard Case (Example 2)
Student´s t-Distribution vs. Normal Distribution with scipy.stats
Bootstrapping with Python: an alternative method without Statistics
Coding Exercise 3

10 Topics
Hypothesis Testing (Theory)
Two-tailed Z-Test with known Population Variance
What is the p-value? (Theory)
Calculating and interpreting z-statistic and p-value with scipy.stats
One-tailed Z-Test with known Population Variance
Two-tailed t-Test (unknown Population Variance)
One-tailed t-Test (unknown Population Variance)
Hypothesis Testing with Bootstrapping
Testing for Normality of Financial Returns with scipy.stats
Coding Exercise 4

3 Topics
*Update Notice (June 2021)*
Overview & Download of Course Materials for Part 3 ***Update May 2023***
Coding Projects Part 3 - Overview

13 Topics
How to work with nested Lists
2-dimensional Numpy Arrays
How to slice 2-dim Numpy Arrays (Part 1)
How to slice 2-dim Numpy Arrays (Part 2)
Recap: Changing Elements in a Numpy Array / slice
How to perform row-wise and column-wise Operations
Reshaping and Transposing 2-dim Numpy Arrays
Creating 2-dim Numpy Arrays from Scratch
Arithmetic & Vectorized Operations with 2-dim Numpy Arrays
The keepdims parameter
Adding & Removing Elements
Merging and Concatenating Numpy Arrays
Coding Exercise 1

11 Topics
Defining your first user-defined Function
What´s the difference between Positional Arguments vs. Keyword Arguments?
How to work with Default Arguments
The Default Argument None
How to unpack Iterables
Sequences as arguments and *args
How to return many results
Scope - easily explained
How to create Nested Functions
Putting it all together - Case Study
Coding Exercise 2

15 Topics
What is the Value-at-Risk (VaR)? (Theory)
Analyzing the Data / past Performance
How to use the Parametric Method to calculate Value-at-Risk (VaR)
How to use the Historical Method to calculate Value-at-Risk (VaR)
Monte Carlo Simulations for Value-at-Risk - Parametric (Part 1)
Monte Carlo Simulations for Value-at-Risk - Parametric (Part 2)
Monte Carlo Simulations for Value-at-Risk - Parametric (Part 3)
Monte Carlo Simulations for Value-at-Risk - Bootstrapping (Part 1)
Monte Carlo Simulations for Value-at-Risk - Bootstrapping (Part 2)
Conditional Value-at-Risk (CVaR)
Dynamic & path-dependent Simulations (Part 1)
Dynamic & path-dependent Simulations (Part 2)
Dynamic & path-dependent Simulations (Part 3)
Dynamic & path-dependent Simulations (Part 4)
Coding Exercise 3

3 Topics
Introduction
Download of Part 4 Course Materials ***Updated May 2023***
Tabular Data and Pandas DataFrames

16 Topics
First Steps (Inspection of Data Part 1)
First Steps (Inspection of Data Part 2)
Built-in Functions Attributes and Methods
Explore your own Dataset: Coding Exercise 1 (Intro)
Explore your own Dataset: Coding Exercise 1 (Solution)
Selecting Columns
Selecting Rows with Square Brackets (not advisable)
Selecting Rows with iloc (position-based indexing)
Slicing Rows and Columns with iloc (position-based indexing)
Position-based Indexing Cheat Sheets
Selecting Rows with loc (label-based indexing)
Slicing Rows and Columns with loc (label-based indexing)
Label-based Indexing Cheat Sheets
Summary and Outlook
Coding Exercise 2 (Intro)
Coding Exercise 2 (Solution)

32 Topics
Intro
First Steps with Pandas Series
Analyzing Numerical Series with unique() nunique() and value_counts()
UPDATE Pandas Version 0.24.0 (Jan 2019)
EXCURSUS: Updating Pandas / Anaconda
Analyzing non-numerical Series with unique() nunique() value_counts()
The copy() method
Sorting of Series and Introduction to the inplace - parameter
Coding Exercise 3 (Intro)
Coding Exercise 3 (Solution)
First Steps with Pandas Index Objects
Changing Row Index with set_index() and reset_index()
Changing Column Labels
Renaming Index & Column Labels with rename()
Coding Exercise 4 (Intro)
Coding Exercise 4 (Solution)
Sorting DataFrames with sort_index() and sort_values()
nunique() and nlargest() / nsmallest() with DataFrames
Filtering DataFrames (one Condition)
Filtering DataFrames by many Conditions (AND)
Filtering DataFrames by many Conditions (OR)
Advanced Filtering with between() isin() and ~
any() and all()
Coding Exercise 5 (Intro)
Coding Exercise 5 (Solution)
Intro to NA Values / missing Values
Handling NA Values / missing Values
Exporting DataFrames to csv
Summary Statistics and Accumulations
The agg() method
Coding Exercise 6 (Intro)
Coding Exercise 6 (Solution)

12 Topics
Intro
Visualization with Matplotlib (Intro)
Customization of Plots
Histogramms (Part 1)
Histogramms (Part 2)
Scatterplots
First Steps with Seaborn
Categorical Seaborn Plots
Seaborn Regression Plots
Seaborn Heatmaps
Coding Exercise 7 (Intro)
Coding Exercise 7 (Solution)

21 Topics
Intro
Removing Columns
Removing Rows
Adding new Columns to a DataFrame
Arithmetic Operations (Part 1)
Arithmetic Operations (Part 2)
Creating DataFrames from Scratch with pd.DataFrame()
Adding new Rows (Hands-on)
Adding new Rows to a DataFrame
Manipulating Elements in a DataFrame
Coding Exercise 8 (Intro)
Coding Exercise 8 (Solution)
Introduction to GroupBy Operations
Understanding the GroupBy Object
Splitting with many Keys
split-apply-combine
split-apply-combine applied
Hierarchical Indexing with Groupby
stack() and unstack()
Coding Exercise 9 (Intro)
Coding Exercise 9 (Solution)

27 Topics
Importing Time Series Data from csv-files
Converting strings to datetime objects with pd.to_datetime()
Initial Analysis / Visualization of Time Series
Indexing and Slicing Time Series
Creating a customized DatetimeIndex with pd.date_range()
More on pd.date_range()
Coding Exercise 10 (intro)
Coding Exercise 10 (Solution)
Downsampling Time Series with resample() (Part 1)
Downsampling Time Series with resample (Part 2)
The PeriodIndex object
Advanced Indexing with reindex()
Coding Exercise 11 (intro)
Coding Exercise 11 (Solution)
Getting Ready (Installing required library)
Importing Stock Price Data from Yahoo Finance (it still works!)
Initial Inspection and Visualization
Normalizing Time Series to a Base Value (100)
The shift() method
The methods diff() and pct_change()
Measuring Stock Performance with MEAN Returns and STD of Returns
Financial Time Series - Return and Risk
Financial Time Series - Covariance and Correlation
Importing Financial Data from Excel
Merging / Aligning Financial Time Series (hands-on)
Coding Exercise 12 (intro)
Coding Exercise 12 (Solution)

21 Topics
Intro
Getting the Data
Creating the equally-weighted Portfolio
Creating many random Portfolios with Python
What is the Sharpe Ratio and a Risk Free Asset?
Portfolio Analysis and the Sharpe Ratio with Python
Finding the Optimal Portfolio
Excursus: Portfolio Optimization with scipy
Sharpe Ratio - visualized and explained
Coding Exercise 13 (Intro)
Coding Exercise 13 (Solution)
Intro CAPM
Capital Market Line (CML) & Two-Fund-Theorem
The Portfolio Diversification Effect
Systematic vs. unsystematic Risk
Capital Asset Pricing Model (CAPM) & Security Market Line (SLM)
Beta and Alpha
Redefining the Market Portfolio
Cyclical vs. non-cyclical Stocks - another Intuition on Beta
Coding Exercise 14 (Intro)
Coding Exercise 14 (Solution)

3 Topics
Introduction to Regression Analysis
Coding Projects Part 5 - Overview
Download of Part 5 Course Materials ***Updated May 2023***

13 Topics
Cleaning and preparing the Data - Movies Database (Part 1)
Cleaning and preparing the Data - Movies Database (Part 2)
Covariance and Correlation Coefficient (Theory)
How to calculate Covariance and Correlation in Python
Correlation and Scatterplots – visual Interpretation
Creating a Confidence Interval for the Correlation Coefficient (Bootstrapping)
Testing for Correlation (t-Test)
What is Linear Regression? (Theory)
A simple Linear Regression Model with numpy & Scipy
How to interpret Intercept and Slope Coefficient
Case Study (Part 1): The Market Model (Single Factor Model)
Case Study (Part 2): The Market Model (Single Factor Model)
Coding Exercise 1

12 Topics
OLS (Ordinary Least Squares) Regression (Theory)
OLS Regression with statsmodels - Intro
OLS Regression - ANOVA (Theory)
OLS Regression with Statsmodels - ANOVA
Coefficient of Determination (R squared)
OLS Regression with statsmodels and DataFrames
Confidence Intervals for Regression Coefficients - Bootstrapping
Hypothesis Testing of Regression Coefficients (Theory)
Hypothesis Testing of Regression Coefficients with statsmodels
Regression Analysis with statsmodels - the Summary Table
Case Study (Part 3): The Market Model (Single Factor Model)
Coding Exercise 2

9 Topics
Multiple Regression (Theory)
Movies Dataset - Preparing the Data
Multiple Regression Analysis with statsmodels
Coefficient of Determination (Adjusted R squared)
Regression Coefficients Hypothesis Testing & Model Specification
How to test the Significance of the Model as a whole (F-Test)
Creating and working with Dummy Variables (Part 1)
Creating and working with Dummy Variables (Part 2)
Coding Exercise 3

8 Topics
Fama-French: An Introduction
Single-Factor Models with the Fama-French Market Portfolio (Part 1)
Single-Factor Models with the Fama-French Market Portfolio (Part 2)
The Factors Size & Value
How to create a Fama-French Three-Factor Model
The Factors Profitability and Investment
How to create a Fama-French Five-Factor Model
Coding Exercise 4

10 Topics
Linear Regression - not that easy!
Detecting and Handling Outliers (Part 1)
Detecting and Handling Outliers (Part 2)
Non-Linear Relationships - Feature Transformation
Detecting and Handling Multicollinearity
Detecting and Correcting Heteroskedasticity
Detecting and Handling Serial Correlation (Autocorrelation)
Logistic Regression (Theory)
Logistic Regression with statsmodels (Part 1)
Logistic Regression with statsmodels (Part 2)

17 Topics
Downloads for this Section ***Updated May 2023***
Introduction to OOP and examples for Classes
The FinancialInstrument Class live in action (Part 1)
The FinancialInstrument Class live in action (Part 2)
The special method __init__()
The method get_data()
The method log_returns()
String representation and the special method __repr__()
The methods plot_prices() and plot_returns()
Encapsulation and protected Attributes
The method set_ticker()
Adding more methods and performance metrics
Inheritance
Inheritance and the super() Function
Adding meaningful Docstrings
Creating and Importing Python Modules (.py)
Coding Exercise: Create your own Class

1 Topic
Bonus Lecture

  Write a Review

Complete 2-in-1 Python for Business and Finance Bootcamp

Go to Paid Course