OANDAのREST APIと地域経済分析システム(RESAS:リーサス)のAPIを活用し、日本の不動産取引価格の推移を通貨別に比較する方法を解説します。日本円での価格推移はよく知られていますが、通貨を変えてみると異なる傾向が見えることがあります。ここでは、APIの準備からデータ分析、グラフ化までのステップを詳しく説明します。
事前準備
1. OANDAのREST API
• 必要な手順:
1. APIトークンの発行
OANDAの公式サイトからアカウントを登録し、APIトークンを取得します。
2. Pythonライブラリのインストール
API利用には、oandapyV20というライブラリをインストールします。
pip install oandapyV20
2. 地域経済分析システム(RESAS:リーサス)のAPI
• APIキーの取得
RESASの公式サイトから利用登録を行い、メール認証後にAPIキーを取得します。
RESAS APIを使った不動産取引価格データの取得
RESAS APIは、都道府県や市区町村ごとの不動産取引価格を取得できます。以下は、東京都(都道府県コード:13)の土地(住宅地)のデータを2020年に取得する例です。
import requests
import json
api_key = “取得したAPIキーを設定”
url = “https://opendata.resas-portal.go.jp/api/v1/townPlanning/estateTransaction/bar”
headers = {“X-API-KEY”: api_key}
params = {
“year”: 2020,
“prefCode”: 13,
“cityCode”: “-“,
“displayType”: 1,
}
response = requests.get(url, params=params, headers=headers)
data = response.json()
# 結果を確認
print(data)
取得したデータは、年度ごとの不動産取引価格(面積あたり平均価格)として利用できます。
過去のデータを収集し可視化する
東京都の2009年から2020年の不動産取引価格データを収集し、グラフ化します。
import pandas as pd
import matplotlib.pyplot as plt
# データ収集
data = []
for year in range(2009, 2021):
params[“year”] = year
response = requests.get(url, params=params, headers=headers)
result = response.json().get(“result”).get(“years”)[0]
data.append(result)
# データフレームに変換
df_real_estate = pd.DataFrame(data)
df_real_estate = df_real_estate.set_index(“year”).rename(columns={“value”: “JPY”})
# グラフで可視化
df_real_estate.plot(figsize=(10, 5))
plt.title(“東京都の不動産取引価格推移(住宅地)”)
plt.xlabel(“年度”)
plt.ylabel(“価格(円)”)
plt.grid()
plt.show()
通貨別の為替データを取得
OANDAのREST APIを利用して、USD/JPY、HKD/JPY、GBP/JPYなどの為替データを取得します。
from oandapyV20 import API
import oandapyV20.endpoints.instruments as instruments
access_token = “OANDAのAPIトークンを設定”
client = API(access_token=access_token)
params = {
“granularity”: “M”, # 月足
“from”: “2009-01-01”,
“price”: “M”, # 中値
}
# 通貨ペアのデータを取得
currency_data = []
for pair in [“USD_JPY”, “HKD_JPY”, “GBP_JPY”]:
r = instruments.InstrumentsCandles(instrument=pair, params=params)
client.request(r)
# 必要なデータを格納
currency_data.append(pd.DataFrame(r.response[‘candles’]))
# 整形・結合
df_fx = pd.concat(currency_data, axis=1)
通貨別に不動産取引価格を比較
取得した為替データを利用し、不動産価格を通貨ごとに換算します。
# 通貨ごとの不動産価格を計算
for currency in df_fx.columns:
df_real_estate[currency] = df_real_estate[“JPY”] / df_fx[currency]
# 相対値に変換
df_relative = df_real_estate / df_real_estate.iloc[0] * 100
# グラフで比較
df_relative.plot(figsize=(10, 5))
plt.title(“通貨別不動産取引価格の推移(2009年を100とした相対値)”)
plt.xlabel(“年度”)
plt.ylabel(“価格(相対値)”)
plt.grid()
plt.show()
分析結果
1. 日本円(JPY)
不動産価格は右肩上がりの傾向が見られる。
2. 米ドル(USD)
円安が進行したため、価格の上昇幅が抑えられている。
3. 香港ドル(HKD)
USDと類似の動きを示す。
4. 英ポンド(GBP)
他の通貨とは異なる価格推移が見られる。
まとめ
OANDAの為替データとRESASの不動産価格データを組み合わせることで、通貨別の視点から日本の不動産市場を分析できます。
REST APIを活用することで、効率的にデータ収集・分析が可能となります。