Wednesday 11:30 AM–12:10 PM in Central Park West (#6501)

Using dask for large systems of financial models

Petr Wolf, Dhivya Shankaranarayan

Audience level:
Intermediate

Description

Python and its open source libraries have been gaining momentum in the financial industry. In this talk, we focus on large systems of predictive models used in planning and stress-testing, areas historically dominated by Excel, SAS and manual processes. We apply principles of modularity, functional programming and continuous integration to build composable and re-usable networks of models.

Abstract

Python in Finance

In Finance, models play a key role in many areas from pricing and risk calculation to planning to automated trading or fraud detection. In this talk, we explore the area of stress-testing, forecasting and decision making and show how python can be used to effectively replace and improve upon traditional non-integrated solutions.

Networks of models

While predictive models are typically developed and tested in isolation, they are eventually used in combination with other models in a complex network of up-stream, down-streamed and cyclical dependencies representing various financial statements, business areas, intra-company functions or entities in the market.

The integrity and consistency of such a network needs to be maintained over time, as individual models get improved or replaced, as business structure evolves and as underlying data change. This is hard or impossible without a programmatic solution.

Therefore models need a clear interface between each other, a simple way of operating standalone and a flexible tooling for integration into more complex networks and use-cases.

Structured approach to model design

To solve the challenges above, we apply the best practices of software engineering and functional programming to define a set of guidelines for model development:

Example implementation

Using python decorators and the dask library, we build a sample model, define its interface and show how it can be programmatically inspected to connect it with other models.

A Jupyter notebook with additional details will be available as part of the talk materials.

Higher-level workflows

By using a decorated function as a basic building block, we compose higher-level constructs such as networks of models and take advantage of “embarrassingly parallel” nature of many applications including sensitivity testing, “Monte-Carlo” simulations or reverse stress-testing, optimization and reinforcement learning.

Role of open source

Last, but not least, we will touch upon the role of Open Source Software in corporations, how the approach has been changing and what individuals can do to help promote it.

Audience

This talk is targeted for

Keywords

Finance, Modeling, DAG, dask, networks, Jupyter, Excel, SAS

Subscribe to Receive PyData Updates

Subscribe