All Projects → ferrumfix → ferrumfix

ferrumfix / ferrumfix

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE.txt MIT LICENSE-MIT.txt
Financial Information eXchange protocol implemented in Rust

Programming Languages

rust
11053 projects
XSLT
1337 projects
shell
77523 projects

Projects that are alternatives of or similar to ferrumfix

Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+2296.35%)
Mutual labels:  finance, fixprotocol
coinbase-fix-example
Simple example application for Coinbase Pro FIX API
Stars: ✭ 42 (-78.12%)
Mutual labels:  finance, fixprotocol
mxfactorial
a payment application intended for deployment by the united states treasury
Stars: ✭ 36 (-81.25%)
Mutual labels:  finance
wallstreet
Stock Quotes and Charts for the Terminal
Stars: ✭ 75 (-60.94%)
Mutual labels:  finance
currency
A currency computations package.
Stars: ✭ 52 (-72.92%)
Mutual labels:  finance
avanza
A Python library for the unofficial Avanza API
Stars: ✭ 54 (-71.87%)
Mutual labels:  finance
Customizable-Crypto-Currency-Dashboard-with-Chart
📺 A Dashboard with the price movements of the selected Cryptocurrencies 💹
Stars: ✭ 79 (-58.85%)
Mutual labels:  finance
hurtrade
An Open Source Forex Trading Platform
Stars: ✭ 22 (-88.54%)
Mutual labels:  finance
lakshmi
Investing library and command-line interface inspired by the Bogleheads philosophy
Stars: ✭ 107 (-44.27%)
Mutual labels:  finance
rube
A multi-chain DeFi development toolkit for Elixir
Stars: ✭ 27 (-85.94%)
Mutual labels:  finance
finac
Finac - financial accounting for humans
Stars: ✭ 27 (-85.94%)
Mutual labels:  finance
pytickersymbols
Fundamental stock data and yahoo/google ticker symbols for several indices.
Stars: ✭ 69 (-64.06%)
Mutual labels:  finance
wallet
DeFiChain Wallet. The DeFi Blockchain Light Wallet for iOS, Android & Web. + Desktop Coming Soon
Stars: ✭ 112 (-41.67%)
Mutual labels:  finance
WeWorkFinanceSDK
企业微信会话存档SDK(基于企业微信C版官方SDK封装)
Stars: ✭ 223 (+16.15%)
Mutual labels:  finance
Stock-Analyzer
Application that calculates the key values from financial statements of publicly traded companies
Stars: ✭ 16 (-91.67%)
Mutual labels:  finance
quantlib
The idiomatic rust implementation of the QuantLib C++ quantitative finance library
Stars: ✭ 89 (-53.65%)
Mutual labels:  finance
BankClassify
Simple example of using a Naive Bayesian classification to classify entries in bank statements
Stars: ✭ 111 (-42.19%)
Mutual labels:  finance
FsFIX
an F# FIX engine
Stars: ✭ 22 (-88.54%)
Mutual labels:  fixprotocol
Stocksera
Web application that provides alternative data to retail investors
Stars: ✭ 426 (+121.88%)
Mutual labels:  finance
TradeRepublicApi
Unofficial trade republic API
Stars: ✭ 134 (-30.21%)
Mutual labels:  finance

FerrumFIX

Crates.io Website Docs.rs Minimal rustc version matrix.org License CI status

Love FerrumFIX? Buy me a coffee and support the project!

FerrumFIX is a free and open source FIX engine implementation in Rust. Please note that it's currently under heavy development and wildly unstable, so all interested parties should refrain from using it in production prior to its 1.0 release. Performance and full adherence to the FIX protocol are nevertheless core goals of the project which, if anything, might serve as a useful foundation for others' work.

About

FerrumFIX provides parsing, validation, error recovery, and (de)serialization for the FIX family of protocols.

FIX Technical Standard stack

The above illustration succintly describes the full scope of FIX and it serves as a reference point for all modern FIX implementations. FerrumFIX aims with total compliance... eventually. Engineering efforts are initially focused on core features e.g. tag-value encoding and FIX 4.4.

FerrumFIX enforces strict separation of concerns according to the OSI model, as reasonably allowed by the FIX specification.

  • Layer 4 (Transport Layer): fefixs.
  • Layer 5 (Session Layer): fefix::session.
  • Layer 6 (Presentation Layer): fefix::tagvalue, fefix::json, fefast.
  • Layer 7 (Application Layer): fefix::Dictionary.

You don't have to understand the whole tech stack to use a single layer; in fact, FerrumFIX makes sure that you only ever need to worry about layers above your chosen abstraction level. For most users, that would be Layer 7 (i.e. semantics of FIX messages and business logic). On the other hand, you will need to delve deep into lower layers in case you plan on building a fully-fledged FIX engine.

Core features:

  • Code generation (Rust, possibly others).
  • FIX 4.2.
  • FIX 4.4.
  • FIX 5.0 Service Pack 2.

Encodings:

  • Tagvalue (classic FIX).
  • FIXML.
  • Simple Binary Encoding (SBE).
  • Google Protocol Buffers (GPB).
  • JavaScript Object Notation (JSON).
  • Abstract Syntax Notation (ASN.1).
  • FIX Adapted for STreaming (FAST).

Sponsors

FerrumFIX is kindly sponsored by Bitwyre. Bitwyre is a next gen, HFT-friendly Cryptocurrency Derivatives Exchange.

Bitwyre logo

Please reach out to Filippo Costa <[email protected]> for business inquiries.

Contributing

All development happens on GitHub at ferrumfix/ferrumfix. Contributions both from volunteers and companies are welcome. Depending on the size and scope of your intended contributions, it's likely a good idea to open beforehand a GitHub issue to discuss any details. Please note that our branching strategy is inspired by the (in)famous Git Flow, which is a good fit for software that requires complex versioning such as FIX implementations. Versioning adheres to SemVer 2.0.

Legal

FerrumFIX is available under the terms of the MIT license and Apache License 2.0, at your choice. See LICENSE-MIT.txt and LICENSE-APACHE.txt in this repository for more information.

All FIX Protocol-related intellectual property, including but not limited to the original documentation that ships with FerrumFIX, is licensed by FIX Protocol Ltd. under Creative Commons Attribution - No Derivatives 4.0 International (CC BY-ND 4.0). By contributing to this project you agree to comply with all license requirements.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].