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.
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.
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.
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:
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.
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.
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.
This talk is targeted for
dask
Finance, Modeling, DAG, dask
, networks, Jupyter, Excel, SAS