Skip to content

Implement one-month T-Bill excess returns for bond portfolios #8

Description

@Yuning598

Methodological decision

Adopt the corporate bond return construction in Dickerson, Mueller, and Robotti (2023), Priced Risk in Corporate Bonds, Journal of Financial Economics 150(2), 103707, DOI: 10.1016/j.jfineco.2023.103707.

Daily clean price is the volume-weighted average of intraday bond transaction prices. Monthly total return is computed from clean price, accrued interest, and coupon payments:

R(i,t) = [P(i,t) + AI(i,t) + C(i,t)] / [P(i,t-1) + AI(i,t-1)] - 1

The approved monthly excess return is:

excess_return(i,t) = monthly_return(i,t) - one_month_us_tbill_return(t)

A duration-adjusted or duration-matched Treasury return is not the primary convention for this implementation. It may be considered later as a robustness specification, but it must not silently replace the adopted one-month T-Bill benchmark.

Current data dependency

The current dataset exposes monthly_return and monthly_return_winsorized, but does not yet expose the approved excess-return field. Portfolio code may be developed against monthly_return temporarily, provided that the return-field selection is explicit. Final reported bond long-short performance must use the refreshed excess_return field after #9 validates the updated dataset.

Acceptance criteria

  • The risk-free series is identified, documented, monthly, and aligned to the bond-return month.
  • The implementation reproduces the stated formula on hand-checked sample observations.
  • Return units and missing-value rules are validated before subtraction.
  • Portfolio code uses an explicit return-field configuration rather than silently falling back.
  • Final published bond portfolio results use excess_return, not raw monthly_return.
  • The methodology page cites the paper, formula, benchmark source, and sample timing.
  • Duration-adjusted results, if added later, are labeled as a separate robustness analysis.

Dependency

Blocked by #9, which tracks delivery and validation of the refreshed bond-return fields through December 2025.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions