",
libs = sprintf("%s $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)", LdFlags(FALSE)),
package = "RQuantLib",
Makevars = NULL,
Makevars.win = NULL)
settings <- plugin()
settings$env$PKG_CPPFLAGS <- paste("-DRQuantLib_Plugin", CFlags(FALSE))
settings
}
RQuantLib/R/mod.R 0000644 0001762 0000144 00000000075 12271333436 013224 0 ustar ligges users
#loadModule("BondsMod", TRUE)
#loadModule("BlackMod", TRUE)
RQuantLib/cleanup 0000755 0001762 0000144 00000000503 15002414473 013466 0 ustar ligges users #!/bin/sh
Rscript -e 'library(Rcpp); compileAttributes(".")'
rm -rf config.log config.status confdefs.h autom4te.cache \
src/Makevars src/libRQuantLib.a src/libRQuantLib.def src/*.o src/*.so src/symbols.rds \
RcppSrc/*.a RcppSrc/*.o RcppSrc/config.* inst/Rcpp-version.txt
find . -name \*~ | xargs rm -f
exit 0
RQuantLib/demo/ 0000755 0001762 0000144 00000000000 14356056760 013053 5 ustar ligges users RQuantLib/demo/00Index 0000644 0001762 0000144 00000000172 12466654326 014207 0 ustar ligges users OptionSurfaces European Option surfaces (requires rgl)
ShinyDiscountCurves Shiny application with Discount Curve example
RQuantLib/demo/ShinyDiscountCurves.R 0000644 0001762 0000144 00000000462 12466654326 017175 0 ustar ligges users
## use shiny, if installed to show Shiny App installed with package
if (require("shiny")) {
library(RQuantLib)
runApp(system.file("shiny", "DiscountCurve", package="RQuantLib"),
port=8765
## add host="0.0.0.0" if access from outside current machine needed
)
}
RQuantLib/demo/OptionSurfaces.R 0000644 0001762 0000144 00000004757 14356056760 016157 0 ustar ligges users
## RQuantLib Demo for (European) Option surfaces
## Dirk Eddelbuettel, September 2005
## $Id: OptionSurfaces.R,v 1.1 2005/10/12 03:42:45 edd Exp $
OptionSurface <- function(EOres, label, fov=60) {
#
# This can be removed when rgl 0.111.5 is released:
if (packageVersion("rgl") < "0.111.5")
surface3d <- rgl.surface
# End of old workaround
axis.col <- "black"
text.col <- axis.col
ylab <- label
xlab <- "Underlying"
zlab <- "Volatility"
y <- EOres
## clear scene:
clear3d()
clear3d(type="bbox")
clear3d(type="lights")
## setup env:
## bg3d(color="#887777")
bg3d(color="#DDDDDD")
light3d()
view3d(fov=fov)
##bg3d(col="white", fogtype="exp2")
##bg3d(col="black", fogtype="exp2")
##bg3d(col="black", fogtype="exp")
##bg3d(col="white", fogtype="exp")
x <- (1:nrow(y))
z <- (1:ncol(y))
x <- (x-min(x))/(max(x)-min(x))
y <- (y-min(y))/(max(y)-min(y))
z <- (z-min(z))/(max(z)-min(z))
surface3d(x = x, y = y, z = z, alpha=0.6, lit=TRUE, color="blue")
lines3d(c(0,1), c(0,0), c(0,0), col=axis.col)
lines3d(c(0,0), c(0,1), c(0,0), col=axis.col)
lines3d(c(0,0),c(0,0), c(0,1), col=axis.col)
text3d(1,0,0, xlab, adj=1, col=text.col)
text3d(0,1,0, ylab, adj=1, col=text.col)
text3d(0,0,1, zlab, adj=1, col=text.col)
## add grid (credit's to John Fox scatter3d)
xgridind <- round(seq(1, nrow(y), length=25))
zgridind <- round(seq(1, ncol(y), length=25))
surface3d(x = x[xgridind], y = y[xgridind,zgridind], z = z[zgridind],
color="darkgray", alpha=0.5, lit=TRUE,
front="lines", back="lines")
## animate (credit to view3d() example)
start <- proc.time()[3]
while ((i <- 36*(proc.time()[3]-start)) < 360) {
view3d(i,i/8);
}
}
RQuantLib.demo.OptionSurfaces <- function() {
und.seq <- seq(10, 200, by = 2.5)
vol.seq <- seq(0.05, 2, by = 0.025)
cat("Calculating surface ...")
EOarr <- EuropeanOptionArrays("call", underlying = und.seq, strike = 100,
dividendYield = 0.01, riskFreeRate = 0.03,
maturity = 1, volatility = vol.seq)
cat(" done.\n")
open3d()
OptionSurface(EOarr$value, "Value")
OptionSurface(EOarr$delta, "Delta")
OptionSurface(EOarr$gamma, "Gamma")
OptionSurface(EOarr$vega, "Vega")
OptionSurface(EOarr$theta, "Theta")
}
require(rgl,quiet=TRUE)
require(RQuantLib,quiet=TRUE)
RQuantLib.demo.OptionSurfaces()
RQuantLib/data/ 0000755 0001762 0000144 00000000000 13376525200 013027 5 ustar ligges users RQuantLib/data/vcube.RData 0000644 0001762 0000144 00000013577 15002414473 015062 0 ustar ligges users ‹ í\”UÚf’QÌ(b@ ˆ.bA ²‚¨;À º£(*+"‹Y,¢®b^Öœ³®¢.¤î
]»ªÃDÒ ‚ŠÂ¾÷úVÍ¿ðûŸ³³?çˆôœó˜žž®W/Üï~÷»¯†Ñç]ѯÝíòòòòóZ¶ÿˆ—-óÅ?-òZæµß[Ý4yö¤¢¼¼‚åoÄ÷Žâ=¨üç-7´‚f´–ÍhvCk݌֦mŸf´¶ÍhíšÑÚ7£uhFëØŒ–Ãxã9Œÿz1¾;b #ÿ}Œäbhω¡\äòÄoã¹<ñ댑\í91”‹\žÈa<‡ñÆÿÝ m]\tSQñLñª“úmöÝ‚¾}Æóe~ßÞ+ï½~Þ«þÞoû{ïê½à½è}n ÷ÞiÞ«AÞ«ÓÇïìàN..œéŽÏõÔÂɳJJÅ«íÿ¥§›k¹¶'µÝ‘kr-×~MmwÔȹ–k{SÛžP®åÚ¯©íŽÚ5×rmojÍñjr-×ö¤Öo1×rmjÒ2Íß‘—uIÛäíââôm²b=· _Ÿ]Ý‚þ}þ§}«z.p{þ_ý×<å¿îرch׋ö”h+D«&/ûÕU´~¢
mŠh‰öÍ/]#ÚZÑEÛ"Ú6ö!ó•ôÖ÷óÚgsƱ·=wM'¿õ±ç®Ù³q²7÷¹·íõ¯y¾¹uým=wÍž“½¹Ï½m¯ÍóÍëo{ì¹kr8ù=wÍÿ}hûJÕ´ú¤Å3п,sÙÚ¼J³ê•ŠeBÅçnŸøˆÞF9”6ÏãûÑcÿÊ”/Qú&Б^Ù㎧/
Ûž½åçn;4Bk|ù'D};âú.G"ìËüþœ{OCø„îíç\ˆÐŸß¼´ãŸF Ôµ²Í5%‚ï,©sÞºA^<îê¾ß?KÞuä™°2«èœúÁÁÛnxÇR„æÕµ‘#ªŸ4N>ñ‹j—QýØ_ÓzËŸ/ðƹ>û32m¾~Uù$gwA»¿^ûžÊo›‡øaû<™?û8DÊ|âª[VËx
‚omºM,¬÷ëöû¡ôBX²—™w"0tÂúÉGÝsGoqÇ#‡´ôѪNe'¢>ÏÿþÁW$‘:ä§Ë.ê²NûýŽÿø”µˆ7~îÉ/ÝŠèµƒŽøã?.BX\Ü6?ŽàÊïOûûó§Âºéšàë¯>ƒ€ÍíäÁ|aFï·¿êcñ¬O®¿ýG-ÔÞ|6Okk,9¤'jÿöÅØÕ7"-wéÊßÁ›(vqÙmÿ§?ÿ¹5Ÿ/8 1õ±¶øðÛO@t~I޴Ȉ¶~ðƒVíÈÒî³Æ,ú†‡ûá¤0ÂOôù¬ãºVÓm‹Ð;½öײ+BïúæþiEáη:¾Ñ‘aÇžþyÃzDûøñUÉ;±Yݦ;j9Iô°/žéH$Θ2áð×SËßáÆ—·Õß‚Û`½vc‡w–Ô#0§ø˜imM˜b±æ•=
ãý;Nþu úÓj Ð~ˆ# „K¼Tt‰ÌA+fÖ¿;
ö»ǖnAœûY2¿u÷Ø)=!¿ž„µùîŸ><öZÎ\¶&ñc<"e tÆöåêõeÛº@;òR±3o`]azkÑÏ÷#µê–¿®h¿r[~ˆ º"úOt> ᛾ù»Ÿ¾xÔ//†ÕY"TØ,HÃà>ëb²ç.™ýÔÀs¢KhýŸÚ÷³Ä‹ð/ÝÒóúÓÛßF–/E5ã.Åy;g) #žÝnDÇÉ<ƒðCOønåC•^xþ
4~þö½óŸGðá^vÇÃnDøÉÕ8ôYÔ¿(s’œwL é¤'ú""£±Å
~ô…VczÀRË~:?þ
Œ¸&"æèÉ;‡ˆ-ÎyjÅ›êÖëfø¹ž¾uL+}«j9N‡¸‰.Q€@˜ó*z¹âÌä}C$ðçA?ñêe"4¡MU_ðsý}5o¾_× >òDÍ'ú„…wÿŽ@õý¯ÝˆÈ]ŠˆÂ\1’™°®*ŸÜxÎÑ0eÌx†@¯Ø9è×>ûCÛ?|í¹q¯ÀÿU¿5¿[~7ü½nîûÐ×àSá4U"ˆÇ™>T‹ßÞµòxØê6–¨½ìm%Žñ7áªËÝ=ó;k“‚Ç$øùÁ¨µðP
ßK·J¤£ŠüR©èw&Ò’.hØJ¹±_"(6qö¢c ®
² ~~ÎW©¾–õÃ8h*yß
â°\M»3ÊÒ’Xðð¶Q å¹5_ £hjŽÏå‰ „Á »`Éá7,D@°ò³÷F`ü°ÍƒçÃŒ_÷úÐ/×ÀQ(–¦`éOô+a(˜O…ñ¼ÜpÆíŠøapýò½©èÿhXD¯š|ÏT„e4LB”×oyõ™ËÿrÖ>¨m«€
Ç”‰ê@$¾n)Fx¢ÌWáKNYpÛ°cYiå÷ƒ ™\CÁ´‰†+?‡®µ)½è>èoª
@ã¢nþôLdž=^f6Ø"ÉtŸ51E7C2RDÎå‘¿,Îd.¨qo(tWC—l·O_htÉã×´¦º8¤ÕË‹ÛÛqëˆô0õ8’ÍK®C\€@¤„åòÜû,Âù*ayù.(Ãû¹2Ýw£XzeôO<–JãgÚ«K¥›;Pé²;ÄC€y2P(;<æå E땨@Âzæ‡Ô:™øE–¾÷AtŒJèeóŸw]`V?˜ƒ6†›ƒúA³µ2Ôånhä5¿DÓøáðKøœçC=÷9)oש1ÁB‚
¼<TéõdúlÊ"ɶ~ðCèò§Á'A“éëã'à—Ýû>î·OɑިSÛt0œ7TâBTmÏñ¥ä †‘ B¬ñgHvoõ t ¿6ß4_Ê3ŸñÆï›¥U?I ÎÁv)#nYŽú·Žþê//¥’´:x1lq·u· öÒþOÙ³·",§uõ2ÉÖÉêE“¾X &ñèæ“ q^s›L¼ka‡?ünü»>DävQƒ `ùg>»æW“¸2²"ZZçzø¾O\9þ¡*áÁ÷º
4T1®*ÉßÕ¥r"…MÝ–ì?ýŸŠ`!‹ ùÜX®„tÍGmÊ@“éóõ×à¿á«ÝY7Â'Xþ„jàSÃŒJîoåÁ_|úÒþO#£hz"÷ e¸/BÜgK-ÿp˜r¸ãÿƒ|¨ÉÕ8îMø¹NÞ~Uò6§ÊlÜ¡‚ãÈô7<