library(xlsx)
khl <- read.xlsx('C:/Users/Dell/OneDrive/UFM/R/data2.xlsx', header = T, sheetIndex = 1)
str(khl)## 'data.frame': 120 obs. of 8 variables:
## $ TIME: Date, format: "2013-01-01" "2013-02-01" ...
## $ FXR : num 27827 28218 28042 27152 26245 ...
## $ M2 : num 3766292 3786543 3842421 3866254 3899158 ...
## $ VNI : num 480 475 491 475 518 ...
## $ GOLD: num 1663 1580 1596 1477 1386 ...
## $ OIL : num 97.4 91.8 97.2 93.1 91.7 ...
## $ CPI : num 135 137 137 137 137 ...
## $ FDI : num 0.42 0.63 1.65 1.05 0.83 1.12 0.95 0.91 1.07 0.96 ...
Nguồn gốc: Bộ dữ liệu gồm một số yếu tố vĩ mô của nền kinh tế Việt Nam được tổng hợp từ các nguồn như Vietstock, Investing và IMF.
Gồm có 126 quan sát và 8 biến, cụ thể như sau:
TIME: Tháng và năm lấy dữ liệu, bắt đầu từ tháng 1-2013 đến tháng 6-2023
FXR: Dự trữ ngoại hối (ĐVT: Tỷ USD)
M2: Lượng cung tiền (ĐVT: Tỷ USD)
FDI: Tổng đầu tư trực tiếp từ nước ngoài (ĐVT: Tỷ USD)
VNI: Chỉ số giá chứng khoán VNINDEX (ĐVT: Điểm)
GOLD: Giá vàng (USD/ounce)
OIL: Giá dầu (USD/thùng)
CPI: Chỉ số giá tiêu dùng (%)
khl %>% ggplot(aes(x = CPI)) +
geom_density(color = 'black', fill = 'pink')+
xlim(120,200) +
ylim(0,0.04) +
labs(title = 'Biểu đồ 1: Biểu đồ phân phối mật độ CPI',
x = 'Giá trị CPI',
y = 'Mật độ')Từ biểu đồ 1, ta có thể nhận xét về phân phối mật độ giá trị CPI như sau:
Giá trị CPI phân phối không đều nhau
Mật độ cao nhất nằm ở mức CPI khoảng 145%
khl %>% ggplot(aes(x = FXR)) +
geom_density(color = 'red', fill = 'skyblue')+ xlim(21000,120000) +
labs(title = 'Biểu đồ 2: Biểu đồ phân phối mật độ FXR',
x = 'Giá trị FXR',
y = 'Mật độ')Ta nhận xét biểu đồ 2 như sau:
Dữ trữ ngoại hối giữa các tháng phân phối không đều nhau
Có nhiều tháng có dự trữ ngoại hối nằm trong khoảng 35000-40000
Có ít tháng có dự trữ lớn hơn 100000
khl %>% ggplot(aes(x = M2)) +
geom_density(color = 'red', fill = 'skyblue')+ xlim(3000000,17000000) +
labs(title = 'Biểu đồ 3: Biểu đồ phân phối mật độ lượng cung tiền',
x = 'Lượng cung tiền',
y = 'Mật độ')Biểu đồ 3 cho ta thấy được lượng cung tiền dường như phân bố theo giá trị của nó, giá trị thấp mật độ cao, giá trị cao mật độ thấp. Có nghĩa giá trị tỷ lệ nghịch với mật độ phân bố của nó.
khl %>% ggplot(aes(x = VNI)) +
geom_density(color = 'red', fill = 'skyblue')+
labs(title = 'Biểu đồ 4: Biểu đồ phân phối mật độ chỉ số giá chứng khoá',
x = 'VNINDEX',
y = 'Mật độ')Từ biểu đồ trên, ta nhận xét như sau:
Chỉ số VNINDEX biến động liên tục nên dường như mỗi giá trị có mật độ rất thấp.
Mật độ cao nhất là khoảng 0.0014 nằm ở khoảng giá trị từ 550 - 600
khl %>% ggplot(aes(x = GOLD)) +
geom_density(color = 'red', fill = 'skyblue')+
labs(title = 'Biểu đồ 5: Biểu đồ phân phối mật độ giá vàng',
x = 'Giá vàng',
y = 'Mật độ')Cũng như chỉ số giá chứng khoán, giá vàng biến động liên tục và dường như giá trị không trùng lặp nhau. Mật độ cao nhất là mức 0.002 rơi vào khoảng giá trị xung quanh 1250 USD/ounce.
khl %>% ggplot(aes(x = OIL)) +
geom_density(color = 'red', fill = 'skyblue')+
labs(title = 'Biểu đồ 6: Biểu đồ phân phối mật độ giá dầu',
x = 'Giá dầu',
y = 'Mật độ')Giá dầu phân bố rộng ở nhiều mức giá và biến động liên tục, mật độ cao nhất nằm ở mức 0.018 ở mức giá 50 USD/thùng
khl %>% ggplot(aes(x = FDI)) +
geom_density(color = 'red', fill = 'skyblue')+
labs(title = 'Biểu đồ 6: Biểu đồ phân phối mật độ FDI',
x = 'FDI',
y = 'Mật độ')Nhìn chung, mật độ phân bố FDI dày hơn so với mật độ của các yếu tố trước. Mật độ cao nhất nằm khoảng ở mức 0.7 rơi vào giá trị khoảng 1.5 tỷ USD. Và có xuất hiện giá trị trên 3 tỷ USD.
khl1 <- khl %>% group_by(year = year(TIME)) %>% summarise(fdi_year = sum(FDI), gold_year = mean(GOLD))
khl1 %>% ggplot(aes(x = factor(year), y = fdi_year))+
geom_col(fill = 'midnightblue')+
geom_text(aes(label = fdi_year), vjust = 2, color = 'skyblue') +
labs(title = 'Biểu đồ 8: Biến động FDI theo năm',
x = 'Năm',
y = 'FDI')Biểu đồ 8 cho ta biết được tổng đầu tư trực tiếp nước ngoài được tăng dần theo từng năm, năm 2023 thấp là bởi dữ liệu lúc này chỉ được thống kê đến tháng 6 năm 2023.
a <- length(khl1$year)
b <- vector()
c <- vector()
for(i in 1:(a-1)) {
b[i]= (khl1$fdi_year[i+1]/khl1$fdi_year[i] -1)
c[i]= (khl1$fdi_year[i+1]-khl1$fdi_year[i]) }
khl2 <- data.frame(year2 = khl1$year[2:a],b,c)
khl2 %>% ggplot(aes(x = factor(year2), y = c)) +
geom_col(fill= '#669933') +
geom_text(aes(label = round(c,2)), vjust = 0.1, color ='black') +
labs(title = 'Biểu đồ 9: Lượng tăng giảm FDI qua các năm',
x ='Năm',
y = 'Lượng tăng giảm')Từ biểu đồ 9, ta có thể thấy lượng tăng giảm FDI giữa các năm không đều nhau, mức tăng cao nhất là ở năm 2016 tăng 2.85 tỷ USD so với năm 2015. Có 2 năm mức FDI giảm đó là 2020 với mức FDI thấp hơn 2019 0.4 tỷ USD và năm 2021 giảm 0.01 tỷ USD.
khl2 %>% ggplot(aes(x = factor(year2), y = b)) +
geom_col(fill= '#CCCCFF') +
geom_text(aes(label = round(b,2)), vjust = 0.1, color ='#FF0000') +
labs(title = 'Biểu đồ 10: Tốc độ thay đổi FDI qua các năm',
x ='Năm',
y = 'Tốc độ thay đổi')Biểu đồ tốc độ thay đổi cho biết tốc độ thay đổi FDI qua các năm, tốc độ thay đổi cao nhất là ở năm 2015 với mức thay đổi đạt 24% so với năm 2014 và thấp nhất là ở năm 2020 với mức giảm 2% so với 2019
khl1 %>% ggplot(aes(x = factor(year), y = gold_year))+
geom_col(fill = 'midnightblue')+
geom_text(aes(label = round(gold_year,1)), vjust = 2, color = 'skyblue') +
labs(title = 'Biểu đồ 11: Biến động giá vàng theo năm',
x = 'Năm',
y = 'Giá vàng')-Giá vàng đạt ngưỡng cao nhất vào năm 2022 với mức giá vàng trung bình là 1795.3
-Giá vàng thấp nhất là vào năm 215 voiwsm ức giá trung bình là 1152.9
m <- vector()
n <- vector()
for(i in 1:(a-1)) {
m[i]= (khl1$gold_year[i+1]/khl1$gold_year[i] -1)
n[i]= (khl1$gold_year[i+1]-khl1$gold_year[i]) }
gold <- data.frame(year_gold = khl1$year[2:a],m,n)
gold %>% ggplot(aes(x = factor(year_gold), y = n)) +
geom_col(fill= '#FF33FF') +
geom_text(aes(label = round(n,2)), vjust = 0.1, color ='#00EE00') +
labs(title = 'Biểu đồ 12: Lượng tăng giảm giá vàng qua các năm',
x ='Năm',
y = 'Lượng tăng giảm')Giá vàng qua các năm có lượng tăng giảm không đều nhau, chỉ có 2 năm mức giá vàng giảm đó là năm 2014 và 2015. Năm giá vàng tăng cao nhất là năm 2020 với lượng tăng là 374.31 USD/ounce so với 2019
gold %>% ggplot(aes(x = factor(year_gold), y = m)) +
geom_col(fill= '#00EEEE') +
geom_text(aes(label = round(m,2)), vjust = 0.1, color ='#FF0000') +
labs(title = 'Biểu đồ 13: Tốc độ thay đổi giá vàng qua các năm',
x ='Năm',
y = 'Tốc độ thay đổi')Tốc độ thay đổi của giá vàng nhìn chung khá chậm, tuy nhiên có năm 2020 bùng nổ với tốc độ tăng 27% so với 2019
khl$gold.coded <- case_when(khl$GOLD < 1400 ~ 'Thấp', khl$GOLD >= 1400 & khl$GOLD < 1700 ~ 'Trung Bình', khl$GOLD >= 1700 ~ 'Cao')
khl3 <- khl %>% group_by(gold.coded) %>% summarise(oil.avg = mean(OIL))
khl3 %>% ggplot(aes(x = gold.coded, y = oil.avg))+
geom_col(fill = '#FF9999')+
geom_text(aes(label = round(oil.avg,2)), vjust = 2, color = '#79CDCD') +
labs(title = 'Biểu đồ 14: Mối quan hệ giữa giá vàng và giá dầu',
x ='Giá vàng',
y = 'Giá dầu trung bình')Ta có thể thấy ở mức giá vàng cao thì giá dầu trung bình cũng cao nhất, tuy nhiên ở mức giá vàng thấp thì có giá dầu lại cao hơn những tháng có giá vàng trung bình. Vậy nên ta chưa thể kết luận được mối quan hệ giữa giá vàng và giá dầu.
khl4 <- khl %>% group_by(gold.coded) %>% summarise(vni.avg = mean(VNI))
khl4 %>% ggplot(aes(x = gold.coded, y = vni.avg))+
geom_col(fill = '#79CDCD')+
geom_text(aes(label = round(vni.avg,2)), vjust = 2, color = '#FF9999') +
labs(title = 'Biểu đồ 15: Mối quan hệ giữa giá vàng và chỉ số VNINDEX',
x ='Giá vàng',
y = 'Trung bình VNINDEX')Ta thấy dường như chỉ số VNINDEX có tỷ lệ thuận với giá vàng, ở những tháng có giá vàng cao thì chỉ số VNINDEX cũng cao và ngược lại.
khl5 <- khl %>% group_by(gold.coded) %>% summarise(cpi.avg = mean(CPI))
khl5 %>% ggplot(aes(x = gold.coded, y = cpi.avg))+
geom_col(fill = '#79CDCD')+
geom_text(aes(label = round(cpi.avg,2)), vjust = 2, color = '#FF9999') +
labs(title = 'Biểu đồ 16: Mối quan hệ giữa giá vàng và chỉ số CPI',
x ='Giá vàng',
y = 'Trung bình CPI')Giá vàng dường như tỷ lệ thuận với chỉ số CPI
khl$m2.coded <- case_when(khl$M2 < 5000000 ~ 'Thấp',khl$M2 >= 5000000 & khl$M2<10000000 ~ 'Trung bình', khl$M2 > 10000000 & khl$M2 < 13000000 ~ 'Cao',khl$M2 > 13000000 ~ 'Rất cao')
khl6 <- khl %>% group_by(m2.coded) %>% summarise(fdi_avg = mean(FDI))
khl6 %>% ggplot(aes(x = m2.coded, y = fdi_avg))+
geom_col() +
geom_text(aes(label = round(fdi_avg,2)),vjust = 2, color = 'blue') +
labs(title = 'Biểu đồ 17: Mối quan hệ giữa lượng cung tiền và FDI',
x ='Lượng cung tiền',
y = 'Trung bình FDI')Lượng cung tiền tỷ lệ thuận với FDI
khl %>% ggplot(aes(x = m2.coded, fill = gold.coded)) +
geom_bar() +
labs(title = 'Biểu đồ 18: Mối quan hệ giữa giá vàng và lượng cung tiền',
x = 'Lượng cung tiền')Ta có thể thấy ở mức cung tiền thấp và trung bình thì số quan sát có mức giá vàng thấp là chủ yếu, tương tự ở mức cung tiền cao và rất cao thì có giá vàng cao.
khl %>% group_by(gold.coded) %>% summarise(n_gold = n()) %>%
ggplot(aes(x = '', y = n_gold, fill = gold.coded))+
geom_col() +
coord_polar('y')+
labs(title = 'Biểu đồ 19: Số lượng quan sát theo các mức giá vàng',
x= '',
y = '')Vậy ta có thể thấy trong bộ dữ liệu này, mức giá vàng thấp chiếm đa số, sau đó là đến giá vàng cao và thấp nhất là mức giá vàng trung bình.
khl %>% group_by(m2.coded) %>% summarise(n_m2 = n()) %>%
ggplot(aes(x = '', y = n_m2, fill = m2.coded))+
geom_col() +
coord_polar('y')+
labs(title = 'Biểu đồ 20: Số lượng quan sát theo các lượng cung tiền khác nhau',
x= '',
y = '')Ta thấy, mức cung tiền trung bình chiếm đa số và thấp nhất là mức cung tiền rất cao