Python for Quant Finance
From Advanced Analytics to
Deployment via the Browser
!
Yves Hilpisch
!
Paris, 22. April 2015
Dr. Yves J. Hilpisch is the founder and managing partner of
The Python Quants, a group focusing on the use of Open
Source technologies for Quant Finance and Data Science.
!
He is the author of "Python for Finance" (O'Reilly, 2014) and
"Derivatives Analytics with Python" (Wiley, 2015).
!
Yves lectures on computational finance at the CQF Program
Dr. Yves J. Hilpisch
The Python Quant
yves@tpq.io
(http://cqf.com) and Saarland University.
!
He is organizer of Meetup groups and conferences about
Python and Open Source for Quant Finance in Frankfurt,
Berlin, London and New York.
Yves is a regular speaker at Python and other technology
http://hilpisch.com
@dyjh
conferences as well as at Quant Finance conferences.
I. Our Market and The Problem
II. How We Solve The Problem
III. Concrete Use Cases
Mega Trends
Some mega trends that influence quant finance
Dynamic communities evolve
to professional networks.
Todays standard is open source,
even for key technologies.
Complex analytics work flows are
coded in the browser.
More and more data sets are
open and free.
Infrastructure is a standardized
commodity, billed by the hour.
Even individuals can trade realtime and with high leverage.
Open Source Data Science
OS languages dominate data science these days
fastest
growing
Poll data from August 2014. Source: http://www.kdnuggets.com
Python as Strategic Platform
Python plays an important role in the open source ecosystem
Python's readable syntax, easy integration with
C/C++, and the wide variety of numerical computing tools
make it a natural choice for financial analytics.
!
It's rapidly becoming the de-facto replacement for a
patchwork of languages and tools at leading financial
institutions.
!
Kirat SinghCo-Founder, President and CTO
Washington Square Technologies
Adoption in Finance
The biggest financial players have already adopted Python
Quartz is Bank of America Merrill Lynchs integrated trading, position
management, pricing and risk management platform. Its the fact that
Quartz uses Python, a remarkably flexible programming language, that
enables it to work so well for such a large development community.
Athena is J.P. Morgan's cross-market risk management and trading system.
Athena includes a globally replicated object-oriented database, a
powerful dependency graph, and a fully integrated stack across pricing, risk
and trading tools. The code is a combination of Python, C++, and Java:
AQR Capital Management is looking for innovative and passionate
developers to design and implement AQRs proprietary research and
production systems. The successful candidate is comfortable working in
the quantitative space and has an aptitude for mathematics. Code using
primarily Python (and some C#).
We are seeking a data engineering software engineer to join our team.
Our data engineers are the backbone of Two Sigmas information-gathering
mission. Experience using several different programming languages such
as Java, Groovy, and Python.
Open Source Revolution
Both in the front and back end OSS revolutionizes finance
FRONT END
In the front end, open source software
revolutionizes how quantitative analysts and
developers work on a daily basis.
BACK END
In the back end, open source software
revolutionizes how analytics workflows and
financial applications are deployed and scaled.
DigitalOcean is a simple and fast cloud hosting
provider built for developers. Customers can
create a cloud server in 55 seconds, and pricing
plans start at only $5 per month for 512MB of
RAM, 20GB SSD, 1 CPU, and 1TB Transfer.
The Problem
Obstacles to using Python & Open Source for Quant Finance
Open Source
fast changing
environment
Vendors & Partners
almost no Python for
Quant Finance experts
Libraries
for financial analytics
mainly missing
Tools & Processes
no real standards,
isolated applications only
Deployment
complex, costly,
lengthy, risky
Maintenance
how to update,
maintain infrastructure?
Diverse End Users
computer & data scientists
as well as domain experts
Training
how to train and
re-train people?
Start
where and how to
start, who to talk to?
I. Our Market and The Problem
II. How We Solve The Problem
III. Concrete Use Cases
The Python Quants
We are uniquely positioned to solve the problem
Products
Technology
& Books
Services & Training
Consulting, Development
& Training
Community
Conferences,
Meetups & Web
Eurex Advanced Services
For Python Quants
Quantshub Training
Python for Quant Finance
The Python Quants
Our current focus and value proposition
Current Focus
Front end (tooling)
& financial libraries
Business Model
Similar to Red Hat:
strong partner for OSS
The software is free. The
subscription is invaluable.
Red Hat customers enjoy
the latest security fixes,
award-winning support,
and committed product
life cycles.
Future Focus
Back end deployment
& scaling
Python Quant Platform
Paradigms in data analytics (as we see it) and where we fit in
!
1. Generation: Move Data Around data analytics started by moving data
from one place to another, analyzing it locally and moving results back to
the remote data source
2. Generation: Move Code Around moving tons of data is costly and time
consuming; moving small code sets is faster and less costly
3. Generation: Don't Move Anything the Browser and Web technologies
allow to work directly and in real-time on the infrastructure where data
and code are stored (replacing remote ssh/ftp access and emulating
desktop experience)
Python Quant Platform
Browser-based, collaborative financial and data analytics
The Python Quant Platform offers
Web-based, scalable, collaborative
financial analytics as well as
rapid financial engineering and
application deployment for
individuals, teams and companies.
Easily deploy it anywhere via Docker
containers & browser-based access.
!
http://trial.quant-platform.com
Python Quant Platform
It integrates all that is needed for modern data analytics
IPython Notebook
GUI-based File Management
Linux & IPython Shell
"Absorb what is useful, discard what is not, and add what is uniquely your own.Bruce Lee
Code Editing
Chat & Forum
Resource Control
Python Quant Platform
Multiple languages, flexible infrastructure and collaboration
Python & More
Full-Fledged
Python Stack
NumPy, SciPy, pandas, PyTables
h5py, matplotlib, IPython,
numexpr Cython LLVM, LLVMpy
Numba, Scikit-learn, many more
Cloud & Dedicated
Linux-based
Infrastructure
PQP can be even deployed on the
smallest DigitalOcean droplet for
5 USD per month. User registration
in 30 seconds, client-specific deployment
in 30 minutes.
PQP can be deployed on dedicated
servers in a data center or
on client premisedirectly or based
on Docker containers.
Users & Collaboration
Accounts, Rights, Sharing
and Security
Using the unique, decade long
developed and matured user
and rights & role management
of Linux as the basis
(bottom-up approach)
Adding standardised features
for team sharing and public sharing.
Application Development
You can manage projects and edit all typical file types
Project File Management
HTML Content
Python Application Logic
Example:!
Flask Web!
Application
CSS Styling
Application Deployment
Your applications can then be directly deployed on the platform
Example:!
Flask Web!
Application
The Python Quant Platform is
based on standard Linux
servers. This allows you to
easily deploy Web- and
browser-based applications on
any kind of infrastructureboth
for internal and external users.
!
Link to Flask Application
DX Analytics
Python-based library for financial, derivatives & risk analytics
DX Analytics is the first Pythonbased financial analytics library
implementing advanced
derivatives and risk analytics
approaches. It is open source,
easily expandable and simple to
integrate. Its strengths lie in
simulation-based analytics.
!
http://dx-analytics.com
Python for Quant Finance Books
Providing know-how, guidance and use cases
Python for Finance teaches the
use of Python for financial
analytics and financial
applications (cf. O'Reilly).
!
Derivatives Analytics with Python
teaches quant finance with selfcontained implementations in
Python (cf. Wiley).
Python for Quant Finance Communities
Organizing conferences and community events
Conferences
225 in New York in 2014
165 in London in 2014
Planned 2015
Frankfurt, New York,
London, Asia
OUR PARTNERS
Thomson Reuters
Bloomberg
Fitch Learning
Pivotal
Meetup Groups
600+ members in London
(biggest group of its kind)
225+ in New York
210+ in Berlin
Planned 2015
Frankfurt
Our Product & Service Platform
All products & services together build an integrated offering
DX Analytics on
PQP
Use
DEXISION from!
PQP
Client
projects &!
deployments
Books
explaining DX
Analytics
Book Codes!
on PQP
Community events
using PQP
Trainings using PQP
Trainings based on
books
THE PYTHON QUANTS GROUP
I. Our Market and The Problem
II. How We Solve The Problem
III. Concrete Use Cases
Concrete Use Cases
From local advanced analytics to large scale deployments
Derivatives Analytics
Doing financial analytics
with DX Analytics
Analytics in the Cloud
Jupyter Notebook server
in Docker container
Quant Platform
Developing and deploying
in the browser
The application uses Python, pandas,
plotly and Flask to retrieve historical
stock price data (from Yahoo! Finance)
and to visualize the data as an
interactive D3.js plot.
Link to HTML version
Link to server
Link to application
Link to HTML5 slides version
Github repository
Github repository
Quant Platform Takeaways
!
Being better and faster
in financial analytics and engineering.
!
Interactively prototype, collaborate on and share
Python, R, Julia, -based analytics workflows and
applications across your organization.
!
Benefit from books, consulting, support and training
from the Python for Quant Finance experts.
!
Be part of the global Python for Quant Finance
Community.
Upcoming Events
!
28. April 01. May in New York
For Python Quants Bootcamps & Conference
http://forpythonquants.com
!
05. June in Frankfurt
Open Source for Quant Finance
http://osqf.tpq.io
!
[Contact me for discount codes.]
The Python Quants GmbH
!
Dr. Yves J. Hilpisch
http://tpq.io | @dyjh
yves@tpq.io | yves.hilpisch