Hi,

In looking at the documentation for the TTR library and particularly the 
example for calculating the ATR (average true range).  The example shows how to 
calculate ATR for a file of a single stock.

If I have multiple stocks in one file, isn't there a way to get the ATR for 
each of them?  Or does one have to break out each stock and calculate the ATR 
separately using some sort of loop.

In terms of a reproducible example, the file below contains open, high, low, 
close, etc. for AAPL and then MSFT.

If the ATR calculation were fully working, then there would be blanks for 
records 41 through 54 and then the ATR calculation would start up again.

Guidance would be very much appreciated.

--John Sparks


Hist<-
structure(list(symbol = c("AAPL", "AAPL", "AAPL", "AAPL", "AAPL",
"AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL",
"AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL",
"AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL",
"AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL", "AAPL",
"AAPL", "AAPL", "AAPL", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT",
"MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT",
"MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT",
"MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT",
"MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT", "MSFT",
"MSFT", "MSFT", "MSFT"), date = structure(c(20033, 20034, 20035,
20038, 20039, 20040, 20041, 20042, 20045, 20046, 20047, 20048,
20049, 20052, 20053, 20054, 20056, 20059, 20060, 20061, 20062,
20063, 20066, 20067, 20068, 20069, 20070, 20073, 20074, 20075,
20076, 20077, 20080, 20081, 20083, 20084, 20087, 20088, 20090,
20091, 20033, 20034, 20035, 20038, 20039, 20040, 20041, 20042,
20045, 20046, 20047, 20048, 20049, 20052, 20053, 20054, 20056,
20059, 20060, 20061, 20062, 20063, 20066, 20067, 20068, 20069,
20070, 20073, 20074, 20075, 20076, 20077, 20080, 20081, 20083,
20084, 20087, 20088, 20090, 20091), class = "Date"), open = c(222.61,
224.63, 227.17, 225, 224.55, 224.01, 225.02, 226.4, 225.25, 226.98,
228.06, 228.88, 228.06, 231.46, 233.33, 234.47, 234.81, 237.27,
239.81, 242.87, 243.99, 242.91, 241.83, 246.89, 247.96, 246.89,
247.82, 247.99, 250.08, 252.16, 247.5, 248.04, 254.77, 255.49,
258.19, 257.83, 252.23, 252.44, 248.93, 243.36, 412.42, 421.28,
425.32, 422.52, 418.25, 421.64, 425, 419.82, 414.87, 413.11,
416.87, 419.5, 411.37, 418.38, 419.59, 425.11, 420.09, 421.57,
429.84, 433.03, 437.92, 442.3, 442.6, 444.39, 444.05, 449.11,
448.44, 447.27, 451.01, 451.32, 441.62, 433.11, 436.74, 434.65,
439.08, 434.6, 426.06, 426.1, 425.53, 421.08), high = c(226.07,
227.88, 228.66, 225.7, 225.59, 226.65, 228.87, 226.92, 229.74,
230.16, 229.93, 230.16, 230.72, 233.25, 235.57, 235.69, 237.81,
240.79, 242.76, 244.11, 244.54, 244.63, 247.24, 248.21, 250.8,
248.74, 249.29, 251.38, 253.83, 254.28, 252, 255, 255.65, 258.21,
260.1, 258.7, 253.5, 253.28, 249.1, 244.18, 420.45, 426.85, 426.5,
424.81, 424.44, 429.33, 428.17, 422.8, 418.4, 417.94, 417.29,
419.78, 417.4, 421.08, 429.04, 427.23, 424.88, 433, 432.47, 439.67,
444.66, 446.1, 448.33, 449.62, 450.35, 456.16, 451.43, 452.18,
455.29, 452.65, 443.18, 443.74, 437.65, 439.6, 440.94, 435.22,
427.55, 426.73, 426.07, 424.03), low = c(221.19, 224.57, 226.41,
221.5, 223.36, 222.76, 225, 224.27, 225.17, 226.66, 225.89, 225.71,
228.06, 229.74, 233.33, 233.81, 233.97, 237.16, 238.9, 241.25,
242.13, 242.08, 241.75, 245.34, 246.26, 245.68, 246.24, 247.65,
249.78, 247.74, 247.09, 245.69, 253.45, 255.29, 257.63, 253.06,
250.75, 249.43, 241.82, 241.89, 410.52, 419.88, 421.78, 416,
417.2, 418.21, 420, 413.64, 412.1, 411.55, 410.58, 410.29, 411.06,
414.85, 418.85, 422.02, 417.8, 421.31, 427.74, 432.63, 436.17,
441.77, 440.5, 441.6, 444.05, 449.11, 445.58, 445.28, 449.57,
437.02, 436.32, 428.63, 432.83, 434.19, 436.63, 426.35, 421.9,
420.66, 414.85, 419.54), close = c(222.72, 227.48, 226.96, 224.23,
224.23, 225.12, 228.22, 225, 228.02, 228.28, 229, 228.52, 229.87,
232.87, 235.06, 234.93, 237.33, 239.59, 242.65, 243.01, 243.04,
242.84, 246.75, 247.77, 246.49, 247.96, 248.13, 251.04, 253.48,
248.05, 249.79, 254.49, 255.27, 258.2, 259.02, 255.59, 252.2,
250.42, 243.85, 243.36, 420.18, 425.43, 422.54, 418.01, 423.03,
425.2, 426.89, 415, 415.76, 417.79, 415.49, 412.87, 417, 418.79,
427.99, 422.99, 423.46, 430.98, 431.2, 437.42, 442.62, 443.57,
446.02, 443.33, 448.99, 449.56, 447.27, 451.59, 454.46, 437.39,
437.03, 436.6, 435.25, 439.33, 438.11, 430.53, 424.83, 421.5,
418.58, 423.35), adjClose = c(222.48, 227.23, 226.96, 224.23,
224.23, 225.12, 228.22, 225, 228.02, 228.28, 229, 228.52, 229.87,
232.87, 235.06, 234.93, 237.33, 239.59, 242.65, 243.01, 243.04,
242.84, 246.75, 247.77, 246.49, 247.96, 248.13, 251.04, 253.48,
248.05, 249.79, 254.49, 255.27, 258.2, 259.02, 255.59, 252.2,
250.42, 243.85, 243.36, 419.34, 424.58, 421.7, 417.17, 422.18,
424.35, 426.04, 414.17, 414.93, 416.96, 414.66, 412.87, 417,
418.79, 427.99, 422.99, 423.46, 430.98, 431.2, 437.42, 442.62,
443.57, 446.02, 443.33, 448.99, 449.56, 447.27, 451.59, 454.46,
437.39, 437.03, 436.6, 435.25, 439.33, 438.11, 430.53, 424.83,
421.5, 418.58, 423.35)), class = "data.frame", row.names = c(NA,
-80L))

library(TTR)
atr <- ATR(Hist[,c("high","low","close")], n=14)
atr






        [[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 https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to