Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Using R in Finance
Dirk Eddelbuettel, Ph.D.
Debian and R Projects
Invited Panel Presentation at the
58th Midwest Finance Association Meetings
Chicago, IL, March 5, 2009
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outline
Background
About R and CRAN
Finance Task View
Selected Finance Packages
Summary and Outlook
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Personal connections
I
Financial Econometrician by training, with twelve+ years as
a Quant in (Inv-)Banking, Hedge Funds, Prop Trading
Debian developer/contributor since 1995
Debian R co-maintainer since 1999, maintainer since 2001
R package author or co-author:
I
I
I
I
I
I
I
I
RQuantLib: R interface to the QuantLib libraries
digest: hash function digests of serialized R objects
random: R interface to true RNG via random.org
RDieHarder: R interface to DieHarder RNG testers
littler: R scripting front-end
RPostgreSQL: R interface to PostgreSQL RDBMS
Rcpp: C++ classes for extending R with C/C++ functions
RInside: C++ classes for embedding R in C++ programs
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Personal connections
I
Other R Open Source activities:
I
I
R-SIG-Finance, R-SIG-Debian, R-SIG-HPC list owner
Editor of CRAN Task Views Empirical Finance and High
Performance Computing
Mentor for two R-related projects (cran2deb; RPostgreSQL)
at Google Summer of Code
Co-organizer of the first R in Finance conference in April
2009, Chicago (http://www.RinFinance.com)
useR! Tutorial lecturer on High Performance Computing
with R in 2008 and 2009, also at R / Finance
Other work-related R projects (spawning the CRAN
packages RLim, RBloomberg; others unreleased)
Quantian (live cdrom/dvd) author / developer
Associate Editor at Journal of Statistical Software
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outline
Background
About R and CRAN
Finance Task View
Selected Finance Packages
Summary and Outlook
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Where are we right now with R ?
R has grown tremendously in recent years, both in terms of
capabilities and users.
Widespread and increasing use in Finance.
S+ has been almost entirely eclipsed by R, much to the
chagrin of Insightful.
We now also have three companies offering commercial
support and extensions.
CRAN, the R package archive network, has grown
tremendously too: now north of 1600 packages.
There is more and more Finance content as shown in the
task view.
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Illustration: Growth of r-help and r-sig-finance
2000
RHelp
RSIGFinance
Total R usage is difficult
to measure.
Mailing list activity is
sometimes used as a
proxy.
While r-help growth is
slowing, several special
interest group lists such
as r-sig-finance
experience strong
growth.
500
200
50
100
20
Mean Number of Messages / Month
1000
1997
1999
2001
2003
2005
2007
Year
Source: Fox (2008, 2009), our calculations.
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
1700
1400
1200
406
357
300
273
219
200
162
129
110
20081020
20071116
20080318
20061212
20070412
20060531
20051216
20050618
20040605
20041012
20031116
20030527
20020612
20011217
100
20010621
Details, and more
metrics on R and the
dynamics of the R Core
group, are also in a
forthcoming R News
(soon: R Journal) article.
548
500
400
John Fox provided this
chart in an invited lecture
at the last useR!
meetings.
739
647
600
1000
911
800
1679
1427
1300
1000
Number of CRAN Packages
2.8
2.6
2.7
2.4
2.5
2.3
2.2
2.1
1.9
2.0
1.8
1.7
1.5
1.4
1.3
Illustration: Growth of CRAN packages
Source: Fox (2008, 2009), our calculations
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Aside: CRANberries
The CRANberries feed
summarizes both
changes to existing
packages, as well as
new packages.
Implemented in 200 lines
of R and using the tiny
blosxom blog engine, it
is available as a blog and
via an RSS feed.
Source:
http://dirk.eddelbuettel.com/cranberries/
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outline
Background
About R and CRAN
Finance Task View
Selected Finance Packages
Summary and Outlook
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
CRAN and CRAN Task View Finance
I
Given 1600+ CRAN packages, navigation is difficult.
Idea suggested a few years ago to have topical views.
These Task Views are not perfect, but the best currently
available approach at navigating CRAN packages.
We created the Empirical Finance view around 2004 which
contains several sections on
I
I
I
I
I
I
standard regression models
time series
finance
risk management
books / data sets
date and data management
Rather than repeating the task view, let us illustrate several
different packages.
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Finance Task View
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outline
Background
About R and CRAN
Finance Task View
Selected Finance Packages
Summary and Outlook
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
RQuantLib (QuantLib Group; Eddelbuettel)
option delta
QuantLib is a very
complete and very well
written C++ library for
quantitative finance.
RQuantLib, first
released in 2002,
provides access to a
subset of QuantLibs
functionality directly from
R, in particular for
(equity) option pricing
and some yield curve
analysis.
0.0
0.2
20
0.4
40
0.6
60
0.8
80
1.0
option value
50
100
150
50
100
150
option vega
0.00
10
0.01
20
0.02
0.03
30
0.04
40
option gamma
50
100
150
50
100
Strike is 100, maturity 1 year, riskless rate 0.03
Underlying price from 10 to 180
Volatility from 0.1 to 0.9
150
> example(EuropeanOptionArrays)
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Rmetrics (Wuertz et al)
1e03
1e02
1e01
1e+00
5e01
5e02
5e03
1F(x) [log scale]
1e+01
1e02
QQPlot of Residuals
200
400
600
Ordering
800
1000
4
2
It covers time series,
GARCH and volatility
modeling, Extreme Value
Theory and Copulae,
derivative pricing,
portfolio analysis,
optimization and more.
1e+01
Exponential Quantiles
5
4
Residuals
3
2
1
1e+00
1e01
x [log scale]
Scatterplot of Residuals
Rmetrics, first released
in 2004 is a
comprehensive set of R
packages.
1e03
Fu(xu)
5e04
Tail of Underlying Distribution
u = 0.000599
0.6
0.4
0.0
0.2
x [log Scale]
0.8
1.0
Excess Distribution
Ordered Data
> example(GpdModelling)
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
portfolio (Enos, Kane et al)
Cumulative Spread Return
Return (%)
cap.usd
20
10
0
10
20
smi
Total return: 2.7
Total return: 28
Worst drawdown: 9
Mar
The portfolio
package provides code
and data for real-life
equity long/short portfolio
analysis.
The portfolioSim
package adds simulation
support; the tradeCost
package analyses
ex-post trade impact, and
the backtest package
permits to test portfolios.
Worst drawdown:
May
Jul
Sep
Nov
Mar
May
Jul
Sep
Nov
Cumulative Quantile Return
cap.usd
quantile
30
Return (%)
smi
high
Q9
Q8
Q7
Q6
Q5
Q4
Q3
Q2
low
20
10
Mar
May
Jul
Sep
Nov
Mar
May
Jul
Sep
Nov
Date
> example(backtest)
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
PerformanceAnalytics (Carl and Peterson)
This package provides a
library of econometric
functions for
performance and risk
analysis of financial
portfolios.
It offers practioners and
researcher some of the
latest research in
analysis of both normal
and non-normal return
streams.
60
40
20
0
Density
80
100
99% VaR
99 % ModVaR
Equity.Market.Neutral
0.010
0.005
0.000
0.005
0.010
0.015
0.020
0.025
Returns
> example(chart.Histogram)
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outline
Background
About R and CRAN
Finance Task View
Selected Finance Packages
Summary and Outlook
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Summary
R is a very vibrant platform for data analysis, visualization
and programming with data.
Hence, R provides an excellent platform for academic
research and teaching as well as investment research
and trading.
Finance has traditionally been one of the two key users of
the S language, and this constiuency has moved from S+
to R.
The number of dedicated Finance packages for R is
increasing as well, the R-Forge site is a good place to
watch (http://R-Forge.R-Project.org).
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Outlook
If you dont go with R now, you will someday.
David Kane on r-sig-finance, 30 Nov 2004
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
R / Finance in April 2009
Dirk Eddelbuettel
Using R in Finance
Background About R and CRAN Finance Task View Selected Finance Packages Summary and Outlook
Contact
http://dirk.eddelbuettel.com
dirk@eddelbuettel.com
Dirk Eddelbuettel
Using R in Finance