Python has established itself as a real contender in the Quant Finance world to implement efficient analytics workflows and performant applications.

Although being an interpreted language, quantative analysts and developers can draw on the powerful (scientific) ecosystem that has grown around Python. This ecosystem comprises libraries such as NumPy that allows array management and operations both in a highly vectorized fashion and at the speed of C code.

In addition, using the pandas library makes the management and analysis of financial time series both convenient and efficient. In such a context, data visualization is also easily accomplished with Python.

The workshop also illustrates how to achieve "hardware-bound" input-output operations with Python/NumPy and libraries such as PyTables.

In summary, against the background of financial examples and use cases, the "Python for Finance" workshop introduces to most important language elements, tools and (performance) libraries that Python as a platform technology has to offer for Quant Finance.

Outcomes:

The requires no prior knowledge of Python but knowledge of a similar programming language as well as of standard financial models. You will learn:

* How to best start using Python, related tool and libraries for Quant Finance
* How to model and store data efficiently with Python
* How to implement compact and performant financial algorithms
* How to visualize financial data with Python
* How to manage and analyze financial time series data
* How to implement performant I/O operations
* How to increase the performance of financial Python code

Lecture 1. Python and Tools

The first lecture shows how to efficiently set-up a Python and develeopment environment for Quant Finance. It also introduces into IPython, and in particular into the Notebook version which allows interactive, browser-based financial analytics with Python

Lecture 2. Introductory Financial Use Cases

This lecture immediately dives into three canonical use cases: calculating and plotting implied volatilities, implementing performant Monte Carlo simulations, backtesting a trend based trading strategy. These use cases illustrate the benefits of the major Python libraries (NumPy, pandas), explained in detail in later lectures.

Lecture 3. Data Types/Structures and Visualization

This lecture is all about data modeling and storage with Python and the visualization of data. It introduces the basic data types and structures in Python, shows how to make use of NumPy's array capabilities and how to write vectorized numerical code with Python/NumPy.

Lecture 4. Financial Time Series

This lecture is about the use of the pandas library for the management and analysis of financial time series. It shows examples implementing simple and advanced analytics as well as time series visualization. It also shows how to work with High Frequency data.

Lecture 5. Input-Output Operations

Financial analytics and financial application development mainly rests on the efficient and performant management and movement of (large, big) data. This lecture illustrates how to make sure that data reading and writing (to HDDs, SSDs) takes place at the maximum speed that any given hardware component allows. Examples also illustrate how to make use of compression techniques in such a context.

Lecture 6. Performance Libraries

The Python ecosystem has to offer a number of powerful performance libraries. For example, using the Numba dynamic compling library allows to compile Python byte code at call-time to machine code by using the LLVM infrastructure. The resulting compiled functions are directly callable from Python. Similarly, using the Multiprocessing module of Python makes parallelization of Python function executions a simple and efficient task.

About the Presenter:

Dr. Yves J. Hilpisch is the founder and managing director of The Python Quants GmbH, Germany. The company provides Python-based financial and derivatives analytics software (http://quant-platform.com) as well as consulting services and training related to Python and Finance. He is author of the books "Derivatives Analytics with Python" (see http://www.derivatives-analytics-with-python.com) as well as "Python for Finance - Analyze Big Financial Data" (seehttp://oreil.ly/1kAwNp5).

To take the course programming experience is expected in some languages; C, VB, Fortran, Matlab etc. Experience with C, C++ will also come in useful for some topics. Object oriented programming skills are not totally necessary but will also help. A knowledge of calculus, statistics, signal and image processing, optimization will all assist your learning but are not absolutely required.

CPD Certification

You will be able to receive up to 20 CPD points(10 hours of structured CPD and 10 hours of self-directed CPD) for completing this course.

The CPD Certification Service was established in 1996 as the independent CPD accreditation institution operating across industry sectors to complement the CPD policies of professional and academic bodies. The CPD Certification Service provides recognised independent CPD accreditation compatible with global CPD principles.