简体   繁体   中英

Get stock return over a specific time period

Does someone have a good idea how to get the return for a stock for a specific time period eg AAPL from 2000-01-01 to 2020-01-01. I know there is something like

periodReturn(AAPL,period='yearly',subset='2000::')

But this is giving me the yearly returns. I actually just want the whole return.

Fully in quantmod functions:

library(quantmod)

aapl <- getSymbols("AAPL", from = "2000-01-01", auto.assign = F)

# first and last get the first and last entry in the timeseries.
# select the close values
# Delt calculates the percent difference
Delt(Cl(first(aapl)), Cl(last(aapl)))
           Delt.0.arithmetic
2020-07-08          94.39573

Or in simple maths:

as.numeric(Cl(last(aapl))) / as.numeric(Cl(first(aapl))) - 1
[1] 94.39573

I'm taking the close value of the fist entry. You might take the open, high or low of the day. This has some effect on the return first values in 2000 range from the low 3.63 to the high of 4.01. Depending on your choice the return will be between 104 and 93.9 times your starting capital.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM