원달러 환율 그래프 10년치로 보는 경제 흐름: R로 쉽게 분석하기
안녕하세요, 여러분! 오늘은 우리 일상에 큰 영향을 미치는 ‘원달러 환율’에 대해 이야기해볼까 해요. 특히 최근 원달러 환율 그래프 10년치를 살펴보면서, 우리 경제가 어떤 흐름을 타고 왔는지 함께 알아보겠습니다.
이 포스트에서는 R이라는 프로그래밍 언어를 사용해 데이터를 시각화하는 방법도 소개할 예정이니, 데이터 분석에 관심 있으신 분들께 특히 유용할 거예요!
원달러 환율, 왜 중요할까요?
원달러 환율은 우리 경제의 건강 상태를 보여주는 중요한 지표 중 하나입니다. 환율이 오르면 수출 기업들은 좋아하지만, 해외여행이나 직구를 즐기는 분들은 아쉬워하죠. 반대로 환율이 내리면 수입품 가격이 내려가 소비자들은 좋아하지만, 수출 기업들은 걱정이 늘어납니다. 이렇게 원달러 환율은 우리 생활 곳곳에 영향을 미치고 있어요.
R로 원달러 환율 그래프 10년치 그리기
자, 이제 R을 사용해 최근 10년간의 원달러 환율 그래프를 그려볼까요? 아래 코드를 따라해보세요.
# 패키지 설치 및 로드
if (!require("quantmod")) install.packages("quantmod")
if (!require("ggplot2")) install.packages("ggplot2")
if (!require("dplyr")) install.packages("dplyr")
if (!require("zoo")) install.packages("zoo")
library(quantmod)
library(ggplot2)
library(dplyr)
library(zoo)
# Yahoo Finance에서 데이터 다운로드
currency_pair <- "USDKRW=X"
start_date <- Sys.Date() - 365*10 # 최근 10년
end_date <- Sys.Date()
# 환율 데이터 가져오기
getSymbols(currency_pair, src = "yahoo", from = start_date, to = end_date, auto.assign = TRUE)
data <- get(currency_pair)
# 결측값 처리
data <- na.omit(data)
# 데이터프레임으로 변환
data <- data.frame(Date = index(data), coredata(data))
colnames(data) <- c("Date", "Open", "High", "Low", "Close", "Volume", "Adjusted")
# 50일 이동 평균선 계산
data <- data %>%
mutate(MA50 = rollmean(Close, k = 50, fill = NA))
# 주요 경제 이벤트 정의
events <- data.frame(
Date = as.Date(c("2020-03-01", "2022-02-24", "2024-12-07")),
Label = c("COVID-19 Pandemic", "Russia-Ukraine War", "Martial Law Declaration")
)
# 최대 및 최소 환율 계산
max_rate <- max(data$Close, na.rm = TRUE)
min_rate <- min(data$Close, na.rm = TRUE)
max_date <- data$Date[which.max(data$Close)]
min_date <- data$Date[which.min(data$Close)]
# 10년간 평균 환율 계산
mean_rate <- mean(data$Close, na.rm = TRUE)
# 최대 최소 환율 데이터 프레임 생성
extreme_points <- data.frame(
Date = c(max_date, min_date),
Rate = c(max_rate, min_rate),
Label = c(paste("Max:", round(max_rate, 2), "on", max_date),
paste("Min:", round(min_rate, 2), "on", min_date))
)
# 그래프 그리기
ggplot(data, aes(x = Date, y = Close)) +
geom_line(color = "steelblue", size = 1, alpha = 0.8) +
geom_line(aes(y = MA50), color = "orange", size = 1, linetype = "dashed") +
geom_hline(yintercept = mean_rate, color = "blue", linetype = "dotted", size = 1) +
annotate("text", x = max(data$Date), y = mean_rate,
label = paste("10-Year Average:", round(mean_rate, 2)),
color = "blue", vjust = -0.5, hjust = 1, size = 3) +
geom_vline(data = events, aes(xintercept = Date), color = "red", linetype = "dashed", size = 0.7) +
geom_text(data = events, aes(x = Date, y = max(data$Close, na.rm = TRUE), label = Label),
color = "red", vjust = 10, hjust = 1.5, angle = 45, size = 3) +
geom_point(data = extreme_points, aes(x = Date, y = Rate), color = c("green", "purple"), size = 3) +
geom_text(data = extreme_points, aes(x = Date, y = Rate, label = Label),
color = c("green", "purple"), vjust = c(-1, 1.5), hjust = 0.5, size = 3) +
labs(
title = "KRW/USD Exchange Rate Over Last 10 Years",
x = "Year",
y = "Exchange Rate (KRW/USD)"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 12)
)
원달러 환율 그래프 10년, 무엇을 말해주나요?
상기의 그래프는 지난 10년 동안의 원/달러 환율 변동을 시각적으로 보여줍니다. 각종 국내외 주요 사건들이 환율에 미친 영향을 명확히 드러내며, 이 기간 동안의 한국 경제와 글로벌 경제의 상호작용을 이해할 수 있는 중요한 단서를 제공합니다. 아래에서 주목할 만한 점들을 정리해 보았습니다.
COVID-19 팬데믹의 영향
- 2020년 3월, 전 세계적으로 COVID-19 팬데믹이 선언되면서 경제적 불확실성이 확대되었습니다. 이로 인해 원화 가치가 하락하고 안전 자산으로 분류되는 달러 수요가 급증하면서 환율이 급격히 상승했습니다.
러시아-우크라이나 전쟁의 영향
- 2022년 2월, 러시아의 우크라이나 침공으로 인해 글로벌 지정학적 불안이 가중되었습니다. 에너지 위기와 글로벌 공급망 차질이 심화되면서 원/달러 환율은 또 한 차례 큰 폭으로 상승하는 모습을 보였습니다.
비상계엄령 선포의 영향
- 2024년 12월 3일, 윤석열 대통령이 비상계엄령을 선포한 사건은 외환 시장에 즉각적인 충격을 주었습니다. 정치적 불안정성이 높아지면서 투자자들의 심리가 위축되고, 이는 원화 약세와 원/달러 환율 상승으로 이어졌습니다. 현재 환율은 약 1,430원대에서 변동하고 있습니다.
최고점과 최저점
- 그래프에 따르면, 환율은 2022년 10월 24일에 약 1,443.96원으로 최고점을 기록했습니다. 반대로 2018년 4월 3일에는 1,053.73원으로 최저점을 보였습니다.
- 이러한 변동은 국제적 이벤트와 국내 경제 정책이 복합적으로 작용한 결과로 해석됩니다.
마치며
원달러 환율 그래프 10년을 살펴보면, 우리 경제가 얼마나 다양한 요인들에 영향을 받는지 알 수 있어요. 금리, 물가, 국제 정세 등 모든 것이 복합적으로 작용하죠. 이런 데이터를 R로 분석하고 시각화하면, 복잡한 경제 현상을 조금 더 쉽게 이해할 수 있답니다.
여러분도 이 코드를 활용해 다른 경제 지표들을 분석해보는 건 어떨까요? 데이터는 우리에게 많은 이야기를 들려줄 준비가 되어 있답니다. 함께 귀 기울여 들어봐요!
# 코드 세부해설
다음은 원달러 환율 그래프 10년 데이터를 분석하고 시각화하는 R 코드에 대한 라인별 해설입니다:
if (!require(“quantmod”)) install.packages(“quantmod”)
if (!require(“ggplot2”)) install.packages(“ggplot2”)
if (!require(“dplyr”)) install.packages(“dplyr”)
if (!require(“zoo”)) install.packages(“zoo”)
필요한 패키지가 설치되어 있지 않다면 설치합니다.
library(quantmod)
library(ggplot2)
library(dplyr)
library(zoo)
필요한 패키지를 로드합니다.
currency_pair <- “USDKRW=X”
start_date <- Sys.Date() – 365*10
end_date <- Sys.Date()
환율 데이터를 가져올 통화쌍과 기간을 설정합니다.
getSymbols(currency_pair, src = “yahoo”, from = start_date, to = end_date, auto.assign = TRUE)
data <- get(currency_pair)
Yahoo Finance에서 환율 데이터를 다운로드하고 변수에 할당합니다.
data <- na.omit(data)
결측값을 제거합니다.
data <- data.frame(Date = index(data), coredata(data))
colnames(data) <- c(“Date”, “Open”, “High”, “Low”, “Close”, “Volume”, “Adjusted”)
데이터를 데이터프레임으로 변환하고 열 이름을 지정합니다.
data <- data %>%
mutate(MA50 = rollmean(Close, k = 50, fill = NA))
50일 이동평균선을 계산하여 데이터에 추가합니다.
events <- data.frame(
Date = as.Date(c(“2020-03-01”, “2022-02-24”, “2024-12-03”)),
Label = c(“COVID-19 Pandemic”, “Russia-Ukraine War”, “KR Martial Law Declaration”)
)
주요 경제 이벤트를 정의합니다.
max_rate <- max(data$Close, na.rm = TRUE)
min_rate <- min(data$Close, na.rm = TRUE)
max_date <- data$Date[which.max(data$Close)]
min_date <- data$Date[which.min(data$Close)]
최대 및 최소 환율과 해당 날짜를 계산합니다.
extreme_points <- data.frame(
Date = c(max_date, min_date),
Rate = c(max_rate, min_rate),
Label = c(paste(“Max:”, round(max_rate, 2), “on”, max_date),
paste(“Min:”, round(min_rate, 2), “on”, min_date))
)
최대 및 최소 환율 포인트에 대한 데이터프레임을 생성합니다.
ggplot(data, aes(x = Date, y = Close)) +
geom_line(color = “steelblue”, size = 1, alpha = 0.8) +
geom_line(aes(y = MA50), color = “orange”, size = 1, linetype = “dashed”) +
geom_vline(data = events, aes(xintercept = Date), color = “red”, linetype = “dashed”, size = 0.7) +
geom_text(data = events, aes(x = Date, y = max(data$Close, na.rm = TRUE), label = Label),
color = “red”, vjust = 10, hjust = 1.5, angle = 45, size = 3) +
geom_point(data = extreme_points, aes(x = Date, y = Rate), color = c(“green”, “purple”), size = 3) +
geom_text(data = extreme_points, aes(x = Date, y = Rate, label = Label),
color = c(“green”, “purple”), vjust = c(-1, 1.5), hjust = 0.5, size = 3) +
labs(
title = “KRW/USD Exchange Rate Over Last 10 Years”,
x = “Year”,
y = “Exchange Rate (KRW/USD)”
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 16, face = “bold”),
axis.title = element_text(size = 12)
)
ggplot2를 사용하여 그래프를 그립니다. 환율 데이터, 이동평균선, 주요 이벤트, 최대/최소 환율 포인트를 표시하고, 그래프 제목과 축 레이블을 설정합니다. 마지막으로 그래프의 테마와 스타일을 조정합니다.