Course description

*With many businesses now working from home, we have introduced virtual learning so we can continue to deliver high quality training to the financial community as we accommodate this new way of working. Since 2003, Fitch Learning has been delivering virtual learning programs to clients and learners. Building on this extensive experience, we are now able to offer a range of public courses in a live online environment, whilst ensuring you will get the same value as you would in our classroom courses.
Advanced Python Modeling in Finance
This course offers a continuation of the intermediate course in Python by providing a more in-depth examination of secondary Python packages that contain useful tools for a quantitative analyst’s daily workflow. In particular, it explores in further detail Python tools that are relevant for creating dashboard visualizations, web scraping, natural language processing, creating C++/Python bindings, interacting with SQL databases, unit testing, versioning Python code and deployment automation.
This course gives 16 CPD hours.
Who should attend?
This course is ideal for financial analysts, business analysts, portfolio analysts, quantitative analysts, risk managers, model validators, quantitative developers and information systems professionals. Taking either the intermediate level course or having a working knowledge of the Python language is a prerequisite to attending this course. We expect participants to have a basic knowledge of finance and basic notions of programming as well.
Training content
Day One
Review
- Briefly review relevant content from the intermediate course relevant to topics that will be discussed including pandas data frames and static matplotlib plotting functions
- Demonstrate a command line interface development workflow that will be needed for testing dashboard applications
- Create all static data and graphical components of a time series view applications which we will build an interactive dashboard around later
Interactive Dashboards with Dash/Plot.ly
- Overview of the Dash/Plot.ly framework and how it compares and contrasts with other front-end development frameworks such as D3, Tableau, etc.
- Discuss the structure of a plot.ly script that provides a static browser-based time series visualization
- Extend the previous example to an interactive visualization that includes dropdowns to select different time series, text input to accept window sizes lengths, etc.
- Describe how to host, add an authentication layer, and manage a dash dashboard application
Web Scraping in Python
- Review fundamentals of the urllib2 and Beautiful Soup Python packages and their application to web scraping
- Go through an example of scraping stock price and fundamental information from yahoo finance
- Download, parse, and process text data associated with news articles
Natural Language Processing Tools
- Review the Natural Language Processing Toolkit (NLTK) package in Python
- Discuss how to stem, remove stop works, and develop bag of words and n-gram representations of text
- Use Python’s Natural Language Processing Toolkit package to develop basic sentiment analysis tools for the text related to news articles
Day Two
Profiling Code and C++ Bindings
- Review Python performance limitations
- Discuss options for improving performance of time critical portions of code by utilizing C++ binding options including Numba, CFFI, and Boost. Python
- Provide a code profiling demonstration that shows how to identify performance bottlenecks
- Create a CFFI C++ function and associated Python binding example and quantify performance increases
Managing SQL Databases with Python
- Review MySQL and the SQLAlchemy packages
- Create an example MySQL database, add and remove data directly using SQLAlchemy functions
- Construct dynamic queries using Python functions within SQLAlchemy
- Integrate these functions into the previous dashboard we constructed if time permits
Versioning, Unit Testing and Deployment Automation
- Discuss the git framework for version Python source code and why it is important as codebases increase in size
- Give an overview and example of the py.test unit testing framework and discuss importance of test-driven development
- Review open source tools to automate the unit test, package creation for multiple platforms and deployment processes for Python code
Contact this provider

Fitch Learning
*With many businesses now working from home, we have introduced virtual learning so we can continue to deliver high quality training to the financial community as we accommodate this new way of working. Since 2003, Fitch Learning has been delivering...