Skip to content

Releases: Jebel-Quant/jquantstats

v0.3.4

26 Mar 03:00

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.4 - 2026-03-26

Bug Fixes

  • Move mkdocs.yml to repo root to resolve docs_dir config error (#501)
  • Limit API Reference TOC depth to 3 to reduce clutter

Documentation

  • Append 2026-03-25 repository analysis entry (v0.3.3)

Maintenance

  • Add kaleido static image export tests (#504)
  • Move mkdocs.yml to repo root (#514)
  • Add kaleido marker and dedicated CI job for static image export (#520)

New Features

  • Replace minibook with MkDocs-based book pipeline (#502)
  • Add per-subcategory 1–10 scores to analyser agent
  • Add vol-normalisation cap and input validation to from_risk_position (#521)

Other Changes

  • Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#503)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

  • Revert "chore: move mkdocs.yml to repo root" (#517)
  • [WIP] Fix PortfolioLike protocol to align with CostModel abstraction (#522)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • Analysis
  • Bump version 0.3.3 → 0.3.4

Performance

  • Vectorise trading_cost_impact — O(1) allocations for the cost sweep (#516)
  • Add slots=True to Portfolio and Data frozen dataclasses (#515)

PyPI Package

jquantstats

v0.3.3

24 Mar 09:51

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.3 - 2026-03-24

Other Changes

  • Fix mkdocs site_dir nested inside docs_dir

Set site_dir to ../site so the build output is placed at the repo root
level instead of inside docs/, which caused an aborted build error.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Remove obsolete notebook
  • Add Data.from_prices classmethod (#499)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com

  • Reorganize tests/ to mirror src/jquantstats/ structure (#500)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • Bump version 0.3.2 → 0.3.3

PyPI Package

jquantstats

v0.3.2

24 Mar 07:27

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.2 - 2026-03-24

Other Changes

  • Update README.md
  • [WIP] Add GitHub Actions workflow for link checking in README (#497)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • Fix mike deploy failing due to mkdocs.yml not found at repo root

cd into docs/ before running mike commands since mkdocs.yml lives at docs/mkdocs.yml.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Bump version 0.3.1 → 0.3.2

PyPI Package

jquantstats

v0.3.1

24 Mar 06:44

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.1 - 2026-03-24

Maintenance

  • Chore(deps)(deps): bump the python-dependencies group with 3 updates (#493)

Signed-off-by: dependabot[bot] support@github.com
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com

Other Changes

  • Remove GitHub Codespaces badge

Removed GitHub Codespaces badge from README

  • Remove Renovate badge from README

Removed Renovate badge from README

  • Fix README link to jQuantStats
  • Replace broken shields.io pyversions badge with static Python version badge (#495)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • [WIP] Update README.md with absolute URLs for references (#496)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Co-authored-by: Thomas Schmelzer thomas.schmelzer@gmail.com

  • Bump version 0.3.0 → 0.3.1

PyPI Package

jquantstats

v0.3.0

24 Mar 04:57

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.3.0 - 2026-03-24

Documentation

  • Add versioned documentation with mike (#480)
  • Add dashboard screenshot, quick-start output, and Marimo badge to README (#481)

Maintenance

  • Add macOS and Windows to CI test matrix (#482)
  • Increase coverage to 100%

New Features

  • Add __repr__ with date range to Data and Portfolio (#489)

Other Changes

  • Fix docs build: update plots reference and broken links in CUSTOMIZATION.md (#470)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • Collapse PortfolioData into Portfolio (#473)

Co-authored-by: copilot-swe-agent[bot] 198982749+Copilot@users.noreply.github.com
Co-authored-by: tschm 2046079+tschm@users.noreply.github.com

  • Add PyPI classifiers and explicit __all__ (#491)
  • Bump version 0.2.0 → 0.3.0

PyPI Package

jquantstats

v0.2.0

23 Mar 19:22

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[0.2.0] - 2026-03-23

Bug Fixes

  • Fix ruff formatting in test_edge_cases.py

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/bf90d4cc-1ad7-4b63-a4e9-892fe28588aa

  • Correct README code examples to pass make validate
  • Exclude book/ from interrogate docstring coverage
  • Exclude book/ from interrogate pre-commit hook
  • Fix import path in test_report: _report -> _reports

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Documentation

  • Add Data and Stats classes to mkdocs nav
  • Rewrite SECURITY.md for jquantstats
  • Expand README with comparison table, Mermaid diagram, more examples, badge row
  • Add GitHub Discussions templates and update contributing guide
  • Add docs/stability.md and update mkdocs nav
  • Replace build_data with Data.from_returns in README
  • Document uv.lock update requirement in CONTRIBUTING.md
  • Add QuantStats migration guide (docs/migration.md)

Maintenance

  • Extract figure_structure to shared plot_test_utils module, fix ruff formatting
  • Add ISSUE_TEMPLATE config.yml and PULL_REQUEST_TEMPLATE.md
  • Enable blank issues in ISSUE_TEMPLATE config
  • Update issue templates to be jquantstats-specific
  • Exclude generated report.html from git tracking
  • Add CITATIONS.bib and Citing section to README
  • Group _stats*.py files into _stats/ subpackage
  • Add test_api_contract.py to guard public API surface

New Features

  • Cache stats/plots/report properties on Portfolio and add pytest-cov
  • Add py.typed marker and configure release notes
  • Enable ANN2 return-type annotation enforcement in ruff
  • Add interrogate to enforce 100% docstring coverage
  • Automate release notes with git-cliff in release workflow

Other Changes

  • Initial plan
  • Add property-based tests with hypothesis and fix sortino ZeroDivisionError

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/383b5562-61f0-4aff-87d7-d1ef4999f95a

  • Initial plan
  • Add CHANGELOG.md, cliff.toml, and make changelog target

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/8bfc6764-97ba-4e38-9539-91ad4d1f7af3

  • Merge pull request #384 from tschm/copilot/add-changelog-file

[WIP] Add CHANGELOG.md following Keep a Changelog format

  • Merge branch 'main' into copilot/add-property-based-tests
  • Remove hypothesis from pyproject.toml; use importorskip for graceful skip

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/798615a2-215f-4a3d-b5a9-3b66cabcf25c

  • Initial plan
  • Merge branch 'main' into copilot/add-snapshot-tests-for-plots
  • Merge pull request #377 from tschm/copilot/add-snapshot-tests-for-plots

feat: Plotly figure structure snapshot tests for regression detection

  • Merge branch 'main' into copilot/add-property-based-tests
  • Merge remote-tracking branch 'origin/copilot/add-property-based-tests' into copilot/add-property-based-tests
  • Initial plan
  • Merge branch 'main' into copilot/add-truncate-in-api
  • Add truncate method to Data class with tests

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/47e9b47c-4abd-4cd3-bb76-196c22ad6b34

  • Merge pull request #386 from tschm/copilot/add-truncate-in-api

Add truncate method to Data class

  • Initial plan
  • Merge branch 'main' into copilot/add-conda-forge-recipe
  • Add conda-forge recipe and update README installation docs

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/43a6aebf-3195-4e71-b5ba-1ac66bf6c198

  • Merge branch 'main' into copilot/add-conda-forge-recipe
  • Merge pull request #391 from tschm/copilot/add-conda-forge-recipe

Add conda-forge recipe for jquantstats

  • Merge branch 'main' into copilot/add-property-based-tests
  • Initial plan
  • Merge branch 'main' into copilot/expand-test-edge-cases
  • Merge branch 'main' into copilot/expand-test-edge-cases
  • Merge pull request #378 from tschm/copilot/expand-test-edge-cases

Expand test_edge_cases.py — empty returns, single-row frame, all-zero stats, NaN propagation, partial date overlap

  • Merge branch 'main' into copilot/add-property-based-tests
  • Merge pull request #379 from tschm/copilot/add-property-based-tests

Add hypothesis property-based tests for statistical invariants; fix sortino ZeroDivisionError

  • Initial plan
  • Initial plan
  • Merge branch 'main' into plan10
  • Merge branch 'main' into plan10
  • Initial plan
  • Merge branch 'main' into copilot/add-return-type-annotations
  • Merge branch 'main' into copilot/add-return-type-annotations
  • Merge pull request #385 from tschm/copilot/add-return-type-annotations

Enforce return-type annotations via ANN2 ruff rule

  • Merge branch 'main' into plan10
  • Merge pull request #396 from tschm/plan10

docs: rewrite SECURITY.md for jquantstats

  • Merge branch 'main' into copilot/add-data-and-stats-docs
  • Merge pull request #401 from tschm/copilot/add-data-and-stats-docs

[WIP] Add Data and Stats classes to mkdocs navigation

  • Merge branch 'main' into copilot/add-issue-templates
  • Initial plan
  • Merge branch 'main' into copilot/stabilize-date-col-convention
  • Merge branch 'main' into copilot/stabilize-date-col-convention
  • Merge pull request #400 from tschm/copilot/stabilize-date-col-convention

[WIP] Stabilize date_col convention by making it a class-level attribute

  • Merge branch 'main' into copilot/add-issue-templates
  • Remove Mypy configuration from pyproject.toml
  • Merge pull request #404 from tschm/noMyPy

Remove Mypy configuration from pyproject.toml

  • Merge branch 'main' into copilot/add-issue-templates
  • Merge pull request #403 from tschm/copilot/add-issue-templates

Add ISSUE_TEMPLATE config and PULL_REQUEST_TEMPLATE to lower contributor barrier

  • Add narwhals support to accept pandas/polars/modin inputs in build_data

Closes #57. Adds narwhals as a runtime dependency and converts any
narwhals-compatible DataFrame to polars at the build_data boundary,
unlocking pandas and other dataframe inputs without breaking the
polars-native internals.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

  • Initial plan
  • Initial plan
  • Add Ideas discussion template and update issue config to redirect to discussions

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/77f1aab1-ac04-4ba4-b258-c94946a82c3b

  • Merge branch 'main' into copilot/add-discussions-tab
  • Merge pull request #411 from tschm/copilot/add-discussions-tab

Add Discussions infrastructure: Ideas template + issue routing

  • Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
  • Initial plan
  • Add full API reference: new reference pages + updated mkdocs.yml nav + docs dep group

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/9957b64f-2f21-4d16-8fd0-732b318b0951

  • Merge branch 'main' into copilot/add-mkdocs-mkdocstrings
  • Merge pull request #412 from tschm/copilot/add-mkdocs-mkdocstrings

Build API reference: add mkdocstrings pages for all public classes and wire docs dep group

  • Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
  • Initial plan
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge branch 'main' into copilot/expand-readme-add-content
  • Merge pull request #402 from tschm/copilot/expand-readme-add-content

Expand README: comparison table, Mermaid architecture diagram, more examples, badge row

  • Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
  • Initial plan
  • Merge branch 'main' into copilot/add-discussions-tab-again
  • Merge branch 'main' into copilot/add-discussions-tab-again
  • Merge pull request #414 from tschm/copilot/add-discussions-tab-again

docs: add GitHub Discussions templates and routing

  • Merge branch 'main' into copilot/add-issue-templates-bug-report-feature-request
  • Merge pull request #413 from tschm/copilot/add-issue-templates-bug-report-feature-request

fix(issue-templates): replace rhiza-specific references with jquantstats content

  • Initial plan
  • Add repr to Data, Stats, Plots and Portfolio

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/42f2887d-36a8-42ae-b440-67a92a0fce7c

  • Initial plan
  • Add ROADMAP.md to repository root

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/55b7e43d-1897-4a4d-8007-1bef4b63ea6e

  • Initial plan
  • Merge pull request #428 from tschm/copilot/add-citations-bib-file

[WIP] Add CITATIONS.bib for academic users

  • Merge branch 'main' into copilot/add-roadmap-md
  • Update ROADMAP.md
  • Merge pull request #429 from tschm/copilot/add-roadmap-md

[WIP] Add ROADMAP.md file for version planning

  • Merge branch 'main' into copilot/add-repr-to-data-stats-plots-portfolio
  • Initial plan
  • Replace Any with NativeFrame type alias for narwhals inputs

Co-authored-by: tschm 2046079+tschm@users.noreply.github.com
Agent-Logs-Url: https://github.com/tschm/jquantstats/sessions/2d033a26-295d-4bce-809c-f0ba038d5e42

  • Merge branch 'main' into copilot/replace-any-with-nativeframe-type-alias
  • Merge br...
Read more

v0.1.1

23 Mar 09:23

Choose a tag to compare

What's Changed

  • Add analytics subpackage ported from jebel-quant/basanos by @Copilot in #368
  • Refactor by @tschm in #370
  • refactor: deduplicate NAV layout setup into shared helper by @Copilot in #372

Full Changelog: v0.0.36...v0.1.1

PyPI Package

jquantstats

v0.0.36

22 Mar 17:17

Choose a tag to compare

What's Changed

  • Remove pandas and pyarrow as runtime dependencies by @Copilot in #367

Full Changelog: v0.0.35...v0.0.36

PyPI Package

jquantstats

v0.0.35

22 Mar 06:43

Choose a tag to compare

What's Changed

  • Fix broken coverage badge by @Copilot in #363
  • [WIP] Fix LICENSE badge to reflect MIT license by @Copilot in #365

Full Changelog: v0.0.34...v0.0.35

PyPI Package

jquantstats

v0.0.34

17 Mar 06:34

Choose a tag to compare

What's Changed

  • Update reference version from v0.8.2 to v0.8.3 by @tschm in #351
  • Tschm patch 100 by @tschm in #352
  • chore(deps)(deps): bump the github-actions group with 2 updates by @dependabot[bot] in #353
  • chore(deps)(deps): bump plotly from 6.5.2 to 6.6.0 in the python-dependencies group by @dependabot[bot] in #354
  • chore(deps)(deps): bump the python-dependencies group with 2 updates by @dependabot[bot] in #357
  • chore(deps)(deps): bump github/codeql-action from 4.32.5 to 4.32.6 in the github-actions group by @dependabot[bot] in #356
  • chore: Sync with rhiza by @tschm in #358
  • chore(deps)(deps): bump the github-actions group with 4 updates by @dependabot[bot] in #359
  • Tschm patch 150 by @tschm in #361

Full Changelog: v0.0.33...v0.0.34