Python For Quant Finance - Hilpisch

Transcription

Python for Quant FinanceFrom Advanced Analytics toDeployment via the Browser!Yves Hilpisch!Paris, 22. April 2015

Dr. Yves J. Hilpisch is the founder and managing partner ofThe Python Quants, a group focusing on the use of OpenSource 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 ProgramDr. Yves J. HilpischThe Python Quantyves@tpq.io(http://cqf.com) and Saarland University.!He is organizer of Meetup groups and conferences aboutPython and Open Source for Quant Finance in Frankfurt,Berlin, London and New York.!!!Yves is a regular speaker at Python and other technologyhttp://hilpisch.com@dyjhconferences as well as at Quant Finance conferences.

I. Our Market and The ProblemII. How We Solve The ProblemIII. Concrete Use Cases

Mega TrendsSome mega trends that influence quant financeDynamic communities evolveto professional networks.Today’s standard is “open source”,even for key technologies.Complex analytics work flows arecoded in the browser.More and more data sets are“open and free”.Infrastructure is a standardizedcommodity, billed by the hour.Even individuals can trade realtime and with high leverage.

Open Source Data ScienceOS languages dominate data science these daysfastestgrowingPoll data from August 2014. Source: http://www.kdnuggets.com

Python as Strategic PlatformPython plays an important role in the open source ecosystem

“Python's readable syntax, easy integration withC/C , and the wide variety of numerical computing toolsmake it a natural choice for financial analytics.!It's rapidly becoming the de-facto replacement for apatchwork of languages and tools at leading financialinstitutions.”!Kirat Singh—Co-Founder, President and CTOWashington Square Technologies

Adoption in FinanceThe biggest financial players have already adopted Python“Quartz is Bank of America Merrill Lynch’s integrated trading, positionmanagement, pricing and risk management platform. It’s the fact thatQuartz uses Python, a remarkably flexible programming language, thatenables 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, apowerful dependency graph, and a fully integrated stack across pricing, riskand trading tools. The code is a combination of Python, C , and Java: ”“AQR Capital Management is looking for innovative and passionatedevelopers to design and implement AQR’s proprietary research andproduction systems. The successful candidate is comfortable working inthe quantitative space and has an aptitude for mathematics. Code usingprimarily Python (and some C#).”“We are seeking a data engineering software engineer to join our team.Our data engineers are the backbone of Two Sigma’s information-gatheringmission. Experience using several different programming languages suchas Java, Groovy, and Python.”

Open Source RevolutionBoth in the front and back end OSS revolutionizes financeFRONT ENDIn the front end, open source softwarerevolutionizes how quantitative analysts anddevelopers work on a daily basis.BACK ENDIn the back end, open source softwarerevolutionizes how analytics workflows andfinancial applications are deployed and scaled.“DigitalOcean is a simple and fast cloud hostingprovider built for developers. Customers cancreate a cloud server in 55 seconds, and pricingplans start at only 5 per month for 512MB ofRAM, 20GB SSD, 1 CPU, and 1TB Transfer.”

The ProblemObstacles to using Python & Open Source for Quant FinanceOpen Sourcefast changingenvironmentVendors & Partnersalmost no Python forQuant Finance expertsLibrariesfor financial analyticsmainly missingTools & Processesno real standards,isolated applications onlyDeploymentcomplex, costly,lengthy, riskyMaintenancehow to update,maintain infrastructure?Diverse End Userscomputer & data scientistsas well as domain expertsTraininghow to train andre-train people?Startwhere and how tostart, who to talk to?

I. Our Market and The ProblemII. How We Solve The ProblemIII. Concrete Use Cases

The Python QuantsWe are uniquely positioned to solve the problemProductsTechnology& BooksServices & TrainingConsulting, Development& TrainingCommunityConferences,Meetups & WebEurex Advanced ServicesFor Python QuantsQuantshub TrainingPython for Quant Finance

The Python QuantsOur current focus and value propositionCurrent FocusFront end (tooling)& financial librariesBusiness ModelSimilar to Red Hat:strong partner for OSS“The software is free. Thesubscription is invaluable.Red Hat customers enjoythe latest security fixes,award-winning support,and committed productlife cycles.”Future FocusBack end deployment& scaling

Python Quant PlatformParadigms in data analytics (as we see it) and where we fit in!1. Generation: Move Data Around — data analytics started by moving datafrom one place to another, analyzing it locally and moving results back tothe remote data source2. Generation: Move Code Around — moving tons of data is costly and timeconsuming; moving small code sets is faster and less costly3. Generation: Don't Move Anything — the Browser and Web technologiesallow to work directly and in real-time on the infrastructure where dataand code are stored (replacing remote ssh/ftp access and emulatingdesktop experience)

Python Quant PlatformBrowser-based, collaborative financial and data analyticsThe Python Quant Platform offersWeb-based, scalable, collaborativefinancial analytics as well asrapid financial engineering andapplication deployment forindividuals, teams and companies.Easily deploy it anywhere via Dockercontainers & browser-based access.!http://trial.quant-platform.com

Python Quant PlatformIt integrates all that is needed for modern data analyticsIPython NotebookGUI-based File ManagementLinux & IPython Shell"Absorb what is useful, discard what is not, and add what is uniquely your own.”—Bruce LeeCode EditingChat & ForumResource Control

Python Quant PlatformMultiple languages, flexible infrastructure and collaborationPython & MoreFull-FledgedPython StackNumPy, SciPy, pandas, PyTablesh5py, matplotlib, IPython,numexpr Cython LLVM, LLVMpyNumba, Scikit-learn, many moreCloud & DedicatedLinux-basedInfrastructurePQP can be even deployed on thesmallest DigitalOcean droplet for5 USD per month. User registrationin 30 seconds, client-specific deploymentin 30 minutes.!PQP can be deployed on dedicatedservers in a data center oron client premise—directly or basedon Docker containers.Users & CollaborationAccounts, Rights, Sharingand SecurityUsing the unique, decade longdeveloped and matured userand rights & role managementof Linux as the basis(“bottom-up approach”)!Adding standardised featuresfor team sharing and public sharing.

Application DevelopmentYou can manage projects and edit all typical file typesProject File ManagementHTML ContentPython Application LogicExample:!Flask Web!ApplicationCSS Styling

Application DeploymentYour applications can then be directly deployed on the platformExample:!Flask Web!ApplicationThe Python Quant Platform isbased on standard Linuxservers. This allows you toeasily deploy Web- andbrowser-based applications onany kind of infrastructure—bothfor internal and external users.!Link to Flask Application

DX AnalyticsPython-based library for financial, derivatives & risk analyticsDX Analytics is the first Pythonbased financial analytics libraryimplementing advancedderivatives and risk analyticsapproaches. It is open source,easily expandable and simple tointegrate. Its strengths lie insimulation-based analytics.!http://dx-analytics.com

Python for Quant Finance BooksProviding know-how, guidance and use casesPython for Finance teaches theuse of Python for financialanalytics and financialapplications (cf. O'Reilly).!Derivatives Analytics with Pythonteaches quant finance with selfcontained implementations inPython (cf. Wiley).

Python for Quant Finance CommunitiesOrganizing conferences and community eventsConferences225 in New York in 2014165 in London in 2014!Planned 2015Frankfurt, New York,London, AsiaOUR PARTNERSThomson ReutersBloombergFitch LearningPivotal Meetup Groups600 members in London(biggest group of its kind)225 in New York210 in Berlin!Planned 2015Frankfurt

Our Product & Service PlatformAll products & services together build an integrated offeringDX Analytics onPQPUseDEXISION from!PQPClientprojects &!deploymentsBooksexplaining DXAnalyticsBook Codes!on PQPCommunity eventsusing PQPTrainings using PQPTrainings based onbooksTHE PYTHON QUANTS GROUP

I. Our Market and The ProblemII. How We Solve The ProblemIII. Concrete Use Cases

Concrete Use CasesFrom local advanced analytics to large scale deploymentsDerivatives AnalyticsDoing financial analyticswith DX AnalyticsAnalytics in the CloudJupyter Notebook serverin Docker containerQuant PlatformDeveloping and deployingin the browserThe application uses Python, pandas,plotly and Flask to retrieve historicalstock price data (from Yahoo! Finance)and to visualize the data as aninteractive D3.js plot.Link to HTML versionLink to serverLink to applicationLink to HTML5 slides versionGithub repositoryGithub repository

Quant Platform Takeaways!Being better and fasterin financial analytics and engineering.!Interactively prototype, collaborate on and sharePython, R, Julia, -based analytics workflows andapplications across your organization.!Benefit from books, consulting, support and trainingfrom the Python for Quant Finance experts.!Be part of the global Python for Quant FinanceCommunity.

Upcoming Events!28. April — 01. May in New YorkFor Python Quants Bootcamps & Conferencehttp://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 @dyjhyves@tpq.io yves.hilpisch

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.