[R-SIG-Finance] quotes from cvs file, how to?

Joshua Ulrich josh.m.ulrich at gmail.com
Sat Mar 19 17:25:25 CET 2011


On Fri, Mar 18, 2011 at 7:39 AM, BeBa <kb2qzv at poczta.wp.pl> wrote:
> Hi,
> I need help with using chartSeries from the quantmod package.
> The file that is to be used has this structure:
>
>
>> str(wig20)
> 'data.frame':   4200 obs. of  7 variables:
>  $ X.TICKER.    : Factor w/ 1 level "WIG20": 1 1 1 1 1 1 1 1 1 1 ...
>  $ X.DTYYYYMMDD.: int  19940414 19940418  19940509 ...
>  $ X.OPEN.      : num  1000 1050 1125 1305 1350 ...
>  $ X.HIGH.      : num  1000 1050 1125 1305 1350 ...
>  $ X.LOW.       : num  1000 1050 1125 1305 1350 ...
>  $ X.CLOSE.     : num  1000 1050 1125 1305 1350 ...
>  $ X.VOL.       : num  35800 49975 69030 77076 114219 ...
>
>
> and here is what it looks like:
>
>> head(wig20)
>  X.TICKER. X.DTYYYYMMDD. X.OPEN. X.HIGH. X.LOW. X.CLOSE.   X.VOL.
> 1     WIG20      19940414  1000.0  1000.0 1000.0   1000.0  35800.0
> 2     WIG20      19940418  1050.5  1050.5 1050.5   1050.5  49975.0
> 3     WIG20      19940419  1124.9  1124.9 1124.9   1124.9  69029.5
> 4     WIG20      19940421  1304.8  1304.8 1304.8   1304.8  77075.5
> 5     WIG20      19940425  1350.1  1350.1 1350.1   1350.1 114219.0
> 6     WIG20      19940426  1216.2  1216.2 1216.2   1216.2   8309.0
>
>
> Since I do not need the TICKER column I chose to proceed as follows:
>
> wig20skipped <- read.table(file="WIG20.mst", colClasses=c("NULL",
> "integer", "numeric", "numeric", "numeric", "numeric", "numeric"),
> col.names=c("NULL", "date", "o", "h", "l", "c", "vol"), sep=",",
> header=T)
>
>
> Ok, now wig20skipped looks similar to what yahoo finance site provides:
> head(wig20skipped)
>      date      o      h      l      c      vol
> 1 19940414 1000.0 1000.0 1000.0 1000.0  35800.0
> 2 19940418 1050.5 1050.5 1050.5 1050.5  49975.0
> 3 19940419 1124.9 1124.9 1124.9 1124.9  69029.5
> 4 19940421 1304.8 1304.8 1304.8 1304.8  77075.5
> 5 19940425 1350.1 1350.1 1350.1 1350.1 114219.0
> 6 19940426 1216.2 1216.2 1216.2 1216.2   8309.0
>
>
>
>
> In order for the chartSeries() to draw the data they need to be xtsible.
> So:
>
> wig20zoo <- read.zoo(wig20skipped, format="%Y%m%d")
> wig20asxts <- as.xts(wig20zoo)
>
> Just to confirm that I do things right:
> is.xts(wig20asxts)
> [1] TRUE
>
>
> and Now the problem: neither chartSeries(wig20asxts) nor candleCharts(wig20asxts) can display candlisticks.
> I don't know why. Also:
> addVolatility() results in
> addVolatility()
> Error in dim(data) <- dim : attempt to set an attribute on NULL
>

O=H=L=C in your sample data, so there won't be any candlesticks.  You
may also need to set your column names to
c("Open","High","Low","Close","Volume").

Hope that helps,
--
Joshua Ulrich  |  FOSS Trading: www.fosstrading.com



> Perhaps this could help someone to diagnose the problem:
>
> str(wig20asxts)
> An ‘xts’ object from 1994-04-14 to 2011-03-09 containing:
>  Data: num [1:4200, 1:5] 1000 1050 1125 1305 1350 ...
>  - attr(*, "dimnames")=List of 2
>  ..$ : NULL
>  ..$ : chr [1:5] "o" "h" "l" "c" ...
>  Indexed by objects of class: [Date] TZ:
>  xts Attributes:
>  NULL
>
>
>
> Thanks for any help.
>
> BeBa
>
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.



More information about the R-SIG-Finance mailing list