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ả

summary(rt)
##      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

skewness(rt)
##       tsla       msft       aapl       amzn 
## -0.1116296 -0.2805666 -0.1100315 -0.1335629

kurtosis

kurtosis(rt)
##      tsla      msft      aapl      amzn 
##  6.222095 10.507673  8.354581  7.069685

Biểu đồ histogram

hist(rt$tsla)

hist(rt$msft)

hist(rt$aapl)

hist(rt$amzn)

Ma trận hiệp phương sai

cov(rt)
##              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)