# Gürkaynak–Wolfers economic-derivatives auctions: auction-only edition 0.3.2

**Methods and data descriptor.** Status: public research edition 0.3.2, published 25 October 2026 by Christopher Geneth Kurg. Originally prepared 22 October 2026. Not deposited, no DOI, not reviewed by the original authors or by peers.

## Summary

Between October 2002 and June 2005, auctions run by Goldman Sachs and Deutsche Bank priced ranges of outcomes for four US data releases: nonfarm payrolls, the ISM manufacturing index, retail sales excluding autos and initial jobless claims. Refet S. Gürkaynak and Justin Wolfers collected the results for 153 releases and published them with their study and code. This edition separates the auction portion of their file (every priced range, its auction-implied probability and the announced outcome) and adds source-row lineage, explicit units, quality flags and validation. It contains 153 release records and 2,235 priced ranges. No source value has been changed, rescaled or revised.

## Source objects

These are distinct objects. Cite the one you used.

| Object | Date | Identifier | Role here |
|---|---|---|---|
| Data and code package `Gurkaynak_Wolfers_2005_data_code.zip` | readme dated 8 November 2005; members dated 7–9 November 2005 | linked from [Wolfers's research-data page](https://users.nber.org/~jwolfers/data.php#economicderivativesdata); SHA-256 `6536ae9bfa64dae8b765dc913376b37b3873a73b9ed904661670c831b09e11da` | Source of every value. Read in place; not redistributed. |
| FRBSF Working Paper 2005-26 | September 2005 (title page dated 15 September 2005) | [frbsf.org PDF](https://www.frbsf.org/wp-content/uploads/wp05-26bk.pdf) | Page references in the article and this document. |
| NBER Working Paper 11929 | January 2006 | [doi:10.3386/w11929](https://doi.org/10.3386/w11929) | Preferred citation of the research in `CITATION.cff`. |
| Published version, *NBER International Seminar on Macroeconomics 2005* (MIT Press, 2007) | 2007 | listed on the NBER paper page | Not inspected. Mentioned so it is not confused with the above. |
| This edition | 25 October 2026 | `0.3.2`; file checksums in `data/SHA256SUMS.json` | Curation by Vultax Research. No DOI. |

The package's CSV member `AllDerivs(ForStata).csv` (SHA-256 `62718574f2ee914e4758a2b12a544abac59dcfb1beb14c22b973dfbcd951c95b`) has 153 rows and 99 columns. The package also holds `VIX.dta` and five Stata programs. None of these programs were run.

## What the edition contains

| File | Rows | What it is |
|---|---|---|
| `data/auction-only-edition.json` | 153 records | One record per release: identity, dates, unit, announced value, ordered ranges with published probabilities, source-row lineage and quality flags. |
| `data/auction-bins.csv`, `data/auction-bins.jsonl` | 2,235 | One row per priced range, repeating record identity and unit. `bin_index` is one-based. |
| `data/auction-releases.csv` | 153 | One row per release, without the ranges, for quick joins and teaching. |
| `data/record-metadata.json` | 153 | The lineage and flag fields without the ranges. |
| `data/macro-auctions.json` | 153 | The exact prepared input used by the explorer, kept byte-for-byte from the earlier split. |
| `data/data-dictionary.json` | — | Every field, its type and its meaning. |
| `data/CITATION.cff`, `data/citation.bib`, `data/dataset.jsonld`, `data/metadata.json`, `data/corrections.json` | — | Citations that separate the research from the curation; scope; correction history. |

Counts by indicator: 33 payrolls, 30 ISM, 26 retail sales ex autos, 64 initial claims. Each release has 10–18 ranges.

## Methods

1. **Reading the source.** The CSV member is read from the ZIP in memory. Only allowlisted columns are used: `statistic`, `Auction date`, `Release Date-Time`, `Released Value`, `BinLB1..18`, `BinUB1..18`, `ProbBin1..18`.
2. **Exclusions.** Survey columns (MMS/Action Economics), financial-market columns (S&P 500, Eurodollar, federal funds and Treasury changes, Svensson yields), VIX and third-party memo items (Yahoo, Briefing.com) are excluded. They came from other providers, and the permission covers the auction data. The authors' own auction summaries (`AMean`, `AMedian`, `Astd`) are also excluded: they embed the paper's midpoint and tail conventions (FRBSF version, p. 6) and were outside the requested allowlist.
3. **Ranges.** The readme states that unused trailing bins are coded missing. The edition keeps each release's non-missing ranges in order. The validator confirms that every omitted source bin is missing (`.` in 1,555 cells, empty in 2), that adjacent ranges share boundaries, and that the first and last ranges are the open tails coded `-9999` and `9999`. Those markers are kept as numbers with a documented meaning; they are not outcomes.
4. **Probabilities.** Kept exactly as published, in percent. No normalization. The sum per release is stored with its signed deviation from 100; 32 releases differ by more than 0.05 points, the largest by 0.6.
5. **Dates.** `M/D/YYYY` strings are mapped to ISO dates. The source column called `Release Date-Time` contains dates only, so times and time zones are null and `intraday_order_status` is `UNKNOWN`. The auction and release dates coincide for 125 records; 28 auctions were one or three days earlier.
6. **Announced value.** The value recorded in the source, which the paper describes as the basis for contract payoffs (p. 5). Later revisions are not substituted.
7. **Outcome classification.** Derived by comparing the announced value with the published bounds: `INSIDE_FINITE_BIN` (116), `OPEN_TAIL` (14) or `EXACT_BOUNDARY` (23). An exact-boundary result is assigned to neither neighbouring range, because the contracts' tie convention is not recorded in the inspected package. This is a description of the data, not a score.
8. **Identifiers and lineage.** `record_id` is `gw2005-{series}-{auction date}-{release date}`, a local key that is not a DOI. Each record keeps its source row (header = row 1) and a SHA-256 of its prepared source values (`source_values_sha256`; serialization documented in the dictionary).
9. **Derived exports.** `tools/derive_exports.py` writes the bin and release tables from the edition JSON only. `validate.py` re-derives every row independently and compares values and types.

## Technical validation actually performed

Run on 22 October 2026 with `python3 validate.py --source-zip …/Gurkaynak_Wolfers_2005_data_code.zip`. Result: `PASS`, `ALL_ALLOWED_SOURCE_VALUES_MATCH`. The checks:

- top-level and record fields match the publication allowlist exactly; 153 unique record IDs;
- every date, announced value, bound and probability equals the original CSV member; ZIP and member hashes match; every omitted source bin is missing;
- adjacent ranges share boundaries; open tails are where the codebook says;
- per-release sums, classifications (116/14/23) and source-record hashes are recomputed;
- all 2,235 bin rows in JSON lines and CSV, and all 153 release rows, re-derive exactly, with types;
- edition labels agree across files; no file in `data/` is missing from the checksum manifest; every checksum matches;
- the built page embeds the current edition (record IDs, bounds, probabilities and the edition file's SHA-256).

Validation shows that the edition faithfully transforms the allowlisted source fields. It does not reproduce the paper's statistical results, test calibration, or establish what traders believed.

## Usage notes

- **Units.** Payrolls and claims are in thousands; ISM in index points; retail sales in percent change. Keep the unit with the value.
- **Mass, not density.** A range's probability is mass over the whole range. Widths differ within 17 auctions (12 ISM, 5 payroll) and between indicators and dates. Divide by width only for finite ranges and label the result as derived.
- **Cumulative position.** An outcome inside a range has an interval of cumulative positions, from the probability below the range to that plus the range's own probability. An exact position needs an assumption about the distribution inside the range. The paper assumes the state price is uniform within each strike range (p. 24), which means linear interpolation using the actual outcome, not the midpoint of the interval: for December 2003 payrolls that gives 2.04% against an interval of 2.00–3.03%. Raw cumulative sums are not a probability distribution (totals run from 99.4 to 100.3), so probability tests need an explicit normalization; see `EVALUATION-PROTOCOL.md`. For an exact-boundary outcome the cumulative mass of the ranges below the boundary is known. Whether it equals the probability of a strictly lower release, and which range paid out, depends on the contracts' tie convention, which is not recorded.
- **Uncertainty versus disagreement.** The paper uses the standard deviation of each auction's distribution as uncertainty and the dispersion of survey point forecasts as disagreement (pp. 2, 17–18). Survey data are not in this edition. Any standard deviation computed from ranges depends on midpoint and tail conventions.
- **Prices versus beliefs.** Prices equal probabilities only for risk-neutral traders. The paper finds the risk premium small for these contracts (section 6, from p. 30). This edition does not test that.
- **Announcements versus revisions.** Example: BLS series CES0000000001, retrieved 22 October 2026, now implies December 2003 payroll growth of about 109,000; the announcement the contracts settled on was 1,000. Use announced values to evaluate the auctions; use revised series only for other questions, and record the vintage.
- **Dependence.** Releases are not independent draws: claims are weekly, indicators share economic news, and auctions within a month share information. Account for this before attaching uncertainty to any pooled statistic.

## Worked examples and how they were chosen

| Example | Record ID | Rule |
|---|---|---|
| Surprise | `gw2005-nfpay-2004-01-09-2004-01-09` | Kept from the original feature because it is surprising. Not representative. |
| Ordinary | `gw2005-nfpay-2005-01-07-2005-01-07` | First payroll release after January 2004 whose announced value lies inside the finite range containing the 50% point of the published probabilities, and of half the published total. |
| Tie | `gw2005-iclm-2004-02-26-2004-02-26` | Earliest of the 14 jobless-claims releases among the 23 exact-boundary outcomes. |
| Widths | `gw2005-nfpay-2002-10-03-2002-10-04` | First payroll auction in the archive; it mixes 10k, 20k, 30k and 50k ranges. |

Examples illustrate how to read the data. They are not a sample, and they say nothing about calibration.

## What has not been done

- Calibration, sharpness or scoring of any kind. A prespecified protocol is in `EVALUATION-PROTOCOL.md` (version 1.1); no calibration or scoring statistic has been computed from this edition. Full-sample descriptive counts (the outcome classification and totals above) have been.
- Replication of the paper's tables and figures, which would need the excluded survey and market columns and the authors' code.
- Review by Refet Gürkaynak or Justin Wolfers, or by peers.
- A repository deposit, DOI or chosen licence. Wolfers's permission covers republication of the auction data with credit; the terms of a public deposit still need to be recorded with the authors.

## Code

`build.py` (page and Markdown), `validate.py` (integrity and source comparison), CSV and JSON-lines exports (included in `data/`), `exercise/where_did_it_land.py` (teaching and inspection). Python 3 standard library only. No source program is executed.

## Versioning and corrections

Corrections are recorded by ID in `CHANGELOG.md` and `data/corrections.json` with the affected records, fields, evidence and whether values changed. A published edition is never overwritten; a correction produces a new version. See `CORRECTIONS.md`.
