All Projects → nautechsystems → NautilusCSharp

nautechsystems / NautilusCSharp

Licence: LGPL-3.0 license
The open-core for enterprise-grade algorithmic trading infrastructure

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to NautilusCSharp

Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Stars: ✭ 5,675 (+35368.75%)
Mutual labels:  trading-platform, algorithmic-trading-engine
Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+28656.25%)
Mutual labels:  trading-platform, algorithmic-trading-engine
nact
nact ⇒ node.js + actors ⇒ your services have never been so µ
Stars: ✭ 1,003 (+6168.75%)
Mutual labels:  distributed-systems
MIT6.824-2017-Chinese
A Chinese version of MIT 6.824 (Distributed System)
Stars: ✭ 67 (+318.75%)
Mutual labels:  distributed-systems
api-version-2
Executium API Version 2 - A comprehensive trading system API which connects traders with dozens of exchanges. Currently in closed beta
Stars: ✭ 82 (+412.5%)
Mutual labels:  trading-platform
awesome-list-of-awesomes
A curated list of all the Awesome --Topic Name-- lists I've found till date relevant to Data lifecycle, ML and DL.
Stars: ✭ 259 (+1518.75%)
Mutual labels:  distributed-systems
gen browser
Transparent bi-directional communication for clients, servers and more
Stars: ✭ 67 (+318.75%)
Mutual labels:  distributed-systems
pylm
A framework to build components for high performance distributed applications.
Stars: ✭ 14 (-12.5%)
Mutual labels:  distributed-systems
IoTPy
Python for streams
Stars: ✭ 24 (+50%)
Mutual labels:  distributed-systems
okama
Investment portfolio and stocks analyzing tools for Python with free historical data
Stars: ✭ 87 (+443.75%)
Mutual labels:  risk-management
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (+56.25%)
Mutual labels:  distributed-systems
Anubis
Distributed LMS for automating Computing Science Courses From NYU
Stars: ✭ 184 (+1050%)
Mutual labels:  distributed-systems
tradeview
A platform for trading crypto currency pairs on crypto exchanges and running crypto currency pair strategies.
Stars: ✭ 69 (+331.25%)
Mutual labels:  trading-platform
golearn
🔥 Golang basics and actual-combat (including: crawler, distributed-systems, data-analysis, redis, etcd, raft, crontab-task)
Stars: ✭ 36 (+125%)
Mutual labels:  distributed-systems
ray tutorial
An introductory tutorial about leveraging Ray core features for distributed patterns.
Stars: ✭ 67 (+318.75%)
Mutual labels:  distributed-systems
consistent-hashing
an implementation of Consistent Hashing in pure Ruby using an AVL tree
Stars: ✭ 40 (+150%)
Mutual labels:  distributed-systems
teracache
Scalable, fault-tolerant, highly-available cache
Stars: ✭ 15 (-6.25%)
Mutual labels:  distributed-systems
clock
Logical clocks implementation in Rust
Stars: ✭ 37 (+131.25%)
Mutual labels:  distributed-systems
rdoc
Conflict-free replicated JSON implementation in native Go
Stars: ✭ 76 (+375%)
Mutual labels:  distributed-systems
research
distributed system;blokchain;filecoin/ipfs,...
Stars: ✭ 39 (+143.75%)
Mutual labels:  distributed-systems

NautilusCSharp

Build

This repo is now archived and unmaintained. It may serve as a C# reference for any future development.

Introduction

NautilusCSharp is a back-end infrastructure suite supporting algorithmic trading operations. Flexible deployment topologies facilitate running services both embedded/local on a single machine, or distributed across a Cloud/VPC. Architectural methodologies include domain driven design, event-sourcing and messaging.

Nautilus is written entirely in C# for .NET Core and has been open-sourced from working production code. Nautilus forms part of larger infrastructure designed and built to support the trading operations of professional quantitative traders and/or small hedge funds.

The platform exists to support the NautilusTrader algorithmic trading framework with distributed services to facilitate live trading. NautilusTrader heavily utilizes Cython to provide type safety and performance through C extension modules.

https://github.com/nautechsystems/nautilus_trader

This means the Python ecosystem can be fully leveraged to research, backtest and trade strategies developed through AI/ML techniques, with data ingest, order management and risk management being handled by the Nautilus platform services.

Each Nautilus service uses a common intra-service messaging library built on top of the Task Parallel Library (TPL) Dataflow, which allows the service sub-components to connect to central message buses to fully utilize every available thread.

https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/dataflow-task-parallel-library

An efficient inter-service messaging system implemented using MessagePack serialization, LZ4 compression, Curve25519 encryption and ZeroMQ transport - allows extremely fast communication, with the API allowing PUB/SUB and fully async REQ/REP patterns.

The Order Management System (OMS) includes an ExecutionEngine with underlying ExecutionDatabase built on top of Redis, which supports the ability to manage global risk across many trader machines.

The repository is grouped into the following solution folders;

  • Framework provides the domain model and common components for implementing the services.
  • Services provides generic data and execution services.
  • Infrastructure provides technology specific implementations. At present utilizing Redis.
  • Adapters provides broker specific implementations. At present supporting FIX4.4 with FXCM.
  • TestSuite provides the unit and integration tests for the codebase.

There is currently a large effort to develop improved documentation.

Values

  • Reliability
  • Availability
  • Testability
  • Performance
  • Modularity
  • Maintainability
  • Scalability

Support

Please direct all questions, comments or bug reports to [email protected]

Copyright (C) 2015-2020 Nautech Systems Pty Ltd. All rights reserved.

https://nautechsystems.io

DotNet

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].