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()関数
  • オブジェクトの属性(_もしくは__が付いた属性以外)を表示する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

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(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()

メソッドには()が付いて表示される

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

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

引数

  • axmatplotlibの軸
  • startfukyo()関数を適用し始める年(デフォルトは1980
  • endfukyo()関数を適用し終わる年(デフォルトは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)

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

  • @py4macro.recessions()は全ての軸に後退期間の塗りつぶしを追加する
@py4macro.recessions(start=1980, end=2900, color='k', alpha=0.1)
<関数>

引数

  • startfukyo()関数を適用し始める年(デフォルトは1980
  • endfukyo()関数を適用し終わる年(デフォルトは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

JupyterLiteで使用する際の注意点

次の場合はmatplotlibをインポートするが必要あります。

  • pandasのデータフレームやシリーズの.plot()メソッドを使う場合
  • @py4macro.recessions()を使う場合

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.16.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py4macro-0.8.16-py2.py3-none-any.whl (4.6 MB view details)

Uploaded Python 2Python 3

File details

Details for the file py4macro-0.8.16.tar.gz.

File metadata

  • Download URL: py4macro-0.8.16.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for py4macro-0.8.16.tar.gz
Algorithm Hash digest
SHA256 483a188c1639f06ce90ab0335805309dcb7cfcd1d513ba748b651a95b0ce4eaa
MD5 5df29db27e1c35c9dc2fef98c8b67590
BLAKE2b-256 d3fc7b319ad9a71e6e493c8a5a7ba975ff84014c66d0d831e16661507be4df01

See more details on using hashes here.

File details

Details for the file py4macro-0.8.16-py2.py3-none-any.whl.

File metadata

  • Download URL: py4macro-0.8.16-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for py4macro-0.8.16-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 64b29ddb5445fd186c9bd395be1561d62343a66a8cc55eb0c46acd45b5a8618a
MD5 59bc6ce276e99250b0297dc3ddfa5cda
BLAKE2b-256 bd64a1d961919732f9e4181322b236ff67bae23c63468f7da60fa9556bc2aae8

See more details on using hashes here.

Supported by

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