[Returnanalytics-commits] r3640 - in pkg/PerformanceAnalytics: . R man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sat Apr 25 15:08:18 CEST 2015


Author: braverock
Date: 2015-04-25 15:08:18 +0200 (Sat, 25 Apr 2015)
New Revision: 3640

Added:
   pkg/PerformanceAnalytics/man/AverageLength.Rd
   pkg/PerformanceAnalytics/man/AverageRecovery.Rd
Modified:
   pkg/PerformanceAnalytics/DESCRIPTION
   pkg/PerformanceAnalytics/NAMESPACE
   pkg/PerformanceAnalytics/R/PortfolioRisk.R
   pkg/PerformanceAnalytics/R/chart.TimeSeries.R
   pkg/PerformanceAnalytics/R/chart.TimeSeries.base.R
   pkg/PerformanceAnalytics/man/chart.TimeSeries.Rd
Log:
- update chart.TimeSeries documentation, 
- un-export internal fn chart.TimeSeries.base
- add Rd files for AverageDrawdown and AverageRecovery, since they are marked for export
- bump version

Modified: pkg/PerformanceAnalytics/DESCRIPTION
===================================================================
--- pkg/PerformanceAnalytics/DESCRIPTION	2015-04-25 12:49:00 UTC (rev 3639)
+++ pkg/PerformanceAnalytics/DESCRIPTION	2015-04-25 13:08:18 UTC (rev 3640)
@@ -12,7 +12,7 @@
   , person(given="Kyle",family="Balkissoon",role="ctb")  
   , person(given="Diethelm",family="Wuertz",role="ctb")  
   )
-Version: 1.4.3639
+Version: 1.4.3640
 Date: $Date$
 Description: Collection of econometric functions for
     performance and risk analysis. This package aims to aid

Modified: pkg/PerformanceAnalytics/NAMESPACE
===================================================================
--- pkg/PerformanceAnalytics/NAMESPACE	2015-04-25 12:49:00 UTC (rev 3639)
+++ pkg/PerformanceAnalytics/NAMESPACE	2015-04-25 13:08:18 UTC (rev 3640)
@@ -145,7 +145,6 @@
 export(chart.SnailTrail)
 export(chart.StackedBar)
 export(chart.TimeSeries)
-export(chart.TimeSeries.base)
 export(chart.VaRSensitivity)
 export(charts.Bar)
 export(charts.BarVaR)

Modified: pkg/PerformanceAnalytics/R/PortfolioRisk.R
===================================================================
--- pkg/PerformanceAnalytics/R/PortfolioRisk.R	2015-04-25 12:49:00 UTC (rev 3639)
+++ pkg/PerformanceAnalytics/R/PortfolioRisk.R	2015-04-25 13:08:18 UTC (rev 3640)
@@ -1,7 +1,7 @@
 ###############################################################################
-# Functions to peRform component risk calculations on portfolios of assets.
+# Functions to perform component risk calculations on portfolios of assets.
 #
-# Copyright (c) 2007-2009 Kris Boudt and Brian G. Peterson
+# Copyright (c) 2007-2015 Kris Boudt and Brian G. Peterson
 # This R package is distributed under the terms of the GNU Public License (GPL)
 # for full details see the file COPYING
 ###############################################################################

Modified: pkg/PerformanceAnalytics/R/chart.TimeSeries.R
===================================================================
--- pkg/PerformanceAnalytics/R/chart.TimeSeries.R	2015-04-25 12:49:00 UTC (rev 3639)
+++ pkg/PerformanceAnalytics/R/chart.TimeSeries.R	2015-04-25 13:08:18 UTC (rev 3640)
@@ -1,323 +1,324 @@
-#' Creates a time series chart with some extensions.
-#' 
-#' Draws a line chart and labels the x-axis with the appropriate dates.  This
-#' is really a "primitive", since it extends the base \code{\link{plot}} and
-#' standardizes the elements of a chart.  Adds attributes for shading areas of
-#' the timeline or aligning vertical lines along the timeline. This function is
-#' intended to be used inside other charting functions.
-#' 
-#' 
-#' @param R an xts, vector, matrix, data frame, timeSeries or zoo object of
-#' asset returns
-#' @param auto.grid if true, draws a grid aligned with the points on the x and
-#' y axes
-#' @param grid.color sets the color for the reference grid
-#' @param grid.lty defines the line type for the grid
-#' @param xaxis if true, draws the x axis
-#' @param yaxis if true, draws the y axis
-#' @param yaxis.right if true, draws the y axis on the right-hand side of the
-#' plot
-#' @param type set the chart type, same as in \code{\link{plot}}
-#' @param lty set the line type, same as in \code{\link{plot}}
-#' @param lwd set the line width, same as in \code{\link{plot}}
-#' @param las set the axis label rotation, same as in \code{\link{plot}}
-#' @param main set the chart title, same as in \code{\link{plot}}
-#' @param ylab set the y-axis label, same as in \code{\link{plot}}
-#' @param xlab set the x-axis label, same as in \code{\link{plot}}
-#' @param date.format re-format the dates for the xaxis; the default is "\%m/\%y"
-#' @param xlim set the x-axis limit, same as in \code{\link{plot}}
-#' @param ylim set the y-axis limit, same as in \code{\link{plot}}
-#' @param event.lines If not null, vertical lines will be drawn to indicate
-#' that an event happened during that time period.  \code{event.lines} should
-#' be a list of dates (e.g., \code{c("09/03","05/06"))} formatted the same as
-#' date.format.  This function matches the re-formatted row names (dates) with
-#' the events.list, so to get a match the formatting needs to be correct.
-#' @param event.labels if not null and event.lines is not null, this will apply
-#' a list of text labels (e.g., \code{c("This Event", "That Event")} to the
-#' vertical lines drawn.  See the example below.
-#' @param period.areas these are shaded areas described by start and end dates
-#' in a vector of xts date rangees, e.g.,
-#' \code{c("1926-10::1927-11","1929-08::1933-03")} See the examples below.
-#' @param event.color draws the event described in \code{event.labels} in the
-#' color specified
-#' @param period.color draws the shaded region described by \code{period.areas}
-#' in the color specified
-#' @param colorset color palette to use, set by default to rational choices
-#' @param pch symbols to use, see also \code{\link{plot}}
-#' @param element.color provides the color for drawing chart elements, such as
-#' the box lines, axis lines, etc. Default is "darkgray"
-#' @param legend.loc places a legend into one of nine locations on the chart:
-#' bottomright, bottom, bottomleft, left, topleft, top, topright, right, or
-#' center.
-#' @param ylog TRUE/FALSE set the y-axis to logarithmic scale, similar to
-#' \code{\link{plot}}, default FALSE
-#' @param date.format.in allows specification of other date formats in the data
-#' object, defaults to "\%Y-\%m-\%d"
-#' @param cex.axis The magnification to be used for axis annotation relative to
-#' the current setting of 'cex', same as in \code{\link{plot}}.
-#' @param cex.legend The magnification to be used for sizing the legend
-#' relative to the current setting of 'cex'.
-#' @param cex.labels The magnification to be used for event line labels
-#' relative to the current setting of 'cex'.
-#' @param cex.lab The magnification to be used for x- and y-axis labels
-#' relative to the current setting of 'cex'.
-#' @param cex.main The magnification to be used for the chart title relative to
-#' the current setting of 'cex'.
-#' @param major.ticks Should major tickmarks be drawn and labeled, default
-#' 'auto'
-#' @param minor.ticks Should minor tickmarks be drawn, default TRUE
-#' @param xaxis.labels Allows for non-date labeling of date axes, default is
-#' NULL
-#' @param space default 0
-#' @param dygraphPlot Plot using dygraphs default FALSE
-#' @param \dots any other passthru parameters
-#' @author Peter Carl
-#' @seealso \code{\link{plot}}, \code{\link{par}},
-#' \code{\link[xts]{axTicksByTime}}
-###keywords ts multivariate distribution models hplot
-#' @examples
-#' 
-#' 
-#' # These are start and end dates, formatted as xts ranges.
-#' ## http://www.nber.org-cycles.html
-#' cycles.dates<-c("1857-06/1858-12",
-#'                 "1860-10/1861-06",
-#'                 "1865-04/1867-12",
-#'                 "1869-06/1870-12",
-#'                 "1873-10/1879-03",
-#'                 "1882-03/1885-05",
-#'                 "1887-03/1888-04",
-#'                 "1890-07/1891-05",
-#'                 "1893-01/1894-06",
-#'                 "1895-12/1897-06",
-#'                 "1899-06/1900-12",
-#'                 "1902-09/1904-08",
-#'                 "1907-05/1908-06",
-#'                 "1910-01/1912-01",
-#'                 "1913-01/1914-12",
-#'                 "1918-08/1919-03",
-#'                 "1920-01/1921-07",
-#'                 "1923-05/1924-07",
-#'                 "1926-10/1927-11",
-#'                 "1929-08/1933-03",
-#'                 "1937-05/1938-06",
-#'                 "1945-02/1945-10",
-#'                 "1948-11/1949-10",
-#'                 "1953-07/1954-05",
-#'                 "1957-08/1958-04",
-#'                 "1960-04/1961-02",
-#'                 "1969-12/1970-11",
-#'                 "1973-11/1975-03",
-#'                 "1980-01/1980-07",
-#'                 "1981-07/1982-11",
-#'                 "1990-07/1991-03",
-#'                 "2001-03/2001-11",
-#'                 "2007-12/2009-06"
-#'                 )
-#' # Event lists - FOR BEST RESULTS, KEEP THESE DATES IN ORDER
-#' risk.dates = c(
-#'     "Oct 87",
-#'     "Feb 94",
-#'     "Jul 97",
-#'     "Aug 98",
-#'     "Oct 98",
-#'     "Jul 00",
-#'     "Sep 01")
-#' risk.labels = c(
-#'     "Black Monday",
-#'     "Bond Crash",
-#'     "Asian Crisis",
-#'     "Russian Crisis",
-#'     "LTCM",
-#'     "Tech Bubble",
-#'     "Sept 11")
-#' data(edhec)
-#' 
-#' R=edhec[,"Funds of Funds",drop=FALSE]
-#' Return.cumulative = cumprod(1+R) - 1
-#' chart.TimeSeries(Return.cumulative)
-#' chart.TimeSeries(Return.cumulative, colorset = "darkblue", 
-#'                  legend.loc = "bottomright", 
-#'                  period.areas = cycles.dates, 
-#'                  period.color = "lightblue", 
-#'                  event.lines = risk.dates, 
-#'                  event.labels = risk.labels, 
-#'                  event.color = "red", lwd = 2)
-#' 
-#' @export 
-chart.TimeSeries <-
-function (R, 
-          auto.grid=TRUE, 
-          xaxis = TRUE, 
-          yaxis = TRUE, 
-          yaxis.right = FALSE, 
-          type = "l", 
-          lty = 1, 
-          lwd = 2, 
-          las = par("las"),
-          main = NULL, 
-          ylab=NULL, 
-          xlab="", 
-          date.format.in="%Y-%m-%d", 
-          date.format = NULL, 
-          xlim = NULL, 
-          ylim = NULL, 
-          element.color="darkgray", 
-          event.lines = NULL, 
-          event.labels = NULL, 
-          period.areas = NULL, 
-          event.color = "darkgray", 
-          period.color = "aliceblue", colorset = (1:12), 
-          pch = (1:12), 
-          legend.loc = NULL, 
-          ylog = FALSE, 
-          cex.axis=0.8, 
-          cex.legend = 0.8, 
-          cex.lab = 1, 
-          cex.labels = 0.8, 
-          cex.main = 1, 
-          major.ticks='auto', 
-          minor.ticks=TRUE, 
-          grid.color="lightgray", 
-          grid.lty="dotted", 
-          xaxis.labels = NULL,
-          dygraphPlot=FALSE,...)
-{ # @author Peter Carl, Brian Peterson
-
-    # DESCRIPTION:
-    # Draws a line chart and labels the x-axis with the appropriate dates.
-    # This is really a "primitive", since it constructs the elements of a plot
-    # to provide lines for each column of data provided.  
-
-    # Inputs:
-    # R = assumes that data is a regular time series, not irregular.  Can take
-    # any type of object, whether a matrix, data frame, or timeSeries.
-    # date.format: allows passing of a date format for the xaxis
-    # legend.loc = use this to locate the legend, e.g., "topright"
-    # colorset = use the name of any of the palattes above
-    # reference.grid = if true, draws a grid aligned with the points on the
-    #    x and y axes.
-    # xaxis = if true, draws the x axis.
-    # event.lines = if not null, will draw vertical lines indicating that an
-    #    event happened during that time period.  event.lines should be a list
-    #    of dates (e.g., c("09/03","05/06")) formatted the same as date.format.
-    #    This function matches the re-formatted row names (dates) with the
-    #    events.list, so to get a match the formatting needs to be correct.
-    # event.labels = if not null and event.lines is not null, this will apply
-    #    labels to the vertical lines drawn.
-
-    # All other inputs are the same as "plot" and are principally included
-    # so that some sensible defaults could be set.
-
-    # Output:
-    # Draws a timeseries graph of type "line" with some sensible defaults.
-
-    # FUNCTION:
-
-    y = checkData(R)
-
-    # Set up dimensions and labels
-    columns = ncol(y)
-    rows = nrow(y)
-    columnnames = colnames(y)
-
-    if (is.null(date.format)){
-	freq = periodicity(y)
-	yr_eq <- ifelse(format(index(first(y)),format="%Y")==format(index(last(y)),format="%Y"),TRUE,FALSE) 
-	switch(freq$scale,
-	    seconds = { date.format = "%H:%M"},
-	    minute = { date.format = "%H:%M"},
-	    hourly = {date.format = "%d %H"},
-	    daily = {if (yr_eq) date.format = "%b %d" else date.format = "%Y-%m-%d"},
-	    weekly = {if (yr_eq) date.format = "%b %d" else date.format = "%Y-%m-%d"},
-	    monthly = {if (yr_eq) date.format = "%b" else date.format = "%b %y"},
-	    quarterly = {if (yr_eq) date.format = "%b" else date.format = "%b %y"},
-	    yearly = {date.format = "%Y"}
-	)
-    }
-    # Needed for finding aligned dates for event lines and period areas
-    rownames = as.Date(time(y))
-    rownames = format(strptime(rownames,format = date.format.in), date.format)
-
-    time.scale = periodicity(y)$scale
-    ep = axTicksByTime(y,major.ticks, format.labels = date.format)
-
-    # If the Y-axis is ln
-    logaxis = ""
-    if(ylog) {
-        logaxis = "y"
-    }
-
-  
-  if(dygraphPlot==FALSE){
-    chart.TimeSeries.base(R, 
-                          auto.grid, 
-                          xaxis, 
-                          yaxis, 
-                          yaxis.right, 
-                          type, 
-                          lty, 
-                          lwd , 
-                          las ,
-                          main , 
-                          ylab, 
-                          xlab, 
-                          date.format.in, 
-                          date.format , 
-                          xlim , 
-                          ylim , 
-                          element.color, 
-                          event.lines, 
-                          event.labels, 
-                          period.areas, 
-                          event.color , 
-                          period.color , colorset , 
-                          pch, 
-                          legend.loc , 
-                          ylog , 
-                          cex.axis, 
-                          cex.legend , 
-                          cex.lab , 
-                          cex.labels, 
-                          cex.main , 
-                          major.ticks, 
-                          minor.ticks, 
-                          grid.color, 
-                          grid.lty, 
-                          xaxis.labels,...)
-    
-    
-    
-    
-    }else{
-          if(is.null(main))
-              main=columnnames[1]
-          
-              if(is.null(ylab)) {
-                  if(ylog) 
-                      ylab = "ln(Value)"
-          
-                  else 
-                      ylab = "Value"
-              }
-      
-      ##@TODO Get all the graphical parameters integrated with these two
-      dyRangeSelector(dygraph(y,main = main,
-              xlab = xlab,
-              ylab = ylab))
-      
-    }
-
-}
-
-###############################################################################
-# R (http://r-project.org/) Econometrics for Performance and Risk Analysis
-#
-# Copyright (c) 2004-2015 Peter Carl and Brian G. Peterson
-#
-# This R package is distributed under the terms of the GNU Public License (GPL)
-# for full details see the file COPYING
-#
-# $Id$
-#
-###############################################################################
+#' Creates a time series chart with some extensions.
+#' 
+#' Draws a line chart and labels the x-axis with the appropriate dates.  This
+#' is really a "primitive", since it extends the base \code{\link{plot}} and
+#' standardizes the elements of a chart.  Adds attributes for shading areas of
+#' the timeline or aligning vertical lines along the timeline. This function is
+#' intended to be used inside other charting functions.
+#' 
+#' 
+#' @param R an xts, vector, matrix, data frame, timeSeries or zoo object of
+#' asset returns
+#' @param auto.grid if true, draws a grid aligned with the points on the x and
+#' y axes
+#' @param grid.color sets the color for the reference grid
+#' @param grid.lty defines the line type for the grid
+#' @param xaxis if true, draws the x axis
+#' @param yaxis if true, draws the y axis
+#' @param yaxis.right if true, draws the y axis on the right-hand side of the
+#' plot
+#' @param type set the chart type, same as in \code{\link{plot}}
+#' @param lty set the line type, same as in \code{\link{plot}}
+#' @param lwd set the line width, same as in \code{\link{plot}}
+#' @param las set the axis label rotation, same as in \code{\link{plot}}
+#' @param main set the chart title, same as in \code{\link{plot}}
+#' @param ylab set the y-axis label, same as in \code{\link{plot}}
+#' @param xlab set the x-axis label, same as in \code{\link{plot}}
+#' @param date.format re-format the dates for the xaxis; the default is "\%m/\%y"
+#' @param xlim set the x-axis limit, same as in \code{\link{plot}}
+#' @param ylim set the y-axis limit, same as in \code{\link{plot}}
+#' @param event.lines If not null, vertical lines will be drawn to indicate
+#' that an event happened during that time period.  \code{event.lines} should
+#' be a list of dates (e.g., \code{c("09/03","05/06"))} formatted the same as
+#' date.format.  This function matches the re-formatted row names (dates) with
+#' the events.list, so to get a match the formatting needs to be correct.
+#' @param event.labels if not null and event.lines is not null, this will apply
+#' a list of text labels (e.g., \code{c("This Event", "That Event")} to the
+#' vertical lines drawn.  See the example below.
+#' @param period.areas these are shaded areas described by start and end dates
+#' in a vector of xts date rangees, e.g.,
+#' \code{c("1926-10::1927-11","1929-08::1933-03")} See the examples below.
+#' @param event.color draws the event described in \code{event.labels} in the
+#' color specified
+#' @param period.color draws the shaded region described by \code{period.areas}
+#' in the color specified
+#' @param colorset color palette to use, set by default to rational choices
+#' @param pch symbols to use, see also \code{\link{plot}}
+#' @param element.color provides the color for drawing chart elements, such as
+#' the box lines, axis lines, etc. Default is "darkgray"
+#' @param legend.loc places a legend into one of nine locations on the chart:
+#' bottomright, bottom, bottomleft, left, topleft, top, topright, right, or
+#' center.
+#' @param ylog TRUE/FALSE set the y-axis to logarithmic scale, similar to
+#' \code{\link{plot}}, default FALSE
+#' @param date.format.in allows specification of other date formats in the data
+#' object, defaults to "\%Y-\%m-\%d"
+#' @param cex.axis The magnification to be used for axis annotation relative to
+#' the current setting of 'cex', same as in \code{\link{plot}}.
+#' @param cex.legend The magnification to be used for sizing the legend
+#' relative to the current setting of 'cex'.
+#' @param cex.labels The magnification to be used for event line labels
+#' relative to the current setting of 'cex'.
+#' @param cex.lab The magnification to be used for x- and y-axis labels
+#' relative to the current setting of 'cex'.
+#' @param cex.main The magnification to be used for the chart title relative to
+#' the current setting of 'cex'.
+#' @param major.ticks Should major tickmarks be drawn and labeled, default
+#' 'auto'
+#' @param minor.ticks Should minor tickmarks be drawn, default TRUE
+#' @param xaxis.labels Allows for non-date labeling of date axes, default is
+#' NULL
+#' @param space default 0
+#' @param dygraphPlot Plot using dygraphs default FALSE
+#' @param \dots any other passthru parameters
+#' @author Peter Carl
+#' @seealso \code{\link{plot}}, \code{\link{par}},
+#' \code{\link[xts]{axTicksByTime}}
+###keywords ts multivariate distribution models hplot
+#' @examples
+#' 
+#' 
+#' # These are start and end dates, formatted as xts ranges.
+#' ## http://www.nber.org-cycles.html
+#' cycles.dates<-c("1857-06/1858-12",
+#'                 "1860-10/1861-06",
+#'                 "1865-04/1867-12",
+#'                 "1869-06/1870-12",
+#'                 "1873-10/1879-03",
+#'                 "1882-03/1885-05",
+#'                 "1887-03/1888-04",
+#'                 "1890-07/1891-05",
+#'                 "1893-01/1894-06",
+#'                 "1895-12/1897-06",
+#'                 "1899-06/1900-12",
+#'                 "1902-09/1904-08",
+#'                 "1907-05/1908-06",
+#'                 "1910-01/1912-01",
+#'                 "1913-01/1914-12",
+#'                 "1918-08/1919-03",
+#'                 "1920-01/1921-07",
+#'                 "1923-05/1924-07",
+#'                 "1926-10/1927-11",
+#'                 "1929-08/1933-03",
+#'                 "1937-05/1938-06",
+#'                 "1945-02/1945-10",
+#'                 "1948-11/1949-10",
+#'                 "1953-07/1954-05",
+#'                 "1957-08/1958-04",
+#'                 "1960-04/1961-02",
+#'                 "1969-12/1970-11",
+#'                 "1973-11/1975-03",
+#'                 "1980-01/1980-07",
+#'                 "1981-07/1982-11",
+#'                 "1990-07/1991-03",
+#'                 "2001-03/2001-11",
+#'                 "2007-12/2009-06"
+#'                 )
+#' # Event lists - FOR BEST RESULTS, KEEP THESE DATES IN ORDER
+#' risk.dates = c(
+#'     "Oct 87",
+#'     "Feb 94",
+#'     "Jul 97",
+#'     "Aug 98",
+#'     "Oct 98",
+#'     "Jul 00",
+#'     "Sep 01")
+#' risk.labels = c(
+#'     "Black Monday",
+#'     "Bond Crash",
+#'     "Asian Crisis",
+#'     "Russian Crisis",
+#'     "LTCM",
+#'     "Tech Bubble",
+#'     "Sept 11")
+#' data(edhec)
+#' 
+#' R=edhec[,"Funds of Funds",drop=FALSE]
+#' Return.cumulative = cumprod(1+R) - 1
+#' chart.TimeSeries(Return.cumulative)
+#' chart.TimeSeries(Return.cumulative, colorset = "darkblue", 
+#'                  legend.loc = "bottomright", 
+#'                  period.areas = cycles.dates, 
+#'                  period.color = "lightblue", 
+#'                  event.lines = risk.dates, 
+#'                  event.labels = risk.labels, 
+#'                  event.color = "red", lwd = 2)
+#' 
+#' @export 
+chart.TimeSeries <-
+function (R, 
+          ... , 
+          auto.grid=TRUE, 
+          xaxis = TRUE, 
+          yaxis = TRUE, 
+          yaxis.right = FALSE, 
+          type = "l", 
+          lty = 1, 
+          lwd = 2, 
+          las = par("las"),
+          main = NULL, 
+          ylab=NULL, 
+          xlab="", 
+          date.format.in="%Y-%m-%d", 
+          date.format = NULL, 
+          xlim = NULL, 
+          ylim = NULL, 
+          element.color="darkgray", 
+          event.lines = NULL, 
+          event.labels = NULL, 
+          period.areas = NULL, 
+          event.color = "darkgray", 
+          period.color = "aliceblue", colorset = (1:12), 
+          pch = (1:12), 
+          legend.loc = NULL, 
+          ylog = FALSE, 
+          cex.axis=0.8, 
+          cex.legend = 0.8, 
+          cex.lab = 1, 
+          cex.labels = 0.8, 
+          cex.main = 1, 
+          major.ticks='auto', 
+          minor.ticks=TRUE, 
+          grid.color="lightgray", 
+          grid.lty="dotted", 
+          xaxis.labels = NULL,
+          dygraphPlot=FALSE)
+{ # @author Peter Carl, Brian Peterson
+
+    # DESCRIPTION:
+    # Draws a line chart and labels the x-axis with the appropriate dates.
+    # This is really a "primitive", since it constructs the elements of a plot
+    # to provide lines for each column of data provided.  
+
+    # Inputs:
+    # R = assumes that data is a regular time series, not irregular.  Can take
+    # any type of object, whether a matrix, data frame, or timeSeries.
+    # date.format: allows passing of a date format for the xaxis
+    # legend.loc = use this to locate the legend, e.g., "topright"
+    # colorset = use the name of any of the palattes above
+    # reference.grid = if true, draws a grid aligned with the points on the
+    #    x and y axes.
+    # xaxis = if true, draws the x axis.
+    # event.lines = if not null, will draw vertical lines indicating that an
+    #    event happened during that time period.  event.lines should be a list
+    #    of dates (e.g., c("09/03","05/06")) formatted the same as date.format.
+    #    This function matches the re-formatted row names (dates) with the
+    #    events.list, so to get a match the formatting needs to be correct.
+    # event.labels = if not null and event.lines is not null, this will apply
+    #    labels to the vertical lines drawn.
+
+    # All other inputs are the same as "plot" and are principally included
+    # so that some sensible defaults could be set.
+
+    # Output:
+    # Draws a timeseries graph of type "line" with some sensible defaults.
+
+    # FUNCTION:
+
+    y = checkData(R)
+
+    # Set up dimensions and labels
+    columns = ncol(y)
+    rows = nrow(y)
+    columnnames = colnames(y)
+
+    if (is.null(date.format)){
+	freq = periodicity(y)
+	yr_eq <- ifelse(format(index(first(y)),format="%Y")==format(index(last(y)),format="%Y"),TRUE,FALSE) 
+	switch(freq$scale,
+	    seconds = { date.format = "%H:%M"},
+	    minute = { date.format = "%H:%M"},
+	    hourly = {date.format = "%d %H"},
+	    daily = {if (yr_eq) date.format = "%b %d" else date.format = "%Y-%m-%d"},
+	    weekly = {if (yr_eq) date.format = "%b %d" else date.format = "%Y-%m-%d"},
+	    monthly = {if (yr_eq) date.format = "%b" else date.format = "%b %y"},
+	    quarterly = {if (yr_eq) date.format = "%b" else date.format = "%b %y"},
+	    yearly = {date.format = "%Y"}
+	)
+    }
+    # Needed for finding aligned dates for event lines and period areas
+    rownames = as.Date(time(y))
+    rownames = format(strptime(rownames,format = date.format.in), date.format)
+
+    time.scale = periodicity(y)$scale
+    ep = axTicksByTime(y,major.ticks, format.labels = date.format)
+
+    # If the Y-axis is ln
+    logaxis = ""
+    if(ylog) {
+        logaxis = "y"
+    }
+
+  
+  if(dygraphPlot==FALSE){
+    chart.TimeSeries.base(R, 
+                          auto.grid, 
+                          xaxis, 
+                          yaxis, 
+                          yaxis.right, 
+                          type, 
+                          lty, 
+                          lwd , 
+                          las ,
+                          main , 
+                          ylab, 
+                          xlab, 
+                          date.format.in, 
+                          date.format , 
+                          xlim , 
+                          ylim , 
+                          element.color, 
+                          event.lines, 
+                          event.labels, 
+                          period.areas, 
+                          event.color , 
+                          period.color , colorset , 
+                          pch, 
+                          legend.loc , 
+                          ylog , 
+                          cex.axis, 
+                          cex.legend , 
+                          cex.lab , 
+                          cex.labels, 
+                          cex.main , 
+                          major.ticks, 
+                          minor.ticks, 
+                          grid.color, 
+                          grid.lty, 
+                          xaxis.labels,...)
+    
+    
+    
+    
+    }else{
+          if(is.null(main))
+              main=columnnames[1]
+          
+              if(is.null(ylab)) {
+                  if(ylog) 
+                      ylab = "ln(Value)"
+          
+                  else 
+                      ylab = "Value"
+              }
+      
+      ##@TODO Get all the graphical parameters integrated with these two
+      dyRangeSelector(dygraph(y,main = main,
+              xlab = xlab,
+              ylab = ylab))
+      
+    }
+
+}
+
+###############################################################################
+# R (http://r-project.org/) Econometrics for Performance and Risk Analysis
+#
+# Copyright (c) 2004-2015 Peter Carl and Brian G. Peterson
+#
+# This R package is distributed under the terms of the GNU Public License (GPL)
+# for full details see the file COPYING
+#
+# $Id$
+#
+###############################################################################

Modified: pkg/PerformanceAnalytics/R/chart.TimeSeries.base.R
===================================================================
--- pkg/PerformanceAnalytics/R/chart.TimeSeries.base.R	2015-04-25 12:49:00 UTC (rev 3639)
+++ pkg/PerformanceAnalytics/R/chart.TimeSeries.base.R	2015-04-25 13:08:18 UTC (rev 3640)
@@ -1,375 +1,230 @@
-#' Creates a time series chart with some extensions.
-#' 
-#' Draws a line chart and labels the x-axis with the appropriate dates.  This
-#' is really a "primitive", since it extends the base \code{\link{plot}} and
-#' standardizes the elements of a chart.  Adds attributes for shading areas of
-#' the timeline or aligning vertical lines along the timeline. This function is
-#' intended to be used inside other charting functions.
-#' 
-#' 
-#' @param R an xts, vector, matrix, data frame, timeSeries or zoo object of
-#' asset returns
-#' @param auto.grid if true, draws a grid aligned with the points on the x and
-#' y axes
-#' @param grid.color sets the color for the reference grid
-#' @param grid.lty defines the line type for the grid
-#' @param xaxis if true, draws the x axis
-#' @param yaxis if true, draws the y axis
-#' @param yaxis.right if true, draws the y axis on the right-hand side of the
-#' plot
-#' @param type set the chart type, same as in \code{\link{plot}}
-#' @param lty set the line type, same as in \code{\link{plot}}
-#' @param lwd set the line width, same as in \code{\link{plot}}
-#' @param las set the axis label rotation, same as in \code{\link{plot}}
-#' @param main set the chart title, same as in \code{\link{plot}}
-#' @param ylab set the y-axis label, same as in \code{\link{plot}}
-#' @param xlab set the x-axis label, same as in \code{\link{plot}}
-#' @param date.format re-format the dates for the xaxis; the default is "\%m/\%y"
-#' @param xlim set the x-axis limit, same as in \code{\link{plot}}
-#' @param ylim set the y-axis limit, same as in \code{\link{plot}}
-#' @param event.lines If not null, vertical lines will be drawn to indicate
-#' that an event happened during that time period.  \code{event.lines} should
-#' be a list of dates (e.g., \code{c("09/03","05/06"))} formatted the same as
-#' date.format.  This function matches the re-formatted row names (dates) with
-#' the events.list, so to get a match the formatting needs to be correct.
-#' @param event.labels if not null and event.lines is not null, this will apply
-#' a list of text labels (e.g., \code{c("This Event", "That Event")} to the
-#' vertical lines drawn.  See the example below.
-#' @param period.areas these are shaded areas described by start and end dates
-#' in a vector of xts date rangees, e.g.,
-#' \code{c("1926-10::1927-11","1929-08::1933-03")} See the examples below.
-#' @param event.color draws the event described in \code{event.labels} in the
-#' color specified
-#' @param period.color draws the shaded region described by \code{period.areas}
-#' in the color specified
-#' @param colorset color palette to use, set by default to rational choices
-#' @param pch symbols to use, see also \code{\link{plot}}
-#' @param element.color provides the color for drawing chart elements, such as
-#' the box lines, axis lines, etc. Default is "darkgray"
-#' @param legend.loc places a legend into one of nine locations on the chart:
-#' bottomright, bottom, bottomleft, left, topleft, top, topright, right, or
-#' center.
-#' @param ylog TRUE/FALSE set the y-axis to logarithmic scale, similar to
-#' \code{\link{plot}}, default FALSE
-#' @param date.format.in allows specification of other date formats in the data
-#' object, defaults to "\%Y-\%m-\%d"
-#' @param cex.axis The magnification to be used for axis annotation relative to
-#' the current setting of 'cex', same as in \code{\link{plot}}.
-#' @param cex.legend The magnification to be used for sizing the legend
-#' relative to the current setting of 'cex'.
-#' @param cex.labels The magnification to be used for event line labels
-#' relative to the current setting of 'cex'.
-#' @param cex.lab The magnification to be used for x- and y-axis labels
-#' relative to the current setting of 'cex'.
-#' @param cex.main The magnification to be used for the chart title relative to
-#' the current setting of 'cex'.
-#' @param major.ticks Should major tickmarks be drawn and labeled, default
-#' 'auto'
-#' @param minor.ticks Should minor tickmarks be drawn, default TRUE
-#' @param xaxis.labels Allows for non-date labeling of date axes, default is
-#' NULL
-#' @param space default 0
-#' @param \dots any other passthru parameters
-#' @author Peter Carl
-#' @seealso \code{\link{plot}}, \code{\link{par}},
-#' \code{\link[xts]{axTicksByTime}}
-###keywords ts multivariate distribution models hplot
-#' @examples
-#' 
-#' 
-#' # These are start and end dates, formatted as xts ranges.
-#' ## http://www.nber.org-cycles.html
-#' cycles.dates<-c("1857-06/1858-12",
-#'                 "1860-10/1861-06",
-#'                 "1865-04/1867-12",
-#'                 "1869-06/1870-12",
-#'                 "1873-10/1879-03",
-#'                 "1882-03/1885-05",
-#'                 "1887-03/1888-04",
-#'                 "1890-07/1891-05",
-#'                 "1893-01/1894-06",
-#'                 "1895-12/1897-06",
-#'                 "1899-06/1900-12",
-#'                 "1902-09/1904-08",
-#'                 "1907-05/1908-06",
-#'                 "1910-01/1912-01",
-#'                 "1913-01/1914-12",
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/returnanalytics -r 3640


More information about the Returnanalytics-commits mailing list