https://github.com/avhz/rustquant

Rust library for quantitative finance.

https://github.com/avhz/rustquant

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 45 committers (6.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

finance machine-learning math mathematics option-pricing quantitative-finance quantlib regression rust rust-lang statistics stochastic-processes trading

Keywords from Contributors

autograder transformers hack standardization parallel sequences energy-systems interpretability energy-system-model report
Last synced: 5 months ago · JSON representation

Repository

Rust library for quantitative finance.

Basic Info
  • Host: GitHub
  • Owner: avhz
  • License: apache-2.0
  • Language: Rust
  • Default Branch: main
  • Homepage: https://avhz.github.io
  • Size: 50.3 MB
Statistics
  • Stars: 1,498
  • Watchers: 30
  • Forks: 166
  • Open Issues: 31
  • Releases: 103
Topics
finance machine-learning math mathematics option-pricing quantitative-finance quantlib regression rust rust-lang statistics stochastic-processes trading
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License

README.md

License Crates.io Crates.io User Total Downloads GitHub Repo stars

GitHub Workflow Status Codecov Dependencies

Discord

A Rust library for quantitative finance.

:dart: If you are an experienced quant developer in any language and would like to help out, feel free to contact me!

| Email | Discord | Latest Changes | |:----------------------------:|:-------------------------------:|:---------------------------:| | | | [Changelog](./CHANGELOG.md) |

Modules

| Module | Description | |--------|-------------| | autodiff | Algorithmic adjoint differentiation (AAD) for efficiently computing gradients of scalar output functions $f: \mathbb{R}^n \rightarrow \mathbb{R}$. | | cashflows | Implementations for Cashflows and Quotes, and similar types. | | data | Data types that can be used for pricing and similar tasks (curves, term-structures, surfaces, etc). Methods for reading and writing data from/to various sources (CSV, JSON, Parquet). Can also download data from Yahoo! Finance. | | error | RustQuant error handling module. | | instruments | Implementations for financial instruments like Bonds, Options, and Money, including their pricing. Future additions will include swaps, futures, CDSs, etc. | | iso | A few ISO code implementations: ISO-4217 (currency codes), ISO-3166 (country codes), ISO-10383 (market identifier codes). | | math | Statistical distributions and their related functions (PDF, CDF, CF, etc), Fast Fourier Transform (FFT), numerical integration (double-exponential quadrature), optimisation/root-finding (gradient descent, Newton-Raphson), and risk-reward metrics. Also some sequence methods such as linspace and cumsum. | | ml | Currently only linear and logistic regression, along with k-nearest neighbours classification are implemented. More to come in the future. | | macros | Currently only plot_vector!() and assert_approx_equal!(). | | models | Various models commonly used in quantitative finance, such as the various forms of Brownian Motion, short rate models, curve models, etc. | | portfolio | Implementation of a portfolio type, which is a collection (HashMap) of Positions. | | stochastics | Stochastic process generators for Brownian Motion (standard, arithmetic, fractional, and geometric) and various short-rate models (CIR, OU, Vasicek, Hull-White, etc). | | time | Time and date functionality, such as DayCounter, calendars, constants, conventions, schedules, etc. | | trading | Currently only a basic limit order book (LOB). Hopefully adding additional trading tools in the future. |

Examples

See /examples for various uses of RustQuant. You can run them with:

bash cargo run --example <example>

[!NOTE]
Disclaimer: This is currently a free-time project and not a professional financial software library. Nothing in this library should be taken as financial advice, and I do not recommend you to use it for trading or making financial decisions.

[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Favhz%2FRustQuant.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Favhz%2FRustQuant?ref=badge_large)

Owner

  • Name: Amando
  • Login: avhz
  • Kind: user
  • Location: Austria
  • Company: @RustQuant

Quant Finance | Rust | R | Python

GitHub Events

Total
  • Create event: 109
  • Release event: 71
  • Issues event: 9
  • Watch event: 385
  • Delete event: 32
  • Issue comment event: 54
  • Push event: 97
  • Pull request review event: 8
  • Pull request review comment event: 17
  • Pull request event: 51
  • Fork event: 42
Last Year
  • Create event: 109
  • Release event: 71
  • Issues event: 9
  • Watch event: 385
  • Delete event: 32
  • Issue comment event: 54
  • Push event: 97
  • Pull request review event: 8
  • Pull request review comment event: 17
  • Pull request event: 51
  • Fork event: 42

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 873
  • Total Committers: 45
  • Avg Commits per committer: 19.4
  • Development Distribution Score (DDS): 0.412
Past Year
  • Commits: 124
  • Committers: 18
  • Avg Commits per committer: 6.889
  • Development Distribution Score (DDS): 0.685
Top Committers
Name Email Commits
Amando Z a****o@g****m 513
Yasser Naji y****i@g****m 74
avhz R****t@g****m 73
github-actions[bot] 4****] 31
Daniel Boros d****x@g****m 22
Lukas Kiss l****2@g****m 18
Colin Roberts c****n@p****z 16
Chammika Mannakkara c****a@b****p 15
aatmunbaxi a****i@t****u 13
SR s****u@p****e 9
Joaquin Bejar jb@t****m 7
Patrick Catach p****h@i****k 6
Kinrezc m****k@g****m 6
dependabot[bot] 4****] 6
Meet Patel m****t@m****z 6
Josh Leveck j****k@u****a 6
Aatmun Baxi a****n@p****n 5
nadav7679 n****9@g****m 5
Uzair Aftab u****t@o****m 4
Martin Reuter 4
willkayne w****a@c****m 3
van-sprundel r****l@g****m 2
Adam Riley r****d@g****m 2
SimonG85 s****o@g****m 2
Rick o****h@i****s 2
Nicolas Bru Frantzen n****n@g****m 2
atzander_a a****o@v****m 2
az az@a****l 2
luca-schi l****l@b****m 1
az az@1****t 1
and 15 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 128
  • Total pull requests: 173
  • Average time to close issues: 4 months
  • Average time to close pull requests: 11 days
  • Total issue authors: 20
  • Total pull request authors: 42
  • Average comments per issue: 1.95
  • Average comments per pull request: 1.06
  • Merged pull requests: 110
  • Bot issues: 0
  • Bot pull requests: 78
Past Year
  • Issues: 5
  • Pull requests: 41
  • Average time to close issues: 7 days
  • Average time to close pull requests: 27 days
  • Issue authors: 4
  • Pull request authors: 12
  • Average comments per issue: 1.6
  • Average comments per pull request: 0.85
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 19
Top Authors
Issue Authors
  • avhz (96)
  • aatmunbaxi (3)
  • joaquinbejar (3)
  • github-actions[bot] (2)
  • qiweiii (1)
  • lukaskiss222 (1)
  • oberrich (1)
  • flhred (1)
  • Autoparallel (1)
  • uiosun (1)
  • Uzaaft (1)
  • dancixx (1)
  • SimonG85 (1)
  • Aditya-dom (1)
  • matormentor (1)
Pull Request Authors
  • github-actions[bot] (98)
  • dependabot[bot] (43)
  • yfnaji (12)
  • aatmunbaxi (10)
  • chammika-become (7)
  • MeetThePatel (6)
  • dancixx (6)
  • joaquinbejar (6)
  • s3bru (4)
  • lifechange777 (4)
  • pcatach (4)
  • lukaskiss222 (4)
  • avhz (4)
  • Autoparallel (3)
  • reuterma24 (2)
Top Labels
Issue Labels
enhancement (35) help wanted (20) good first issue (13) documentation (9) bug (7) difficult (7) chore (4) rework (3) dependencies (1)
Pull Request Labels
dependencies (43)

Dependencies

.github/workflows/rust.yml actions
  • actions/checkout v3 composite