Skip to main content

A module for py4macro.github.io

Project description

PyPI version fury.io PyPI - Downloads CodeQL

はじめに

Pythonで学ぶマクロ経済学 (中級+レベル)で使うモジュール。

以下が含まれている。

  • Hodrick-Prescottフィルターを使い時系列データのトレンドを返すtrend()関数
  • DataFrameを全て表示するshow()関数
  • n個の浮動小数点数から構成されるリストを返すxvalues()関数
  • 後退期間にグレーの塗りつぶしを追加するfukyo()関数
  • 後退期間にグレーの塗りつぶしを追加するrecessions()デコレーター
  • データ・セット
    • Penn World Tables 10.0
    • IMF World Economic Outlook 2021
    • Maddison Project Database 2020
    • 日本の四半期データ(GDPなど)
    • 日本の四半期データ(マネーストックなど)
    • 177ヵ国のマネーストックなど
    • 円/ドル為替レートなど
    • 景気循環日付と拡張・後退期間

使い方

import py4macro

Hodrick-Prescottフィルターによるトレンド抽出

py4macro.trend(s,lamb=1600)

引数:

  • sSeriesもしくは1列のDataFrameとし,行のラベルはDatetimeIndexにすること。
  • lamb: HPフィルターのlambda(デフォルトは四半期用のデータでは通常の値である1600としている)

戻り値:

Hodrick-Prescottフィルターで計算したtrend(トレンド)のSeries

:

py4macro.trend(df.loc[:,'gdp'])

DataFrameの行・列を全て表示する

py4macro.show(df)

引数

  • dfDataFrame

戻り値

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]

横軸にDatetimeIndexを使うプロットに対して後退期間にグレーの塗りつぶしを追加する関数

  • fukyo()関数は後退期間の塗りつぶしを追加する
py4macro.fukyo(ax, color='k', alpha='0.1')

引数

  • axmatplotlibの軸
  • color:色(デフォルトは黒)
  • alpha:透明度(デフォルトは0.1

戻り値

  • なし(表示のみ)

<例1:一つの図>

fig, ax = plt.subplots()
ax.plot(...)
fukyo(ax)

<例2:一つの図>

ax = <DataFrame もしくは Series>.plot()
fukyo(ax, color='red')

<例3:複数の図の中で一つだけに追加>

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)

<例1:一つの図をプロット(軸を返さない)>

@py4macro.recessions()
def plot():
    <DataFrame もしくは Series>.plot()

<例2:一つの図をプロット(軸を返す)>

@py4macro.recessions(color='red')
def plot():
    ax = <DataFrame もしくは Series>.plot()
    return ax

<例3:一つの図をプロット>

@py4macro.recessions(alpha=0.9)
def plot():
    fig, ax = plt.subplots()
    ax.plot(...)
    return ax       # 省略すると軸を返さない

<例4:複数の図をプロット>

@py4macro.recessions(color='green', alpha=0.2)
def plot():
    ax = <DataFrame>.plot(subplots=True, layout=(2,2))
    return ax       # この行は必須

<例5:複数の図をプロット>

@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': 円/ドル為替レートなど
  • description (デフォルト:0, 整数型):

    • 0: データのDataFrameを返す
      • 全てのデータセット
    • 1: 変数の定義を全て表示する
      • 全てのデータセット
    • 2: 変数の定義のDataFrameを返す
      • 'pwt''weo'``'mad'のみ
    • -1: 何年以降から予測値なのかを全て示す
      • 'weo'のみ
    • -2: 何年以降から予測値なのかを示すDataFrameを返す
      • '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)

例4:IMF World Economic Outlookの変数の推定値の開始年を全て表示する

py4macro.data('weo',description=-1)

例5:IMF World Economic Outlookの変数の推定値の開始年のDataFrameを返す

py4macro.data('weo',description=-2)

インストール方法

pip install py4macro

or

pip install git+https://github.com/Py4Macro/py4macro.git

or

git clone https://github.com/Py4Macro/py4macro.git
cd py4macro
pip install .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py4macro-0.8.3.tar.gz (4.1 MB view hashes)

Uploaded Source

Built Distribution

py4macro-0.8.3-py2.py3-none-any.whl (4.1 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page