Python for Finance: Investment Fundamentals & Data Analytics
4.5 (16,823 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.
79,913 students enrolled

Python for Finance: Investment Fundamentals & Data Analytics

Learn Python Programming and Conduct Real-World Financial Analysis in Python - Complete Python Training
4.5 (16,823 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.
79,913 students enrolled
Created by 365 Careers
Last updated 6/2020
English [Auto], French [Auto], 6 more
  • German [Auto]
  • Indonesian [Auto]
  • Italian [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Spanish [Auto]
Current price: $135.99 Original price: $194.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 8.5 hours on-demand video
  • 1 article
  • 42 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
  • Learn how to code in Python
  • Take your career to the next level
  • Work with Python’s conditional statements, functions, sequences, and loops
  • Work with scientific packages, like NumPy
  • Understand how to use the data analysis toolkit, Pandas
  • Plot graphs with Matplotlib
  • Use Python to solve real-world tasks
  • Get a job as a data scientist with Python
  • Acquire solid financial acumen
  • Carry out in-depth investment analysis
  • Build investment portfolios
  • Calculate risk and return of individual securities
  • Calculate risk and return of investment portfolios
  • Apply best practices when working with financial data
  • Use univariate and multivariate regression analysis
  • Understand the Capital Asset Pricing Model
  • Compare securities in terms of their Sharpe ratio
  • Perform Monte Carlo simulations
  • Learn how to price options by applying the Black Scholes formula
  • Be comfortable applying for a developer job in a financial institution
  • You’ll need to install Anaconda. We will show you how to do it in one of the first lectures of the course
  • All software and data used in the course is free

Do you want to learn how to use Python in a working environment?

Are you a young professional interested in a career in Data Science?  

Would you like to explore how Python can be applied in the world of Finance and solve portfolio optimization problems?  

If so, then this is the right course for you!  

We are proud to present Python for Finance: Investment Fundamentals and Data Analytics – one of the most interesting and complete courses we have created so far. It took our team slightly over four months to create this course, but now, it is ready and waiting for you.  

An exciting journey from Beginner to Pro.  

If you are a complete beginner and you know nothing about coding, don’t worry! We start from the very basics. The first part of the course is ideal for beginners and people who want to brush up on their Python skills. And then, once we have covered the basics, we will be ready to tackle financial calculations and portfolio optimization tasks.   

Finance Fundamentals.  

And it gets even better! The Finance block of this course will teach you in-demand real-world skills employers are looking for. To be a high-paid programmer, you will have to specialize in a particular area of interest. In this course, we will focus on Finance, covering many tools and techniques used by finance professionals daily:  

  • Rate of return of stocks  

  • Risk of stocks  

  • Rate of return of stock portfolios  

  • Risk of stock portfolios  

  • Correlation between stocks  

  • Covariance  

  • Diversifiable and non-diversifiable risk  

  • Regression analysis  

  • Alpha and Beta coefficients  

  • Measuring a regression’s explanatory power with R^2  

  • Markowitz Efficient frontier calculation  

  • Capital asset pricing model  

  • Sharpe ratio  

  • Multivariate regression analysis  

  • Monte Carlo simulations  

  • Using Monte Carlo in a Corporate Finance context  

  • Derivatives and type of derivatives  

  • Applying the Black Scholes formula  

  • Using Monte Carlo for options pricing  

  • Using Monte Carlo for stock pricing

Everything is included! All these topics are first explained in theory and then applied in practice using Python.

Is there a better way to reinforce what you have learned in the first part of the course?  

This course is great, even if you are an experienced programmer, as we will teach you a great deal about the finance theory and mechanics you will need if you start working in a finance context.     

Teaching is our passion.  

Everything we teach is explained in the best way possible. Plain and clear English, relevant examples and time-efficient videos. Don’t forget to check some of our sample videos to see how easy they are to understand.   

If you have questions, contact us! We enjoy communicating with our students and take pride in responding within the 1 business day. Our goal is to create high-end materials that are fun, exciting, career-enhancing, and rewarding.    

What makes this course different from the rest of the Programming and Finance courses out there?  

  • This course will teach you how to code in Python and apply these skills in the world of Finance. It is both a Programming and a Finance course.

  • High-quality production – HD video and animations (this isn’t a collection of boring lectures!)

  • Knowledgeable instructors. Martin is a quant geek fascinated by the world of Data Science, and Ned is a finance practitioner with several years of experience who loves explaining Finance topics in real life and here on Udemy.

  • Complete training – we will cover all the major topics you need to understand to start coding in Python and solving the financial topics introduced in this course (and they are many!)

  • Extensive Case Studies that will help you reinforce everything you’ve learned.

  • Course Challenge: Solve our exercises and make this course an interactive experience.

  • Excellent support: If you don’t understand a concept or you simply want to drop us a line, you’ll receive an answer within 1 business day.

  • Dynamic: We don’t want to waste your time! The instructors set a very good pace throughout the whole course.

Please don’t forget that the course comes with Udemy’s 30-day unconditional, money-back-in-full guarantee. And why not give such a guarantee, when we are convinced the course will provide a ton of value for you?

Just subscribe to this course! If you don't acquire these skills now, you will miss an opportunity to separate yourself from the others. Don't risk your future success! Let's start learning together now!

Who this course is for:
  • Aspiring data scientists
  • Programming beginners
  • People interested in finance and investments
  • Programmers who want to specialize in finance
  • Everyone who wants to learn how to code and apply their skills in practice
  • Finance graduates and professionals who need to better apply their knowledge in Python
Course content
Expand all 111 lectures 08:15:11
+ Welcome! Course Introduction
2 lectures 08:04

In this video, we will discuss:

  • who are the instructors of the course
  • what the course is about
  • who it is for
  • the wide range of topics covered in this course 
Preview 05:10

Learn how to navigate in the Course Content section and find the resources available for all lectures.

Download Useful Resources - Exercises and Solutions
+ Introduction to programming with Python
7 lectures 33:22

In this lesson, we will explain what you must know about programming if you are just getting started.

Programming Explained in 5 Minutes

Programming Explained in 5 Minutes
2 questions

Python is a programming language characterized as:

  • open-source
  • general-purpose
  • high-level
Why Python?
Why Python?
2 questions

You must install Python and Jupyter on your computer. If you have them, you can still complete this lecture, because we will say a few interesting things about Jupyter.

Why Jupyter?
Why Jupyter?
2 questions

There are various ways to install Python on your computer. But especially for new users, it is highly recommended to choose Anaconda. It will install, not only Python, but also the Jupyter Notebook App and many scientific computing and data science packages.

Installing Python and Jupyter

In this lesson, we’ll do a quick tour of the Jupyter dashboard. You’ll see how to:

  • manipulate files and folders in the Jupyter dashboard
  • upload and open Python files in Jupyter
  • create new Python files in Jupyter
Jupyter’s Interface – the Dashboard

Now that we know more about the dashboard, we are ready to examine the shell and see how to code in Jupyter.  

Jupyter’s Interface – Prerequisites for Coding
Jupyter’s Interface
4 questions
Python 2 vs Python 3: What's the Difference?
+ Python Variables and Data Types
3 lectures 20:13

In this lesson, we will start coding. We will also introduce you to one of the main concepts in programming – variables.

Preview 04:51
1 question

Two distinct numeric types in Python are:

  • integers
  • floating points (floats)
Numbers and Boolean Values
Numbers and Boolean Values
1 question

In this lesson, we’ll learn about another type of value that can be useful when working in Python – strings. Strings are text values composed of a sequence of characters.

3 questions
+ Basic Python Syntax
7 lectures 15:13

We’ll continue to build our Python syntax knowledge. The next topic on our agenda is arithmetic operators:

  • addition (+)
  • subtraction (-)
  • division (/)
  • multiplication (*)
  • remainder (%)
  • exponentiation (**)
Arithmetic Operators
Arithmetic Operators
1 question

Here, we will explore another useful operator - the double equality sign.

The Double Equality Sign
The Double Equality Sign
1 question

In this video, we will show you how to reassign variables in Python.

Reassign Values
Reassign values
1 question

Learn how to use the hash sign for writing comments in Python.

Add Comments
Add Comments
1 question

In this video, we will show you a neat trick that will be extremely valuable when you become an advanced Python programmer and work with large amounts of code – using the forward slash to finish your code on a new line.

Line Continuation

Let’s look at another important concept that will help us a great deal when working in Python - indexing. This is a technique we’ll use frequently, later in the course, especially when we focus on Python’s application in the world of finance.

Indexing Elements
Indexing Elements
1 question

The next concept for programming in Python that we will see is fundamental – it is called indentation. The way you apply it in practice is important, as this will be the only mechanism to communicate your ideas to the machine properly.

Structure Your Code with Indentation
Structure Your Code with Indentation
1 question
+ Python Operators Continued
2 lectures 07:45

In this section, we will learn more about the operators that will help us in our work in Python. We will start with comparison operators.

Comparison Operators
Comparison Operators
2 questions

Briefly, the logical operators in Python are the words “not”, “and”, and “or”. They compare a certain number of statements and return Boolean values – “True” or “False” – hence their second name, Boolean operators.

Logical and Identity Operators
Logical and Identity Operators
2 questions
+ Conditional Statements
4 lectures 27:44

Values act as the most basic (or primitive) data elements to form not only variables, but expressions. In this video, you will learn about a prominent example of conditional statements in Python – the IF statement.

Introduction to the IF statement
Introduction to the IF statement
1 question

Here, we will focus on adding an ELSE statement to a conditional in Python.

Add an ELSE statement

We’ll show you an elegant way to add a second IF statement to one of our expressions. This is done with the help of the ELIF keyword.

Preview 11:16

You probably noticed we talked about Boolean values a few times. We would like to provide a short video that explains their application.

A Note on Boolean values
A Note on Boolean Values
1 question
+ Python Functions
7 lectures 29:26

In this section, we’ll step it up a notch. Starting from this lesson, we’ll deal with Python’s functions - an invaluable tool for programmers.

Defining a Function in Python

Our next task will be to create a function with a parameter.

Creating a Function with a Parameter

In this lesson, we will explore another way to organize the definition of a function.

Another Way to Define a Function
Another Way to Define a Function
1 question

This video provides an example of how to work with functions within functions.

Using a Function in another Function

Combining two of Python’s main tools:

  • IF statements
  • functions
Combining Conditional Statements and Functions

We’ll learn how to work with more than one parameter in a function.

Creating Functions Containing a Few Arguments

When you install Python on your computer, you are also installing some of its built-in functions, such as:

  • type()
  • int()
  • float()
  • str()
  • max()
  • min()
  • len(), and more
Notable Built-in Functions in Python
2 questions
+ Python Sequences
5 lectures 34:49

In this section, we’ll cover these types of Python objects:

  • lists
  • tuples
  • dictionaries
1 question

We will introduce you to the programming term “method” and then see how to invoke a method in Python.

Using Methods
Using Methods
1 question

In this lesson, we’ll introduce you to another important Python concept – slicing.

List Slicing

Let’s discover the tuple – another type of data sequence. Different from a list, the tuple is immutable.


Now that you know what lists and tuples are, you will more quickly understand what dictionaries are about. Dictionaries represent another way of storing data.

1 question
+ Using Iterations in Python
6 lectures 32:30

In this section, we will be dealing with iteration – a fundamental building block of all programs. It allows us to execute a certain code repeatedly.

Here, we will show you how one could use a for- loop in Python. 

For Loops
For Loops
1 question

The same output we obtained in the previous lesson could be achieved after using a while loop, instead of a for loop. That’s what we will do in this lecture.

While Loops and Incrementing

In this lesson, we will show you how to create a Python list with the range() function.

Create Lists with the range() Function
Create Lists with the range() Function
1 question

Let’s see how one could apply the range() function in a for- loop in Python.

Use Conditional Statements and Loops Together

We will count the number of items whose value is less than 20 in a list. To achieve this, we will use these tools:

  • Python conditional statements
  • Python functions
  • Python loops
All In – Conditional Statements, Functions, and Loops

Time for a more challenging topic – iterating over a dictionary.

Iterating over Dictionaries
+ Advanced Python tools
16 lectures 01:04:10

The focus of this video is object-oriented programming, OOP. We will explain:

  • what it is
  • which programming languages support it
Preview 05:00
Object Oriented Programming - Quiz
2 questions

It is time to learn about Python modules and packages. This will be necessary in the Python for Finance part of the course, too.

Modules and Packages
Modules - Quiz
2 questions

Let’s talk about Python’s standard library. It is a collection of modules available as soon as you install Python.

The Standard Library
The Standard Library - Quiz
1 question

There are four ways to import a module in Python. You can decide which one you will use when working on your own.

Importing Modules
Importing Modules - Quiz
2 questions

Here, we will present the Python libraries and modules used in this course:

  • numpy
  • pandas
  • pandas-datareader
  • matplotlib
  • math
  • statsmodels, and more
Must-have packages for Finance and Data Science
Must-have packages - Quiz
3 questions

Arrays are fundamental data structures in any programming language. We will introduce you to them in this lesson.

Working with arrays

When working with financial data, you won’t always base your calculations on existing data. Sometimes, it will be necessary to run simulations and examine hypothetical scenarios, because historical data will be insufficient. In these situations, you will need a whole set of randomly generated numbers.

Generating Random Numbers
A Note on Using Financial Data in Python
Sources of Financial Data
Accessing the Notebook Files

This is an important lecture, as we will explain how we have organized the Python for Finance part of the course in terms of working with financial data downloaded from Yahoo Finance.

Importing and Organizing Data in Python – part I

In this video, we will take the first steps to extract data from online sources.

Importing and Organizing Data in Python – part II.A
Importing and Organizing Data in Python – part II.B

Here, we will add a few tools and techniques to your skillset, allowing you to analyse the data in your DataFrame.  

Importing and Organizing Data in Python – part III
Changing the Index of Your Time-Series Data
Restarting the Jupyter Kernel