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.