Wykresy notowań spółek giełdowych
#install.packages("gWidgetsRGtk2", dep=TRUE)
options(guiToolkit = "RGtk2")
#załadowanie biblioteki
library(gWidgets)
#poblieranie pliku ze wszsytkimi notowaniami
download.file("http://bossa.pl/pub/metastock/mstock/mstall.zip", destfile="mstall.zip", method="internal", quiet = FALSE, mode = "ab", cacheOK = TRUE)
#rozpakowanie pliku z notowaniami spółek
z <- unzip("mstall.zip", files = NULL, list = FALSE, overwrite = TRUE, junkpaths = FALSE, exdir = ".")
#usuwanie zbędnych znaków w nazwie
z <- substr(z, 3, nchar(z)-4)
#zapamiętani nazw szystkich spółek
z0 <- z
#wyświetlenie okna umożliwiającego wybranie spółki
w <- gwindow("Spółki GPW",height=1, width=100)
#menadzer ułożenia komponentów
tb = glayout(cont=w)
#napis
tb[1,1] <- glabel("Spółka:", cont=tb)
nazw <- z[1]
f <- function(h,...) {
v <- svalue(h$obj)
nazw <<- v
}
#lista spółek
tb[1,2] <- (l <- gdroplist(z, cont=tb, handler=f))
F <- function(h,...) {
v <-svalue(h$obj)
#sprawdzanie czy wybrano spółkę
if(!is.null(nazw)) {
dane <- read.table(paste(nazw, ".mst", sep=""), header=T, sep=",")[,3]
plot(dane, type="l", main=nazw)
}
}
#przycisk rysujący wykres
tb[1,3] <- gbutton("Rysuj", cont=tb, handle=F)
#spółki wig20
WIG20 <- c("PKOBP", "PEKAO", "KGHM", "PKNORLEN", "TPSA", "BZWBK", "ASSECOPOL", "PGNIG", "GETIN", "GTC", "TVN", "CEZ", "BRE", "PBG",
"POLIMEXMS", "LOTOS", "CYFRPLSAT", "AGORA", "CERSANIT", "BIOTON")
ff <- function(h,...) {
v <-svalue(h$obj)
if(v==T)
z <<- WIG20
else
z <- z0
#podmiana listy spółek
l[] <<- z
}
tb[2,2] <- gcheckbox("WIG 20", cont=tb, handler=ff)