Skip to content

trendfollowing 1.0.1

Choose a tag to compare

@ArturSepp ArturSepp released this 22 Jul 06:47
· 135 commits to main since this release

Centralises the return conventions shared by the two trend-following papers into a single module, and fixes paper typos. First tagged release.

Added

  • trendfollowing.conventions: the single source for the conventions both papers fix. Exports AF_DAILY = 260 (the paper's trading-day annualisation, used in place of the 252 that qis infers from the calendar density of the futures panel, so the papers pass the constant explicitly rather than relying on inference), PPY_QUARTERLY = 4, PPY_MONTHLY = 12 and compute_daily_annualised_vol. Sharpe ratios are arithmetic throughout — sqrt(a) * mean / std of periodic simple excess returns — because the JOIM paper's regime decomposition (Proposition 1) is exact only under arithmetic means and the SIFIN paper's analytic Sharpe ratios use the same convention. All four symbols are re-exported from the package top level.

Changed

  • Replication scripts (aggregated_skewness_fig.py, sg_sharpe_test.py, verify_skewness_directions.py) now take their annualisation and Sharpe convention from trendfollowing.conventions instead of restating it locally.
  • Daily futures data are stored as prices built from log returns; returns are extracted with qis.to_returns with the is_log_returns flag stated at the call, and periodic returns for regime sampling are arithmetic simple returns at calendar anchors.

Fixed

  • Typos in the SIFIN paper source; removed a stray sg.log and a generated .thm file from the repository.

Notes

  • Install: pip install trendfollowing==1.0.1
  • No prior tags exist; this is the first tagged release, superseding 1.0.0 on PyPI.