Skip to content

Releases: tim-nish/QuantScenarioBench

QuantsScenarioBench v1.2.1

Choose a tag to compare

@tim-nish tim-nish released this 04 Jul 06:05
378e29a

Highlights

  • Fixes the Leaderboard Space so missing, private, gated, or empty Evaluation Results repositories are handled gracefully.
  • Valid Evaluation Results repositories continue to behave unchanged.

See CHANGELOG.md for full details.

QuantsScenarioBench v1.2.0

Choose a tag to compare

@tim-nish tim-nish released this 04 Jul 05:43
98353fb

Highlights

  • Hugging Face Space Leaderboard — a hosted, browsable Space (spaces/leaderboard/) rendering the Leaderboard as a live page.
  • Gradio-based hosted UI — built with Gradio, deployed via standard Hugging Face Space git-push-to-deploy.
  • Leaderboard table rendering — the current ranked strategy × Benchmark Dataset table, reloaded fresh on every session so newly published results appear without redeploying.
  • Sorting and filtering — sort by any column (Gradio's native Dataframe behavior); filter by Benchmark Dataset, Strategy, and Metric, independently or combined.
  • Space deployment configuration — Hugging Face Space metadata (sdk: gradio, app_file, suggested_hardware: cpu-basic) and documented deployment path.

Notes

  • The Space is a presentation layer built on the existing EvaluationResult and Leaderboard aggregation pipeline (v1.1) — it adds no aggregation, ranking, or data-model logic of its own.
  • Advanced analytics, visualizations, historical/trend tracking, and strategy-to-strategy comparison tooling remain out of scope for this release.

See CHANGELOG.md for full details.

QuantsScenarioBench v1.1.0

Choose a tag to compare

@tim-nish tim-nish released this 03 Jul 15:35
4d31f2c

Highlights

  • Benchmark Core — Portfolio Optimizer Interface (BaselineStrategy, ForecastOptimizer), a validated PortfolioWeights type, three traditional baselines (EqualWeight, GlobalMinimumVariance, CVaROptimization), four performance metrics (Sharpe, Sortino, Maximum Drawdown, Final Wealth Factor), and run_benchmark() producing a JSON-serializable BenchmarkResult.
  • EvaluationResult pipeline — a fixed, JSON-native EvaluationResult schema, plus the pure to_evaluation_result() transform from BenchmarkResult.
  • Local evaluation result storagewrite_evaluation_result() writes one timestamped, append-only JSON file per run, organized by Benchmark Dataset and strategy.
  • Hugging Face evaluation results publishingpublish_evaluation_results() and generate_evaluation_results_card() publish results to a shared, append-only Hugging Face dataset repo with an auto-generated summary card.
  • Leaderboard aggregationaggregate_evaluation_results(), load_evaluation_results(), and load_evaluation_results_from_hub() build a ranked strategy × Benchmark Dataset table from every published EvaluationResult.

Notes

  • This release provides leaderboard aggregation only — a ranked list[dict] you can load into pandas, a notebook, or your own app. There is no hosted or public leaderboard page.
  • The Hugging Face Space (Gradio Leaderboard UI) is planned for v1.2, not included here.

See CHANGELOG.md for full details.

v1.0.0 — Initial Public Release

Choose a tag to compare

@tim-nish tim-nish released this 01 Jul 07:19
301f3e2

QuantScenarioBench's first stable release: a JAX-native library for generating reproducible stochastic market scenarios, with three v1 market models and a built-in path to the Hugging Face Hub.

Highlights

  • Common state-space interfaceMarketModel, Scenario, TimeGrid, and Metadata give every model the same shape, so you can swap BlackScholes for Heston or RoughBergomi without touching simulation or export code.
  • Three validated models
    • Black-Scholes (GBM) — checked against the closed-form pricing formula
    • Heston (stochastic volatility) — checked against semi-closed-form (Gil-Pelaez) pricing
    • Rough Bergomi (non-Markovian rough volatility) — checked against statistical skew-monotonicity properties
  • Reproducibility by construction — identical (model, time_grid, n_paths, seed) produce bit-identical paths on the same backend; every batch carries full provenance metadata.
  • Export & publishexport_parquet() for a fixed 12-column schema, and publish_to_hub() to push straight to the Hugging Face Hub with an auto-generated dataset card.
  • Extensible by design — implement MarketModel._drift / _diffusion / initial_state and a conformance test suite verifies your model behaves correctly, with no changes to the rest of the library.

Pre-built benchmark samples

Three lightweight, quick-loading sample datasets are live under the QuantScenarioBench org, generated with library_version=1.0.0:

For research-scale datasets, generate your own with simulate() and export with export_parquet() / publish_to_hub() — see the README for details.

Installation

pip install quantscenariobench

Changelog

See CHANGELOG.md for the full list of changes.