Wednesday 4:25 p.m.–5 p.m.

Developing an Expression Language for Quantitative Financial Modeling

Scott Sanderson

Audience level:
Experienced

Description

We discuss the design and implementation of zipline.modeling, a new component of the backtesting engine that powers Quantopian. Drawing inspiration from libraries such as SQLAlchemy, Dask, and Theano, we develop a declarative API for concisely describing efficient computations on financial data. Along the way, we consider some of the unique challenges of computing in the financial domain.

Abstract

This talk details the challenges addressed during the development of Zipline's new Modeling API, which provides a high-level expression language allowing users to describe computations on rolling windows of continuously-adjusted financial data. We discuss the notion of "perspectival" time-series data, arguing that this concept provides a useful framework for formally reasoning about financial data in the face of domain oddities like stock splits, dividends, and restatements.

We also consider the architectural and performance benefits of developing an API focused on symbolic computation, drawing comparisons to several recent developments in the Python numerical ecosystem.

Sponsors


Become a sponsor.