Agent Skills by ALSEL
Anthropic Claudeデータ・分析⭐ リポ 51品質スコア 82/100

publication-figures

実証的な金融・経済学向けの出版品質の図表規約です。matplotlibのスタイル設定、カラーパレット、エクスポート設定、および時系列グラフ、デシル分析、係数プロット、イベント分析など一般的な図表タイプをカバーしています。図表やプロット、ビジュアライゼーションを作成する際に自動的に適用できます。

description の原文を見る

Publication-ready figure conventions for empirical finance and economics. Covers matplotlib styling, color palettes, export settings, and common figure types (time series, decile bars, coefficient plots, event studies). Auto-apply when creating any figure, plot, or visualization.

SKILL.md 本文

出版品質の図表

このリポジトリでは、プロット製作用のツールキットは fintools.figures です。 まず docs/ai/figures.md を読んでから、プロット作成パスを意識的に選択してください:

  • リポジトリ作業、Word 校正パック、検証チェック、DataFrame から図表へのスイートには、ネイティブな fintools.figures ヘルパーを使用します。
  • 社内出版スタイルには style="fins" を、FT スタイルの出力には style="ft" を使用します。
  • レガシーなスキルローカル finance.mplstyle / figutils.py アセットは、ユーザーが明示的に古いスタンドアロン ヘルパー スタイルを希望するか、パッケージ ワークフロー外のポータブル スニペットが必要な場合にのみ使用します。

FT 検証ギャラリーを再現するには:

python tools/figure_examples.py --style ft --docx --output results/figures

社内スタイル ギャラリーを再現するには:

python tools/figure_examples.py --style fins --docx --output results/figures

生成された PNG/PDF/DOCX/キャプション ファイルは無視される results/figures/ パスに格納されます。メンテナー校正パックやローカル ギャラリー出力をコミットしないでください。

図表を作成する際はいつでもこれらの慣例を適用してください。目標は、Claude が生成するすべての図表がデフォルトで出版品質であること — 手動のクリーンアップは不要です。

レガシー ヘルパー クイックスタート

このリポジトリでは fintools.figures を推奨します。以下のヘルパー アセットは、スタンドアロンまたは明示的にリクエストされたレガシー出版スタイル プロットに対して引き続き利用可能です。

このスキル ディレクトリから finance.mplstyle をプロジェクトにコピーして、以下を実行します:

import matplotlib.pyplot as plt
plt.style.use('path/to/finance.mplstyle')

または、インライン で適用します(ファイルは不要):

import matplotlib.pyplot as plt
plt.rcParams.update({
    'font.family': 'serif',
    'font.serif': ['Times New Roman', 'STIXGeneral', 'DejaVu Serif'],
    'mathtext.fontset': 'stix',
    'font.size': 9,
    'axes.labelsize': 9,
    'xtick.labelsize': 8,
    'ytick.labelsize': 8,
    'legend.fontsize': 8,
    'axes.linewidth': 0.6,
    'axes.spines.top': False,
    'axes.spines.right': False,
    'lines.linewidth': 1.2,
    'xtick.direction': 'out',
    'ytick.direction': 'out',
    'legend.frameon': False,
    'figure.dpi': 150,
    'savefig.dpi': 600,
    'savefig.format': 'pdf',
    'pdf.fonttype': 42,
})

デフォルト美学

  • フォント: Times New Roman / STIX(セリフ、LaTeX 依存なし)
  • スパイン: 下部と左側のみ(上部/右側なし)
  • グリッド: デフォルトでオフ
  • ティック: 外向き、8pt ラベル
  • 色: Okabe-Ito カラーブラインドセーフ パレット(青が最初)
  • エクスポート: PDF ベクトル、600 DPI、フォント埋め込み(タイプ 42)

カラー パレット

デフォルト サイクル(Okabe-Ito、カラーブラインドセーフ):

PALETTE = ['#377EB8', '#E41A1C', '#4DAF4A', '#984EA3',
           '#FF7F00', '#A65628', '#F781BF', '#999999']

2 系列(ロング vs ショート、トリートメント vs コントロール):

BLUE_RED = ['#377EB8', '#E41A1C']

グレースケール セーフ(印刷品質の保証用):

GRAYSCALE = ['#000000', '#555555', '#999999', '#CCCCCC']
# ラインスタイルと組み合わせる:'-', '--', ':', '-.'

シーケンシャル/ダイバージング カラーマップ: ヒートマップには viridis または cividis(カラーブラインドセーフ)を使用します。ダイバージングには RdBu_r(相関行列)を使用します。

図表サイズ

コンテキスト幅(インチ)用途
シングル カラム3.5ほとんどのジャーナル図表
1.5 カラム5.25中程度のパネル
ダブル カラム/フル幅7.0広いマルチパネル図表
スライド/プレゼンテーション10.0Beamer、PowerPoint

アスペクト比: デフォルトは黄金比(幅 / 1.618)。ヒートマップには square を、時系列には wide(幅 / 2.0)を使用します。

def set_size(width='single', ratio='golden'):
    widths = {'single': 3.5, 'onehalf': 5.25, 'double': 7.0, 'slide': 10.0}
    ratios = {'golden': 1.618, 'square': 1.0, 'wide': 2.0}
    w = widths.get(width, width)
    r = ratios.get(ratio, ratio)
    return (w, w / r)

実証的ファイナンスの一般的な図表タイプ

時系列

fig, ax = plt.subplots(figsize=set_size('double', 'wide'))
ax.plot(dates, values)
ax.set_xlabel(''); ax.set_ylabel('Return (%)')
  • ゼロ リファレンスには ax.axhline(0, color='grey', linewidth=0.5, zorder=0) を使用
  • ax.axvspan(start, end, alpha=0.1, color='grey') で NBER 景気後退バンドを追加

累積リターン/資産パス

cumret = (1 + returns).cumprod()
ax.plot(cumret.index, cumret.values)
ax.set_ylabel('Growth of $1')
  • 1.0(またはパーセンテージ スケールの場合は 100)から開始
  • 長期間の場合、ログ スケールはオプション:ax.set_yscale('log')

Newey-West CI 付きデシル ポートフォリオ バーチャート

# returns_df: 列 0..9(ポートフォリオ リターン時系列)を持つ DataFrame
plot_portfolio_bars(ax, returns_df, show_ls=True, ls_label='10-1')
# 平均、Newey-West SE(ラグ = floor(T^0.25))、95% CI エラーバーを計算
# ロングショート バーと t 統計量アノテーションを含む
  • ポートフォリオ ソート図表には plot_portfolio_bars を使用 — Newey-West SE を自動的に処理
  • ショート レッグ(デシル 1)は赤、ロング レッグ(デシル 10)は緑、ロングショート バーは紫で色分け
  • ロングショート バーに t 統計量をアノテーション

CI なしの単純なバー(事前計算された平均)の場合:

plot_decile_bars(ax, means, highlight_extremes=True, spread_label=True)

係数プロット(フォレスト プロット)

ax.errorbar(coefs, range(len(coefs)), xerr=[coefs-ci_lo, ci_hi-coefs],
            fmt='o', color='#377EB8', capsize=3, markersize=4)
ax.axvline(0, color='grey', linewidth=0.5, linestyle='--')
ax.set_yticks(range(len(names))); ax.set_yticklabels(names)

イベント スタディ(CAR プロット)

days = range(event_window[0], event_window[1] + 1)
ax.plot(days, car, color='#377EB8')
ax.fill_between(days, ci_lo, ci_hi, alpha=0.2, color='#377EB8')
ax.axvline(0, color='grey', linewidth=0.5, linestyle='--')
ax.axhline(0, color='grey', linewidth=0.5)
ax.set_xlabel('Days Relative to Event'); ax.set_ylabel('CAR (%)')

相関ヒートマップ

import seaborn as sns
mask = np.triu(np.ones_like(corr, dtype=bool), k=1)
sns.heatmap(corr, mask=mask, cmap='RdBu_r', center=0, vmin=-1, vmax=1,
            annot=True, fmt='.2f', linewidths=0.5, ax=ax,
            cbar_kws={'shrink': 0.8})

マルチパネル図表

fig, axes = plt.subplots(1, 3, figsize=set_size('double', 'wide'))
# パネルにラベルを付ける
for i, ax in enumerate(axes):
    ax.text(-0.1, 1.05, f'({chr(97+i)})', transform=ax.transAxes,
            fontsize=10, fontweight='bold', va='top')

エクスポート チェックリスト

図表を保存する前に:

  1. 形式: 論文は PDF(ベクトル)、スライド/ウェブは PNG(300+ DPI)
  2. フォント埋め込み: pdf.fonttype = 42(スタイルに既に含まれている)
  3. Bbox: bbox_inches='tight' でクリップされたラベルを回避
  4. DPI: 出版は 600、スクリーン プレビューは 150
  5. サイズ: ターゲット ジャーナルのカラム幅に合わせる — LaTeX/Word でリサイズしない
fig.savefig('figure.pdf', bbox_inches='tight', dpi=600)
# クイック プレビュー用に PNG も保存:
fig.savefig('figure.png', bbox_inches='tight', dpi=150)

ジャーナル固有のオーバーライド

ジャーナルオーバーライド
RFS300 DPI(写真)または 600 DPI(ラインアート)で TIF にエクスポート。フォント:Arial、Courier、Times、Helvetica、Symbol のみ。
AERシェーディング、グリッドライン、背景色なし。ベクトル PDF/EPS 推奨。表の行見出しを含めて最大 9 カラム幅。
JFオンラインではカラー図表可(無料)。印刷でのカラーは 1 ページあたり 500 ドルのコスト。グレースケール印刷互換性を考慮して設計。
Natureサンセリフ フォント必須(Helvetica/Arial)。オーバーライド:plt.rcParams['font.family'] = 'sans-serif'

禁止事項

  • レインボー カラーマップ(jethsv)を使用しない — 知覚的に均一でなく、カラーブラインドセーフではない
  • 3D プロットを使用しない(データが本当に 3 番目の次元を必要とする場合を除く)
  • チャートジャンク追加しない:不要なグリッドライン、境界線、背景色
  • LaTeX/Word で図表をスケールしない — matplotlib で正しいサイズを設定し、100% で含める
  • 同じ論文内の図表で異なるフォント/サイズを使用しない
  • matplotlib テキスト(タイトル、ラベル、アノテーション)で LaTeX エスケープ(\&\%\_)を使用しない — matplotlib のデフォルト テキスト エンジンはバックスラッシュを文字通りにレンダリングします。S\&P 500 ではなく、プレーン テキストの S&P 500 と書いてください。LaTeX エスケープは plt.rcParams['text.usetex'] = True の場合にのみ機能し、完全な LaTeX インストールが必要であり、当社のスタイルではデフォルトで有効になっていません。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Alexander-M-Dickerson
リポジトリ
Alexander-M-Dickerson/ai-asset-pricing
ライセンス
MIT
最終更新
2026/4/19

Source: https://github.com/Alexander-M-Dickerson/ai-asset-pricing / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Alexander-M-Dickerson · Alexander-M-Dickerson/ai-asset-pricing · ライセンス: MIT