Package: py4macro
はじめにPythonで学ぶマクロ経済学 (中級＋レベル)で使うモジュール。以下が含まれている。Hodrick-Prescottフィルターを使い時系列データのトレンドを返すtrend()関数DataFrameを全て表示するshow()関数n個の浮動小数点数から構成されるリストを返すxvalues()関数オブジェクトの属性（_もしくは__が付いた属性以外）を表示するsee()関数後退期間にグレーの塗りつぶしを追加するfukyo()関数後退期間にグレーの塗りつぶしを追加するrecessions()デコレーターデータ・セットPenn World Tables 10.01IMF World Economic Outlook 2021Maddison Project Database 2020日本の四半期データ（GDPなど）日本の四半期データ（マネーストックなど）177ヵ国のマネーストックなど円/ドル為替レートなど景気循環日付と拡張・後退期間Big Macインデックス使い方import py4macroHodrick-Prescottフィルターによるトレンド抽出py4macro.trend(s,lamb=1600)引数:s：Seriesもしくは１列のDataFrameとし，行のラベルはDatetimeIndexにすること。lamb: HPフィルターのlambda（デフォルトは四半期用のデータでは通常の値である1600としている）戻り値:Hodrick-Prescottフィルターで計算したtrend（トレンド）のSeries例:py4macro.trend(df.loc[:,'gdp'])DataFrameの行・列を全て表示するpy4macro.show(df)引数：df：DataFrame戻り値：DataFrameの表示のみn個の数値から構成されるリストを作成するpy4macro.xvalues(l, h, n)引数：l：最小値h：最大値n：要素数戻り値：n個の浮動小数点数のリスト例: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の属性を調べる。see(100)>>> .as_integer_ratio   .bit_count       .bit_length      .conjugate
>>> .denominator        .from_bytes      .imag            .numerator
>>> .real               .to_bytes横軸にDatetimeIndexを使うプロットに対して後退期間にグレーの塗りつぶしを追加する関数fukyo()関数は後退期間の塗りつぶしを追加するpy4macro.fukyo(ax, color='k', alpha='0.1')引数：ax：matplotlibの軸color：色（デフォルトは黒）alpha：透明度（デフォルトは0.1）戻り値：なし（表示のみ）＜例１：一つの図＞fig, ax = plt.subplots()
ax.plot(...)
fukyo(ax)＜例２：一つの図＞ax = <DataFrame もしくは Series>.plot()
fukyo(ax, color='red')＜例３：複数の図の中で一つだけに追加＞fig, ax = plt.subplots(2,1)
ax[0].plot(...)
ax[1].plot(...)
fukyo(ax[0], color='grey', alpha=0.2)横軸にDatetimeIndexを使うプロットに対して後退期間にグレーの塗りつぶしを追加するデコレーター@py4macro.recessions()は全ての軸に後退期間の塗りつぶしを追加する@py4macro.recessions(color='k', alpha=0.1)
＜関数＞引数：color：色（デフォルトは黒）alpha：透明度（デフォルトは`0.1）＜例１：一つの図をプロット（軸を返さない）＞@py4macro.recessions()
def plot():
    <DataFrame もしくは Series>.plot()＜例２：一つの図をプロット（軸を返す）＞@py4macro.recessions(color='red')
def plot():
    ax = <DataFrame もしくは Series>.plot()
    return ax＜例３：一つの図をプロット＞@py4macro.recessions(alpha=0.9)
def plot():
    fig, ax = plt.subplots()
    ax.plot(...)
    return ax       # 省略すると軸を返さない＜例４：複数の図をプロット＞@py4macro.recessions(color='green', alpha=0.2)
def plot():
    ax = <DataFrame>.plot(subplots=True, layout=(2,2))
    return ax       # この行は必須＜例５：複数の図をプロット＞@py4macro.recessions(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: (文字列)'pwt':   Penn World Table 10.0'weo':   IMF World Economic Outlook 2021'mad':   country data of Maddison Project Database 2020'mad-regions':   regional data of Maddison Project Database 2020'jpn-q': 日本の四半期データ（GDPなど）'jpn-money': 日本の月次データ（CPIとマネーストック）'world-money': 177ヵ国のマネーストックなど'ex': 円/ドル為替レートなど'bigmac': Big Macインデックスdescription(デフォルト：0, 整数型):0: データのDataFrameを返す全てのデータセット1: 変数の定義を全て表示する全てのデータセット2: 変数の定義のDataFrameを返す'pwt'，'weo'``'mad'のみ-1: 何年以降から予測値なのかを全て示す'weo'のみ-2: 何年以降から予測値なのかを示すDataFrameを返す'weo'のみ返り値：DataFrameもしくはDataFrameの表示例１：IMF World Economic OutlookのDataFrameを返すpy4macro.data('weo')例２：IMF World Economic Outlookの変数定義の全てを表示するpy4macro.data('weo',description=1)例３：IMF World Economic Outlookの変数定義のDataFrameを返すpy4macro.data('weo',description=2)例４：IMF World Economic Outlookの変数の推定値の開始年を全て表示するpy4macro.data('weo',description=-1)例５：IMF World Economic Outlookの変数の推定値の開始年のDataFrameを返すpy4macro.data('weo',description=-2)インストール方法pip install py4macroorpip install git+https://github.com/Py4Macro/py4macro.gitorgit clone https://github.com/Py4Macro/py4macro.git
cd py4macro
pip install .