Pythonで学ぶマクロ経済学 (中級+レベル)で使うモジュール。
以下が含まれている。
- Hodrick-Prescottフィルターを使い時系列データのトレンドを返す
trend()関数 - DataFrameを全て表示する
show()関数 n個の浮動小数点数から構成されるリストを返すxvalues()関数- オブジェクトの属性(
_もしくは__が付いた属性以外)を表示するsee()関数 - 後退期間にグレーの塗りつぶしを追加する
fukyo()関数 - 後退期間にグレーの塗りつぶしを追加する
recessions()デコレーター - データセット
- Big Macインデックス
- IMF World Economic Outlook 2025
- Maddison Project Database 2023
- Penn World Tables 11.0
- 日本の四半期データ(GDPなど)
- 日本の年次データ(GDPなど)
- 日本の四半期データ(マネーストックなど)
- 177ヵ国のマネーストックなど
- 円/ドル為替レートなど
- 景気循環日付と拡張・後退期間
- 政府負債に関する長期時系列データ
- 書籍『経済学のためのPython入門』用のデータ
import py4macro
py4macro.trend(s,lamb=1600)
引数:
s:Seriesもしくは1列のDataFrameとし,行のラベルはDatetimeIndexにすること。lamb: HPフィルターのlambda(デフォルトは四半期用のデータでは通常の値である1600としている)
戻り値:
Hodrick-Prescottフィルターで計算したtrend(トレンド)のSeries
例:
py4macro.trend(df.loc[:,'gdp'])
py4macro.show(df)
引数:
df:DataFrame
戻り値:
DataFrameの表示のみ
py4macro.xvalues(low, high, number)
引数:
low:最小値high:最大値number:要素数
戻り値:
number個の浮動小数点数のリスト
例:
py4macro.xvalues(-1, 1, 5)
[-1.0, -0.5, 0.0, 0.5, 1.0]
py4macro.see(obj, col=4, width=70)
引数:
obj: 属性を調べるオブジェクトcol: 表示の列の数(デフォルトは4)width: 表示の幅(デフォルトは70) (列の幅は width/col 以上である最小整数となる)
戻り値:
None(表示のみ)
例:整数型である100の属性を調べる。
py4macro.see(10)
.as_integer_ratio() .bit_count() .bit_length() .conjugate()
.denominator .from_bytes() .imag .is_integer()
.numerator .real .to_bytes()
メソッドには()が付いて表示される
fukyo()関数は後退期間の塗りつぶしを追加する
py4macro.fukyo(ax, start=1980, end=2999, color='k', alpha='0.1')
引数:
ax:matplotlibの軸start:fukyo()関数を適用し始める年(デフォルトは1980)end:fukyo()関数を適用し終わる年(デフォルトは2999)color:色(デフォルトは黒)alpha:透明度(デフォルトは0.1)
戻り値:
- なし(表示のみ)
<例1:一つの図>
fig, ax = plt.subplots()
ax.plot(...)
fukyo(ax)
<例2:一つの図>
ax = <DataFrame もしくは Series>.plot()
fukyo(ax, start=1960, color='red')
<例3:複数の図の中で一つだけに追加>
fig, ax = plt.subplots(2,1)
ax[0].plot(...)
ax[1].plot(...)
fukyo(ax[0], start=1970, end=2005, color='grey', alpha=0.2)
@py4macro.recessions()は全ての軸に後退期間の塗りつぶしを追加する
@py4macro.recessions(start=1980, end=2900, color='k', alpha=0.1)
<関数>
引数:
start:fukyo()関数を適用し始める年(デフォルトは1980)end:fukyo()関数を適用し終わる年(デフォルトは2999)color:色(デフォルトは黒)alpha:透明度(デフォルトは`0.1)
<例1:一つの図をプロット(軸を返さない)>
@py4macro.recessions()
def plot():
<DataFrame もしくは Series>.plot()
<例2:一つの図をプロット(軸を返す)>
@py4macro.recessions(start=1960, color='red')
def plot():
ax = <DataFrame もしくは Series>.plot()
return ax
<例3:一つの図をプロット>
@py4macro.recessions(end=2000, alpha=0.9)
def plot():
fig, ax = plt.subplots()
ax.plot(...)
return ax # 省略すると軸を返さない
<例4:複数の図をプロット>
@py4macro.recessions(start=1975, color='green', alpha=0.2)
def plot():
ax = <DataFrame>.plot(subplots=True, layout=(2,2))
return ax # この行は必須
<例5:複数の図をプロット>
@py4macro.recessions(start=1975, end=2010, color='grey', alpha=0.3)
def plot():
fig, ax = plt.subplots(2, 1)
ax[0].plot(...)
ax[1].plot(...)
return ax # この行は必須
py4macro.data(dataset=None, description=0)
引数:
-
dataset: (文字列)'bigmac': Big Macインデックス'debts': 政府負債に関する長期時系列データ'ex': 円/ドル為替レートなど'jpn-money': 日本の月次データ(CPIとマネーストック)'jpn-q': 日本の四半期データ(GDPなど)'mad': country data of Maddison Project Database 2023'mad-region': regional data of Maddison Project Database 2023'pwt': Penn World Table 10.01'weo': IMF World Economic Outlook 2024'world-money': 177ヵ国のマネーストックなど
-
description(デフォルト:0, 整数型):0: データのDataFrameを返す- 全てのデータセット
1: 変数の定義を全て表示する- 全てのデータセット
2: 変数の定義のDataFrameを返す'pwt','weo'のみ
返り値:
DataFrameもしくはDataFrameの表示
例1:IMF World Economic OutlookのDataFrameを返す
py4macro.data('weo')
例2:IMF World Economic Outlookの変数定義の全てを表示する
py4macro.data('weo',description=1)
例3:IMF World Economic Outlookの変数定義のDataFrameを返す
py4macro.data('weo',description=2)
pip install py4macro
or
pip install git+https://github.com/Py4Macro/py4macro.git
次の場合はmatplotlibをインポートするが必要あります。
pandasのデータフレームやシリーズの.plot()メソッドを使う場合@py4macro.recessions()を使う場合
