library('tidyverse')
library('data.table')
big_mac_countries = c('ARG', 'AUS', 'BRA', 'GBR', 'CAN', 'CHL', 'CHN', 'CZE', 'DNK',
'EGY', 'HKG', 'HUN', 'IDN', 'ISR', 'JPN', 'MYS', 'MEX', 'NZL',
'NOR', 'PER', 'PHL', 'POL', 'RUS', 'SAU', 'SGP', 'ZAF', 'KOR',
'SWE', 'CHE', 'TWN', 'THA', 'TUR', 'ARE', 'USA', 'COL', 'CRI',
'PAK', 'LKA', 'UKR', 'URY', 'IND', 'VNM', 'GTM', 'HND', 'VEN',
'NIC', 'AZE', 'BHR', 'HRV', 'JOR', 'KWT', 'LBN', 'MDA', 'OMN',
'QAT', 'ROU', 'EUZ')ビッグマック指数
年月 , 通貨 , GDP調整 , 対USD ビッグマック指数(%) , Argentina:ARS , Australia:AUD , Brazil:BRL , Britain:GBP , Canada:CAD , Chile:CLP , China:CNY , Czech Republic:CZK , Denmark:DKK , Euro area:EUR , Hong Kong:HKD , Hungary:HUF , Indonesia:IDR , Israel:ILS , Japan:JPY , Malaysia:MYR , Mexico:MXN , New Zealand:NZD , Poland:PLN , Russia:RUB , Singapore:SGD , South Africa:ZAR , South Korea:KRW , Sweden:SEK , Switzerland:CHF , Taiwan:TWD , Thailand:THB , United States:USD , Philippines:PHP , Norway:NOK , Peru:PEN , Turkey:TRY , Egypt:EGP , Colombia:COP , Pakistan:PKR , Saudi Arabia:SAR , India:INR , Azerbaijan:AZN , Bahrain:BHD , Costa Rica:CRC , Guatemala:GTQ , Honduras:HNL , Jordan:JOD , Kuwait:KWD , Moldova:MDL , Nicaragua:NIO , Oman:OMR , Qatar:QAR , Romania:RON , Sri Lanka:LKR , Ukraine:UAH , United Arab Emirates:AED , Uruguay:UYU , Vietnam:VND , GDP調整前 , GDP調整後
1 関連ポスト
2026年1月の日本円の米ドルに対するビッグマック指数は-50.5%(GDP調整前)。よって、日本円は米ドルに対して50.5%通貨安(円安)。なお、米ドルに対して日本円よりも通貨安が進んでいるのは比較51通貨のうち、台湾ドル(59.6%)、インドルピー(58.9%)、インドネシアルピア(58.9%)、エジプトポンド(56.8%)、…
— 三竹 道雄/MITAKE Michio (@amc_corporation) June 7, 2026
Tip
- ビッグマック指数の読み方
- 例として2026年1月の日本円の米ドルに対するビッグマック指数は -50.5%(GDP調整前)。よって日本円は米ドルに対して 50.5% 通貨安(円安)。同じく2024年1月のスイスフランの米ドルに対するビッグマック指数は +48.4%(GDP調整前)。よってスイスフランは米ドルに対して 48.4% 通貨高。
- 読み方はGDP調整後も同様。
- 「
人はビッグマックのみにて生くるものにあらず」。ビッグマックに利用されている食材費やその他のコストが世界各国の全ての品目の物価を反映している訳ではありません。
2 時系列推移
年月3 コード
| 変数 | データ | |
|---|---|---|
| 1 | dollar_ex | 対米ドル為替レート(出典:Reuters) |
| 2 | GDP_dollar | 米ドル建て1人当たりGDP(出典:IMF) |
| 3 | GDP_local | 自国通貨建て1人当たりGDP |
| 4 | local_price | ビッグマック価格(自国通貨建て、出典:McDonalds; The Economist) |
| 5 | dollar_price | ビッグマック価格(米ドル建て) |
- Source:
3.1 前処理パート
3.1.1 ビッグマック指数算出対象国・地域
- 以降「ビッグマック指数算出対象国・地域」は「対象国」と表記する。
3.1.2 ソースデータの読み込み
big_mac_data = 'https://raw.githubusercontent.com/TheEconomist/big-mac-data/master/source-data/big-mac-source-data-v2.csv' %>%
fread(na.strings = '#N/A') %>%
.[,GDP_local := as.numeric(GDP_local)] %>%
.[, local_price := ifelse(local_price == '-', NA, local_price) %>% as.numeric] %>%
.[!is.na(local_price)] %>%
.[order(date, name)]
glimpse(big_mac_data)Rows: 2,373
Columns: 8
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
Tip
米国の GDP_dollar と GDP_local が同一であることから GDP_local は「自国通貨建て1人当たりGDP」と判断する。
(big_mac_data_USA <- big_mac_data[big_mac_data$iso_a3=='USA',c('date','iso_a3','GDP_dollar','GDP_local')]) date iso_a3 GDP_dollar GDP_local
<IDat> <char> <num> <num>
1: 2000-04-01 USA 34496.24 34496.24
2: 2001-04-01 USA 36312.78 36312.78
3: 2002-04-01 USA 37101.45 37101.45
4: 2003-04-01 USA 37945.76 37945.76
5: 2004-05-01 USA 39405.35 39405.35
6: 2005-06-01 USA 41641.62 41641.62
7: 2006-01-01 USA 41641.62 41641.62
8: 2006-05-01 USA 44034.26 44034.26
9: 2007-01-01 USA 44034.26 44034.26
10: 2007-06-01 USA 46216.85 46216.85
11: 2008-06-01 USA 47943.35 47943.35
12: 2009-07-01 USA 48470.55 48470.55
13: 2010-01-01 USA 48470.55 48470.55
14: 2010-07-01 USA 47102.43 47102.43
15: 2011-07-01 USA 48586.29 48586.29
16: 2012-01-01 USA 48586.29 48586.29
17: 2012-07-01 USA 50008.11 50008.11
18: 2013-01-01 USA 50008.11 50008.11
19: 2013-07-01 USA 51736.74 51736.74
20: 2014-01-01 USA 51736.74 51736.74
21: 2014-07-01 USA 53363.90 53363.90
22: 2015-01-01 USA 53363.90 53363.90
23: 2015-07-01 USA 55263.82 55263.82
24: 2016-01-01 USA 55263.82 55263.82
25: 2016-07-01 USA 57006.93 57006.93
26: 2017-01-01 USA 57006.93 57006.93
27: 2017-07-01 USA 58179.70 58179.70
28: 2018-01-01 USA 58179.70 58179.70
29: 2018-07-01 USA 60292.98 60292.98
30: 2019-01-01 USA 60292.98 60292.98
31: 2019-07-09 USA 63165.28 63165.28
32: 2020-01-14 USA 63165.28 63165.28
33: 2020-07-01 USA 65561.32 65561.32
34: 2021-01-01 USA 65561.32 65561.32
35: 2021-07-01 USA 64518.06 64518.06
36: 2022-01-01 USA 64518.06 64518.06
37: 2022-07-01 USA 71365.34 71365.34
38: 2023-01-01 USA 71365.34 71365.34
39: 2023-07-01 USA 77944.10 77944.10
40: 2024-01-01 USA 77944.10 77944.10
41: 2024-07-01 USA 82523.26 82523.26
42: 2025-01-01 USA 82523.26 82523.26
43: 2026-01-01 USA 86144.80 86144.80
date iso_a3 GDP_dollar GDP_local
<IDat> <char> <num> <num>
all(big_mac_data_USA$GDP_dollar==big_mac_data_USA$GDP_local)[1] TRUE
3.1.3 対象国の米ドル換算ビッグマック価格算出
dollar_priceとして列に追加
big_mac_data[, dollar_price := local_price / dollar_ex]
glimpse(big_mac_data)Rows: 2,373
Columns: 9
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
3.1.4 基準通貨
- 通貨安または通貨高を比較する基準通貨。The Economist では
USD、EUR、GBP、JPY、CNYの5つを基準通貨としている。 - 但し本ページでは米ドル
USDのみを基準通貨とする。(例)米ドルに対して日本円は10%の通貨安。
# base_currencies = c('USD', 'EUR', 'GBP', 'JPY', 'CNY')
base_currencies = 'USD'3.2 GDP調整前ビッグマック指数算出パート
3.2.1 big_mac_index の作成
- 対象国かつ米ドル換算ビッグマック価格が存在する行を抽出し
big_mac_indexを作成。
big_mac_index = big_mac_data[
!is.na(dollar_price) & iso_a3 %in% big_mac_countries
,.(date, iso_a3, currency_code, name, local_price, dollar_ex, dollar_price)]
glimpse(big_mac_index) Rows: 1,962
Columns: 7
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
3.2.2 ビッグマック指数の作成
dateごとに「対象国の米ドル換算マクドナルド価格」の「米ドルマクドナルド価格(米国のマクドナルド価格)」からの乖離を求め、「GDP調整前ビッグマック指数」(ここではUSD列)とする。
for(currency in base_currencies) {
big_mac_index[
,
(currency) :=
dollar_price /
.SD[currency_code == currency]$dollar_price -
1,
by=date
]
}- 求めたGDP調整前ビッグマック指数(
USD)を小数点5位で四捨五入。
big_mac_index[, (base_currencies) := round(.SD, 5L), .SDcols=base_currencies]- よって
currency_codeがUSDの場合のビッグマック指数(USD)は全て 0 になる。
big_mac_index[, (base_currencies) := round(.SD, 5L), .SDcols=base_currencies]
big_mac_index[,.SD[currency_code == 'USD']]$USD [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[39] 0 0 0 0 0
3.2.3 GDP調整前ビッグマック指数
- 直近のGDP調整前ビッグマック指数。
USD列が各通貨(currency_code)の米ドルに対するビッグマック指数。
big_mac_index %>% .[,.SD[max(date)==date]] %>% .[ ,.(date,name,currency_code,local_price,USD)] %>% .[order(USD),] date name currency_code local_price USD
<IDat> <char> <char> <num> <num>
1: 2026-01-01 Taiwan TWD 78.00 -0.59626
2: 2026-01-01 India INR 227.00 -0.58922
3: 2026-01-01 Indonesia IDR 42500.00 -0.58872
4: 2026-01-01 Egypt EGP 125.00 -0.56764
5: 2026-01-01 Philippines PHP 169.00 -0.53570
6: 2026-01-01 Vietnam VND 76000.00 -0.52726
7: 2026-01-01 Japan JPY 480.00 -0.50531
8: 2026-01-01 Ukraine UAH 139.00 -0.47847
9: 2026-01-01 Hong Kong HKD 25.00 -0.47611
10: 2026-01-01 South Africa ZAR 54.90 -0.45130
11: 2026-01-01 Malaysia MYR 13.75 -0.44587
12: 2026-01-01 Jordan JOD 2.50 -0.42290
13: 2026-01-01 China CNY 25.50 -0.40157
14: 2026-01-01 South Korea KRW 5500.00 -0.38858
15: 2026-01-01 Pakistan PKR 1080.00 -0.36941
16: 2026-01-01 Azerbaijan AZN 6.65 -0.36176
17: 2026-01-01 Oman OMR 1.53 -0.35065
18: 2026-01-01 Romania RON 17.45 -0.35006
19: 2026-01-01 Venezuela VES 1370.00 -0.33912
20: 2026-01-01 Moldova MDL 70.00 -0.33151
21: 2026-01-01 Thailand THB 135.00 -0.29738
22: 2026-01-01 Guatemala GTQ 33.00 -0.29659
23: 2026-01-01 Brazil BRL 23.90 -0.27282
24: 2026-01-01 Kuwait KWD 1.40 -0.25788
25: 2026-01-01 Qatar QAR 17.00 -0.23708
26: 2026-01-01 Nicaragua NIO 174.00 -0.22370
27: 2026-01-01 Bahrain BHD 1.80 -0.21985
28: 2026-01-01 New Zealand NZD 8.60 -0.19312
29: 2026-01-01 Hungary HUF 1660.00 -0.18383
30: 2026-01-01 Peru PEN 16.90 -0.17817
31: 2026-01-01 Honduras HNL 134.00 -0.17313
32: 2026-01-01 Saudi Arabia SAR 19.00 -0.17214
33: 2026-01-01 United Arab Emirates AED 19.00 -0.15476
34: 2026-01-01 Lebanon LBP 480000.00 -0.12416
35: 2026-01-01 Chile CLP 4790.00 -0.11446
36: 2026-01-01 Czech Republic CZK 115.00 -0.10209
37: 2026-01-01 Argentina ARS 8000.00 -0.09584
38: 2026-01-01 Canada CAD 7.70 -0.09435
39: 2026-01-01 Australia AUD 8.50 -0.06951
40: 2026-01-01 Croatia EUR 4.92 -0.06729
41: 2026-01-01 Singapore SGD 7.45 -0.05521
42: 2026-01-01 Turkey TRY 255.00 -0.03537
43: 2026-01-01 Costa Rica CRC 2990.00 -0.01301
44: 2026-01-01 United States USD 6.12 0.00000
45: 2026-01-01 Mexico MXN 109.00 0.00764
46: 2026-01-01 Colombia COP 22900.00 0.01495
47: 2026-01-01 Poland PLN 22.70 0.02157
48: 2026-01-01 Israel ILS 20.00 0.03985
49: 2026-01-01 Euro area EUR 6.08 0.15262
50: 2026-01-01 Britain GBP 5.29 0.15701
51: 2026-01-01 Denmark DKK 46.00 0.16709
52: 2026-01-01 Sweden SEK 67.00 0.18611
53: 2026-01-01 Norway NOK 76.00 0.22802
54: 2026-01-01 Uruguay UYU 339.00 0.43114
55: 2026-01-01 Switzerland CHF 7.30 0.48433
date name currency_code local_price USD
<IDat> <char> <char> <num> <num>
3.3 GDP調整後ビッグマック指数算出パート
3.3.1 big_mac_gdp_data の作成
- 自国通貨建て1人当たりGDPが 0 以下で無い国を抽出し
big_mac_gdp_dataを作成。
big_mac_gdp_data = big_mac_data[GDP_local > 0]
glimpse(big_mac_gdp_data)Rows: 2,351
Columns: 9
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
3.3.2 GDP調整後ビッグマック指数算出対象国・地域
- 線形回帰によるGDP調整後ビッグマック指数算出対象国・地域。 以降「線形回帰によるGDP調整後ビッグマック指数算出対象国・地域」は「線形回帰対象国」と表記する。
regression_countries = c('ARG', 'AUS', 'BRA', 'GBR', 'CAN', 'CHL', 'CHN', 'CZE', 'DNK',
'EGY', 'EUZ', 'HKG', 'HUN', 'IDN', 'ISR', 'JPN', 'MYS', 'MEX',
'NZL', 'NOR', 'PER', 'PHL', 'POL', 'RUS', 'SAU', 'SGP', 'ZAF',
'KOR', 'SWE', 'CHE', 'TWN', 'THA', 'TUR', 'USA', 'COL', 'PAK',
'IND', 'AUT', 'BEL', 'NLD', 'FIN', 'FRA', 'DEU', 'IRL', 'ITA',
'PRT', 'ESP', 'GRC', 'EST')
# 2021年1月以降、下記の国々が線形回帰対象国に加えられている。
regression_addons_2021 = c('ARE', 'CRI', 'LKA', 'UKR', 'URY', 'VNM', 'GTM', 'HND', 'NIC',
'AZE', 'BHR', 'HRV', 'JOR', 'KWT', 'MDA', 'OMN', 'QAT', 'ROU',
'SVK', 'SVN', 'LVA', 'LTU')
# 線形回帰対象国を抽出
big_mac_gdp_data = big_mac_gdp_data[iso_a3 %in% regression_countries |
(iso_a3 %in% regression_addons_2021 & date >= as.Date('2021-01-01'))
]
glimpse(big_mac_gdp_data)Rows: 2,095
Columns: 9
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
3.3.3 米ドル建て1人当たりGDP( GDP_bigmac )の算出
- 線形回帰対象国の「自国通貨建てビッグマック価格に対する自国通貨建て1人当たりGDPの比」に「米国のビッグマック価格」を乗じた結果を「線形回帰対象国の米ドル建て1人当たりGDP」とする(
GDP_bigmac)。
big_mac_gdp_data %>%
.[,GDP_bigmac := GDP_local / (local_price / .SD[iso_a3=='USA']$local_price), by=date]
glimpse(big_mac_gdp_data) Rows: 2,095
Columns: 10
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
$ GDP_bigmac <dbl> 7803.329, 29182.819, 4822.739, 20958.600, 26087.329, 450…
- よって米国の1人当たりGDP(
GDP_local)と米ドル建て1人当たりGDP(GDP_bigmac)は同一となる。
big_mac_gdp_data[,.SD[iso_a3=='USA'],] %>% .[,.(currency_code ,GDP_local,GDP_bigmac)] currency_code GDP_local GDP_bigmac
<char> <num> <num>
1: USD 34496.24 34496.24
2: USD 36312.78 36312.78
3: USD 37101.45 37101.45
4: USD 37945.76 37945.76
5: USD 39405.35 39405.35
6: USD 41641.62 41641.62
7: USD 41641.62 41641.62
8: USD 44034.26 44034.26
9: USD 44034.26 44034.26
10: USD 46216.85 46216.85
11: USD 47943.35 47943.35
12: USD 48470.55 48470.55
13: USD 48470.55 48470.55
14: USD 47102.43 47102.43
15: USD 48586.29 48586.29
16: USD 48586.29 48586.29
17: USD 50008.11 50008.11
18: USD 50008.11 50008.11
19: USD 51736.74 51736.74
20: USD 51736.74 51736.74
21: USD 53363.90 53363.90
22: USD 53363.90 53363.90
23: USD 55263.82 55263.82
24: USD 55263.82 55263.82
25: USD 57006.93 57006.93
26: USD 57006.93 57006.93
27: USD 58179.70 58179.70
28: USD 58179.70 58179.70
29: USD 60292.98 60292.98
30: USD 60292.98 60292.98
31: USD 63165.28 63165.28
32: USD 63165.28 63165.28
33: USD 65561.32 65561.32
34: USD 65561.32 65561.32
35: USD 64518.06 64518.06
36: USD 64518.06 64518.06
37: USD 71365.34 71365.34
38: USD 71365.34 71365.34
39: USD 77944.10 77944.10
40: USD 77944.10 77944.10
41: USD 82523.26 82523.26
42: USD 82523.26 82523.26
43: USD 86144.80 86144.80
currency_code GDP_local GDP_bigmac
<char> <num> <num>
all(big_mac_gdp_data[,.SD[iso_a3=='USA'],] %>% .[,.(GDP_local)] == big_mac_gdp_data[,.SD[iso_a3=='USA'],] %>% .[,.(GDP_bigmac)] )[1] TRUE
3.3.4 GDP調整後米ドル換算ビッグマック価格( adj_price )の算出
dateごとに線形回帰対象国の「米ドル建て1人当たりGDP(GDP_bigmac)」を説明変数、「米ドル換算ビッグマック価格(dollar_price)」を目的変数とし、その線形回帰の結果をGDP調整後米ドル換算ビッグマック価格(adj_price)とする。
big_mac_gdp_data[
,
`:=`(
adj_price=lm(dollar_price ~ GDP_bigmac) %>% predict
),
by = date]
glimpse(big_mac_gdp_data)Rows: 2,095
Columns: 11
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ GDP_dollar <dbl> 8709.072, 21775.120, 3501.438, 28768.448, 22340.553, 498…
$ GDP_local <dbl> 8709.072, 33742.635, 6351.375, 17777.384, 33191.468, 253…
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
$ GDP_bigmac <dbl> 7803.329, 29182.819, 4822.739, 20958.600, 26087.329, 450…
$ adj_price <dbl> 1.926857, 2.318602, 1.872242, 2.167906, 2.261882, 1.8665…
- よって米国の自国通貨建てビッグマック価格(=米ドル換算ビッグマック価格)とGDP調整後米ドル換算ビッグマック価格には差異が出る場合がある。
big_mac_gdp_data %>% .[,.SD[iso_a3=='USA']] %>% .[,.(name,currency_code,local_price,dollar_price,adj_price)] %>% tail() name currency_code local_price dollar_price adj_price
<char> <char> <num> <num> <num>
1: United States USD 5.36 5.36 4.912427
2: United States USD 5.58 5.58 5.188664
3: United States USD 5.69 5.69 5.270658
4: United States USD 5.69 5.69 5.380510
5: United States USD 5.79 5.79 5.361470
6: United States USD 6.12 6.12 6.195706
3.3.5 big_mac_adj_index の作成
- 米ドル換算ビッグマック価格が存在し、かつ線形回帰対象国であり、かつ対象国である行を抽出し
big_mac_adj_indexを作成。
big_mac_adj_index = big_mac_gdp_data[
!is.na(dollar_price) &
(
iso_a3 %in% regression_countries |
iso_a3 %in% regression_addons_2021 & date >= '2021-01-01'
) &
iso_a3 %in% big_mac_countries
,.(date, iso_a3, currency_code, name, local_price, dollar_ex, dollar_price, GDP_bigmac, adj_price)]3.3.6 ビッグマック指数の作成
- 日付ごとに「米ドル換算ビッグマック価格(
dollar_price)とGDP調整後米ドル換算ビッグマック価格(adj_price)の比」の「米ドルでのビッグマック価格と米国のGDP調整後ビッグマック価格の比」からの乖離をGDP調整後ビッグマック指数(USD列)とする。
for(currency in base_currencies) {
big_mac_adj_index[
,
(currency) :=
(
dollar_price / adj_price
) /
(
.SD[currency_code == currency]$dollar_price /
.SD[currency_code == currency]$adj_price
) -
1,
by=date
]
}- 求めたGDP調整後ビッグマック指数を小数点5位で四捨五入
big_mac_adj_index[, (base_currencies) := round(.SD, 5L), .SDcols=base_currencies]
glimpse(big_mac_adj_index)Rows: 1,707
Columns: 10
$ date <IDate> 2000-04-01, 2000-04-01, 2000-04-01, 2000-04-01, 2000-0…
$ iso_a3 <chr> "ARG", "AUS", "BRA", "GBR", "CAN", "CHL", "CHN", "CZE", …
$ currency_code <chr> "ARS", "AUD", "BRL", "GBP", "CAD", "CLP", "CNY", "CZK", …
$ name <chr> "Argentina", "Australia", "Brazil", "Britain", "Canada",…
$ local_price <dbl> 2.50, 2.59, 2.95, 1.90, 2.85, 1260.00, 9.90, 54.37, 24.7…
$ dollar_ex <dbl> 1.0000000, 1.6800000, 1.7900000, 0.6329114, 1.4700000, 5…
$ dollar_price <dbl> 2.500000, 1.541667, 1.648045, 3.002000, 1.938776, 2.4513…
$ GDP_bigmac <dbl> 7803.329, 29182.819, 4822.739, 20958.600, 26087.329, 450…
$ adj_price <dbl> 1.926857, 2.318602, 1.872242, 2.167906, 2.261882, 1.8665…
$ USD <dbl> 0.39937, -0.28286, -0.05060, 0.49352, -0.07552, 0.41651,…
3.3.7 GDP調整後ビッグマック指数
- 直近のGDP調整後ビッグマック指数。
USD列が各通貨(currency_code)の米ドルに対するビッグマック指数
big_mac_adj_index %>% .[,.SD[max(date)==date]] %>% .[ ,.(date,name,currency_code,local_price,USD)] %>% .[order(USD),] date name currency_code local_price USD
<IDat> <char> <char> <num> <num>
1: 2026-01-01 Taiwan TWD 78.00 -0.59583
2: 2026-01-01 Hong Kong HKD 25.00 -0.50384
3: 2026-01-01 Japan JPY 480.00 -0.46506
4: 2026-01-01 Indonesia IDR 42500.00 -0.45940
5: 2026-01-01 India INR 227.00 -0.44805
6: 2026-01-01 Egypt EGP 125.00 -0.41955
7: 2026-01-01 Philippines PHP 169.00 -0.38229
8: 2026-01-01 Vietnam VND 76000.00 -0.37290
9: 2026-01-01 South Korea KRW 5500.00 -0.32091
10: 2026-01-01 Malaysia MYR 13.75 -0.31314
11: 2026-01-01 Ukraine UAH 139.00 -0.31100
12: 2026-01-01 South Africa ZAR 54.90 -0.28384
13: 2026-01-01 Qatar QAR 17.00 -0.25352
14: 2026-01-01 China CNY 25.50 -0.25019
15: 2026-01-01 Jordan JOD 2.50 -0.23119
16: 2026-01-01 Romania RON 17.45 -0.21578
17: 2026-01-01 Oman OMR 1.53 -0.21121
18: 2026-01-01 Azerbaijan AZN 6.65 -0.16116
19: 2026-01-01 Pakistan PKR 1080.00 -0.13932
20: 2026-01-01 Kuwait KWD 1.40 -0.13870
21: 2026-01-01 Moldova MDL 70.00 -0.12265
22: 2026-01-01 New Zealand NZD 8.60 -0.11147
23: 2026-01-01 Singapore SGD 7.45 -0.09398
24: 2026-01-01 Thailand THB 135.00 -0.07904
25: 2026-01-01 Bahrain BHD 1.80 -0.07760
26: 2026-01-01 United Arab Emirates AED 19.00 -0.07574
27: 2026-01-01 Guatemala GTQ 33.00 -0.06571
28: 2026-01-01 Brazil BRL 23.90 -0.05539
29: 2026-01-01 Saudi Arabia SAR 19.00 -0.03761
30: 2026-01-01 Australia AUD 8.50 -0.02373
31: 2026-01-01 Hungary HUF 1660.00 -0.01050
32: 2026-01-01 Canada CAD 7.70 -0.00950
33: 2026-01-01 United States USD 6.12 0.00000
34: 2026-01-01 Nicaragua NIO 174.00 0.05432
35: 2026-01-01 Czech Republic CZK 115.00 0.05642
36: 2026-01-01 Peru PEN 16.90 0.07826
37: 2026-01-01 Honduras HNL 134.00 0.12164
38: 2026-01-01 Chile CLP 4790.00 0.12383
39: 2026-01-01 Israel ILS 20.00 0.12891
40: 2026-01-01 Croatia EUR 4.92 0.14740
41: 2026-01-01 Argentina ARS 8000.00 0.19772
42: 2026-01-01 Denmark DKK 46.00 0.25032
43: 2026-01-01 Costa Rica CRC 2990.00 0.25740
44: 2026-01-01 Poland PLN 22.70 0.26073
45: 2026-01-01 Turkey TRY 255.00 0.26162
46: 2026-01-01 Norway NOK 76.00 0.27371
47: 2026-01-01 Mexico MXN 109.00 0.30742
48: 2026-01-01 Sweden SEK 67.00 0.31709
49: 2026-01-01 Britain GBP 5.29 0.31941
50: 2026-01-01 Euro area EUR 6.08 0.33390
51: 2026-01-01 Colombia COP 22900.00 0.34919
52: 2026-01-01 Switzerland CHF 7.30 0.52769
53: 2026-01-01 Uruguay UYU 339.00 0.83855
date name currency_code local_price USD
<IDat> <char> <char> <num> <num>
4 データ出所
- The Economist https://www.economist.com/big-mac-index
5 公表頻度
- 年次
6 最終更新
Sys.time()[1] "2026-06-07 13:43:36 JST"
7 R & Quarto
R.Version()$version.string[1] "R version 4.5.3 Patched (2026-03-11 r89773 ucrt)"
quarto::quarto_version()[1] '1.9.38'