[R] help on timeseries
Frederic Andrieu
fandrieu at mango-solutions.com
Thu Dec 9 12:07:56 CET 2010
Hi Raymond,
Try that.
con <- textConnection("
date Px 200MA Signals
2005-09-15 26.27 25.83865 1
2005-09-16 26.07 25.83275 1
2005-09-19 26.00 25.82730 1
2005-09-20 25.84 25.82035 1
2005-09-21 25.49 25.81115 -1
2005-09-22 25.34 25.80250 -1
2005-09-23 25.27 25.79205 -1
2005-09-26 25.27 25.78225 -1
2005-09-27 25.34 25.77355 -1
2005-09-28 25.67 25.76565 -1
2005-09-29 25.94 25.75920 1
2005-09-30 25.73 25.75230 -1
2005-10-03 25.50 25.74400 -1
2005-10-04 24.98 25.73410 -1
2005-10-05 24.67 25.72270 -1
2005-10-06 24.73 25.71100 -1
2005-10-07 24.59 25.69910 -1
2005-10-10 24.46 25.68635 -1
2005-10-11 24.41 25.67415 -1
2005-10-12 24.30 25.66090 -1
2005-10-13 24.59 25.64935 -1
2005-10-14 24.67 25.63890 -1
2005-10-17 24.53 25.62795 -1
2005-10-18 24.57 25.61710 -1
2005-10-19 25.09 25.60835 -1
2005-10-20 24.79 25.59840 -1
2005-10-21 24.78 25.58855 -1
2005-10-24 25.10 25.58070 -1
2005-10-25 25.03 25.57185 -1
2005-10-26 25.11 25.56375 -1
2005-10-27 24.85 25.55410 -1
2005-10-28 25.53 25.55040 -1
2005-10-31 25.70 25.54830 1
2005-11-01 25.96 25.54650 1
2005-11-02 26.46 25.54890 1
2005-11-03 26.44 25.55180 1
2005-11-04 26.66 25.55685 1
")
# wrap the text from the email with textConnection
egData <- read.table(con, header = TRUE, as.is = TRUE)
# a data frame
egData$StartStop <- c(0, diff(egData$Signals))
# column flagging changes in value
logic.start <- egData$StartStop == -2
# logical vector showing position where Signal becomes -1
logic.stop <- c(c(egData$StartStop == 2)[-1], FALSE)
# logical vector showing position BEFORE position
# where Signal becomes 1
signal.df <- data.frame(Start = egData$date[logic.start],
Stop = egData$date[logic.stop])
signal.df
# data frame of start and stop dates
Best regards,
Frederic
Frederic Andrieu
T: +44 (0)1249 767700
F: +44 (0)1249 767707
M: +44 (0)7813526123
www.mango-solutions.com
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of cameron
Sent: 07 December 2010 17:42
To: r-help at r-project.org
Subject: [R] help on timeseries
i have time series of momentum signal. I want to get the date of each of the
"-1" signal period. for example , the first period of -1 signal begins on
2005-9-21 and ends on 2005-9-28. 2nd period of -1 signal begins on
2005-09-30 and ends on 2005-10-28.
Thx
Cameron
date Px 200MA Signals
2005-09-15 26.27 25.83865 1
2005-09-16 26.07 25.83275 1
2005-09-19 26.00 25.82730 1
2005-09-20 25.84 25.82035 1
2005-09-21 25.49 25.81115 -1
2005-09-22 25.34 25.80250 -1
2005-09-23 25.27 25.79205 -1
2005-09-26 25.27 25.78225 -1
2005-09-27 25.34 25.77355 -1
2005-09-28 25.67 25.76565 -1
2005-09-29 25.94 25.75920 1
2005-09-30 25.73 25.75230 -1
2005-10-03 25.50 25.74400 -1
2005-10-04 24.98 25.73410 -1
2005-10-05 24.67 25.72270 -1
2005-10-06 24.73 25.71100 -1
2005-10-07 24.59 25.69910 -1
2005-10-10 24.46 25.68635 -1
2005-10-11 24.41 25.67415 -1
2005-10-12 24.30 25.66090 -1
2005-10-13 24.59 25.64935 -1
2005-10-14 24.67 25.63890 -1
2005-10-17 24.53 25.62795 -1
2005-10-18 24.57 25.61710 -1
2005-10-19 25.09 25.60835 -1
2005-10-20 24.79 25.59840 -1
2005-10-21 24.78 25.58855 -1
2005-10-24 25.10 25.58070 -1
2005-10-25 25.03 25.57185 -1
2005-10-26 25.11 25.56375 -1
2005-10-27 24.85 25.55410 -1
2005-10-28 25.53 25.55040 -1
2005-10-31 25.70 25.54830 1
2005-11-01 25.96 25.54650 1
2005-11-02 26.46 25.54890 1
2005-11-03 26.44 25.55180 1
2005-11-04 26.66 25.55685 1
-code
library(tseries)
library(timeSeries)
msft <- as.timeSeries(get.hist.quote(instrument="MSFT", start="1986-03-31",
end="2008-09-10", quote=c("C"), provider="yahoo", retclass="zoo"))
msft <- cbind(msft,as.timeSeries(rollapply(as.zoo(msft
),width=200,mean,align="right")))
msft <- cbind(msft,NA)
msft[,3] <- (ifelse(msft[,1]>msft[,2],1,-1))
print(msft)
--
View this message in context: http://r.789695.n4.nabble.com/help-on-timeseries-tp3076866p3076866.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
LEGAL NOTICE
This message is intended for the use o...{{dropped:9}}
More information about the R-help
mailing list