Investment Portfolio Analysis with Python
3.3 (76 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
850 students enrolled

Investment Portfolio Analysis with Python

Learn investment portfolio analysis from basic to expert level through practical course with Python programming language
3.3 (76 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
850 students enrolled
Created by Diego Fernandez
Last updated 3/2018
English
English [Auto-generated]
Current price: $16.99 Original price: $24.99 Discount: 32% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7.5 hours on-demand video
  • 8 articles
  • 15 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Read or download main asset classes benchmark indexes replicating funds data to perform investment portfolio analysis operations by installing related packages and running code on Python IDE.
  • Compare main asset classes benchmark indexes replicating funds returns and risks tradeoffs for cash, bonds, stocks, commodities, real estate and currencies.
  • Estimate portfolio expected returns, historical and market participants implied volatility.
  • Approximate portfolio expected excess returns using capital asset pricing model (CAPM), Fama-French-Carhart factors model and arbitrage pricing theory model (APT).
  • Hedge portfolio systematic risk through options trading strategies benchmark indexes replicating funds.
  • Evaluate hedge fund index performance and assess portfolio returns and risks amplification through leverage.
  • Calculate portfolio performance metrics such as Sharpe, Treynor, Sortino, and Kelly ratios.
  • Estimate benchmark global portfolios returns from periodically rebalanced equal weighted asset allocations and those from well-known investment managers.
  • Optimize global portfolios asset allocation weights for mean maximization, standard deviation minimization, mean maximization and standard deviation minimization, mean maximization and value at risk minimization objectives within training range based on Markowitz portfolio theory.
  • Approximate global portfolios returns from periodically rebalanced optimized asset allocations within testing range and compare them with equal weighted and well-known investment managers benchmark portfolios.
  • Evaluate global portfolios performance through global risk factors model and estimate their expected return, expected excess return and expected return contribution from global risk factors exposure while assessing investment costs impact on portfolio performance.
Requirements
  • Python programming language is required. Downloading instructions included.
  • Python Distribution (PD) and Integrated Development Environment (IDE) are recommended. Downloading instructions included.
  • Practical example data and Python code files provided with the course.
  • Prior basic Python programming language knowledge is useful but not required.
Description

Full Course Content Last Update 03/2018

Learn investment portfolio analysis through a practical course with Python programming language using index replicating ETFs and Mutual Funds historical data for back-testing. It explores main concepts from basic to expert level which can help you achieve better grades, develop your academic career, apply your knowledge at work or do your research as experienced investor. All of this while exploring the wisdom of Nobel Prize winners and best practitioners in the field.

Become an Investment Portfolio Analysis Expert in this Practical Course with Python

  • Read or download main asset classes benchmark indexes replicating funds data to perform investment portfolio analysis operations by installing related packages and running code on Python IDE.
  • Compare main asset classes benchmark indexes replicating funds returns and risks tradeoffs for cash, bonds, stocks, commodities, real estate and currencies.
  • Estimate portfolio expected returns, historical and market participants implied volatility.  
  • Approximate portfolio expected excess returns using capital asset pricing model (CAPM), Fama-French-Carhart factors model and arbitrage pricing theory model (APT).
  • Hedge portfolio systematic risk through options trading strategies benchmark indexes replicating funds.
  • Evaluate hedge fund index performance and assess portfolio returns and risks amplification through leverage.
  • Calculate portfolio performance metrics such as Sharpe, Treynor, Sortino, and Kelly ratios.
  • Estimate benchmark global portfolios returns from periodically rebalanced equal weighted asset allocations and those from well-known investment managers.
  • Optimize global portfolios asset allocation weights for mean maximization, standard deviation minimization, mean maximization and standard deviation minimization, mean maximization and value at risk minimization objectives within training range based on Markowitz portfolio theory.
  • Approximate global portfolios returns from periodically rebalanced optimized asset allocations within testing range and compare them with equal weighted and well-known investment managers benchmark portfolios.
  • Evaluate global portfolios performance through global risk factors model and estimate their expected return, expected excess return and expected return contribution from global risk factors exposure while assessing investment costs impact on portfolio performance.

Become an Investment Portfolio Analysis Expert and Put Your Knowledge in Practice

Learning investment portfolio analysis is indispensable for finance careers in areas such as asset management, private wealth management, and risk management within institutional investors represented by banks, insurance companies, pension funds, hedge funds, investment advisors, endowments and mutual funds. It is also essential for academic careers in quantitative finance. And it is necessary for experienced investors optimized asset allocation strategies research and development.

But as learning curve can become steep as complexity grows, this course helps by leading you step by step using index replicating funds historical data for back-testing and to achieve greater effectiveness.

Content and Overview

This practical course contains 44 lectures and 7.5 hours of content. It’s designed for all investment portfolio analysis knowledge levels and a basic understanding of Python programming language is useful but not required.

At first, you’ll learn how to read or download index replicating funds historical data to perform investment portfolio analysis operations by installing related packages and running code on Python IDE.

Then, you’ll define main asset classes by comparing their benchmark indexes replicating funds returns and risks tradeoffs. After that, you’ll segment main asset classes into traditional and alternative ones. For traditional asset classes, you’ll define cash and cash equivalents, fixed income or bonds and equities or stocks. Regarding cash and cash equivalents traditional asset class, you’ll use U.S. total money market benchmark index replicating fund. Regarding cash and cash equivalents traditional asset class, you’ll use U.S. total money market benchmark index replicating fund is used. Regarding fixed income or bonds traditional asset class, U.S. total bond market, U.S. short term bond market, U.S. long term bond market and international total bond market benchmark indexes replicating funds. Regarding equities or stocks traditional asset class, you’ll use U.S. total stock market, U.S. large cap stock market, U.S. small cap stock market, U.S. small cap growth stock market, U.S. small cap value stock market, international total stock market, international developed stock market and international emerging stock market benchmark indexes replicating funds. For alternative asset classes, you’ll define commodities, real estate and currencies or foreign exchange. Regarding commodities alternative asset class, you’ll use oil and gold prices benchmark indexes replicating funds. Regarding real estate alternative asset class, you’ll use U.S. real estate investment trust market benchmark index replicating fund. Regarding currencies or foreign exchange alternative asset class, you’ll use U.S. dollar major currencies benchmark index replicating fund.

Next, you’ll define returns and risks using U.S. large cap stocks market benchmark index replicating fund. After that, you’ll calculate expected returns through historical returns mean and media. Then, you’ll estimate risks through historical returns standard deviation, mean absolute deviation and market participants implied volatility. Later, you’ll approximate portfolio expected excess returns through capital asset pricing model (CAPM), Fama-French-Carhart factors model and arbitrage pricing theory model (APT). Next, you’ll hedge portfolio systematic risk through options trading strategies and evaluate hedge fund index performance together with the assessment of returns and risks amplification through portfolio leverage. 

After that, you’ll define portfolio optimization through global assets allocation. Next, you’ll calculate Sharpe ratio, Treynor ratio, Sortino ratio and Kelly ratio portfolio performance metrics. Then, you’ll estimate benchmark global portfolios returns from periodically rebalanced equal weighted asset allocations and those from well-known investment managers. Later, you’ll optimize global asset allocation weights within training range for mean maximization, standard deviation minimization, mean maximization and standard deviation minimization, mean maximization and value at risk minimization objectives based on Markowitz portfolio theory. After that, you’ll calculate global portfolio returns within testing range using previously optimized periodically rebalance asset allocation weights and compared with equal weighted and well-known investment managers benchmark portfolios.

Later, you’ll evaluate optimized portfolios performance through global risk factors model. After that, you’ll estimate optimized portfolios expected returns, expected excess returns and global risk factors exposure returns contribution. Finally, you’ll assess investment costs impact on portfolio performance.

Who this course is for:
  • Students at any knowledge level who want to learn about investment portfolio analysis using Python programming language.
  • Finance professionals or academic researchers who wish to deepen their knowledge in quantitative finance.
  • Experienced investors who desire to research optimized asset allocation strategies.
  • This course is NOT about “get rich quick” investment strategies or magic formulas.
Course content
Expand all 44 lectures 07:34:01
+ Course Overview
8 lectures 33:15

In this lecture you will view course disclaimer and learn which are its objectives, how you will benefit from it, its previous requirements and my profile as instructor.

Preview 05:07

In this lecture you will learn that it is recommended to view course in an ascendant manner as each section builds on last one and also does its complexity. You will also study course structure and main sections (course overview, asset classes, returns and risks, portfolio optimization and portfolio performance).

Preview 04:20

In this lecture you will learn investment portfolio analysis definition, Miniconda Distribution for Python 3.6 64-bit (PD) and Python PyCharm Integrated Development Environment (IDE) downloading websites.

Investment Portfolio Analysis
04:34

In this lecture you will learn investment portfolio analysis data reading or downloading into Python PyCharm Integrated Development Environment (IDE), data sources, code files originally in .TXT format that need to be converted in .PY format, Python packages Miniconda Distribution for Python 3.6 64-bit (PD) installation (numpy, pandas, pandas-datareader, scipy, statsmodels and matplotlib) and related code (import <package> as <name>, read_csv(), DataReader() functions).

Investment Portfolio Analysis Data
19:02

Before starting course please download .TXT data file in .CSV format as additional resource.

Course Data File
00:03

Before starting course please download .TXT Python code files as additional resources.

Course Code Files
00:03

You can download .PDF section slides file as additional resources.

Course Overview Slides
00:02

You can download .PDF course bibliography slides as additional resources.

Course Bibliography
00:02
+ Asset Classes
9 lectures 01:44:02

You can download .PDF section slides file as additional resources.

Asset Classes Slides
00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to asset classes (cash and cash equivalents, fixed-income or bonds, equities or stocks, commodities, real estate and currencies or foreign exchange).

Preview 09:02

In this lecture you will learn cash and cash equivalents definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

Cash and Cash Equivalents
14:05

In this lecture you will learn fixed-income or bonds definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

Fixed-Income or Bonds
17:23

In this lecture you will learn U.S. equities or stocks definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

U.S. Equities or Stocks
17:54

In this lecture you will learn international equities or stocks definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

International Equities or Stocks
14:06

In this lecture you will learn commodities definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

Commodities
10:41

In this lecture you will learn real estate definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

Real Estate
09:56

In this lecture you will learn currencies or foreign exchange definition and main calculations (DataFrame(), shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), print() functions).

Currencies or Foreign Exchange
10:53
+ Returns and Risks
12 lectures 02:07:07

You can download .PDF section slides file as additional resources.

Returns and Risks Slides
00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to returns and risks (expected returns, risks, returns normality, returns and risks relationship, capital asset pricing model CAPM, Fama-French-Carhart factors model, arbitrage pricing theory model APT, portfolio hedge, hedge funds and portfolio leverage).

Returns and Risks Overview
06:48

In this lecture you will learn expected returns definition and main calculations (shift(), mean(), median(), DataFrame(), print() functions).

Expected Returns
09:50

In this lecture you will learn risks definition and main calculations (shift(), std(), mean(), absolute(), sqrt(), exp(), log(), DataFrame(), plot(), title(), legend(), show(),  functions).

Risks
13:04

In this lecture you will learn returns normality definition and main calculations (DataFrame().skew(), DataFrame().kurtosis(), jarque_bera(), norm.ppf() functions).

Returns Normality
09:57

In this lecture you will learn returns and risks relationship definition and main calculations (corrcoef(), cov(), print(), functions).

Returns and Risks Relationship
09:11

In this lecture you will learn capital asset pricing model definition and main calculations (shift(), add_constant(), OLS().fit(), summary(), print(), params[], mean(), std(), DataFrame() functions).

Capital Asset Pricing Model
15:15

In this lecture you will learn Fama-French-Carhart factors model definition and main calculations (shift(), add_constant(), OLS().fit(), summary(), print(), params[], mean(), std(), DataFrame()   functions).

Fama-French-Carhart Factors Model
15:34

In this lecture you will learn arbitrage pricing theory model definition and main calculations (shift(), add_constant(), OLS().fit(), summary(), print(), params[], mean(), std(), DataFrame()   functions).

Arbitrage Pricing Theory Model
10:36

In this lecture you will learn portfolio hedge definition and main calculations (shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print() functions).

Portfolio Hedge
15:37

In this lecture you will learn hedge funds definition and main calculations (cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print() functions).

Hedge Funds
09:30

In this lecture you will learn portfolio leverage definition and main calculations (shift(), cumprod, len(), std(), sqrt(), abs(), min(), max(), plot(), title(), legend(), show(), DataFrame(), print() functions).

Portfolio Leverage
11:43
+ Portfolio Optimization
8 lectures 01:45:34

You can download .PDF section slides file as additional resources.

Portfolio Optimization Slides
00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to portfolio optimization (portfolio performance metrics, portfolio benchmarks, mean maximization portfolio optimization, standard deviation minimization portfolio optimization, Markowitz portfolio optimization, mean maximization and VaR minimization portfolio optimization).

Portfolio Optimization Overview
11:39

In this lecture you will learn portfolio performance metrics definition and main calculations (shift(), mean(), std(), cov, var(), item(), range(), len(), DataFrame(), print() functions, for loops, if conditionals).

Portfolio Performance Metrics
14:34

In this lecture you will learn portfolio benchmarks definition and main calculations (shift(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print()  functions).

Portfolio Benchmarks
14:11

In this lecture you will learn portfolio mean maximization portfolio optimization definition and main calculations (shift(), mean(), lambda, minimize(), round(), cumprod(), len(), std(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print()  functions).

Mean Maximization Portfolio Optimization
16:44

In this lecture you will learn standard deviation minimization portfolio optimization definition and main calculations (shift(), std(), lambda, minimize(), round(), cumprod(), len(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print()  functions).

Standard Deviation Minimization Portfolio Optimization
15:20

In this lecture you will learn Markowitz portfolio optimization definition and main calculations (shift(), mean(), std(), lambda, minimize(), round(), cumprod(), len(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print()  functions).

Markowitz Portfolio Optimization
14:28

In this lecture you will learn Mean-VaR portfolio optimization definition and main calculations (shift(), mean(), std(), norm.ppf(), lambda, minimize(), round(), cumprod(), len(), sqrt(), plot(), title(), legend(), show(), DataFrame(), print()  functions).

Mean-VaR Portfolio Optimization
18:36
+ Portfolio Performance
7 lectures 01:23:59

You can download .PDF section slides file as additional resources.

Portfolio Performance Slides
00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to portfolio performance (global factors model and investment costs).

Portfolio Performance Overview
07:16

In this lecture you will learn mean maximization portfolio performance definition and main calculations (shift(), mean(), lambda, minimize(), round(), add_constant(), OLS.fit(), summary(), print(), mean(), subplots(), bar(), set_title(), get_height(), get_x(), get_width(), show() functions, for loops).

Mean Maximization Portfolio Performance
17:19

In this lecture you will learn standard deviation minimization portfolio performance definition and main calculations (shift(), std(), lambda, minimize(), round(), add_constant(), OLS.fit(), summary(), print(), mean(), subplots(), bar(), set_title(), get_height(), get_x(), get_width(), show() functions, for loops).

Standard Deviation Minimization Portfolio Performance
15:30

In this lecture you will learn Markowitz portfolio performance definition and main calculations (shift(), mean(), std(), lambda, minimize(), round(), add_constant(), OLS.fit(), summary(), print(), mean(), subplots(), bar(), set_title(), get_height(), get_x(), get_width(), show() functions, for loops).

Markowitz Portfolio Performance
15:08

In this lecture you will learn Mean-VaR portfolio performance definition and main calculations (shift(), mean(), std(), norm.ppf(), lambda, minimize(), round(), add_constant(), OLS.fit(), summary(), print(), mean(), subplots(), bar(), set_title(), get_height(), get_x(), get_width(), show() functions, for loops).

Mean-VaR Portfolio Performance
16:45

In this lecture you will learn investment costs definitions and main calculations (cumprod(), len(), DataFrame() print() functions).

Investment Costs
11:59