Nhập và quản lý dữ liệu tài chính trong R
Joshua Ulrich
Quantitative Analyst & quantmod Co-Author and Maintainer
getSymbols("MSFT", from = "2004-07-01", to = "2004-12-31")
"MSFT"
# Điều chỉnh dữ liệu cho split và cổ tức
msft_adjusted <- adjustOHLC(MSFT)
# Tên đối tượng không phải là mã cổ phiếu
my_data <- MSFT
# Dùng tham số symbol.name
my_data_adjusted <- adjustOHLC(my_data, symbol.name = "MSFT")

# Tải dữ liệu tách cổ phiếu từ Yahoo Finance
splits <- getSplits("GE")
head(splits, n = 4)
GE.spl
1971-06-08 0.5
1983-06-02 0.5
1987-05-26 0.5
1994-05-16 0.5
# Tải dữ liệu cổ tức đã điều chỉnh theo split từ Yahoo Finance
dividends <- getDividends("GE")
head(dividends, n = 4)
GE.div
1970-03-03 0.00677
1970-06-11 0.00677
1970-09-21 0.00677
1970-12-07 0.00677
# Tải dữ liệu cổ tức chưa điều chỉnh từ Yahoo Finance
dividends_raw <- getDividends("GE", split.adjust = FALSE)
# So sánh cổ tức đã điều chỉnh và chưa điều chỉnh
head(merge(dividends, dividends_raw))
GE.div GE.div.1
1970-03-03 0.00677 0.64992
1970-06-11 0.00677 0.64992
1970-09-21 0.00677 0.64992
1970-12-07 0.00677 0.64992
1971-03-03 0.00677 0.64992
1971-06-17 0.00729 0.34992
splitsdividendsclosexts với 2 cột: Split và DivgetSymbols("GE", from = "2000-01-01")
"GE"
close <- Cl(GE)
splits <- getSplits("GE")
dividends_raw <- getDividends("GE", split.adjust = FALSE)
# Truyền split, cổ tức chưa điều chỉnh và giá đóng cửa chưa điều chỉnh
ratios <- adjRatios(splits = splits,
dividends = dividends_raw,
close = close)
# Nhân giá đóng cửa chưa điều chỉnh với tỷ lệ split và cổ tức
close_adjusted <- close * ratios[, "Split"] * ratios[, "Div"]
head(merge(close, close_adjusted, Ad(GE)), n = 4)
GE.Close GE.Close.1 GE.Adjusted
2000-01-03 150.0000 29.50422 29.44630
2000-01-04 144.0000 28.32405 28.26845
2000-01-05 143.7500 28.27488 28.21937
2000-01-06 145.6718 28.65289 28.59664
Nhập và quản lý dữ liệu tài chính trong R