Skip to content

Commit

Permalink
1.110.0
Browse files Browse the repository at this point in the history
See release notes.
  • Loading branch information
cjdsellers authored Mar 13, 2021
2 parents d8995b5 + 91ca538 commit 5238f1c
Show file tree
Hide file tree
Showing 205 changed files with 4,549 additions and 4,337 deletions.
52 changes: 30 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ using the Python ecosystem - within a highly performant and robust Python native

The platform aims to be universal, with any REST/FIX/WebSocket API able to be integrated via modular
adapters. Thus the platform can handle high-frequency trading operations for any asset classes
including FX, Equities, Futures, Options, CFDs and Crypto - across multiple venues simultaneously.
including FX, Equities, Futures, Options, CFDs, Crypto and Betting - across multiple venues simultaneously.

## Features

Expand All @@ -52,9 +52,9 @@ The value of NautilusTrader here is that this re-implementation step is circumve
platform was designed from the ground up to hold its own in terms of performance and quality.

Python has simply caught up in performance (via Cython offering C-level speed) and general tooling,
making it a suitable language for implementing a large system such as this. The benefit being
that a Python native environment can be offered, suitable for professional quantitative traders and
hedge funds.
making it a suitable language for building a large system such as this. The benefit being that a
Python native environment can be offered, suitable for professional quantitative traders and hedge
funds.

## Why Python?

Expand Down Expand Up @@ -95,6 +95,32 @@ The documentation for the latest version of the package is available at _readthe
![Architecture](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/architecture.png?raw=true "")

## Integrations

| Logo | ID | Status |
|:---:|:---:|:---:|
| [![interactive-brokers](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/ib-logo.png?raw=true)](https://interactivebrokers.com) | ib | ![status](https://img.shields.io/badge/Integration-in_progress-orange) |
| [![oanda](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/oanda-logo.png?raw=true)](https://oanda.com/) | oanda | ![status](https://img.shields.io/badge/Integration-in_progress-orange) |
| [![ccxtpro](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/ccxtpro-logo.png?raw=true)](https://ccxt.pro/) | ccxt-`exchange_id` | ![status](https://img.shields.io/badge/Integration-in_progress-orange) |
| [![binance](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/binance-logo.png?raw=true)](https://www.binance.com/) | ccxt-binance | ![status](https://img.shields.io/badge/Integration-testing-yellow) |
| [![bitmex](https://github.com/nautechsystems/nautilus_trader/blob/develop/docs/artwork/bitmex-logo.png?raw=true)](https://www.bitmex.com/) | ccxt-bitmex | ![status](https://img.shields.io/badge/Integration-testing-yellow) |

An integration adapter for CCXT Pro is currently under active development.
The adapter requires the `ccxtpro` package, which in turn requires a license.

See https://ccxt.pro for more information.

Currently there are **beta** versions of integrations for **Binance** and **BitMEX** available
for early testing. These include advanced order options such as `post_only`, `hidden`
`reduce_only`, and all the `TimeInForce` options. These integrations will be incrementally
added to.

The other exchanges will be available through CCXTs unified API with a more
limited feature set. The intent here is to specify other data clients for
arbitrage or market making strategies. Execution clients will be possible if a
user only requires simple vanilla MARKET and LIMIT orders for trading on those
exchanges.

## Installation

The `master` branch will always reflect the code of the latest release version.
Expand Down Expand Up @@ -225,24 +251,6 @@ More will be added in due course including `MarketIfTouched`, `LimitIfTouched`
and icebergs. Users are invited to open discussion issues to request specific
order types or features.

## Integrations

An integration adapter for CCXT Pro is currently under active development.
The adapter requires the `ccxtpro` package, which in turn requires a license.

See https://ccxt.pro for more information.

Currently there are **beta** versions of integrations for **Binance** and **BitMEX** available
for early testing. These include advanced order options such as `post_only`, `hidden`
`reduce_only`, and all the `TimeInForce` options. These integrations will be incrementally
added to.

The other exchanges will be available through CCXTs unified API with a more
limited feature set. The intent here is to specify other data clients for
arbitrage or market making strategies. Execution clients will be possible if a
user only requires simple vanilla MARKET and LIMIT orders for trading on those
exchanges.

## Development

For development we recommend using the PyCharm _Professional_ edition IDE, as it interprets Cython
Expand Down
42 changes: 35 additions & 7 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,50 @@
# NautilusTrader 1.110.0 Beta - Release Notes

This release applies one more major change to the identifier API. `Security` has
been renamed to `InstrumentId` for greater clarity that the object is an identifier,
and to group the concept of an instrument with its identifier.

Data objects in the framework have been further abstracted to prepare for the
handling of custom data in backtests.

A `RiskEngine` base class has also been scaffolded.

## Breaking Changes
- `Security` renamed to `InstrumentId`.
- `Instrument.security` renamed to `Instrument.id`.
- `Data` becomes an abstract base class with `timestamp` and `unix_timestamp`
properties.
- `Data` and `DataType` moved to `model.data`.
- `on_data` methods now take `GenericData`.

## Enhancements
- Add `GenericData`.
- Add `Future` instrument.

## Fixes
None

---

# NautilusTrader 1.109.0 Beta - Release Notes

The main thrust of this release is to refine and further bed down the changes
to the identifier model via `Security`, and fix some bugs.
to the identifier model via `InstrumentId`, and fix some bugs.

Errors in the CCXT clients caused by the last release have been addressed.

## Breaking Changes
- `Security` now takes first class value object `Symbol`.
- `Security` `asset_class` and `asset_type` no longer optional.
- `InstrumentId` now takes first class value object `Symbol`.
- `InstrumentId` `asset_class` and `asset_type` no longer optional.
- `SimulatedExchange.venue` changed to `SimulatedExchange.id`.

## Enhancements
- Ensure `TestTimer` advances monotonically increase.
- Add `AssetClass.BETTING`.

## Fixes
- CCXT data and execution clients regarding `security` vs `symbol` naming.
- `Security` equality and hashing.
- CCXT data and execution clients regarding `instrument_id` vs `symbol` naming.
- `InstrumentId` equality and hashing.
- Various docstrings.

---
Expand All @@ -40,7 +68,7 @@ symbol string, a primary `Venue`, `AssetClass` and `AssetType` properties.
- `to_serializable_string` changed to `to_serializable_str`.

## Enhancements
- Reports now include full security name.
- Reports now include full instrument_id name.
- Add `AssetType.WARRANT`.

## Fixes
Expand Down Expand Up @@ -107,7 +135,7 @@ integration, and begin adding platform capabilities to support this effort.
- Add the `Future` instrument type.
- Add the `StopLimitOrder` order type.
- Add the `Data` and `DataType` types to support custom data handling.
- Add the `Security` identifier types initial implementation to support extending the platforms capabilities.
- Add the `InstrumentId` identifier types initial implementation to support extending the platforms capabilities.

## Fixes
- `BracketOrder` correctness.
Expand Down
Binary file added docs/artwork/binance-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/artwork/bitmex-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/artwork/ccxtpro-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/artwork/ib-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/artwork/oanda-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 10 additions & 10 deletions docs/source/adapter_reference/binance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,37 @@ Binance Integration
.. automodule:: nautilus_trader.adapters.binance


Factory
-------
Data
----

.. automodule:: nautilus_trader.adapters.binance.factory
.. automodule:: nautilus_trader.adapters.ccxt.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
Execution
---------

.. automodule:: nautilus_trader.adapters.ccxt.providers
.. automodule:: nautilus_trader.adapters.binance.execution
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Data
----
Factory
-------

.. automodule:: nautilus_trader.adapters.ccxt.data
.. automodule:: nautilus_trader.adapters.binance.factory
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Execution
Providers
---------

.. automodule:: nautilus_trader.adapters.binance.execution
.. automodule:: nautilus_trader.adapters.ccxt.providers
:show-inheritance:
:inherited-members:
:members:
Expand Down
20 changes: 10 additions & 10 deletions docs/source/adapter_reference/bitmex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,37 @@ Bitmex Integration
.. automodule:: nautilus_trader.adapters.bitmex


Factory
-------
Data
----

.. automodule:: nautilus_trader.adapters.bitmex.factory
.. automodule:: nautilus_trader.adapters.ccxt.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
Execution
---------

.. automodule:: nautilus_trader.adapters.ccxt.providers
.. automodule:: nautilus_trader.adapters.bitmex.execution
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Data
----
Factory
-------

.. automodule:: nautilus_trader.adapters.ccxt.data
.. automodule:: nautilus_trader.adapters.bitmex.factory
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Execution
Providers
---------

.. automodule:: nautilus_trader.adapters.bitmex.execution
.. automodule:: nautilus_trader.adapters.ccxt.providers
:show-inheritance:
:inherited-members:
:members:
Expand Down
20 changes: 10 additions & 10 deletions docs/source/adapter_reference/ccxtpro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,37 @@ CCXT Pro Integration
.. automodule:: nautilus_trader.adapters.ccxt


Factory
-------
Data
----

.. automodule:: nautilus_trader.adapters.ccxt.factory
.. automodule:: nautilus_trader.adapters.ccxt.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
Execution
---------

.. automodule:: nautilus_trader.adapters.ccxt.providers
.. automodule:: nautilus_trader.adapters.ccxt.execution
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Data
----
Factory
-------

.. automodule:: nautilus_trader.adapters.ccxt.data
.. automodule:: nautilus_trader.adapters.ccxt.factory
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Execution
Providers
---------

.. automodule:: nautilus_trader.adapters.ccxt.execution
.. automodule:: nautilus_trader.adapters.ccxt.providers
:show-inheritance:
:inherited-members:
:members:
Expand Down
32 changes: 32 additions & 0 deletions docs/source/adapter_reference/ib.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Interactive Brokers Integration
===============================

.. automodule:: nautilus_trader.adapters.ib


Data
----

.. automodule:: nautilus_trader.adapters.ib.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Execution
---------

.. automodule:: nautilus_trader.adapters.ib.execution
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
---------

.. automodule:: nautilus_trader.adapters.ib.providers
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource
25 changes: 17 additions & 8 deletions docs/source/adapter_reference/oanda.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,37 @@ Oanda Integration
.. automodule:: nautilus_trader.adapters.oanda


Factory
-------
Data
----

.. automodule:: nautilus_trader.adapters.oanda.factory
.. automodule:: nautilus_trader.adapters.oanda.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
Execution
---------

.. automodule:: nautilus_trader.adapters.oanda.providers
.. automodule:: nautilus_trader.adapters.oanda.execution
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Data
----
Factory
-------

.. automodule:: nautilus_trader.adapters.oanda.data
.. automodule:: nautilus_trader.adapters.oanda.factory
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Providers
---------

.. automodule:: nautilus_trader.adapters.oanda.providers
:show-inheritance:
:inherited-members:
:members:
Expand Down
9 changes: 9 additions & 0 deletions docs/source/api_reference/model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ Currency
:members:
:member-order: bysource

Data
----

.. automodule:: nautilus_trader.model.data
:show-inheritance:
:inherited-members:
:members:
:member-order: bysource

Enums
-----

Expand Down
Loading

0 comments on commit 5238f1c

Please sign in to comment.