# Provenance for `factor_dedup_article.csv`

`factor_dedup_article.csv` is a frozen, transformed snapshot used to reproduce the tables in the factor-deduplication article. It is not current market data and is not a tradable backtest.

## Source and vintage

- Upstream package: [`linearmodels==7.0`](https://bashtage.github.io/linearmodels/asset-pricing/examples/formulas.html), dataset `linearmodels.datasets.french`
- Underlying source: [Kenneth R. French Data Library](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html)
- Observations: 819 monthly rows, 1949-01 through 2017-03
- Units in this file: decimal returns, not percentages
- SHA-256 after LF line-ending normalization: `5971ab52ead41a12a6412e0ab08eb9027435e0c12797490598c255505d72bcbe`

The French library can revise historical data and construction methods. In particular, its US research returns moved from the legacy FIZ convention to CIZ beginning with the January 2025 release. This frozen file intentionally reproduces the article's `linearmodels==7.0` inputs; it should not be read as the latest French-library vintage.

## Transformations

The eleven factor-library columns are constructed by `load_demo()` in [`factor_dedup.py`](./factor_dedup.py):

- `Mom` and `HML` are taken directly from the bundled dataset.
- Three momentum spreads subtract loser from winner portfolios within small-, mid-, and large-cap buckets.
- Three value spreads subtract low from high book-to-market portfolios within small-, mid-, and large-cap buckets.
- `SMB` is taken directly from the bundled dataset.
- Two size spreads subtract large-cap from small-cap portfolios within the middle value and momentum buckets.

The twelve industry columns are industry returns minus `RF`. `MktRF` is retained for the market-beta residualization check. The CSV itself is not volatility-scaled; the script performs full-sample volatility scaling when it computes the article statistics.

## Attribution and reuse

`linearmodels` version 7.0 is distributed under the [NCSA license](https://raw.githubusercontent.com/bashtage/linearmodels/v7.0/LICENSE.md). The underlying data comes from the Kenneth R. French Data Library and is third-party material; the software license does not grant rights over that source data. Review the source's current terms before redistributing the snapshot or using it commercially.
