Skip to content

Commit 5238f1c

Browse files
authored
1.110.0
See release notes.
2 parents d8995b5 + 91ca538 commit 5238f1c

File tree

205 files changed

+4549
-4337
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+4549
-4337
lines changed

README.md

+30-22
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ using the Python ecosystem - within a highly performant and robust Python native
2626

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

3131
## Features
3232

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

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

5959
## Why Python?
6060

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

98+
## Integrations
99+
100+
| Logo | ID | Status |
101+
|:---:|:---:|:---:|
102+
| [![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) |
103+
| [![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) |
104+
| [![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) |
105+
| [![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) |
106+
| [![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) |
107+
108+
An integration adapter for CCXT Pro is currently under active development.
109+
The adapter requires the `ccxtpro` package, which in turn requires a license.
110+
111+
See https://ccxt.pro for more information.
112+
113+
Currently there are **beta** versions of integrations for **Binance** and **BitMEX** available
114+
for early testing. These include advanced order options such as `post_only`, `hidden`
115+
`reduce_only`, and all the `TimeInForce` options. These integrations will be incrementally
116+
added to.
117+
118+
The other exchanges will be available through CCXTs unified API with a more
119+
limited feature set. The intent here is to specify other data clients for
120+
arbitrage or market making strategies. Execution clients will be possible if a
121+
user only requires simple vanilla MARKET and LIMIT orders for trading on those
122+
exchanges.
123+
98124
## Installation
99125

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

228-
## Integrations
229-
230-
An integration adapter for CCXT Pro is currently under active development.
231-
The adapter requires the `ccxtpro` package, which in turn requires a license.
232-
233-
See https://ccxt.pro for more information.
234-
235-
Currently there are **beta** versions of integrations for **Binance** and **BitMEX** available
236-
for early testing. These include advanced order options such as `post_only`, `hidden`
237-
`reduce_only`, and all the `TimeInForce` options. These integrations will be incrementally
238-
added to.
239-
240-
The other exchanges will be available through CCXTs unified API with a more
241-
limited feature set. The intent here is to specify other data clients for
242-
arbitrage or market making strategies. Execution clients will be possible if a
243-
user only requires simple vanilla MARKET and LIMIT orders for trading on those
244-
exchanges.
245-
246254
## Development
247255

248256
For development we recommend using the PyCharm _Professional_ edition IDE, as it interprets Cython

RELEASES.md

+35-7
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,50 @@
1+
# NautilusTrader 1.110.0 Beta - Release Notes
2+
3+
This release applies one more major change to the identifier API. `Security` has
4+
been renamed to `InstrumentId` for greater clarity that the object is an identifier,
5+
and to group the concept of an instrument with its identifier.
6+
7+
Data objects in the framework have been further abstracted to prepare for the
8+
handling of custom data in backtests.
9+
10+
A `RiskEngine` base class has also been scaffolded.
11+
12+
## Breaking Changes
13+
- `Security` renamed to `InstrumentId`.
14+
- `Instrument.security` renamed to `Instrument.id`.
15+
- `Data` becomes an abstract base class with `timestamp` and `unix_timestamp`
16+
properties.
17+
- `Data` and `DataType` moved to `model.data`.
18+
- `on_data` methods now take `GenericData`.
19+
20+
## Enhancements
21+
- Add `GenericData`.
22+
- Add `Future` instrument.
23+
24+
## Fixes
25+
None
26+
27+
---
28+
129
# NautilusTrader 1.109.0 Beta - Release Notes
230

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

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

836
## Breaking Changes
9-
- `Security` now takes first class value object `Symbol`.
10-
- `Security` `asset_class` and `asset_type` no longer optional.
37+
- `InstrumentId` now takes first class value object `Symbol`.
38+
- `InstrumentId` `asset_class` and `asset_type` no longer optional.
1139
- `SimulatedExchange.venue` changed to `SimulatedExchange.id`.
1240

1341
## Enhancements
1442
- Ensure `TestTimer` advances monotonically increase.
1543
- Add `AssetClass.BETTING`.
1644

1745
## Fixes
18-
- CCXT data and execution clients regarding `security` vs `symbol` naming.
19-
- `Security` equality and hashing.
46+
- CCXT data and execution clients regarding `instrument_id` vs `symbol` naming.
47+
- `InstrumentId` equality and hashing.
2048
- Various docstrings.
2149

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

4270
## Enhancements
43-
- Reports now include full security name.
71+
- Reports now include full instrument_id name.
4472
- Add `AssetType.WARRANT`.
4573

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

112140
## Fixes
113141
- `BracketOrder` correctness.

docs/artwork/binance-logo.png

7.38 KB
Loading

docs/artwork/bitmex-logo.png

2.49 KB
Loading

docs/artwork/ccxtpro-logo.png

6.48 KB
Loading

docs/artwork/ib-logo.png

4.41 KB
Loading

docs/artwork/oanda-logo.png

8.08 KB
Loading

docs/source/adapter_reference/binance.rst

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,37 @@ Binance Integration
44
.. automodule:: nautilus_trader.adapters.binance
55

66

7-
Factory
8-
-------
7+
Data
8+
----
99

10-
.. automodule:: nautilus_trader.adapters.binance.factory
10+
.. automodule:: nautilus_trader.adapters.ccxt.data
1111
:show-inheritance:
1212
:inherited-members:
1313
:members:
1414
:member-order: bysource
1515

16-
Providers
16+
Execution
1717
---------
1818

19-
.. automodule:: nautilus_trader.adapters.ccxt.providers
19+
.. automodule:: nautilus_trader.adapters.binance.execution
2020
:show-inheritance:
2121
:inherited-members:
2222
:members:
2323
:member-order: bysource
2424

25-
Data
26-
----
25+
Factory
26+
-------
2727

28-
.. automodule:: nautilus_trader.adapters.ccxt.data
28+
.. automodule:: nautilus_trader.adapters.binance.factory
2929
:show-inheritance:
3030
:inherited-members:
3131
:members:
3232
:member-order: bysource
3333

34-
Execution
34+
Providers
3535
---------
3636

37-
.. automodule:: nautilus_trader.adapters.binance.execution
37+
.. automodule:: nautilus_trader.adapters.ccxt.providers
3838
:show-inheritance:
3939
:inherited-members:
4040
:members:

docs/source/adapter_reference/bitmex.rst

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,37 @@ Bitmex Integration
44
.. automodule:: nautilus_trader.adapters.bitmex
55

66

7-
Factory
8-
-------
7+
Data
8+
----
99

10-
.. automodule:: nautilus_trader.adapters.bitmex.factory
10+
.. automodule:: nautilus_trader.adapters.ccxt.data
1111
:show-inheritance:
1212
:inherited-members:
1313
:members:
1414
:member-order: bysource
1515

16-
Providers
16+
Execution
1717
---------
1818

19-
.. automodule:: nautilus_trader.adapters.ccxt.providers
19+
.. automodule:: nautilus_trader.adapters.bitmex.execution
2020
:show-inheritance:
2121
:inherited-members:
2222
:members:
2323
:member-order: bysource
2424

25-
Data
26-
----
25+
Factory
26+
-------
2727

28-
.. automodule:: nautilus_trader.adapters.ccxt.data
28+
.. automodule:: nautilus_trader.adapters.bitmex.factory
2929
:show-inheritance:
3030
:inherited-members:
3131
:members:
3232
:member-order: bysource
3333

34-
Execution
34+
Providers
3535
---------
3636

37-
.. automodule:: nautilus_trader.adapters.bitmex.execution
37+
.. automodule:: nautilus_trader.adapters.ccxt.providers
3838
:show-inheritance:
3939
:inherited-members:
4040
:members:

docs/source/adapter_reference/ccxtpro.rst

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,37 @@ CCXT Pro Integration
44
.. automodule:: nautilus_trader.adapters.ccxt
55

66

7-
Factory
8-
-------
7+
Data
8+
----
99

10-
.. automodule:: nautilus_trader.adapters.ccxt.factory
10+
.. automodule:: nautilus_trader.adapters.ccxt.data
1111
:show-inheritance:
1212
:inherited-members:
1313
:members:
1414
:member-order: bysource
1515

16-
Providers
16+
Execution
1717
---------
1818

19-
.. automodule:: nautilus_trader.adapters.ccxt.providers
19+
.. automodule:: nautilus_trader.adapters.ccxt.execution
2020
:show-inheritance:
2121
:inherited-members:
2222
:members:
2323
:member-order: bysource
2424

25-
Data
26-
----
25+
Factory
26+
-------
2727

28-
.. automodule:: nautilus_trader.adapters.ccxt.data
28+
.. automodule:: nautilus_trader.adapters.ccxt.factory
2929
:show-inheritance:
3030
:inherited-members:
3131
:members:
3232
:member-order: bysource
3333

34-
Execution
34+
Providers
3535
---------
3636

37-
.. automodule:: nautilus_trader.adapters.ccxt.execution
37+
.. automodule:: nautilus_trader.adapters.ccxt.providers
3838
:show-inheritance:
3939
:inherited-members:
4040
:members:

docs/source/adapter_reference/ib.rst

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Interactive Brokers Integration
2+
===============================
3+
4+
.. automodule:: nautilus_trader.adapters.ib
5+
6+
7+
Data
8+
----
9+
10+
.. automodule:: nautilus_trader.adapters.ib.data
11+
:show-inheritance:
12+
:inherited-members:
13+
:members:
14+
:member-order: bysource
15+
16+
Execution
17+
---------
18+
19+
.. automodule:: nautilus_trader.adapters.ib.execution
20+
:show-inheritance:
21+
:inherited-members:
22+
:members:
23+
:member-order: bysource
24+
25+
Providers
26+
---------
27+
28+
.. automodule:: nautilus_trader.adapters.ib.providers
29+
:show-inheritance:
30+
:inherited-members:
31+
:members:
32+
:member-order: bysource

docs/source/adapter_reference/oanda.rst

+17-8
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,37 @@ Oanda Integration
44
.. automodule:: nautilus_trader.adapters.oanda
55

66

7-
Factory
8-
-------
7+
Data
8+
----
99

10-
.. automodule:: nautilus_trader.adapters.oanda.factory
10+
.. automodule:: nautilus_trader.adapters.oanda.data
1111
:show-inheritance:
1212
:inherited-members:
1313
:members:
1414
:member-order: bysource
1515

16-
Providers
16+
Execution
1717
---------
1818

19-
.. automodule:: nautilus_trader.adapters.oanda.providers
19+
.. automodule:: nautilus_trader.adapters.oanda.execution
2020
:show-inheritance:
2121
:inherited-members:
2222
:members:
2323
:member-order: bysource
2424

25-
Data
26-
----
25+
Factory
26+
-------
2727

28-
.. automodule:: nautilus_trader.adapters.oanda.data
28+
.. automodule:: nautilus_trader.adapters.oanda.factory
29+
:show-inheritance:
30+
:inherited-members:
31+
:members:
32+
:member-order: bysource
33+
34+
Providers
35+
---------
36+
37+
.. automodule:: nautilus_trader.adapters.oanda.providers
2938
:show-inheritance:
3039
:inherited-members:
3140
:members:

docs/source/api_reference/model.rst

+9
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ Currency
4040
:members:
4141
:member-order: bysource
4242

43+
Data
44+
----
45+
46+
.. automodule:: nautilus_trader.model.data
47+
:show-inheritance:
48+
:inherited-members:
49+
:members:
50+
:member-order: bysource
51+
4352
Enums
4453
-----
4554

0 commit comments

Comments
 (0)