Home

Awesome

Leveraged Futures Exchange for Simulated Trading (LFEST)

lfest-rs is a simulated perpetual futures exchange capable of leveraged positions. Its optimized for speed and can simulate more than 100 million trade and quote events per second along with plenty of order submissions. You feed in external market data using Bba or Trade to update the MarketState, which triggers order executions when appropriate. For simplicity's sake (and performance) the exchange does not use an order book, nor does it account for slippage of MarkerOrder. It is advised to use LimitOrder most of the time which supports partial executions. The exchange can be configured using Config and ContractSpecification.

:radioactive: This is a personal project, use a your own risk. :bangbang:

Features:

Order Types

The supported order types are:

Performance Metrics:

The following performance metrics are available when using the FullTrack AccountTracker,
but you may define any performance metric by implementing the AccountTracker trait.

There probably are some more metrics that I missed. Some of these metric may behave differently from what you would expect, so make sure to take a look at the code.

How to use

To use this crate in your project, add the following to your Cargo.toml:

[dependencies]
lfest = { git = https://github.com/MathisWellmann/lfest-rs, rev = "DESIRED-REVISION", version = "0.83"} # Probably pin the revision because main is changing quickly

Then proceed to use it in your code. For an example see examples

TODOs:

Contributions

Would love to see you use and contribute to this project. Even just adding more tests is welcome.

Donations :moneybag: :money_with_wings:

I you would like to support the development of this crate, feel free to send over a donation:

Monero (XMR) address:

47xMvxNKsCKMt2owkDuN1Bci2KMiqGrAFCQFSLijWLs49ua67222Wu3LZryyopDVPYgYmAnYkSZSz9ZW2buaDwdyKTWGwwb

monero

License

Copyright (C) 2020 <Mathis Wellmann wellmannmathis@gmail.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

GNU AGPLv3