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.
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.
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/
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.
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.
"Rajah's willingness to explain the material in depth and the examples he provides. The assignments have also been an active learning process and very beneficial overall."
"The ability to learn compact coding methods to advance the metaphorical axe and learning about financial trends and the market behavior is finding the metaphorical right trees. This course has helped me in learning hours of python in minutes while also gaining an edge in my way to observe financial markets"
"Instructor is extremely patient and answers every question"
"I am a big fan of Rajah's communication style and the way he runs class. He is an excellent instructor and always makes time for questions."
"I enjoy the organization of the course syllabus and how it directly gets into the use of the material in real life situations."
"The teacher stands out more than anything because he's very responsive and on top of discord discussions and he's encouraging."
"1. Great finance website for non-financial background people like me.
2. Great resources available to practice on our own later one.
3. We learn in a collaborative and friendly environment "no competition"."
"Lots of industry relevance. Not just about the code."
"I enjoy the step by step approach and examples that demonstrate how to make solutions to problems."
"The content is broad enough to cover the necessary topics/fundamentals, but also focused enough on specific topics required for financial analysis. Also, the classes themselves are a little more challenging at times (which is good), while the assignments are still reasonable (not too difficult) which is great for beginners like me."