Hello, I'm trying to do two things: -1. Ensure that I understand how quantmod adjust's OHLC data -2. Determine how I ought to adjust my data.
My overarching-goal is to adjust my OHLC data appropriately to minimize the difference between my backtest returns, and the returns I would get if I was trading for real (which I'll be doing shortly). Background: -1. I'm using Alpha Vantage's data, and quantmod's data adjustment tools. -2: I used Joshua Ulrich's DataCamp guidance ( https://campus.datacamp.com/courses/importing-and-managing-financial-data-in-r/importing-text-data-and-adjusting-for-corporate-actions?ex=10) (and quantmod documentation) to determine how Alpha Vantage's data is adjusted. Here are my findings: -It seems that Alpha Vantage's OHLC data are unadjusted, and the adjusted close column provided is adjusted for splits, and split-adjusted dividends. -If I use AV's adjusted close column to adjust my OHCL data, my data will be adjusted for splits, and split-adjusted dividends. (So, I can use adjustOHLC(), with argument use.Adjusted = TRUE to adjust for splits, and split-adjusted dividends) Evidence: ### library(quantmod) #AV data getSymbols("AAPL",src = "av" ,api.key = my_api_key , adjusted = TRUE, output.size = "full") #supply your own api key #Manual adjustments for splits, and split-adjusted dividends close_av <- Cl(AAPL) splits <- getSplits("AAPL") dividends <- getDividends("AAPL", split.adjust = TRUE) ratios_av <- adjRatios(splits = splits, dividends = dividends, close = close_av) close_av_adj <- close_av * ratios_av[,"Div"] * ratios_av[,"Split"] head(merge(close_av, close_av_adj, Ad(AAPL))) #The leftmost column is the raw close data from Alpha Vantage, #the middle column is the raw Alpha Vantage close column manually adjusted #for splits and split-adjusted dividends, and the last column is the adjusted close column returned by Alpha Vantage #Adjust all data for splits, and split-adjusted dividends (I think) AAPL_a <- adjustOHLC(AAPL, use.Adjusted = TRUE) head(AAPL_a) ### Two questions: -1. Am I interpreting these adjustments correctly? -2. What adjustment method minimizes the difference between backtesting and live-trading? p.s., I expect there is no "correct" method for adjusting data. I'm curious if there is a "best-practice" or norm that is used. I'm curious if there is a method which minimizes the difference between backtesting and live-trading. Thanks you, -Joe [[alternative HTML version deleted]] ______________________________________________ [email protected] 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.

