Gain your competitive edge with Python, Finance's favorite language for rapid analysis!
Learn the analytics methodologies that guide global financial institutions â from an expert doing it every day.
Get introduced to the Python language in the Finance context you're familiar with. You'll build valuable connections with professionals on both sides of the industry during the process.
You have some knowledge of Python but you're outside of the financial context. This is your "in". Learn how to apply Python to finance: fundamental financial concepts, calculations, analyses, and models.
You sense there's a gap between your technical knowledge and how to apply it to fintech or finance products. This course teaches you how to conduct analysis and build financial models using Python.
This course puts you on a fast track to learning Python, the language powering the USD 7.3 trillion FinTech industry.
Elucidate the natural bridges between Python and Finance with the best guide you could ask for: Rajah Chacko, Wells Fargo VP Quantitative Analyst.
Coding with Python makes financial analysis lightning-fast, but it can be daunting for the uninitiated.
This course makes it easy â you're seeing yourself get better with every assignment. You'll pool together the skills you learn after 6 weeks to build a working algorithmic trading model.
Leave behind sluggish financial analysis in tools like Excel. You'll practice using the Python language and libraries to perform financial analyses, calculations, and build models with direct support from a professional.
Discover how to unlock value from your data in the financial context. Next, move on to presentation: learn how influential Finance professionals persuade stakeholders on their analysis.
Access all the resources you need to excel in this course and beyond. You'll put theory into practice after every lesson with real-world financial tasks, Python practice problems, and resources hand-picked by Rajah.
Over the last two years, the number of job postings mentioning Python has almost tripled.* Level up your skills to compete with the best through expert training, intense practice, and honest career advice.
*Based on jobs uploaded to the eFinancialCareers resume database in the last six months.
MODULE 1
Learn about Pythonâs main features and how they make Python a great tool for financial specialists. Get familiarized with Anaconda and Jupyter Notebook.
Assignment #1: After installing the Python IDE of your choice, youâll put Python through its paces with some fairly straightforward exercises.
Go Deeper: Research a Python topic from the list provided by Rajah. Analyze what you understand and write down questions to those topics that are less understandable.
+ Class Resource Pack
Start working with libraries. Build or refresh your knowledge of basic Python syntax and commands.
Assignment #2: Youâll create a bond calculator based on its face value, coupon payment, coupon frequency, the current interest rate, and the years to maturity.
Go Deeper: The Python collections and itertools API libraries can do some interesting things. Can you use either library to calculate which combinations of two six-sided dice add up to 7?
+ Class Resource Pack
Learn how to import stock data from Yahoo! Finance and transform the data for analysis using Pandas library.
Assignment #3: Youâll read a .csv of a stockâs price into a dataframe and calculate some stats about it, such as its high, low, and average.
Go Deeper: Add on to Assignment 3 bypass the .csv file (by going directly to an API). Add a method that takes a ticker as an input and prints the same stats. Call that method with three different tickers.
MODULE 2
Get introduced to NumPy library and its features. Understand the difference between arrays and lists and select data with loc and iloc.
Assignment #4: Youâll do your first classes (and methods, if you didnât do them in Assignment #3). Youâll adopt assignment #3 to use NumPy.
Go Deeper: Use the timeit function to compare speeds in Pandas and NumPy.
Learn how to obtain macroeconomic data, clean it, and handle missing data and outliers. Learn how to use Matplotlib or Seaborn to visualize financial data.
Assignment #5: Download two macroeconomic variables that you think are related from FRED into Excel spreadsheets. Load them into Pandas dataframes and plot them in a way that tells a story.
Go Deeper: Practice manipulating and iterating lists in the problems from Rajah.
+ Class Resource Pack
Learn how to use charts and graphs to gain insight, and how to persuade an audience with them.
Assignment #6 (Group work): You'll be broken into teams of 3 or 4 people with mixed backgrounds in finance and computer science. Collaborate outside of class to tell a convincing story about your data and conclusions in a chart.
Go Deeper: Practice list comprehension, dictionary comprehension, and nested loops in problems from Rajah, using a prime number sieve.
Case study: Inflation (How much is too much): https://www.cfr.org/in-brief/how-much-too-much-us-inflation-debate-heats
Weighting of political polls: https://projects.fivethirtyeight.com/biden-approval-rating/
MODULE 3
In this class the students will dive into financial data analysis by learning to calculate rate of return, percentage change and getting familiar with risks.
Assignment #7: Youâll take daily returns for a stock (or index) and calculate the (natural) logarithmic return and produce the basic statistics for the returns (mean 25th, 50th, and 75th percentile).
Go Deeper: Redo one of your previous assignments or practices with a function that throws an error. Handle that error in your main routine.
The students will continue to learn about important financial concepts and will calculate risk, correlation and VaR of a stock portfolio.
Assignment #8: Given a stock index and three tickers from that index, calculate the beta coefficient for those tickers.
Go Deeper: Given two stocks, calculate their correlation.
Why don't we âput all of our eggs in one basketâ? Learn to graph different portfolios and see how the stock makeup changes the expected return.
Assignment #9: Analyzing five stocks, youâll come up with their expected returns and volatilities. Construct three portfolios with high return (and high risk), medium return (and medium risk), and low return (and low risk). Challenge: Can you greatly reduce risk and only slightly reduce returns?
Go Deeper: Complete a small problem set to get familiar with 2 subclasses: defaultdict and namedtuples.
Learn the ins and outs of the simplest predictive model, statsmodels, and how to build a linear regression.
Assignment #10: For the first part, youâll regress (and plot) an OLS of the US inflation rate. For the second part, youâll build on assignment #8 and use statsmodels to calculate the beta coefficients of your three stocks.
Go Deeper: Write a .csv file and Excel spreadsheet. Write and append to a text file.
MODULE 4
Learn about time series using stocks and how to add moving averages to determine trends.
Assignment #11: Download several stock prices, and plot the prices and a simple moving average.
Go Deeper: Load a financial library of your choice and test out some features that interest you.
+ Class Resource Pack
Learn how to build a working trading strategy.
Course Project: Algorithmic Trading Model
For this final project, you'll pull together all the Python skills you've developed in the last 6 weeks to build a basic algorithmic trading model. Find an existing algorithmic trading strategy, either online or in the libraries you've worked with in class. What will you optimize? Without overfitting, refine it to increase its return in an algorithmic model.
Learn the reality of crypto's role in Finance from a FinTech leader. Rajah demos his go-to algorithm for mining a popular coin.