# Annualisation is an inference

> Turning a daily number into an annual one means guessing how many periods a year has. Libraries guess silently.

Building block · Getting the numbers right · found 2026-09-26 · by John Kingola

## What I was looking for

Whether annualised Sharpe and volatility match a hand calculation on real trading calendars.

## What I found

Sharpe, volatility and CAGR all need the number of periods in a year. Libraries usually infer it from the dates, and when the inference fails they fall back to a default without saying so. The number stays plausible, so nobody notices.

In ffn the inference failed on any trading calendar with holidays and fell back to one period, so calc_sharpe with annualize=True returned a daily Sharpe: 0.074 for AAPL instead of 1.17. Four fixes in that area were merged and credited in ffn v1.3.0.

## The move

When a statistic is annualised, I find out where the periods-per-year came from before I compare it with anything.

## Evidence

- [ffn v1.3.0](https://github.com/pmorissette/ffn/releases/tag/v1.3.0)

Web version: https://kingola.dev/notes/annualisation-is-an-inference/
