Skip to content

Add orderbook to Financial - #6611

Merged
github-actions[bot] merged 1 commit into
avelino:mainfrom
intrepidkarthi:add-orderbook
Aug 21, 2026
Merged

Add orderbook to Financial#6611
github-actions[bot] merged 1 commit into
avelino:mainfrom
intrepidkarthi:add-orderbook

Conversation

@intrepidkarthi

Copy link
Copy Markdown
Contributor

Required links

Pre-submission checklist

Repository requirements

  • The repo has a go.mod file and at least one SemVer release (vX.Y.Z) — v0.26.0
  • The repo has an open source license — MIT
  • The repo documentation has a pkg.go.dev link
  • The repo documentation has a goreportcard link — removed deliberately: goreportcard.com was sunset on 1 July 2026 and gojp/goreportcard is archived. The badge endpoint now serves an SVG reading "go report: retired", so it was dropped from the README rather than left advertising a dead service. The report URL is still in the required-links block above.
  • The repo documentation has a coverage service link — see above.
  • The repo has a continuous integration process — GitHub Actions: build, vet, go test -race, benchmarks, and a nightly soak
  • CI runs tests that must pass before merging

Pull Request content

  • This PR adds only one package — the diff is a single line
  • The package has been added in alphabetical order (after ofxgo and the existing orderbook, before payme)
  • The link text is the exact project name
  • The description is clear, concise, non-promotional, and ends with a period
  • The link in README.md matches the forge link above

go test main_test.go main.go passes identically with and without this change — 4 pre-existing TestAlpha ordering errors on main, in Data stores with expiring records (easycache/echovault) and Libraries that are used to help make your application more secure (acme-proxy/acmetool), neither touched here.

Category quality

  • The packages around my addition still meet the Quality Standards.

Checked the five nearest entries; all are live and none are archived: ofxgo (Feb 2026), orderbook — i25959341 (Apr 2025), payme (Jul 2026), paystack-sdk-go (Jun 2026), money — govalues (Jan 2025).


About the package

An embeddable limit order book and matching engine. It works in int64 ticks and lots with no floating point on the money path, and a per-symbol Instrument converts decimals only at the API boundary.

  • Single-writer core — one matching goroutine owns the book with no lock on the hot path (the LMAX model); a Runner fronts it with an MPSC queue for concurrent producers.
  • Zero-allocation match pathMatch into a caller-supplied buffer allocates 0 B/op.
  • Deterministic and recoverable — the same ordered command stream produces byte-identical trades and book state, gated in CI against a 2,000-command tape; pkg/wal provides a checksummed write-ahead log with snapshots, segment rotation and retention.
  • Full order surface — limit, market, stop / stop-limit, iceberg, post-only, pegged, OCO / bracket, trailing-stop; GTC / IOC / FOK / DAY / GTD.

Note on the duplicate name: there is already an orderbook in this section (i25959341/orderbook). They are different projects with the same package name, which the section already accommodates for decimal (three entries) and go-finance (two). Happy to rename the link text if you would rather disambiguate.

Disclosure: I'm the author of the project. It is explicit that it is an experiment rather than a product — it has never run a live market, and docs/PRODUCTION-READINESS.md is a written account of what it does not do.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@github-actions

Copy link
Copy Markdown

Automated Quality Checks

Required checks

Repo: accessible, has go.mod and SemVer release
pkg.go.dev: OK
Go Report Card: OK (grade unknown)

Additional checks

License: MIT
Maturity: repo has 5+ months of history
CI/CD: GitHub Actions workflows detected
README: present
⚠️ Coverage: missing from PR body

How to fix: Add a coverage service link to your PR description:

Coverage: https://app.codecov.io/gh/your-org/your-project

Popular options: [Codecov](https://codecov.io), [Coveralls](https://coveralls.io). Integrate one with your CI to track coverage automatically.


_These checks are automated and do not replace maintainer review. See [CONTRIBUTING.md](https://github.com/avelino/awesome-go/blob/main/CONTRIBUTING.md) for full guidelines._

---

## PR Diff Validation

### Content checks

✅ **Files changed**: only README.md
✅ **Single item**: one package added
✅ **Link consistency**: README link matches forge link in PR body
✅ **Link text**: matches repository name
✅ **Description**: ends with punctuation
✅ **Description tone**: no promotional language detected
✅ **Category size**: Financial has 32 items


_Automated diff validation — does not replace maintainer review._
<!-- Sticky Pull Request Commentpr-quality-check -->

@github-actions
github-actions Bot merged commit 6035122 into avelino:main Aug 21, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant