SlideShare a Scribd company logo
xlwings
Open Source in Quant Finance Conference
(Frankfurt/Eschborn)
5 June 2015 Felix Zumstein, CFA
About me
•  Startup (2014, Zurich):
– Mainly Python for Finance
– Web based trading solutions
(Interactive Brokers)
– Lots of Excel
– Open-source: xlwings/ExcelPython
•  Previously: 9yrs in Banking /Asset Mgmt
•  Background in Finance & Economics
2
What’s in this talk?
3
The open-source Python/Excel Landscape
4
•  Pywin32
•  xlwings
•  ExcelPython
Read/Write Program/Interact
•  xlwt/xlrd
•  XlsxWriter
•  OpenPyxl
Why xlwings?
– 6 Reasons
5
(1) Installation
6
•  pip/conda install xlwings
•  or equally easy:
(2) Cross-Platform
7
+
(3) Flexibility
8
Version
2.6
2.7
3.1
3.2
3.3
3.4
32-bit
64-bit
32-bit
64-bit
2003
2010
2011 (Mac)
2013
2016 (Win + Mac*)
ArchitectureVersion Architecture
*under development
(4) Simplicity
9
>>>	
  from	
  xlwings	
  import	
  Workbook,	
  Range	
  
	
  
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1").value	
  =	
  my_variable	
  
•  Strings
•  Numbers
•  DateTime
•  Lists (nested)
•  NumPy arrays
•  Pandas DataFrames
•  Blaze Data container (planned)
(5) Works back and forth
10
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1").value	
  =	
  my_variable	
  
Sub	
  MyFunction()	
  
	
  RunPython	
  ("import	
  mymodule;mymodule.myfunction()")	
  
End	
  Sub	
  
(6) ExcelPython for UDFs (Windows only)
11
from	
  xlpython	
  import	
  xlfunc	
  
import	
  numpy	
  as	
  np	
  
	
  
@xlfunc	
  
def	
  matrix_mult(x,	
  y):	
  
	
  	
  	
  	
  x	
  =	
  np.atleast_2d(np.array(x))	
  
	
  	
  	
  	
  y	
  =	
  np.atleast_2d(np.array(y))	
  
	
  	
  	
  	
  return	
  x.dot(y)	
  
{=matrix_mult(A1:B2,D1:E2)}	
  
Access from Excel via Array Formula:
Write User Defined Functions in Python:
What’s next?
12
What’s next?
•  Add-in
•  Full integration of xlwings/ExcelPython
•  Add more features: matplotlib etc.
•  Someday…
– Google Sheets
– LibreOffice/OpenOffice
13
julia>	
  using	
  PyCall	
  
julia>	
  @pyimport	
  xlwings	
  as	
  xw	
  
	
  
julia>	
  xw.Workbook()	
  
julia>	
  xw.Range("A1",	
  asarray=true)[:table][:value]	
  
	
  
Use xlwings from Julia
14
>>>	
  from	
  xlwings	
  import	
  Workbook,	
  Range	
  
	
  
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1",	
  asarray=True).table.value	
  
DEMO
xlwings.org
15

More Related Content

Viewers also liked

Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Joshua Vogelstein
 
how neurons connect to each others?
how neurons connect to each others?how neurons connect to each others?
how neurons connect to each others?Minh Lê
 
Multiple sclerosis as a simultaneous "2 components" disease
Multiple sclerosis as a simultaneous "2 components" diseaseMultiple sclerosis as a simultaneous "2 components" disease
Multiple sclerosis as a simultaneous "2 components" disease
F.R.S. - FNRS
 
CMB Final Presentation
CMB Final Presentation CMB Final Presentation
CMB Final Presentation Bella Bobrow
 
Slide Presentation
Slide PresentationSlide Presentation
Slide Presentation
gur509
 
Innovation Connectomics - Mapping Knowledge Flow in Innovation Networks
Innovation Connectomics - Mapping Knowledge Flow in Innovation NetworksInnovation Connectomics - Mapping Knowledge Flow in Innovation Networks
Innovation Connectomics - Mapping Knowledge Flow in Innovation Networks
Seb Sigloch
 
From Brains to BRAINs: Neuroscience at the Cutting Edge
From Brains to BRAINs: Neuroscience at the Cutting EdgeFrom Brains to BRAINs: Neuroscience at the Cutting Edge
From Brains to BRAINs: Neuroscience at the Cutting Edge
John Borghi
 
Robust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like MechanismsRobust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like Mechanisms
Minh Lê
 
Open science resources for `Big Data' Analyses of the human connectome
Open science resources for `Big Data' Analyses of the human connectomeOpen science resources for `Big Data' Analyses of the human connectome
Open science resources for `Big Data' Analyses of the human connectome
Cameron Craddock
 
A tutorial in Connectome Analysis (3) - Marcus Kaiser
A tutorial in Connectome Analysis (3) - Marcus KaiserA tutorial in Connectome Analysis (3) - Marcus Kaiser
A tutorial in Connectome Analysis (3) - Marcus Kaiser
Lake Como School of Advanced Studies
 
A tutorial in Connectome Analysis (2) - Marcus Kaiser
A tutorial in Connectome Analysis (2) - Marcus KaiserA tutorial in Connectome Analysis (2) - Marcus Kaiser
A tutorial in Connectome Analysis (2) - Marcus Kaiser
Lake Como School of Advanced Studies
 
Multiple Sclerosis and pregnancy: Guidelines from the literature
Multiple Sclerosis and pregnancy: Guidelines from the literatureMultiple Sclerosis and pregnancy: Guidelines from the literature
Multiple Sclerosis and pregnancy: Guidelines from the literatureF.R.S. - FNRS
 
Healthy Mind
Healthy MindHealthy Mind
Healthy Mind
Amy Robinson
 
Connectomics: Parcellations and Network Analysis Methods
Connectomics: Parcellations and Network Analysis MethodsConnectomics: Parcellations and Network Analysis Methods
Connectomics: Parcellations and Network Analysis Methods
Gael Varoquaux
 
Connectome
ConnectomeConnectome
Connectome
F.R.S. - FNRS
 
Computational approaches for mapping the human connectome
Computational approaches for mapping the human connectomeComputational approaches for mapping the human connectome
Computational approaches for mapping the human connectome
Cameron Craddock
 

Viewers also liked (17)

Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
 
how neurons connect to each others?
how neurons connect to each others?how neurons connect to each others?
how neurons connect to each others?
 
Multiple sclerosis as a simultaneous "2 components" disease
Multiple sclerosis as a simultaneous "2 components" diseaseMultiple sclerosis as a simultaneous "2 components" disease
Multiple sclerosis as a simultaneous "2 components" disease
 
VEU_CST499_FinalReport
VEU_CST499_FinalReportVEU_CST499_FinalReport
VEU_CST499_FinalReport
 
CMB Final Presentation
CMB Final Presentation CMB Final Presentation
CMB Final Presentation
 
Slide Presentation
Slide PresentationSlide Presentation
Slide Presentation
 
Innovation Connectomics - Mapping Knowledge Flow in Innovation Networks
Innovation Connectomics - Mapping Knowledge Flow in Innovation NetworksInnovation Connectomics - Mapping Knowledge Flow in Innovation Networks
Innovation Connectomics - Mapping Knowledge Flow in Innovation Networks
 
From Brains to BRAINs: Neuroscience at the Cutting Edge
From Brains to BRAINs: Neuroscience at the Cutting EdgeFrom Brains to BRAINs: Neuroscience at the Cutting Edge
From Brains to BRAINs: Neuroscience at the Cutting Edge
 
Robust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like MechanismsRobust Object Recognition with Cortex-Like Mechanisms
Robust Object Recognition with Cortex-Like Mechanisms
 
Open science resources for `Big Data' Analyses of the human connectome
Open science resources for `Big Data' Analyses of the human connectomeOpen science resources for `Big Data' Analyses of the human connectome
Open science resources for `Big Data' Analyses of the human connectome
 
A tutorial in Connectome Analysis (3) - Marcus Kaiser
A tutorial in Connectome Analysis (3) - Marcus KaiserA tutorial in Connectome Analysis (3) - Marcus Kaiser
A tutorial in Connectome Analysis (3) - Marcus Kaiser
 
A tutorial in Connectome Analysis (2) - Marcus Kaiser
A tutorial in Connectome Analysis (2) - Marcus KaiserA tutorial in Connectome Analysis (2) - Marcus Kaiser
A tutorial in Connectome Analysis (2) - Marcus Kaiser
 
Multiple Sclerosis and pregnancy: Guidelines from the literature
Multiple Sclerosis and pregnancy: Guidelines from the literatureMultiple Sclerosis and pregnancy: Guidelines from the literature
Multiple Sclerosis and pregnancy: Guidelines from the literature
 
Healthy Mind
Healthy MindHealthy Mind
Healthy Mind
 
Connectomics: Parcellations and Network Analysis Methods
Connectomics: Parcellations and Network Analysis MethodsConnectomics: Parcellations and Network Analysis Methods
Connectomics: Parcellations and Network Analysis Methods
 
Connectome
ConnectomeConnectome
Connectome
 
Computational approaches for mapping the human connectome
Computational approaches for mapping the human connectomeComputational approaches for mapping the human connectome
Computational approaches for mapping the human connectome
 

Similar to Open Source in Quant Finance - xlwings

The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
Dominopoint - Italian Lotus User Group
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
PHPExcel and OPENXML4J
PHPExcel and OPENXML4JPHPExcel and OPENXML4J
PHPExcel and OPENXML4J
Maarten Balliauw
 
Building A Platform From Open Source At Yahoo
Building A Platform From Open Source At YahooBuilding A Platform From Open Source At Yahoo
Building A Platform From Open Source At Yahoo
Dustin Whittle
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnel
Eric Nelson
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
Phil Wilkins
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
NGINX, Inc.
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
Maarten Balliauw
 
Cross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with PythonCross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with Python
xlwings
 
Ploneconf2012 talk
Ploneconf2012 talkPloneconf2012 talk
Ploneconf2012 talksimahawk
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
Samsung Open Source Group
 
The Open eHealth Integration Platform
The Open eHealth Integration PlatformThe Open eHealth Integration Platform
The Open eHealth Integration Platform
krasserm
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
Micro Focus
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo Platform
Inria
 
PHP Frameworks and Symfony
PHP Frameworks and SymfonyPHP Frameworks and Symfony
PHP Frameworks and Symfony
Glenn Guden
 
Onnx at lf oss na 20200629 v5
Onnx at lf oss na 20200629 v5Onnx at lf oss na 20200629 v5
Onnx at lf oss na 20200629 v5
ISSIP
 
Open MPI SC'15 State of the Union BOF
Open MPI SC'15 State of the Union BOFOpen MPI SC'15 State of the Union BOF
Open MPI SC'15 State of the Union BOF
Jeff Squyres
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
Tracy Kent
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Mainframe Project
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
Elizabeth Steiner
 

Similar to Open Source in Quant Finance - xlwings (20)

The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
PHPExcel and OPENXML4J
PHPExcel and OPENXML4JPHPExcel and OPENXML4J
PHPExcel and OPENXML4J
 
Building A Platform From Open Source At Yahoo
Building A Platform From Open Source At YahooBuilding A Platform From Open Source At Yahoo
Building A Platform From Open Source At Yahoo
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnel
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 
Cross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with PythonCross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with Python
 
Ploneconf2012 talk
Ploneconf2012 talkPloneconf2012 talk
Ploneconf2012 talk
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
The Open eHealth Integration Platform
The Open eHealth Integration PlatformThe Open eHealth Integration Platform
The Open eHealth Integration Platform
 
The DevOps Journey
The DevOps JourneyThe DevOps Journey
The DevOps Journey
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo Platform
 
PHP Frameworks and Symfony
PHP Frameworks and SymfonyPHP Frameworks and Symfony
PHP Frameworks and Symfony
 
Onnx at lf oss na 20200629 v5
Onnx at lf oss na 20200629 v5Onnx at lf oss na 20200629 v5
Onnx at lf oss na 20200629 v5
 
Open MPI SC'15 State of the Union BOF
Open MPI SC'15 State of the Union BOFOpen MPI SC'15 State of the Union BOF
Open MPI SC'15 State of the Union BOF
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
 

More from xlwings

xlwings for Google Sheets
xlwings for Google Sheetsxlwings for Google Sheets
xlwings for Google Sheets
xlwings
 
Automate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings ReportsAutomate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings Reports
xlwings
 
Tech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for ExcelTech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for Excel
xlwings
 
xlwings performance
xlwings performancexlwings performance
xlwings performance
xlwings
 
Git for Excel (Webinar)
Git for Excel (Webinar)Git for Excel (Webinar)
Git for Excel (Webinar)
xlwings
 
Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)
xlwings
 
xlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Python
xlwings
 
Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)
xlwings
 
Automated testing of Excel Workbooks
Automated testing of Excel WorkbooksAutomated testing of Excel Workbooks
Automated testing of Excel Workbooks
xlwings
 
Git for Excel
Git for ExcelGit for Excel
Git for Excel
xlwings
 
Automated Testing of Excel Workbooks
Automated Testing of Excel WorkbooksAutomated Testing of Excel Workbooks
Automated Testing of Excel Workbooks
xlwings
 
Git for Excel files webinar
Git for Excel files webinarGit for Excel files webinar
Git for Excel files webinar
xlwings
 

More from xlwings (12)

xlwings for Google Sheets
xlwings for Google Sheetsxlwings for Google Sheets
xlwings for Google Sheets
 
Automate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings ReportsAutomate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings Reports
 
Tech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for ExcelTech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for Excel
 
xlwings performance
xlwings performancexlwings performance
xlwings performance
 
Git for Excel (Webinar)
Git for Excel (Webinar)Git for Excel (Webinar)
Git for Excel (Webinar)
 
Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)
 
xlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Python
 
Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)
 
Automated testing of Excel Workbooks
Automated testing of Excel WorkbooksAutomated testing of Excel Workbooks
Automated testing of Excel Workbooks
 
Git for Excel
Git for ExcelGit for Excel
Git for Excel
 
Automated Testing of Excel Workbooks
Automated Testing of Excel WorkbooksAutomated Testing of Excel Workbooks
Automated Testing of Excel Workbooks
 
Git for Excel files webinar
Git for Excel files webinarGit for Excel files webinar
Git for Excel files webinar
 

Recently uploaded

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 

Recently uploaded (20)

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 

Open Source in Quant Finance - xlwings

  • 1. xlwings Open Source in Quant Finance Conference (Frankfurt/Eschborn) 5 June 2015 Felix Zumstein, CFA
  • 2. About me •  Startup (2014, Zurich): – Mainly Python for Finance – Web based trading solutions (Interactive Brokers) – Lots of Excel – Open-source: xlwings/ExcelPython •  Previously: 9yrs in Banking /Asset Mgmt •  Background in Finance & Economics 2
  • 4. The open-source Python/Excel Landscape 4 •  Pywin32 •  xlwings •  ExcelPython Read/Write Program/Interact •  xlwt/xlrd •  XlsxWriter •  OpenPyxl
  • 5. Why xlwings? – 6 Reasons 5
  • 6. (1) Installation 6 •  pip/conda install xlwings •  or equally easy:
  • 9. (4) Simplicity 9 >>>  from  xlwings  import  Workbook,  Range     >>>  wb  =  Workbook()   >>>  Range("A1").value  =  my_variable   •  Strings •  Numbers •  DateTime •  Lists (nested) •  NumPy arrays •  Pandas DataFrames •  Blaze Data container (planned)
  • 10. (5) Works back and forth 10 >>>  wb  =  Workbook()   >>>  Range("A1").value  =  my_variable   Sub  MyFunction()    RunPython  ("import  mymodule;mymodule.myfunction()")   End  Sub  
  • 11. (6) ExcelPython for UDFs (Windows only) 11 from  xlpython  import  xlfunc   import  numpy  as  np     @xlfunc   def  matrix_mult(x,  y):          x  =  np.atleast_2d(np.array(x))          y  =  np.atleast_2d(np.array(y))          return  x.dot(y)   {=matrix_mult(A1:B2,D1:E2)}   Access from Excel via Array Formula: Write User Defined Functions in Python:
  • 13. What’s next? •  Add-in •  Full integration of xlwings/ExcelPython •  Add more features: matplotlib etc. •  Someday… – Google Sheets – LibreOffice/OpenOffice 13
  • 14. julia>  using  PyCall   julia>  @pyimport  xlwings  as  xw     julia>  xw.Workbook()   julia>  xw.Range("A1",  asarray=true)[:table][:value]     Use xlwings from Julia 14 >>>  from  xlwings  import  Workbook,  Range     >>>  wb  =  Workbook()   >>>  Range("A1",  asarray=True).table.value