[R-SIG-Finance] two zoo questions
Gabor Grothendieck
ggrothendieck at gmail.com
Fri May 9 15:14:28 CEST 2008
On Fri, May 9, 2008 at 8:21 AM, michal miklovic <mmiklovic at yahoo.com> wrote:
> Hi,
>
> thanks for your prompt responses.
> I am sorry for not being clear in my first question. The date "2006-05-20"
> was not displayed in my plot but the x-axis contained a corresponding 'slot'
> although the date is not in the zoo object. Similarly, the date "Jun 11" is
> displayed but there are no observation for this date.
> I would like my x-axis to contain only the dates that are in the object. In
> other words, I do not want my plot to have empty segments, which arise from
> adding dates without observations to the x-axis. Is this possible?
By "empty segments" do you mean you just want to plot the data
against 1, 2, 3, ... and then label successive times as
format(time(ShorterSpan), "...") on the X axis?
If that is it then try this:
s <- zoo(coredata(ShorterSpan))
plot(s, screens = 1, type = "p", col = 1:3, xaxt = "n")
axis(1, time(s), format(time(ShorterSpan), "%m-%d"), cex.axis = 0.5)
>
> Concerning my second question, your suggestions worked fine.
>
> Thanks again for your help.
>
> Best regards,
>
> Michal
>
>
> 'dput' output:
>
> structure(c(-0.647927859775788, -6.12495112247933, 2.35011183030576,
> -4.28594659156438, 2.64668558870609, 2.54967191535274, -0.758099006348889,
> -1.91708512600499, -1.85666892546967, 1.41984151778516, 1.67032322347964,
> -0.49744067461619, -1.69363956562325, -3.02124058139697, -4.02359885185390,
> -1.31310542630114, -2.47108579725168, -3.08080237199411, 1.98597717860372,
> 7.04819583250611, 0.10958047433407, 2.40379468330145, 1.87809239730186,
> 1.87809239730186, 1.87809239730186, 2.35011183030576, 2.35011183030576,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 7.04819583250611,
> 3.58343037136928, 1.51523152190878, 1.51523152190878, 1.51523152190878,
> 2.35011183030576, 2.35011183030576, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 2.64668558870609, 2.64668558870609, 2.64668558870609,
> 2.64668558870609, 7.04819583250611, 7.04819583250611), .Dim = c(22L,
> 3L), .Dimnames = list(NULL, c("PXreturns", "VaRWHSe099", "VaRWHSe095"
> )), index = structure(c(13287, 13290, 13291, 13292, 13293, 13294,
> 13297, 13298, 13299, 13300, 13301, 13304, 13305, 13306, 13307,
> 13308, 13311, 13312, 13313, 13314, 13315, 13318), class = "Date"), class =
> "zoo")
>
>
>
> ----- Original Message ----
> From: Gabor Grothendieck <ggrothendieck at gmail.com>
> To: michal miklovic <mmiklovic at yahoo.com>
> Cc: r-sig-finance at stat.math.ethz.ch
> Sent: Friday, May 9, 2008 1:12:19 PM
> Subject: Re: [R-SIG-Finance] two zoo questions
>
> 1. I can't reproduce your description either. When
> I run the following using zoo 1.5-3 and "R version 2.7.0 RC
> (2008-04-17 r45367)"
> the labelling on the X axis is May 22, May 27, Jun 01, Jun 06, Jun 11 and
> Jun 16
> and when in the second plot statement (###) we plot the first series
> using ordinary,
> not zoo, graphics we get the exact same X axis (as expected) so there is
> nothing
> specific to zoo here -- that is how automatic labelling in R works.
>
> Maybe your ShorterSpan object is not what you think. Try posting
> dput(ShorterSpan) or perhaps inspection will make it immediately clear.
> (Continued after code.)
>
> library(zoo)
> Lines <- " PXreturns VaRWHSe099 VaRWHSe095
> 2006-05-19 -0.6479279 1.878092 1.515232
> 2006-05-22 -6.1249511 1.878092 1.515232
> 2006-05-23 2.3501118 1.878092 1.515232
> 2006-05-24 -4.2859466 2.350112 2.350112
> 2006-05-25 2.6466856 2.350112 2.350112
> 2006-05-26 2.5496719 2.646686 2.646686
> 2006-05-29 -0.7580990 2.646686 2.646686
> 2006-05-30 -1.9170851 2.646686 2.646686
> 2006-05-31 -1.8566689 2.646686 2.646686
> 2006-06-01 1.4198415 2.646686 2.646686
> 2006-06-02 1.6703232 2.646686 2.646686
> 2006-06-05 -0.4974407 2.646686 2.646686
> 2006-06-06 -1.6936396 2.646686 2.646686
> 2006-06-07 -3.0212406 2.646686 2.646686
> 2006-06-08 -4.0235989 2.646686 2.646686
> 2006-06-09 -1.3131054 2.646686 2.646686
> 2006-06-12 -2.4710858 2.646686 2.646686
> 2006-06-13 -3.0808024 2.646686 2.646686
> 2006-06-14 1.9859772 2.646686 2.646686
> 2006-06-15 7.0481958 2.646686 2.646686
> 2006-06-16 0.1095805 7.048196 7.048196
> 2006-06-19 2.4037947 3.583430 7.048196
> "
> ShorterSpan <- read.zoo(textConnection(Lines), skip = 1, FUN = as.Date)
> colnames(ShorterSpan) <- read.table(textConnection(Lines), nrow = 1)
>
> plot(ShorterSpan, plot.type = "single", type = "p", xlab = "Date", ylab =
> "",
> col = list("black", "red", "orange"), pch = c(19,22,23), las = 1)
>
> # gives same X axis labelling -- does not use plot.zoo
> plot(time(ShorterSpan), coredata(ShorterSpan)[,1]) ###
>
>
> 2. Regarding your second question, you can change the format as in the
> previously posted response or by issuing a custom axis command:
>
> plot(ShorterSpan, type = "p", screen = 1, xaxt = "n")
> ax <- as.Date(axTicks(1))
> axis(1, ax, format(ax, "%Y-%m-%d"), cex.axis = 0.7)
>
>
>
> On Fri, May 9, 2008 at 4:18 AM, michal miklovic <mmiklovic at yahoo.com> wrote:
>> Hi,
>>
>> I have a zoo object with three time series and the corresponding dates.
>> When I plot it, the x-axis contains dates which are not in the object and,
>> naturally, no data points are displayed for these dates. For example, the
>> date "2006-05-20" is not in the object, but it appears in the x-axis of the
>> plot. As a result, I get a plot with 'empty' segments. The object, my code
>> and sessionInfo are copied below.
>> I would like to ask if it is possible to plot only the relevant dates,
>> i.e. to produce a plot without, e.g., the date "2006-05-20". If yes, how
>> could I do it?
>>
>> My second question concerns the way of displaying the dates on the x-axis.
>> Currently, the dates are displayed as "V 22", which stands for "2006-05-22".
>> I would like them to be displayed as "22 05 2006" or "22 May 2006". How can
>> I do this?
>>
>> Thanks for your help!
>>
>> Michal
>>
>>
>> The zoo object, ShorterSpan:
>> PXreturns VaRWHSe099 VaRWHSe095
>> 2006-05-19 -0.6479279 1.878092 1.515232
>> 2006-05-22 -6.1249511 1.878092 1.515232
>> 2006-05-23 2.3501118 1.878092 1.515232
>> 2006-05-24 -4.2859466 2.350112 2.350112
>> 2006-05-25 2.6466856 2.350112 2.350112
>> 2006-05-26 2.5496719 2.646686 2.646686
>> 2006-05-29 -0.7580990 2.646686 2.646686
>> 2006-05-30 -1.9170851 2.646686 2.646686
>> 2006-05-31 -1.8566689 2.646686 2.646686
>> 2006-06-01 1.4198415 2.646686 2.646686
>> 2006-06-02 1.6703232 2.646686 2.646686
>> 2006-06-05 -0.4974407 2.646686 2.646686
>> 2006-06-06 -1.6936396 2.646686 2.646686
>> 2006-06-07 -3.0212406 2.646686 2.646686
>> 2006-06-08 -4.0235989 2.646686 2.646686
>> 2006-06-09 -1.3131054 2.646686 2.646686
>> 2006-06-12 -2.4710858 2.646686 2.646686
>> 2006-06-13 -3.0808024 2.646686 2.646686
>> 2006-06-14 1.9859772 2.646686 2.646686
>> 2006-06-15 7.0481958 2.646686 2.646686
>> 2006-06-16 0.1095805 7.048196 7.048196
>> 2006-06-19 2.4037947 3.583430 7.048196
>>
>> My code:
>>
>> plot(ShorterSpan, plot.type = "single", type = "p", xlab = "Date", ylab =
>> "",
>> col = list("black", "red", "orange"), pch = c(19,22,23), las = 1)
>> legend.text <- expression(paste("% log returns on PX"),
>> paste("VaR WHS, ", eta, " = 0.99"), paste("VaR WHS, ", eta, " = 0.95"))
>> legend("topleft", legend.text, col=c("black", "red","orange"), pch =
>> c(19,22,23),
>> bty="n", y.intersp = 1.5)
>>
>>
>> sessionInfo()
>>
>> R version 2.6.2 (2008-02-08)
>> i386-pc-mingw32
>>
>> locale:
>>
>> LC_COLLATE=Slovak_Slovakia.1250;LC_CTYPE=Slovak_Slovakia.1250;LC_MONETARY=Slovak_Slovakia.1250;
>> LC_NUMERIC=C;LC_TIME=Slovak_Slovakia.1250
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> other attached packages:
>> [1] zoo_1.5-2
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.6.2 lattice_0.17-6
>>
>>
>>
>>
>> ____________________________________________________________________________________
>>
>> [[elided Yahoo spam]]
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-SIG-Finance at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> -- Subscriber-posting only.
>> -- If you want to post, subscribe first.
>>
>
> ________________________________
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it
> now.
More information about the R-SIG-Finance
mailing list