On Tue, 30 Dec 2014, jim holtman wrote:
Try this:
x <- read.csv(text = "Date,Open,High,Low,Close,Volume,Adj Close
+ 2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34
+ 2014-12-24,162.88,162.99,161.61,161.82,1868100,161.82
+ 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24
+ 2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44", as.is = TRUE)
require(lubridate)
x$Date <- ymd(x$Date) # convert to a date field
x <- x[order(x$Date), ] # sort by date
x$two_day <- filter(x$Close, c(0.5, 0.5)) # compute moving average
x
Date Open High Low Close Volume Adj.Close two_day
4 2014-12-22 158.33 161.91 158.33 161.44 4682500 161.44 161.84
3 2014-12-23 162.23 162.90 161.61 162.24 4043300 162.24 162.03
2 2014-12-24 162.88 162.99 161.61 161.82 1868100 161.82 162.08
1 2014-12-26 162.27 163.09 162.01 162.34 1912200 162.34 NA
A canned approach for reading and filtering the data is also available in
the "zoo" package. The read.zoo() function can directly create a "zoo"
time series object with "Date" time index:
R> z <- read.zoo(text = "Date,Open,High,Low,Close,Volume,Adj Close
+ 2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34
+ 2014-12-24,162.88,162.99,161.61,161.82,1868100,161.82
+ 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24
+ 2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44",
+ header = TRUE, sep = ",", format = "%Y-%m-%d")
And then rollmean() can compute rolling means for all variables/columns:
R> rollmean(z, 2)
Open High Low Close Volume Adj.Close
2014-12-22 160.280 162.405 159.97 161.84 4362900 161.84
2014-12-23 162.555 162.945 161.61 162.03 2955700 162.03
2014-12-24 162.575 163.040 161.81 162.08 1890150 162.08
You can additionally supply the fill = NA argument if you want trailing
NAs for 2014-12-26.
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
On Sun, Dec 28, 2014 at 8:31 AM, Rolf Edberg <ro...@algonet.se> wrote:
Thank you for trying to help!!
I am very new to the R code. So need help with every step.
The goal is to use technical analysis on stock prices. Not only MA but if
I understand the principle with that I hope I can use the other techniques
as well.
I found R-adamant but do not know how to use it.
I downloaded 4 days of IBM prices from yahoo in a csv-file..
I don?t know what ?dput? is.
Here is the IBM prices in a text string:
Date,Open,High,Low,Close,Volume,Adj Close
2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34
2014-12-24,162.88,162.99,161.61,161.82,1868100,161.82
2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24
2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44
I would like the date in sorted with the oldest at the top.
I would like to add a column with the technical indicator, in this case
2-days MA of Close.
And I would like to have the result in a csv file. I will use the file in
another program.
Thank you !!
Rolf
*From:* jim holtman [mailto:jholt...@gmail.com]
*Sent:* Sunday, December 28, 2014 4:45 PM
*To:* Rolf Edberg
*Cc:* R mailing list
*Subject:* Re: [R] Moving average
could not read the data you posted; try 'dput' next time.
If it is just a 2 day moving average, try the 'filter' function:
> x <- 1:20
> x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> filter(x, c(.5,.5))
Time Series:
Start = 1
End = 20
Frequency = 1
[1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5
15.5 16.5 17.5 18.5 19.5 NA
>
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
On Sun, Dec 28, 2014 at 6:56 AM, Rolf Edberg <ro...@algonet.se> wrote:
How do I add a new column with 2-days moving average (from
r-adamant(https://github.com/TotallyBullshit/radamant)) on IBM prices in a
csv-file (ibm.csv) and then save all in a new csv file(ibm2.csv)?
Prices
Date
Open
High
Low
Close
Volume
Adj Close*
Dec 26, 2014
162.27
163.09
162.01
162.34
1,912,200
162.34
Dec 24, 2014
162.88
162.99
161.61
161.82
1,868,100
161.82
Dec 23, 2014
162.23
162.90
161.61
162.24
4,043,300
162.24
Dec 22, 2014
158.33
161.91
158.33
161.44
4,682,500
161.44
Dec 19, 2014
157.49
160.41
157.49
158.51
8,864,900
158.51
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.