ウォンドル為替レートグラフ30年:韓国経済の変動性を一目で見る!
ウォンドル為替レートは、韓国経済とグローバル経済の相互作用をよく示す重要な指標です。 韓国ウォン・ドル為替レートグラフ 30年間の変化を見ると、特定の時期に劇的な変動があったことがわかります。
今回の記事では PythonとYahoo Finance APIを活用して、韓国ウォン-ドル為替レートグラフ30年のデータを取得し、主要な変動時期をグラフで表示してみましょう。 これにより、経済的ショックの影響を視覚的に理解することができます。

1.データを収集するための準備
PythonでYahoo Financeのデータを取得するため yfinance ライブラリを活用します。このライブラリは無料で過去のデータを提供し、簡単な設定で始めることができます。さらに pandas-datareader私 FinanceDataReader などの他のライブラリも活用できます。
pip install yfinance matplotlibインストール後、以下のコードを使用して、1994年から2024年までの為替レートデータを取得します(目標がウォンドル為替レートのグラフ30年分を取得して視覚化することですが、残念ながらヤフーファイナンスには2004年くらい前のデータがないようです。)
2.為替レートのデータ収集と可視化(全コード)
import yfinance as yf
import matplotlib.pyplot as plt
from datetime import datetime
# 通貨ペアと日付範囲を定義します。
currency_pair = "USDKRW=X"
start_date = "1994-01-01"
end_date = "2024-12-31"
# Yahooファイナンスからデータをダウンロード
data = yf.download(currency_pair, start=start_date, end=end_date)
# 為替レートデータをプロット
plt.figure(figsize=(14, 7))
plt.plot(data.index, data['Close'], label="KRW/USD Exchange Rate", color="steelblue")
# 主な経済イベントをハイライト
events = { イベント
"1997-12-01":"IMF危機"、
"2008-09-15":"世界金融危機"
"2020-03-01":"COVID-19パンデミック"
"2022-02-24":"ロシア・ウクライナ戦争"
}
for date, label in events.items():
plt.axvline(datetime.strptime(date, "%Y-%m-%d"), color="red", linestyle="--", alpha=0.7)
plt.text(datetime.strptime(date, "%Y-%m-%d"), plt.ylim()[1] * 0.9, label, color="red")
# 移動平均線を追加
data['MA50'] = data['Close'].rolling(window=50).mean()
plt.plot(data.index, data['MA50'], label="50-Day Moving Average", color="orange")
# 最大為替レートと最小為替レートを強調表示します。
max_rate = data['Close'].max()
min_rate = data['Close'].min()
max_date = data['Close'].idxmax()
min_date = data['Close'].idxmin()
plt.scatter(max_date, max_rate.item(), color='green', label=f'Max Rate: {max_rate.item():.2f}', zorder=5)
plt.scatter(min_date, min_rate.item(), color='purple', label=f'Min Rate: {min_rate.item():.2f}', zorder=5)
# プロットのカスタマイズ
plt.title("30年間のKRW/USD為替レート", fontsize=16)
plt.xlabel("Year", fontsize=12)
plt.ylabel("Exchange Rate (KRW/USD)", fontsize=12)
plt.legend()
plt.grid(True)
plt.show()3.主な変動時期の分析

IMF為替危機(1997-1998):
- 1997年末、IMF為替危機で為替レートが急騰しました。 当時、ウォンの価値が急落し、為替レートが2,000ウォンを超えることもありました。
グローバル金融危機(2008年):
- 2008年のリーマンブラザーズ破綻後、グローバル金融危機が始まり、ウォン貨幣の価値が再び下落しました。
コロナパンデミック(2020年):
- 2020年初頭、コロナパンデミックの影響で世界的な金融市場が不安定になり、ウォンドルの為替レートも急激に変動しました。
ロシア-ウクライナ戦争(2022):
- 2022年、ロシア・ウクライナ戦争の勃発により、世界経済の不確実性が高まり、ウォン安が再燃しました。
4.韓国ウォン-ドル為替レートグラフ30年の可視化結果
上記のコードを実行すると、このポストの冒頭のグラフが生成されます。 グラフには、2004年から2024年までのウォンドル為替レートデータが表示されます。主要なイベントが発生した時期をグラフに赤い線で表示して、変動の理由を視覚的に理解することができます。 また、最大と最小の為替レートがそれぞれ緑色と紫色の点で表示され、その数値を確認することができます。
5.整理する
ウォンドル為替レートグラフ30年データは、韓国経済の過去を理解し、未来を予測する上で重要な資料を提供します。為替レート変動の主な原因としては、為替危機、金融危機、パンデミック、地政学的事件などがありました。
PythonとYahoo Finance APIを活用すれば、過去のデータを簡単に収集して分析することができます。このコードを活用してより長い期間のデータや他の通貨データを分析してみるのもおすすめです。
#コード詳細解説:為替レートのデータ収集と可視化
import yfinance as yf
import matplotlib.pyplot as plt
from datetime import datetimeyfinanceライブラリをyfでインポートしてYahoo Financeのデータを取得します。matplotlib.pyplotをpltにインポートして、データ可視化のためのグラフを描画します。日付と時刻モジュールをインポートして日付形式を扱います。
currency_pair = "USDKRW=X"
start_date = "1994-01-01"
end_date = "2024-12-31"通貨ペア変数にウォン-ドル為替レートのシンボルを保存します。start_dateとend_dateにデータ収集期間の開始日と終了日を設定します。
data = yf.download(currency_pair, start=start_date, end=end_date)yfinanceのダウンロード関数を使用して設定した期間の為替レートデータをダウンロードします。
plt.figure(figsize=(14, 7))
plt.plot(data.index, data['Close'], label="KRW/USD Exchange Rate", color="steelblue")- 新しいグラフを作成し、サイズを設定します。
- 為替レートデータの日付(
インデックス)と終値(閉じる)を使って折れ線グラフを描きます。
events = { {...
"1997-12-01":"IMF危機"、
"2008-09-15":"世界金融危機"、
"2020-03-01":"COVID-19パンデミック"
"2022-02-24":"ロシア・ウクライナ戦争"
}- 主要な経済イベントとその日付を辞書で定義します。
for date, label in events.items():
plt.axvline(datetime.strptime(date, "%Y-%m-%d"), color="red", linestyle="--", alpha=0.7)
plt.text(datetime.strptime(date, "%Y-%m-%d"), plt.ylim()[1] * 0.9, label, color="red")- 各事件の日付に垂直線を引いてグラフに表示します。
- その位置にイベント名をテキストで追加します。
data['MA50'] = data['Close'].rolling(window=50).mean()
plt.plot(data.index, data['MA50'], label="50-Day Moving Average", color="orange")- 50日移動平均線を計算してデータに追加します。
- 移動平均線をグラフに追加してトレンドを視覚化します。
max_rate = data['Close'].max()
min_rate = data['Close'].min()
max_date = data['Close'].idxmax()
min_date = data['Close'].idxmin()
plt.scatter(max_date, max_rate.item(), color='green', label=f'Max Rate: {max_rate.item():.2f}', zorder=5)
plt.scatter(min_date, min_rate.item(), color='purple', label=f'Min Rate: {min_rate.item():.2f}', zorder=5)- 最大と最小の為替レートの値を計算し、該当する日付を探します。
- 最大値は緑色の点で表示し、最小値は紫色の点で表示して強調表示します。
plt.title("KRW/USD Exchange Rate Over 30 Years", fontsize=16)
plt.xlabel("Year", fontsize=12)
plt.ylabel("Exchange Rate (KRW/USD)", fontsize=12)
plt.legend()
plt.grid(True)
plt.show()- グラフのタイトルと軸のラベルを設定します。
- 凡例を追加し、グリッドを有効にして可読性を高めます。
- グラフを画面に表示します。






