# Simulation methods

A reproducible research workflow for examining value transformations, data assumptions, and failure behavior.

## Publication status
Published by the OpenForex Society, the standard-setting core of the OpenForex Foundation, as part of its established standards service to the open standards community.

## Version
0.2.0

## Last Updated
2026-09-24

## Purpose and boundaries
Simulations make assumptions inspectable. They demonstrate how a selected algorithm behaves under specified conditions; they do not prove economic neutrality, market execution, or settlement capacity. Distinguish synthetic teaching examples from historical-data experiments and operational monitoring.

## Required run record
| Record | Include |
| --- | --- |
| Research question | What the run tests and what it excludes |
| Method | Exact formula revision or named illustrative method |
| Inputs | Amounts, units, timestamps, provenance, and exclusions |
| Numeric policy | Representation, precision, rounding, and fee assumptions |
| Environment | Code revision, dependencies, and random seed if relevant |
| Results | Intermediate values, final values, failures, and limitations |

State explicitly when data is invented. For external data, retain provenance and usage information so a reviewer can reproduce the dataset lawfully.

## Execution workflow
1. State the question and acceptance criteria before the run.
2. Freeze the input snapshot and identify the method revision.
3. Validate units, quote directions, and input domains.
4. Execute and capture intermediate values.
5. Repeat the run from preserved inputs.
6. Compare results against the criteria and document exceptions.

## Test beyond the happy path
Include zero or missing denominators, invalid amounts, inconsistent units, stale observations, duplicate data, large magnitudes, and rounding boundaries. Preserve random seeds and sampling rules where used. Report failed runs alongside successful runs.

## Interpretation
Explain what a result demonstrates and what remains untested. A common-unit translation can be numerically consistent while its input valuation method remains unresolved. Sensitivity to data selection is evidence to study.

Start with the [GHS-USD example](?page=seed-content/simulations/ghs-usd-example). Compare its scope with the [TVX standard](?page=seed-content/tvx-formula/1.0.0) and [oracle design](?page=seed-content/oracle-system/index).
