Deb,
that sounds like a problem related to the rollapply function in the zoo package. I originally wrote it for an older version of zoo, using the function rapply, but zoo then changed the name of that function from rapply to rollapply. Maybe you haven't updated to the latest version of zoo? If you can't update, change the term "rollapply" to "rapply" and it will work with older zoo packages, but not the most recent.
Hope this helps,
Andrew


----- Original Message ----
From: Deb Midya <debmidya@yahoo.com>
To: r-sig-finance@stat.math.ethz.ch
Sent: Tuesday, November 14, 2006 7:14:03 AM
Subject: [R-SIG-Finance] Fwd: Re: looking for functions that can test/estimate CAPM, APT, Fama's factor model, etc.


Andrew,
 
Thanks in advance.
 
I have run your code and it works well. Will you please clarify the error below:
 
Error in getrffBeta("BNI", span = 60) : could not find function "rollapply".

It is required to put appropriate package using require(?) to incorporate the function "rollapply".
 
May I request you to provide some literature on above topics.
 
Thanks,
 
Deb

Note: forwarded message attached.
X-Originating-IP: [129.132.145.15]
Authentication-Results: mta356.mail.mud.yahoo.com  from=stat.math.ethz.ch; domainkeys=neutral (no sig)
Received: from 129.132.145.15  (EHLO hypatia.math.ethz.ch) (129.132.145.15)
  by mta356.mail.mud.yahoo.com with SMTP; Mon, 13 Nov 2006 12:41:23 -0800
Received: from hypatia.math.ethz.ch (hypatia [129.132.145.15])
    by hypatia.math.ethz.ch (8.13.6/8.13.6) with ESMTP id kADKeYpt010461;
    Mon, 13 Nov 2006 21:40:41 +0100
X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on hypatia.math.ethz.ch
X-Spam-Level: 
X-Spam-Status: No, score=0.5 required=5.0 tests=AWL,
    BAYES_50 autolearn=no version=3.1.7
Received: from web60322.mail.yahoo.com (web60322.mail.yahoo.com
    [209.73.178.130])
    by hypatia.math.ethz.ch (8.13.6/8.13.6) with SMTP id kADKZtp5008571
    for <r-sig-finance@stat.math.ethz.ch>; Mon, 13 Nov 2006 21:35:56 +0100
Received: (qmail 83464 invoked by uid 60001); 13 Nov 2006 20:35:54 -0000
Received: from [71.250.242.218] by web60322.mail.yahoo.com via HTTP;
    Mon, 13 Nov 2006 12:35:54 PST
Date: Mon, 13 Nov 2006 12:35:54 -0800 (PST)

To: r-sig-finance@stat.math.ethz.ch
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="0-1294175594-1163450154=:83460"
X-Virus-Scanned: by amavisd-new at stat.math.ethz.ch
Subject: Re: [R-SIG-Finance] looking for functions that can test/estimate
    CAPM, APT, Fama's factor model, etc.
X-BeenThere: r-sig-finance@stat.math.ethz.ch
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Special Interest Group for 'R in Finance'
    <r-sig-finance.stat.math.ethz.ch>
List-Unsubscribe: <https://stat.ethz.ch/mailman/listinfo/r-sig-finance>,
    <mailto:r-sig-finance-request@stat.math.ethz.ch?subject=unsubscribe>
List-Archive: <https://stat.ethz.ch/pipermail/r-sig-finance>
List-Post: <mailto:r-sig-finance@stat.math.ethz.ch>
List-Help: <mailto:r-sig-finance-request@stat.math.ethz.ch?subject=help>
List-Subscribe: <https://stat.ethz.ch/mailman/listinfo/r-sig-finance>,
    <mailto:r-sig-finance-request@stat.math.ethz.ch?subject=subscribe>
Sender: r-sig-finance-bounces@stat.math.ethz.ch
Errors-To: r-sig-finance-bounces@stat.math.ethz.ch
Content-Length: 7811

--0-1294175594-1163450154=:83460
Content-Type: text/plain; charset=ascii
Content-Transfer-Encoding: quoted-printable

This thread reminded me to post a somewhat improved and updated version of =
the code I was working on last year, re Fama French.=0AMost notably, I work=
ed up something that would let me visualize how coefficients to value and g=
rowth factors change over time. The basic code could be modified to accompl=
ish different goals, e.g. (getting significance test scores on the factors =
for the company you're looking at, doing the same for a longer list of comp=
anies). I once even created a version that treated a list of companies as l=
ongitudinal data, and used the lme package to do a mixed effects model for =
the FF-3 factor model for a list of companies within an industry. The inter=
esting thing is that these coefficients are often not very stationary over =
time.=0A=0A I'm dropping the long, ugly, inadequately commented code below,=
and attatching it as a text file (I'm not an R-programmer, just someone wh=
o was willing to do a lot of trial and error and patch stuff together till =
I got the output I wanted. In the past some e-mail programs will mess up th=
e code a little, by converting quotes or urls, so watch out for that. I did=
test it and it works as of R2.4 this afternoon on my Windows XP machine. G=
ood luck.=0A=0AgetrffBeta=3D function(tool,span) {=0Arequire(MASS);=0Arequi=
re(tseries);=0Arequire(wle)=0Arequire(zoo)=0Astock=3D (get.hist.quote(instr=
ument =3D tool, quote =3Dc("Ad"),compression=3D"m",origin=3D as.Date(0)));=
=0Aspx=3D(get.hist.quote(instrument =3D "^gspc", quote =3Dc("Ad"),compressi=
on=3D"m",origin=3D as.Date(0)));=0Atoday=3DSys.Date();=0Aseqmo=3Dlength(seq=
(as.Date("1926-07-01"),today,by=3D"month"))-2;=0Aurl=3D"http://mba.tuck.dar=
tmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors.zip";=0Ad=
estfile=3Dtempfile();=0Adataff=3Ddownload.file(url, destfile, mode=3D'wb');=
=0Aunzip=3Dunz(destfile,"F-F_Research_Data_Factors.txt");=0Aff4 <- read.tab=
le(unzip, header=3DFALSE, sep=3D"",na.strings=3D"NA", dec=3D".", strip.whit=
e=3DTRUE, skip=3D4,nrows=3Dseqmo)=0Affdata <- ff4=0Aattach(ffdata);=0Affdat=
a=3Dffdata/100=0A#find out starting year month for ffdata;=0Affdatats=3Dts(=
ffdata, start=3Dc(1926,7), frequency=3D12);=0Astock=3Dts(na.omit(coredata(s=
tock)), start=3D as.numeric(as.yearmon(as.Date(start(stock)[1]))),=0Afreque=
ncy=3D12);=0Aspx=3Dts(na.remove(spx), start=3D=0Aas.numeric(as.yearmon(as.D=
ate(start(spx)[1]))),=0Afrequency=3D12);=0Acombined=3D na.remove(ts.union(s=
tock,spx));=0Acombreturn=3D na.remove(diff(log(combined)));=0Acombined=3Dna=
.remove(ts.intersect(combreturn,ffdatats), names=3Dlist("stockret", "spxret=
", "dates","ffmktret","smb","hml","rf"));=0Acombined[,1]=3Dcombined[,1]-com=
bined[,7]=0Acombined[,2]=3Dcombined[,2]-combined[,7]=0Asimplereg=3Dlm(combi=
ned[,1]~combined[,4]);=0Astockbeta=3Dsimplereg$coef[2];=0Atextout=3Dpaste("=
CAPM beta=3D", stockbeta);=0Arobustreg=3Dwle.lm(combined[,1]~combined[,4]);=
=0Arobstockbeta=3Drobustreg$coef[2];=0Atextout2=3Dpaste("robust stock beta=
=3D", robstockbeta);=0Aplot(as.numeric(combined[,1])~as.numeric(combined[,2=
]),xlab=3D"Market",=0Aylab=3Dtool)=0Atitle(main=3Dtextout, sub=3Dlist(texto=
ut2, col=3D"red"))=0Aabline(coef(simplereg));=0Aabline(coef(robustreg),col=
=3D"red")=0Aprint(textout);=0Aprint(textout2);=0Affreg=3Dwle.lm(combined[,1=
]~combined[,4]+combined[,5]+combined[,6]);=0Affalpha=3Dffreg$coef[1]=0Affbe=
ta=3Dffreg$coef[2];=0Affsmb=3Dffreg$coef[3];=0Affhml=3Dffreg$coef[4] ;=0Ate=
xtout3a=3D paste('robust ff alpha=3D',ffalpha) ;=0Atextout3=3Dpaste('robust=
ff beta=3D',ffbeta) ;=0Atextout4=3Dpaste('robust ff smb=3D',ffsmb) ;=0Atex=
tout5=3Dpaste('robust ff hml=3D',ffhml) ;=0Aprint(textout3a)=0Aprint(textou=
t3) ;=0Aprint(textout4) ;=0Aprint(textout5) ;=0Arf=3D5=0Asmb=3D1=0Ahml=3D2=
=0Arm=3D5=0Affcoe=3Drf+ffbeta*rm+ffsmb*smb+ffhml*hml=0Arobcoe=3Drf+robstock=
beta*rm=0Aregcoe=3Drf+stockbeta*rm=0Atextout6=3Dpaste('regular coe=3D',regc=
oe,' robustcoe=3D',=0Arobcoe)=0Atextout7=3Dpaste('Fama-French coe=3D',ffcoe=
)=0Aprint(textout6)=0Aprint(textout7) ;=0Affreg2=3Dlm(combined[,1]~combined=
[,4]+combined[,5]+combined[,6]);=0Aa1=3Das.vector(combined[,1])=0Ab1=3Das.v=
ector(ffreg2$fitted)=0Ac1=3Das.vector(simplereg$fitted)=0Aplot3=3D (data.fr=
ame(a1,b1,c1))=0Awin.graph()=0Apanel.cor <- function(x, y, digits=3D2, pref=
ix=3D"", cex.cor)=0A{=0Ausr <- par("usr"); on.exit(par(usr))=0Apar(usr =3D =
c(0, 1, 0, 1))=0Ar <- abs(cor(x, y))=0Atxt <- format(c(r, 0.123456789), dig=
its=3Ddigits)[1]=0Atxt <- paste(prefix, txt, sep=3D"")=0Aif(missing(cex.cor=
)) cex <- 0.8/strwidth(txt)=0Atext(0.5, 0.5, txt, cex =3D cex * r)=0A}=0Apa=
irs(plot3, upper.panel=3Dpanel.cor,labels=3Dc("stock returns","FF fits","CA=
PM fits"))=0Affreg2=3Dlm(combined[,1]~combined[,4]+combined[,5]+combined[,6=
]);=0Azcombined=3Dzoo(combined);=0A=0Azoocoefcapmbeta=3Dfunction(x) {=0Azoo=
.wle=3Dwle.lm(x[,1]~x[,4]);=0Acoef (zoo.wle)=0A}=0Arollcoefcapm=3Drollapply=
(zcombined,span,zoocoefcapmbeta,by.column=3DFALSE,align=3D"right");=0Adfrol=
lcoefcapm=3Das.data.frame(rollcoefcapm)=0Anames(dfrollcoefcapm)[1]=3D"alpha=
"=0Anames(dfrollcoefcapm)[2]=3D"mkt beta"=0ARollingCoefficientsCAPM=3Dzoo(d=
frollcoefcapm, order.by=3Dindex(rollcoefcapm))=0Awin.graph()=0Aplot(Rolling=
CoefficientsCAPM)=0Azoocoefsa=3Dfunction(x) {=0Azoo.wle=3Dwle.lm(x[,1]~x[,4=
]+ x[,5]+ x[,6]);=0Acoef (zoo.wle)=0A}=0Arollcoef=3Drollapply(zcombined,spa=
n,zoocoefsa,by.column=3DFALSE,align=3D"right");=0Adfrollcoef=3Das.data.fram=
e(rollcoef)=0Anames(dfrollcoef)[1]=3D"alpha"=0Anames(dfrollcoef)[2]=3D"mkt =
beta"=0Anames(dfrollcoef)[3]=3D"smb"=0Anames(dfrollcoef)[4]=3D"hml"=0ARolli=
ngCoefficients=3Dzoo(dfrollcoef, order.by=3Dindex(rollcoef))=0Awin.graph()=
=0Aplot(RollingCoefficients)=0Acompositecoef=3Dmerge(RollingCoefficients, R=
ollingCoefficientsCAPM, zcombined[,7])=0Arollcapmcoe=3Dfunction(x){=0ACAPMC=
OE=3Dx[6]*rm+rf=0A}=0Arollffcoe=3Dfunction(x){=0AFFCOE=3Dx[2]*rm+x[3]*smb+x=
[4]*hml+rf=0A}=0Arollffbetacoe=3Dfunction(x){=0AFFCOE=3Dx[2]*rm +rf=0A}=0A=
=0ArollffCOE=3Drollapply(compositecoef,1,rollffcoe,by.column=3DFALSE,align=
=3D"right")=0ArollcapmCOE=3Drollapply(compositecoef,1,rollcapmcoe,by.column=
=3DFALSE,align=3D"right")=0ArollffbetaCOE=3Drollapply(compositecoef,1,rollf=
fbetacoe,by.column=3DFALSE,align=3D"right")=0Adfrollcoe=3Das.data.frame(mer=
ge(rollffCOE,rollcapmCOE,rollffbetaCOE))=0Anames(dfrollcoe)[1]=3D"FFCOE"=0A=
names(dfrollcoe)[2]=3D"CAPMCOE"=0Anames(dfrollcoe)[3]=3D"FF(beta)COE"=0ARol=
lingCOE=3Dzoo(dfrollcoe,order.by=3Dindex(rollcapmCOE))=0Awin.graph()=0Aplot=
(RollingCOE,plot.type=3D"multiple")=0Aif((AIC(simplereg))<(AIC(ffreg2))) "C=
APM superior to FF" else "FF superior to CAPM";=0A}=0A=0A=0A=0A----- Origin=
al Message ----=0AFrom: Brian G. Peterson <brian@braverock.com>=0ATo: r-sig=
-finance@stat.math.ethz.ch=0ASent: Monday, November 13, 2006 1:56:05 PM=0AS=
ubject: Re: [R-SIG-Finance] looking for functions that can test/estimate CA=
PM, APT, Fama's factor model, etc.=0A=0A=0AOn Monday 13 November 2006 12:13=
, Michael wrote:=0A> thanks a lot for your pointers! I've taken a look at t=
he book and the R=0A> example website. That's super! Some of the examples t=
here are very=0A> good.=0A>=0A> Yet I am still looking for Fama 3 factor mo=
del and Ross' APT=0A> implementation. The concept is not hard per se, howev=
er I am not sure=0A> how to classify some companies as H, and some companie=
s as L and others=0A> as Value companies, and the others as Growth companie=
s. There are a lot=0A> of implementation details that I am not sure of. Thu=
s I guess learning=0A> from other people's implementation is a better appro=
ach for me as a=0A> green-hand.=0A=0A=0AHere's a great thread from this lis=
t last year about the Fama three-factor =0Amodel:=0Ahttp://blog.gmane.org/g=
mane.comp.lang.r.r-metrics/month=3D20050901=0A=0AThere is a ton of function=
ality in R for factor modeling, spread through =0Alots of different package=
s.  I'd suggest that you do some searching on =0APrimary Factor Analysis or=
Primary Component Analysis.=0A=0AThe best bet is to use the Value/Growth c=
ategorizations done by an =0Aexternal body, such as Reuters, Bloomberg, or =
S&P.  There doesn't seem to =0Abe much reason for you to independently cate=
gorize companies, especially =0Ain your learning stages.=0A=0AFor Arbitrage=
Pricing Theory, you've got to decide on a pricing model.  =0AThere are man=
y implementations of many pricing models in R.=0A=0A> (The Rmetrics are not=
very complete I guess.)=0A=0ARMetrics is very complete for what it does, w=
ith some notable exceptions =0A(fixed income instruments).  I've generally =
had a lot of luck using =0Afunctions from RMetrics as building blocks for m=
ore complex analysis.=0A=0ARegards,=0A=0A  - Brian=0A=0A___________________=
____________________________=0AR-SIG-Finance@stat.math.ethz.ch mailing list=
=0Ahttps://stat.ethz.ch/mailman/listinfo/r-sig-finance=0A=0A=0A =0A________=
___________________________________________________________________________=


--0-1294175594-1163450154=:83460
Content-Type: text/plain; name="=?utf-8?q?getrffBeta.txt?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="=?utf-8?q?getrffBeta.txt?="

Z2V0cmZmQmV0YT0gZnVuY3Rpb24odG9vbCxzcGFuKSB7DQpyZXF1aXJlKE1B
U1MpOw0KcmVxdWlyZSh0c2VyaWVzKTsNCnJlcXVpcmUod2xlKQ0KcmVxdWly
ZSh6b28pDQpzdG9jaz0gKGdldC5oaXN0LnF1b3RlKGluc3RydW1lbnQgPSB0
b29sLCBxdW90ZSA9YygiQWQiKSxjb21wcmVzc2lvbj0ibSIsb3JpZ2luPSBh
cy5EYXRlKDApKSk7DQpzcHg9KGdldC5oaXN0LnF1b3RlKGluc3RydW1lbnQg
PSAiXmdzcGMiLCBxdW90ZSA9YygiQWQiKSxjb21wcmVzc2lvbj0ibSIsb3Jp
Z2luPSBhcy5EYXRlKDApKSk7DQp0b2RheT1TeXMuRGF0ZSgpOw0Kc2VxbW89
bGVuZ3RoKHNlcShhcy5EYXRlKCIxOTI2LTA3LTAxIiksdG9kYXksYnk9Im1v
bnRoIikpLTI7DQp1cmw9Imh0dHA6Ly9tYmEudHVjay5kYXJ0bW91dGguZWR1
L3BhZ2VzL2ZhY3VsdHkva2VuLmZyZW5jaC9mdHAvRi1GX1Jlc2VhcmNoX0Rh
dGFfRmFjdG9ycy56aXAiOw0KZGVzdGZpbGU9dGVtcGZpbGUoKTsNCmRhdGFm
Zj1kb3dubG9hZC5maWxlKHVybCwgZGVzdGZpbGUsIG1vZGU9J3diJyk7DQp1
bnppcD11bnooZGVzdGZpbGUsIkYtRl9SZXNlYXJjaF9EYXRhX0ZhY3RvcnMu
dHh0Iik7DQpmZjQgPC0gcmVhZC50YWJsZSh1bnppcCwgaGVhZGVyPUZBTFNF
LCBzZXA9IiIsbmEuc3RyaW5ncz0iTkEiLCBkZWM9Ii4iLCBzdHJpcC53aGl0
ZT1UUlVFLCBza2lwPTQsbnJvd3M9c2VxbW8pDQpmZmRhdGEgPC0gZmY0DQph
dHRhY2goZmZkYXRhKTsNCmZmZGF0YT1mZmRhdGEvMTAwDQojZmluZCBvdXQg
c3RhcnRpbmcgeWVhciBtb250aCBmb3IgZmZkYXRhOw0KZmZkYXRhdHM9dHMo
ZmZkYXRhLCBzdGFydD1jKDE5MjYsNyksIGZyZXF1ZW5jeT0xMik7DQpzdG9j
az10cyhuYS5vbWl0KGNvcmVkYXRhKHN0b2NrKSksIHN0YXJ0PSBhcy5udW1l
cmljKGFzLnllYXJtb24oYXMuRGF0ZShzdGFydChzdG9jaylbMV0pKSksDQpm
cmVxdWVuY3k9MTIpOw0Kc3B4PXRzKG5hLnJlbW92ZShzcHgpLCBzdGFydD0N
CmFzLm51bWVyaWMoYXMueWVhcm1vbihhcy5EYXRlKHN0YXJ0KHNweClbMV0p
KSksDQpmcmVxdWVuY3k9MTIpOw0KY29tYmluZWQ9IG5hLnJlbW92ZSh0cy51
bmlvbihzdG9jayxzcHgpKTsNCmNvbWJyZXR1cm49IG5hLnJlbW92ZShkaWZm
KGxvZyhjb21iaW5lZCkpKTsNCmNvbWJpbmVkPW5hLnJlbW92ZSh0cy5pbnRl
cnNlY3QoY29tYnJldHVybixmZmRhdGF0cyksIG5hbWVzPWxpc3QoInN0b2Nr
cmV0IiwgInNweHJldCIsICJkYXRlcyIsImZmbWt0cmV0Iiwic21iIiwiaG1s
IiwicmYiKSk7DQpjb21iaW5lZFssMV09Y29tYmluZWRbLDFdLWNvbWJpbmVk
Wyw3XQ0KY29tYmluZWRbLDJdPWNvbWJpbmVkWywyXS1jb21iaW5lZFssN10N
CnNpbXBsZXJlZz1sbShjb21iaW5lZFssMV1+Y29tYmluZWRbLDRdKTsNCnN0
b2NrYmV0YT1zaW1wbGVyZWckY29lZlsyXTsNCnRleHRvdXQ9cGFzdGUoIkNB
UE0gYmV0YT0iLCBzdG9ja2JldGEpOw0Kcm9idXN0cmVnPXdsZS5sbShjb21i
aW5lZFssMV1+Y29tYmluZWRbLDRdKTsNCnJvYnN0b2NrYmV0YT1yb2J1c3Ry
ZWckY29lZlsyXTsNCnRleHRvdXQyPXBhc3RlKCJyb2J1c3Qgc3RvY2sgYmV0
YT0iLCByb2JzdG9ja2JldGEpOw0KcGxvdChhcy5udW1lcmljKGNvbWJpbmVk
WywxXSl+YXMubnVtZXJpYyhjb21iaW5lZFssMl0pLHhsYWI9Ik1hcmtldCIs
DQp5bGFiPXRvb2wpDQp0aXRsZShtYWluPXRleHRvdXQsIHN1Yj1saXN0KHRl
eHRvdXQyLCBjb2w9InJlZCIpKQ0KYWJsaW5lKGNvZWYoc2ltcGxlcmVnKSk7
DQphYmxpbmUoY29lZihyb2J1c3RyZWcpLGNvbD0icmVkIikNCnByaW50KHRl
eHRvdXQpOw0KcHJpbnQodGV4dG91dDIpOw0KZmZyZWc9d2xlLmxtKGNvbWJp
bmVkWywxXX5jb21iaW5lZFssNF0rY29tYmluZWRbLDVdK2NvbWJpbmVkWyw2
XSk7DQpmZmFscGhhPWZmcmVnJGNvZWZbMV0NCmZmYmV0YT1mZnJlZyRjb2Vm
WzJdOw0KZmZzbWI9ZmZyZWckY29lZlszXTsNCmZmaG1sPWZmcmVnJGNvZWZb
NF0gOw0KdGV4dG91dDNhPSBwYXN0ZSgncm9idXN0IGZmIGFscGhhPScsZmZh
bHBoYSkgOw0KdGV4dG91dDM9cGFzdGUoJ3JvYnVzdCBmZiBiZXRhPScsZmZi
ZXRhKSA7DQp0ZXh0b3V0ND1wYXN0ZSgncm9idXN0IGZmIHNtYj0nLGZmc21i
KSA7DQp0ZXh0b3V0NT1wYXN0ZSgncm9idXN0IGZmIGhtbD0nLGZmaG1sKSA7
DQpwcmludCh0ZXh0b3V0M2EpDQpwcmludCh0ZXh0b3V0MykgOw0KcHJpbnQo
dGV4dG91dDQpIDsNCnByaW50KHRleHRvdXQ1KSA7DQpyZj01DQpzbWI9MQ0K
aG1sPTINCnJtPTUNCmZmY29lPXJmK2ZmYmV0YSpybStmZnNtYipzbWIrZmZo
bWwqaG1sDQpyb2Jjb2U9cmYrcm9ic3RvY2tiZXRhKnJtDQpyZWdjb2U9cmYr
c3RvY2tiZXRhKnJtDQp0ZXh0b3V0Nj1wYXN0ZSgncmVndWxhciBjb2U9Jyxy
ZWdjb2UsJyByb2J1c3Rjb2U9JywNCnJvYmNvZSkNCnRleHRvdXQ3PXBhc3Rl
KCdGYW1hLUZyZW5jaCBjb2U9JyxmZmNvZSkNCnByaW50KHRleHRvdXQ2KQ0K
cHJpbnQodGV4dG91dDcpIDsNCmZmcmVnMj1sbShjb21iaW5lZFssMV1+Y29t
YmluZWRbLDRdK2NvbWJpbmVkWyw1XStjb21iaW5lZFssNl0pOw0KYTE9YXMu
dmVjdG9yKGNvbWJpbmVkWywxXSkNCmIxPWFzLnZlY3RvcihmZnJlZzIkZml0
dGVkKQ0KYzE9YXMudmVjdG9yKHNpbXBsZXJlZyRmaXR0ZWQpDQpwbG90Mz0g
KGRhdGEuZnJhbWUoYTEsYjEsYzEpKQ0Kd2luLmdyYXBoKCkNCnBhbmVsLmNv
ciA8LSBmdW5jdGlvbih4LCB5LCBkaWdpdHM9MiwgcHJlZml4PSIiLCBjZXgu
Y29yKQ0Kew0KdXNyIDwtIHBhcigidXNyIik7IG9uLmV4aXQocGFyKHVzcikp
DQpwYXIodXNyID0gYygwLCAxLCAwLCAxKSkNCnIgPC0gYWJzKGNvcih4LCB5
KSkNCnR4dCA8LSBmb3JtYXQoYyhyLCAwLjEyMzQ1Njc4OSksIGRpZ2l0cz1k
aWdpdHMpWzFdDQp0eHQgPC0gcGFzdGUocHJlZml4LCB0eHQsIHNlcD0iIikN
CmlmKG1pc3NpbmcoY2V4LmNvcikpIGNleCA8LSAwLjgvc3Ryd2lkdGgodHh0
KQ0KdGV4dCgwLjUsIDAuNSwgdHh0LCBjZXggPSBjZXggKiByKQ0KfQ0KcGFp
cnMocGxvdDMsIHVwcGVyLnBhbmVsPXBhbmVsLmNvcixsYWJlbHM9Yygic3Rv
Y2sgcmV0dXJucyIsIkZGIGZpdHMiLCJDQVBNIGZpdHMiKSkNCmZmcmVnMj1s
bShjb21iaW5lZFssMV1+Y29tYmluZWRbLDRdK2NvbWJpbmVkWyw1XStjb21i
aW5lZFssNl0pOw0KemNvbWJpbmVkPXpvbyhjb21iaW5lZCk7DQoNCg0Kem9v
Y29lZmNhcG1iZXRhPWZ1bmN0aW9uKHgpIHsNCnpvby53bGU9d2xlLmxtKHhb
LDFdfnhbLDRdKTsNCmNvZWYgKHpvby53bGUpDQp9DQoNCnJvbGxjb2VmY2Fw
bT1yb2xsYXBwbHkoemNvbWJpbmVkLHNwYW4sem9vY29lZmNhcG1iZXRhLGJ5
LmNvbHVtbj1GQUxTRSxhbGlnbj0icmlnaHQiKTsNCmRmcm9sbGNvZWZjYXBt
PWFzLmRhdGEuZnJhbWUocm9sbGNvZWZjYXBtKQ0KbmFtZXMoZGZyb2xsY29l
ZmNhcG0pWzFdPSJhbHBoYSINCm5hbWVzKGRmcm9sbGNvZWZjYXBtKVsyXT0i
bWt0IGJldGEiDQpSb2xsaW5nQ29lZmZpY2llbnRzQ0FQTT16b28oZGZyb2xs
Y29lZmNhcG0sIG9yZGVyLmJ5PWluZGV4KHJvbGxjb2VmY2FwbSkpDQp3aW4u
Z3JhcGgoKQ0KcGxvdChSb2xsaW5nQ29lZmZpY2llbnRzQ0FQTSkNCg0Kem9v
Y29lZnNhPWZ1bmN0aW9uKHgpIHsNCnpvby53bGU9d2xlLmxtKHhbLDFdfnhb
LDRdKyB4Wyw1XSsgeFssNl0pOw0KY29lZiAoem9vLndsZSkNCn0NCg0Kcm9s
bGNvZWY9cm9sbGFwcGx5KHpjb21iaW5lZCxzcGFuLHpvb2NvZWZzYSxieS5j
b2x1bW49RkFMU0UsYWxpZ249InJpZ2h0Iik7DQpkZnJvbGxjb2VmPWFzLmRh
dGEuZnJhbWUocm9sbGNvZWYpDQpuYW1lcyhkZnJvbGxjb2VmKVsxXT0iYWxw
aGEiDQpuYW1lcyhkZnJvbGxjb2VmKVsyXT0ibWt0IGJldGEiDQpuYW1lcyhk
ZnJvbGxjb2VmKVszXT0ic21iIg0KbmFtZXMoZGZyb2xsY29lZilbNF09Imht
bCINClJvbGxpbmdDb2VmZmljaWVudHM9em9vKGRmcm9sbGNvZWYsIG9yZGVy
LmJ5PWluZGV4KHJvbGxjb2VmKSkNCndpbi5ncmFwaCgpDQpwbG90KFJvbGxp
bmdDb2VmZmljaWVudHMpDQoNCmNvbXBvc2l0ZWNvZWY9bWVyZ2UoUm9sbGlu
Z0NvZWZmaWNpZW50cywgUm9sbGluZ0NvZWZmaWNpZW50c0NBUE0sIHpjb21i
aW5lZFssN10pDQpyb2xsY2FwbWNvZT1mdW5jdGlvbih4KXsNCkNBUE1DT0U9
eFs2XSpybStyZg0KfQ0Kcm9sbGZmY29lPWZ1bmN0aW9uKHgpew0KRkZDT0U9
eFsyXSpybSt4WzNdKnNtYit4WzRdKmhtbCtyZg0KfQ0Kcm9sbGZmYmV0YWNv
ZT1mdW5jdGlvbih4KXsNCkZGQ09FPXhbMl0qcm0gK3JmDQp9DQoNCg0Kcm9s
bGZmQ09FPXJvbGxhcHBseShjb21wb3NpdGVjb2VmLDEscm9sbGZmY29lLGJ5
LmNvbHVtbj1GQUxTRSxhbGlnbj0icmlnaHQiKQ0Kcm9sbGNhcG1DT0U9cm9s
bGFwcGx5KGNvbXBvc2l0ZWNvZWYsMSxyb2xsY2FwbWNvZSxieS5jb2x1bW49
RkFMU0UsYWxpZ249InJpZ2h0IikNCnJvbGxmZmJldGFDT0U9cm9sbGFwcGx5
KGNvbXBvc2l0ZWNvZWYsMSxyb2xsZmZiZXRhY29lLGJ5LmNvbHVtbj1GQUxT
RSxhbGlnbj0icmlnaHQiKQ0KZGZyb2xsY29lPWFzLmRhdGEuZnJhbWUobWVy
Z2Uocm9sbGZmQ09FLHJvbGxjYXBtQ09FLHJvbGxmZmJldGFDT0UpKQ0KbmFt
ZXMoZGZyb2xsY29lKVsxXT0iRkZDT0UiDQpuYW1lcyhkZnJvbGxjb2UpWzJd
PSJDQVBNQ09FIg0KbmFtZXMoZGZyb2xsY29lKVszXT0iRkYoYmV0YSlDT0Ui
DQoNClJvbGxpbmdDT0U9em9vKGRmcm9sbGNvZSxvcmRlci5ieT1pbmRleChy
b2xsY2FwbUNPRSkpDQp3aW4uZ3JhcGgoKQ0KcGxvdChSb2xsaW5nQ09FLHBs
b3QudHlwZT0ibXVsdGlwbGUiKQ0KaWYoKEFJQyhzaW1wbGVyZWcpKTwoQUlD
KGZmcmVnMikpKSAiQ0FQTSBzdXBlcmlvciB0byBGRiIgZWxzZSAiRkYgc3Vw
ZXJpb3IgdG8gQ0FQTSI7DQp9DQoNCg0KVXNlIGJ5IHR5cGluZyBzb21ldGhp
bmcgbGlrZSANCmdldHJmZkJldGEok0JOSZQsc3Bhbj02MCkNCg==

--0-1294175594-1163450154=:83460
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
R-SIG-Finance@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance

--0-1294175594-1163450154=:83460--
_______________________________________________
R-SIG-Finance@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance


 
____________________________________________________________________________________

Access over 1 million songs.

	[[alternative HTML version deleted]]

