Overview
Python is a programming language that has gained huge popularity in the financial industry. Adopted by the largest investment banks and hedge funds, it is being used to build a wide range of financial applications ranging from core trading programs to risk management systems.
In this instructor-led, live training, participants will learn how to use Python to develop practical applications for solving a number of specific finance related problems.
By the end of this training, participants will be able to:
- Understand the fundamentals of the Python programming language
- Download, install and maintain the best development tools for creating financial applications in Python
- Select and utilize the most suitable Python packages and programming techniques to organize, visualize, and analyze financial data from various sources (CSV, Excel, databases, web, etc.)
- Build applications that solve problems related to asset allocation, risk analysis, investment performance and more
- Troubleshoot, integrate, deploy, and optimize a Python application
Audience
- Developers
- Analysts
- Quants
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- This training aims to provide solutions for some of the principle problems faced by finance professionals. However, if you have a particular topic, tool or technique that you wish to append or elaborate further on, please please contact us to arrange.
Requirements
- An understanding of finance (securities, derivatives, etc.)
- A general understanding of probability and statistics
- Elementary differential and integral calculus
Course Outline
Introduction
Setting up the Development Environment
- Programming locally vs online: Anaconda and Jupyter
Python Programming Fundamentals
- Control structures, data types, functions, data structures and operators
Extending Python’s Capabilities
- Modules and Packages
Your first Python Application
- Estimating beginning and ending dates and times
Accessing External Data with Python
- Importing and exporting, reading and writing CSV data
- Accessing data in an SQL database
Organizing Data Using Arrays and Vectors in Python
- NumPy and vectorized functions
Visualizing Data with Python
- Matplotlib for 2D and 3D plotting, pyplot, and SciPy
Analyzing Data with Python
- Data analysis with scipy.stats and pandas
- Importing and exporting financial data (Excel, website data, etc.)
Simulating Asset Price Trajectories
- Monte Carlo simulation
Asset Allocation and Portfolio Optimization
- Performing capital allocation, asset allocation, and risk assessment
Risk Analysis and Investment Performance
- Defining and solving portfolio optimization problems
Fixed-Income Analysis and Option Pricing
- Performing fixed-income analysis and option pricing
Financial Time Series Analysis
- Analyzing time series data in financial markets
Taking Your Python Application into Production
- Integrating your application with Excel and other web applications
Application Performance
- Optimizing your application
- Parallel Computing and Multiprocessing
Troubleshooting
Closing Remarks