Cài đặt gói
library(xlsx)
library(ggplot2)
library(corrplot)
library(PerformanceAnalytics)
library(moments)
Xử lí dữ liệu
#Đọc dữ liệu
tsla <- read.xlsx('C:/Users/Khanh Hoa/OneDrive/UFM/KTL/data/Tesla Stock Price History.xlsx', header = T, sheetIndex = 1)
msft <- read.xlsx('C:/Users/Khanh Hoa/OneDrive/UFM/KTL/Microsoft Stock Price History.xlsx', header = T, sheetIndex = 1)
aapl <- read.xlsx('C:/Users/Khanh Hoa/OneDrive/UFM/KTL/data/Apple Stock Price History.xlsx', header = T, sheetIndex = 1)
amzn <- read.xlsx('C:/Users/Khanh Hoa/OneDrive/UFM/KTL/data/Amazon.com Stock Price History.xlsx', header = T, sheetIndex = 1)
#Matching date
tsla <- xts(tsla[,2], order.by = tsla$Date)
msft <- xts(msft[,2], order.by = msft$Date)
aapl <- xts(aapl[,2], order.by = aapl$Date)
amzn <- xts(amzn[,2], order.by = amzn$Date)
#Gộp hai chuỗi giá dựa trên những ngày trùng nhau
dt1 <- merge.xts(tsla,msft,join = 'inner')
dt2 <- merge.xts(aapl,amzn,join = 'inner')
dt <- merge.xts(dt1,dt2,join = 'inner')
Tính tỷ suất lợi nhuận theo công thức logt - logt-1
rt <- CalculateReturns(dt,method = 'log')
rt <- rt[-1]
Thống kê mô tả
## Index tsla msft
## Min. :2020-01-03 Min. :-0.236518 Min. :-0.1594534
## 1st Qu.:2021-04-05 1st Qu.:-0.020254 1st Qu.:-0.0084998
## Median :2022-07-01 Median : 0.001870 Median : 0.0009642
## Mean :2022-07-02 Mean : 0.002104 Mean : 0.0007675
## 3rd Qu.:2023-10-02 3rd Qu.: 0.023500 3rd Qu.: 0.0108725
## Max. :2024-12-31 Max. : 0.198187 Max. : 0.1329289
## aapl amzn
## Min. :-0.1377134 Min. :-0.1514342
## 1st Qu.:-0.0084604 1st Qu.:-0.0111533
## Median : 0.0011717 Median : 0.0007800
## Mean : 0.0009582 Mean : 0.0006667
## 3rd Qu.: 0.0119178 3rd Qu.: 0.0128730
## Max. : 0.1130812 Max. : 0.1269197
Skewness
## tsla msft aapl amzn
## -0.1116296 -0.2805666 -0.1100315 -0.1335629
kurtosis
## tsla msft aapl amzn
## 6.222095 10.507673 8.354581 7.069685
Ma trận hiệp phương sai
## tsla msft aapl amzn
## tsla 0.0017814807 0.0003698774 0.0004146629 0.0004173598
## msft 0.0003698774 0.0003699279 0.0002879202 0.0002964088
## aapl 0.0004146629 0.0002879202 0.0003976520 0.0002684928
## amzn 0.0004173598 0.0002964088 0.0002684928 0.0005131077
Ma trận tương quan
cor_matrix <- cor(rt)
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.4.2
# Vẽ biểu đồ ma trận tương quan
ggcorrplot(cor_matrix,
method = "circle",
lab = TRUE,
lab_size = 3,
colors = c("blue", "white", "red"),
title = "Correlation Matrix",
hc.order = TRUE)
