
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Follow seven tips to maximize learning in this course: review the overview, explore the content, and use the ai assistant, then download materials, practice coding, and avoid skipping sections.
Install the Python data science ecosystem with Anaconda from anaconda.com to manage dependencies and run Jupyter notebooks and IDEs like PyCharm or Spyder on Windows, Mac, or Linux.
Explore the Anaconda Navigator to launch Jupyter Notebook or Lab, manage the base environment, and run your first Python calculations using shift-enter and alt-enter.
Explore how Jupyter notebooks provide an interactive Python environment with code and markdown, and learn modes, cell operations, headers, and shortcuts like shift enter.
This part one course teaches python basics with fundamental business and finance concepts across seven sections, using python as a calculator for time value of money, npv, and irr.
Gain foundational skills in time value of money and capital budgeting with basic Python code and Nampai to build retirement, mortgage, bond, and project evaluation applications.
Explore the time value of money, showing why a dollar today is more valuable than tomorrow, and learn to compute future and present values with compound interest and discounting.
Use python as a calculator to compute future value with compounding, showing 100 at 3% for one and three years, including brackets and exponentiation.
Explore Udemy's new online coding exercises to practice Python coding with immediate feedback, using print to display computed future value from 5000 dollars over three years at 4.35%.
Learn to calculate present value with Python by discounting future cash at 4.5 percent, using division and exponent methods to value 110 today and over three years.
Calculate interest rates from future and present values using the formula for rate with compounding, and compute stock returns, including price return, dividend yield, and total return.
Apply python to calculate interest rates and returns from future value and present value, explore per annum rates and multiplier effect, and compute stock price returns, dividends, and total return.
Learn how to use Python variables to store calculation results, such as future value from present value, interest rate, and periods, using assignment and retrieval.
Learn how to add and use inline comments in Python to improve code readability, including hash syntax, end-of-line comments, and strategically commenting out code.
Explain how Python stores values in memory by illustrating memory slots, addresses, and how variables reference objects, using 0.03 as an example to show assignment and lookup.
Explore how Python assigns and reassigns variables, updates references, and manages memory as objects gain or lose references and new memory addresses are created.
Learn to name variables in python by following conventions: start with a lowercase letter, avoid spaces or numbers at the start, use underscores, and avoid reserved keywords.
Learn how the print() function outputs values to the screen, prints multiple calculations with a comma, and customize separators or new lines to show intermediate results in loops.
Practice Python as a calculator for time value of money, storing inputs, computing future value, present value, price return, dividend yield, total return, and printing results.
Apply time value of money concepts to projects with many cash flows by compounding each cash flow to a common horizon and summing the results.
Learn how Python lists act as containers to store multiple objects, create a list of six cash flows using square brackets, and assign it to a variable.
Learn zero-based indexing and negative indexing in Python lists, including accessing the first element at index 0 and the last at -1, with examples using 100 and 30.
Learn zero-based and negative indexing of lists to access cash flows and timestamps, then compute future value via compounding at 3% per year over five periods.
Learn to use for loops to iterate over lists and perform actions on each element, such as printing, summing, or converting values with a rate.
Explore how the range object works as an iterable, including start, stop, and step, converting to lists, indexing, and memory-efficient iteration for large data.
Calculate the future value and present value for multiple cash flows using Python lists and compounding periods, applying interest rates to evaluate savings and payout plans.
Learn net present value (NPV) by comparing the present value of cash inflows to the initial investment, using cost of capital and WACC to decide accept or reject.
Calculate the net present value of an investment by discounting cash flows at 6%, showing positive NPV leads to acceptance, while higher initial outlay yields negative NPV and rejection.
Develop practical Python skills for finance by working through lists, indexing, and for loops to model cash flows, future value, and net present value for the ABC company.
Discover how Python treats data as objects, examining integers, floats, strings, booleans, lists, and ranges, and how type checks, the print function, and variables relate to object oriented programming.
Explore the Python data type hierarchy, where everything is an object, covering numbers, strings, lists, sets (mutable and immutable), dictionaries, and built-in and user-defined functions.
Explore dynamic typing in python, showing how variables can hold int, string, and list values at runtime, contrasting with static typing in languages like java.
Explore common Python built-in functions like len, print, sum, min, and max to perform everyday data operations, handle multiple data types, and customize output with parameters.
Discover Python's integer data type, perform arithmetic with integers, and see how division returns a float; explore the bit_length method and binary representation for bit counts.
Explore floats as decimals in Python, see how integer division yields a float, and understand binary representation and precision issues with 0.1 versus 0.3, using formatting to inspect decimals.
Master rounding in Python with round(): round floats and integers to the next integer by default, specify digits or multiples, and learn banker's rounding and binary representation limits.
Explore lists as flexible Python collections for storing diverse data types. Learn to compute length, sum, max, min, and mean, and use indexing, enumerate, append, copy, and count.
Learn to update lists of cash flows by applying per-element changes, such as increasing by 10 percent or subtracting 20, using loops and the append method.
Learn to slice lists in Python using zero-based and negative indexing to access subsets; explore ranges, inclusive and exclusive bounds, steps, reversing, and selecting every second element.
Learn to modify list elements in Python by indexing and assigning new values, use slicing to update multiple items, and understand that broadcasting doesn’t work with lists.
Learn to reverse lists with slicing and the reverse method, and distinguish in place changes from creating new objects. Practice sorting lists from low to high.
Learn how to add and remove elements in Python lists. Use append, extend, and insert, understand concatenation of lists, and practice in-place updates versus creating new objects.
Explore Python mutability through immutable integers and mutable lists, showing how assignments create new objects or references, how in-place operations mutate lists, and how reassignment differs.
Explore mutable vs immutable objects by creating independent copies of lists and using the copy method to avoid shared references.
Explore Python basics of data types and lists, use built-in functions to sum, measure length, and find maxima, and practice slicing, mutability, and list operations like append, remove, and copy.
Explore tuples, the immutable sequence type in Python, and compare them with lists. Learn to index, use count and index methods, and convert between tuples and lists.
Create and manipulate dictionaries in Python by pairing keys and values, access and update entries, and explore methods like keys, values, and items, plus building dicts with zip.
Explore Python strings as immutable sequences of characters, learning indexing, slicing, concatenation with plus operator, type conversion with int and float, and key methods like upper, lower, capitalize, and title.
Learn to replace parts of strings using the format method for dynamic updates, such as updating an interest rate and printing cash flows with timestamps via loop-driven, placeholder-based replacements.
Explore boolean values in Python, including true and false and the bool type, showing how booleans act as numbers and support arithmetic like true plus false equals 1.
Explore Python operators, including arithmetic, assignment, comparison, logical, identity, membership, and bitwise, with examples of +, -, *, /, **, =, and not.
Explore Python's comparison, logical, and membership operators in action, including equality and identity checks, and how in and not in work with lists and strings.
Practice with a topper, indexing and mutating elements, building and iterating dictionaries, manipulating strings and uppercase, and exploring list identity versus equality and boolean logic with and not.
Learn how to use Python conditional statements, including if, elif, and else, within loops to evaluate list elements and classify cash flows as positive, negative, or zero with prints.
Explore how Python's pass, continue, and break control flow shape list processing and conditional logic in cash flow examples, including positive, negative, and zero cases.
Determine a project's payback period by calculating cumulative cash flows to reach a positive cash flow, illustrating break-even points and scenarios where a project does not break even.
Explore while loops in Python, using a and b to decrement a until it equals b, tracking the difference, and contrast with for loops and break to avoid infinite loops.
Explore the internal rate of return as the rate that makes a project’s net present value zero, compare IRR to the required return, and use iteration for multiple cash flows.
Compute a project's IRR in python by iterating the NPV with a discounting factor, refining the initial guess via a while loop and tolerance until the NPV approaches zero.
Explore bonds and yield to maturity (YTM) theory, including coupon payments, principal, par value, price dynamics, and how to compute current YTM to compare debt costs.
Compute a bond's yield to maturity by building nine years of coupon cash flows plus principal, then solve for YTM with a zero-NPV target using a Python IRR-style loop.
Practice loops and conditional statements to separate cash flows, identify first unprofitable year, and compute internal rate of return and yield to maturity from a cash flow plan.
Discover how to create meaningful graphs in minutes with Matplotlib, the leading plotting library in Python, and explore unlimited figure customization and easy basic plots.
Create a matplotlib line plot of cash flows by importing the plotting library, plot and customize x and y values, and show accumulated cash flow as a hockey-stick break-even curve.
Create scatter plots from six cash flows and accumulated cash flows by passing x and y values, importing the plotting library, and visualizing data points without connecting lines.
Customize plots from the Kaslow plot by adjusting figure size, color, line width, style, and markers; explore combining line and scatter plots with titles, labels, and annotations for clarity.
Learn to customize a financial plot by adding grid lines, horizontal lines at npv zero, titles, axis labels, tick marks, annotations, legend positioning, and seaborn styling to highlight break-even points.
Visualize how net present value varies with the internal rate of return by plotting NPV across a range of required returns, illustrating NPV crossing zero at IRR.
Discover why Python's ecosystem of packages powers data science, statistics, visualization, and machine learning, and master Nampai and the math module for present value and future value calculations.
Learn to use numpy arrays for efficient element-wise arithmetic, convert lists to arrays, perform vectorized operations, and understand homogeneous data types and common pitfalls.
Master indexing and slicing of NumPy arrays, using zero-based and negative indexing, and slicing with start, stop, and step, including reversing order with a step of -1.
Explore vectorized operations with numpy arrays to compute cash flow present values and net present value, using scalar and array broadcasts, one-line calculations, and discounting.
Learn how to change elements in numpy arrays, apply scalar assignments via broadcasting, and distinguish mutable behavior, slicing views, and copying to avoid unintended modifications.
Explore view versus copy when slicing numpy arrays, learn why a slice can modify the original array, and use .copy() to create an independent object.
Learn NumPy array methods and attributes like max, min, argmax, sum, and cumulative sum for one- and multi-dimensional arrays. Visualize cumulative cash flows and inspect shape and size attributes.
Explore numpy universal functions for element-wise operations and broadcasting on arrays and lists, including square root, exp, power, absolute value, rounding, ceil, and floor, with practical examples.
Explore boolean arrays and conditional filtering to separate list elements by a condition, such as negative versus positive values, using boolean masks to produce new filtered arrays and views.
Learn advanced filtering with multiple conditions by building boolean masks, combining them with bitwise operators, and applying to cash flows to flag negative or large-magnitude values.
The lecture explains calculating a project's payback period using numpy, building accumulated cash flows, and using np.where to identify the first break-even year.
Learn to create numpy arrays from scratch with arange and linspace, control start, stop, and step, generate 0s and 1s, and plot the sine function from -10 to 10.
Explore nampai arrays with vector operations, indexing, and slicing, then compute net present value and cash flows using nampai code. Create copies, filter with logic, and plot the cosine function.
Explore evaluating investments with npf.npv() and npf.irr() in Python, installing the numpy-financial package, and applying cash flow analysis to decide on projects and bonds.
Evaluate annuities and compute future value using npf.fv() in a funding phase scenario. Use a 25-year, 2000 annual payment at 3% to illustrate retirement funding and present-value effects.
Evaluate the payout phase of a retirement annuity using npf.fv() to compute future value after 25 years, with 100000 initial value, 5000 payouts, 3% interest, and a 27000 balloon payment.
Compute annual payments to reach $100,000 in 25 years at 3% using npf.pmt. The example uses a zero present value and 25 annuity payments.
Learn to solve for the number of periodic payments with npf.nper in an annuity, using rate, payment, present value, and future value, illustrated by a retirement growth example.
Calculate the required contract value at retirement by computing present value of a 25 year annuity paying 5000 annually at 3%, with 20000 remaining, using npf.pv to estimate about 96,000.
Compare monthly and quarterly compounding to annual, and see how 3% with quarterly compounding yields 106.16 future value and a 3.03% effective rate.
Evaluate a retirement plan by modeling the funding and payout phases with 4% and 3% annual rates to determine monthly deposits and the present value of payouts.
Conduct a retirement plan sensitivity analysis across payout-phase interest rates to see how lower rates raise monthly funding and alter the present value.
Explore amortizing mortgage loan analysis to size debt using loan to value ratio and debt service coverage ratio, compute the effective annual rate, and determine the maximum initial loan amount.
Analyze a 300k mortgage with 5 percent annual interest and a 1600 monthly payment, tracing interest and principal through a 360 months amortization to 8,709.
Compute the present value of a quarterly coupon bond using numpy's npf.pv, showing how a 5% coupon and 4.5% yield price at 102 per 100 par.
Examine capital budgeting with mutually exclusive projects and conflicting NPV and IRR. Compare two projects with a 200 million initial investment under a six percent required rate of return, using cumulative cash flows and break-even insights before applying time value of money.
Examine capital budgeting for mutually exclusive projects by comparing two options, showing IRR can favor project B while NPV favors project A at six percent; thus NPV is preferred.
Use net present value to compare mutually exclusive projects, compute the crossover rate with Python, and decide that project A is optimal when the required rate is below about 12.91%.
Explore descriptive and inferential statistics in Python, using Nampai and CI Pay, with topics like the normal distribution, Student's t distribution, hypothesis testing, p-values, and regression basics.
Explore advanced statistics with Python to build confidence intervals for normally distributed data, perform hypothesis tests with known and unknown variances, and assess normality in financial returns.
Download the part two course materials, unzip the file, and import the CSB/CSV datasets into Tibetan notebooks, ensuring the data and notebook are in the same folder.
Hi and welcome to this Course!
This is the first-ever comprehensive Python Course for Business and Finance Professionals. You will learn and master Python from Zero and the full Python Data Science Stack with real Examples and Projects taken from the Business and Finance world.
This isn´t just a coding course. You will understand and master all required theoretical concepts behind the projects and the code from scratch.
Important: the quality Benchmark for the theory part is the CFA (Chartered Financial Analyst) Curriculum. The Instructor of this course holds a Master´s Degree in Finance and passed all three CFA Exams. In this course, we leave absolutely no room for wrong/dubious (but frequently promoted) practices like LSTM stock price predictions or using stock prices in linear regressions.
You will become an expert not only in Python Coding but also in
Business & Finance (Time Value of Money, Capital Budgeting, Risk, Return & Correlation, Monte Carlo Simulations, Quality and Risk Management in Production and Finance, Mortgage Loans, Annuities and Retirement Planning, Portfolio Theory, Portfolio Optimization, Asset Pricing & Factor Models, Value-at-Risk)
Statistics (descriptive & inferential statistics, Confidence Intervals, Hypothesis Testing, Normal Distribution & Student´s t-distribution, p-value, Bootstrapping Method, Monte Carlo Simulations, Normality of Returns)
Regression (Covariance & Correlation, Linear Regression, Multiple Regression and its pitfalls, Hypothesis Testing of Regression Coefficients, Logistic Regression, ANOVA, Dummy Variables, Links to Machine Learning, Fama-French Factor Models)
This course follows a mutually reinforcing concept: Learning Python and Theory simultaneously:
Learning Python is more effective when having the right context and the right examples (avoid toy examples!).
Learning and mastering essential theories and concepts in Business, Finance, Statistics and Regression is way easier and more effective with Python as you can simulate, visualize and dynamically explain the intuition behind theories, math and formulas.
This course covers in-depth all relevant and commonly used Python Data Science Packages:
Python from the very Basics (Standard Library)
Numpy and Scipy for Numeric, Scientific, Financial, Statistical Coding and Simulations
Pandas to handle, process, clean, aggregate and manipulate Tabular (Financial) Data. You deserve more than just Excel!
statsmodels to perform Regression Analysis, Hypothesis Testing and ANOVA
Matplotlib and Seaborn for scientific Data Visualization
This course isn´t just videos:
Downloadable Jupyter Notebooks with thousands of lines of code
Downloadable PDF Files containing hundreds of slides explaining and repeating the most important concepts
Downloadable Jupyter Notebook with hundreds of coding exercises incl. hints and solutions
I strictly follow one simple rule in my coding courses: No code without explaining the WHY. You won´t hear comments like "...that´s the Python code, feel free to google for more background information and figure it out yourself". Your boss, your clients, your business partners and your colleges don´t accept that. Why should you ever accept this in a course that builds your career? Even the best (coding) results have only little value if they can´t be explained and sold to others.
I am Alexander Hagmann, Finance Professional and best-selling Instructor for (Financial) Data Science, Finance with Python and Algorithmic Trading. Students who completed my courses work in the largest and most popular tech and finance companies all over the world. From my own experience and having coached thousands of professionals and companies online and in-person, there is one key finding: Professionals typically start with the wrong parts of the Python Ecosystem, in the wrong context, with the wrong tone and for the wrong career path.
Do it right the first time and save time and nerves! What are you waiting for? There is no risk for you as you have a 30 Days Money Back Guarantee.
Thanks and looking forward to seeing you in the Course!