LINK DỮ LIỆU
https://drive.google.com/drive/folders/13o1BKcMyz14SGKtoKugd0lyh0rOJngCV
library(readxl)
df <- read_excel("D:\\sv\\hk2\\ngonngulaptrinh\\indexR.xlsx")
head(df)
## # A tibble: 6 × 8
## Index Date Open High Low Close `Adj Close` Volume
## <chr> <dttm> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 NYA 1965-12-31 00:00:00 528.6900020000… 528.… 528.… 528.… 528.690002… 0
## 2 NYA 1966-01-03 00:00:00 527.2100219999… 527.… 527.… 527.… 527.210021… 0
## 3 NYA 1966-01-04 00:00:00 527.8400269999… 527.… 527.… 527.… 527.840026… 0
## 4 NYA 1966-01-05 00:00:00 531.1199950000… 531.… 531.… 531.… 531.119995… 0
## 5 NYA 1966-01-06 00:00:00 532.0700070000… 532.… 532.… 532.… 532.070007… 0
## 6 NYA 1966-01-07 00:00:00 532.5999759999… 532.… 532.… 532.… 532.599975… 0
Đầu tiên đọc dữ liệu lên R, dữ liệu bao gồm biến chỉ số chứng khoán, thời gian, giá mở cửa, đóng cửa, giá cao nhất, thấp nhất, giá điều chỉnh và khối lượng giao dịch
Đây là dữ liệu hàng ngày về giá cả cho các chỉ số theo dõi sàn giao dịch chứng khoán của một số quốc gia như Hoa Kỳ, Trung Quốc, Canada, Đức, Nhật Bản và nhiều quốc gia khác.
Sau đó chuyển các cột dữ liệu về dạng numeric để tính toán
df$Open<- as.numeric(df$Open)
df$High<- as.numeric(df$High)
df$Low<- as.numeric(df$Low)
df$Close<- as.numeric(df$Close)
df$AJ<- as.numeric(df$`Adj Close`)
df$Volume<- as.numeric(df$Volume)
df <- na.omit(df)
df$`Adj Close` <- NULL
-Đặt tên cho các biến trong df
names(df) <- c("i","d","o","h","l","c","v","aj")
summary(df)
## i d o
## Length:110253 Min. :1965-01-05 00:00:00.00 Min. : 54.87
## Class :character 1st Qu.:1993-12-15 00:00:00.00 1st Qu.: 1855.03
## Mode :character Median :2004-11-03 00:00:00.00 Median : 5194.09
## Mean :2002-05-26 06:20:09.75 Mean : 7658.52
## 3rd Qu.:2013-06-25 00:00:00.00 3rd Qu.:10134.30
## Max. :2021-06-03 00:00:00.00 Max. :68775.06
## h l c v
## Min. : 54.87 Min. : 54.87 Min. : 54.87 Min. :0.000e+00
## 1st Qu.: 1864.51 1st Qu.: 1843.98 1st Qu.: 1855.06 1st Qu.:0.000e+00
## Median : 5226.28 Median : 5154.05 Median : 5194.75 Median :4.329e+05
## Mean : 7704.37 Mean : 7608.00 Mean : 7657.55 Mean :1.274e+09
## 3rd Qu.:10207.82 3rd Qu.:10060.35 3rd Qu.:10134.83 3rd Qu.:1.734e+08
## Max. :69403.75 Max. :68516.99 Max. :68775.06 Max. :9.440e+10
## aj
## Min. : 54.87
## 1st Qu.: 1854.18
## Median : 5194.75
## Mean : 7657.35
## 3rd Qu.:10134.83
## Max. :68775.06
NYA <- filter(df, i == "NYA")
head(NYA)
## # A tibble: 6 × 8
## i d o h l c v aj
## <chr> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 NYA 1965-12-31 00:00:00 529. 529. 529. 529. 0 529.
## 2 NYA 1966-01-03 00:00:00 527. 527. 527. 527. 0 527.
## 3 NYA 1966-01-04 00:00:00 528. 528. 528. 528. 0 528.
## 4 NYA 1966-01-05 00:00:00 531. 531. 531. 531. 0 531.
## 5 NYA 1966-01-06 00:00:00 532. 532. 532. 532. 0 532.
## 6 NYA 1966-01-07 00:00:00 533. 533. 533. 533. 0 533.
max(NYA$o)
## [1] 16590.43
min(NYA$o)
## [1] 347.77
mean(NYA$o)
## [1] 4451.778
NYA %>% ggplot(aes( x = d , y = c ) )+
geom_line(color= "blue")+
labs(x = "year " , y = "USD" , title = "NYA")
Dựa vào đồ thị ta thấy trong giai đoạn 1965-2021 giá của chỉ số này có sự tăng trưởng tuy nhiên vẫn có sự biến động khá lớn.
df1<- df %>% filter(i == c("IXIC", "NYA"))
ggplot(df1,aes( x = d , y = c , color= i ) )+
geom_line()+
labs(x = "year " , y = "USD" )
Ngoài ra có thể vẽ đồ thị của cả hai chỉ số NYA và IXIC ( là chỉ số của NASDAQ). Dựa vào đồ thị ta thấy rằng giá của NYA sẽ cao hơn giá của IXIC trong suốt giai đoạn, tuy nhiên xu hướng biến động của nó tương đối giống nhau. Giá của NYA đã vượt mức 150000 đô trong khoảng giai đoạn năm 2021 tuy nhiên thì IXIC ở khoảng giá 13000 đô .
df %>% filter(i == c("000001.SS", "399001.SZ")) %>%
ggplot(aes( x = d , y = c , color= i ) )+
geom_line()+
labs(x = "year " , y = "CNY" )
## Warning: There was 1 warning in `filter()`.
## ℹ In argument: `i == c("000001.SS", "399001.SZ")`.
## Caused by warning in `i == c("000001.SS", "399001.SZ")`:
## ! longer object length is not a multiple of shorter object length