This report summarizes daily closing prices for the Hang Seng Index (^HSI) and Tencent Holdings (0700.HK) from January 1, 2026 through May 31, 2026, and uses a chart to compare how the index and the stock’s price trends have moved relative to each other over this period.
library(quantmod)
hsi <- getSymbols("^HSI", from = "2026-01-01", to = "2026-06-01", auto.assign = FALSE)
tencent <- getSymbols("0700.HK", from = "2026-01-01", to = "2026-06-01", auto.assign = FALSE)
head(hsi)
## HSI.Open HSI.High HSI.Low HSI.Close HSI.Volume HSI.Adjusted
## 2026-01-02 25717.42 26345.63 25717.42 26338.47 1489700000 26338.47
## 2026-01-05 26361.44 26445.50 26256.00 26347.24 3692200000 26347.24
## 2026-01-06 26502.40 26858.13 26498.36 26710.45 3800900000 26710.45
## 2026-01-07 26601.83 26616.94 26313.51 26458.95 3645300000 26458.95
## 2026-01-08 26302.78 26305.69 25960.34 26149.31 3243300000 26149.31
## 2026-01-09 26272.54 26299.32 26114.41 26231.79 3241700000 26231.79
head(tencent)
## 0700.HK.Open 0700.HK.High 0700.HK.Low 0700.HK.Close 0700.HK.Volume
## 2026-01-02 600.5 624.5 600.5 623.0 16200058
## 2026-01-05 624.0 628.0 615.5 624.5 19947025
## 2026-01-06 627.0 638.5 626.0 632.5 24168431
## 2026-01-07 627.5 629.5 615.0 624.5 21378622
## 2026-01-08 618.5 621.0 610.0 616.0 18742539
## 2026-01-09 616.0 617.0 610.0 611.0 17813669
## 0700.HK.Adjusted
## 2026-01-02 615.8251
## 2026-01-05 617.3078
## 2026-01-06 625.2156
## 2026-01-07 617.3078
## 2026-01-08 608.9057
## 2026-01-09 603.9633
hsi_close <- data.frame(hsi[, "HSI.Close"])
tencent_close <- data.frame(tencent[, "0700.HK.Close"])
hsi_prices <- hsi_close$HSI.Close
tencent_prices <- tencent_close$X0700.HK.Close
mean(hsi_prices)
## [1] 26139.6
min(hsi_prices)
## [1] 24382.47
max(hsi_prices)
## [1] 27968.09
mean(tencent_prices)
## [1] 527.048
min(tencent_prices)
## [1] 425
max(tencent_prices)
## [1] 633
n_hsi <- length(hsi_prices)
hsi_returns <- (hsi_prices[2:n_hsi] - hsi_prices[1:(n_hsi - 1)]) / hsi_prices[1:(n_hsi - 1)]
n_tencent <- length(tencent_prices)
tencent_returns <- (tencent_prices[2:n_tencent] - tencent_prices[1:(n_tencent - 1)]) / tencent_prices[1:(n_tencent - 1)]
mean(hsi_returns)
## [1] -0.0003854618
min(hsi_returns)
## [1] -0.03540128
max(hsi_returns)
## [1] 0.03091551
mean(tencent_returns)
## [1] -0.003687338
min(tencent_returns)
## [1] -0.06811989
max(tencent_returns)
## [1] 0.07267442
Since the Hang Seng Index and Tencent trade at very different price levels, I rebase both series to start at 100 so they can be compared on the same chart.
hsi_rebased <- hsi_prices / hsi_prices[1] * 100
tencent_rebased <- tencent_prices / tencent_prices[1] * 100
combined_rebased <- c(hsi_rebased, tencent_rebased)
y_min <- min(combined_rebased)
y_max <- max(combined_rebased)
plot(index(hsi), hsi_rebased,
type = "l", col = "blue",
ylim = c(y_min, y_max),
xlab = "Date", ylab = "Rebased Closing Price (Start = 100)",
main = "Hang Seng Index vs. Tencent (Jan-May 2026)")
lines(index(tencent), tencent_rebased, col = "red")
legend("topleft", legend = c("Hang Seng Index", "Tencent (0700.HK)"),
col = c("blue", "red"), lty = 1)