diff --git a/.bumpversion.cfg b/.bumpversion.cfg
new file mode 100644
index 00000000..26b8bf7a
--- /dev/null
+++ b/.bumpversion.cfg
@@ -0,0 +1,16 @@
+[bumpversion]
+current_version = 0.1.0
+commit = True
+tag = False
+
+[bumpversion:file:python/aat/aat/__init__.py]
+search = __version__ = "{current_version}"
+replace = __version__ = "{new_version}"
+
+[bumpversion:file:python/aat/setup.py]
+search = version = "{current_version}"
+replace = version = "{new_version}"
+
+# [bumpversion:file:js/package.json]
+# search = "version": "{current_version}"
+# replace = "version": "{new_version}"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 79201c0f..7ec31eb5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,6 +4,12 @@ on:
push:
branches:
- main
+ - jb/rust
+ tags:
+ - v*
+ paths-ignore:
+ - LICENSE
+ - README.md
pull_request:
concurrency:
@@ -16,7 +22,8 @@ jobs:
strategy:
matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
+ # os: [ubuntu-latest, macos-latest, windows-latest]
+ os: [ubuntu-latest]
python-version: [3.9]
node-version: [14.x]
event-name: [push]
@@ -24,64 +31,61 @@ jobs:
steps:
- uses: actions/checkout@v3
+ - name: Set up Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: nightly
+ components: clippy
+ override: true
+
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
+ # cache: "pip"
+ # cache-dependency-path: 'python/aat/pyproject.toml'
- - name: Install system dependencies
- run: |
- sudo apt-get install libboost-dev
- wget https://github.com/pybind/pybind11/archive/v2.5.0.tar.gz && tar xfz v2.5.0.tar.gz && cd pybind11-2.5.0 && mkdir build && cd build && cmake .. -DPYBIND11_TEST=OFF && sudo make -j4 install
- if: ${{ matrix.os == 'ubuntu-latest' }}
-
- - name: Install system dependencies
- run: |
- brew install boost cmake pybind11
- if: ${{ matrix.os == 'macos-latest' }}
+ # - name: Use Node.js ${{ matrix.node-version }}
+ # uses: actions/setup-node@v3
+ # with:
+ # node-version: ${{ matrix.node-version }}
+ # cache: 'yarn'
+ # cache-dependency-path: js/yarn.lock
- - name: Install dependencies
- run: |
- python -m pip install -U cpplint numpy pip pyarrow pyEX setuptools tqdm twine wheel
- python -m pip install -e .[dev]
+ # - name: Install yarn
+ # run: npm install -g yarn
- - name: Lint Python
- run: |
- make lintpy
+ # - uses: actions-rs/cargo@v1
+ # with:
+ # command: check
- - name: Lint C++
- run: |
- make lintcpp
-
- - name: Type Annotate
+ - name: Install dependencies
run: |
- make annotate
+ make develop
- - name: Test
+ - name: Build
run: |
- make tests
- if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
+ make build
- - name: Test C++
+ - name: Lint
run: |
- make testpycpp
- if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
+ make lint
- - name: Live tests
+ - name: Checks
run: |
- make testruns
+ make checks
if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
- - name: Twine check
+ - name: Test
run: |
- make dist
+ make tests-ci-gha
+ if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Upload test results
- uses: actions/upload-artifact@v3
+ uses: EnricoMi/publish-unit-test-result-action@v1
with:
- name: pytest-results-${{ matrix.os }}-${{ matrix.python-version }}
- path: python_junit.xml
- if: ${{ always() }}
-
- - name: Upload coverage
- uses: codecov/codecov-action@v3
+ check_name: Test Results
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ files: rust/results.xml
+ if: ${{ matrix.os == 'ubuntu-latest' }}
diff --git a/.gitignore b/.gitignore
index 1637c448..a295a11a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,13 +35,19 @@ pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
+coverage
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
+coverage.info
*,cover
cover
+results.xml
+python_junit.xml
+.mypy_cache
+venv/
# Translations
*.mo
@@ -52,6 +58,8 @@ cover
# Sphinx documentation
docs/_build/
+docs/api
+docs/index.md
# PyBuilder
target/
@@ -59,40 +67,28 @@ target/
*_keys
horizon
+# Mac files
*.DS_Store
+
+# JS Files
js/node_modules/
js/build/
aat/ui/assets/static/
-notes.txt
-ref
+node_modules
+
+# Keys
coinbase.sh
coinbase_sandbox.sh
keys
-old
+# Notebooks
.ipynb_checkpoints
-*.pkl
notebooks/BTC_*
+
+# IDE
.idea
+.vscode
+# Other
custom_strategies
-node_modules
-package-lock.json
-yarn.lock
-logo.ai
-logo.png
-coverage
-experiments
-aat_test
-docs/api
-docs/index.md
-tornado_sqlalchemy_login
-aat.db
-python_junit.xml
-.mypy_cache
-.vscode
-private_config
-_aat_BACKTEST*
-
-venv/
diff --git a/Makefile b/Makefile
index d1722205..6374da46 100644
--- a/Makefile
+++ b/Makefile
@@ -1,108 +1,33 @@
-PYTHON=python
-CONFIG=./config/synthetic.cfg
-
-
-run: ## Clean and make target, run target
- $(PYTHON) -m aat --config $(CONFIG)
-
-runcpp: build ## Clean and make target, run target
- AAT_USE_CPP=1 $(PYTHON) -m aat --config $(CONFIG)
-
-rundebug: debug ## Clean and make debug target, run target
- $(PYTHON) -m aat --config $(CONFIG)
-
-stratres: ## View strategy results offline
- $(PYTHON) -m aat.strategy.calculations
-
-buildextf: ## build the package extensions
- $(PYTHON) setup.py build_ext -j8 --inplace -f
-
-buildext: ## build the package extensions
- $(PYTHON) setup.py build_ext -j8 --inplace
-
-build: buildext ## build the package
- $(PYTHON) setup.py build
-
-debug: ## build debug build of the package
- DEBUG=1 $(PYTHON) setup.py build
-
-install: ## install the package
- $(PYTHON) -m pip install .
-
-tests: build testpy ## Make unit tests
-
-testpy: ## Make unit tests
- $(PYTHON) -m pytest -vvv ./aat/tests --cov=aat --junitxml=python_junit.xml --cov-report=xml --cov-branch
-
-testpycpp: ## Make unit tests
- # AAT_USE_CPP=1 $(PYTHON) -m pytest -vvv ./aat/tests --cov=aat --junitxml=python_junit.xml --cov-report=xml --cov-branch --capture=no
- AAT_USE_CPP=1 $(PYTHON) -m pytest -vs ./aat/tests
-
-testruns: testrunscsv testrunsiex ## Run a few examples as a live end-to-end test
-
-testrunscsv:
- $(PYTHON) -m aat.strategy.sample.csv.readonly
- $(PYTHON) -m aat.strategy.sample.csv.readonly_periodic
- $(PYTHON) -m aat.strategy.sample.csv.received
-
-testrunsiex:
- $(PYTHON) -m aat.strategy.sample.iex.readonly
- TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.buy_and_hold
- TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.momentum
- TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.golden_death
-
-lint: lintpy lintcpp ## run all linters
-
-lintpy: ## run python linter
- $(PYTHON) -m flake8 aat setup.py
-
-lintcpp: ## run cpp linter
- cpplint --linelength=120 --recursive aat/cpp/{src,include}
-
-fix: fixpy fixcpp ## run all fixers
-
-fixpy: ## run autopep8 fix
- $(PYTHON) -m black aat/ setup.py
+.DEFAULT_GOAL := help
+.PHONY: develop build lint checks tests tests-ci-gha
-fixcpp: ## run clang-format
- clang-format -i -style=file `find ./aat/cpp/{src,include} -name "*.*pp"`
+develop-rust:
+ make -C rust develop
-annotate: ## MyPy type annotation check
- $(PYTHON) -m mypy aat
+develop: develop-rust ## Setup project for development
-type_ignore: ## Count type ignores
- grep -rin "type: ignore" ./aat | wc -l
+build-rust:
+ make -C rust build
-type_ignore_list: ## List all type ignores
- grep -rin "type: ignore" ./aat
+build: build-rust ## Build the project
-docs: ## Build the sphinx docs
- make -C docs html
- open ./docs/_build/html/index.html
+lint-rust:
+ make -C rust lint
-dist: ## create dists
- rm -rf dist build
- python setup.py sdist bdist_wheel
- python -m twine check dist/*
+lint: lint-rust ## Run project linters
-publish: dist ## dist to pypi and npm
- python -m twine upload dist/* --skip-existing
+checks-rust:
+ make -C rust checks
-clean: ## clean the repository
- find . -name "__pycache__" | xargs rm -rf
- find . -name "*.pyc" | xargs rm -rf
- rm -rf .coverage coverage cover htmlcov logs build dist *.egg-info coverage.xml .mypy_cache
- find . -name "*.so" | xargs rm -rf
- make -C ./docs clean
- rm -rf _aat_BACKTEST_*
+checks: checks-rust ## Run any other checks
-# Thanks to Francoise at marmelab.com for this
-.DEFAULT_GOAL := help
-help:
- @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+tests-rust:
+ make -C rust tests
-print-%:
- @echo '$*=$($*)'
+tests: tests-rust ## Run the tests
-.PHONY: run buildext build install tests lint fix docs dist clean help fixcpp
+tests-ci-gha-rust:
+ make -C rust tests-ci-gha
+tests-ci-gha: tests-ci-gha-rust
+
diff --git a/README.md b/README.md
index 70947a17..f1cf6420 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-
[](https://github.com/AsyncAlgoTrading/aat/actions?query=workflow%3A%22Build+Status%22)
@@ -7,55 +6,8 @@
[](https://pypi.python.org/pypi/aat)
[](http://aat.readthedocs.io/en/latest/)
-`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in C++. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
+`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in rust. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
Like [Zipline](https://github.com/quantopian/zipline) and [Lean](https://github.com/QuantConnect/Lean), `aat` exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.
`aat` is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.
-
-## Overview
-A complete overview of the core components of `aat` is provided in the [GETTING_STARTED](GETTING_STARTED.md) file.
-
-### Internals
-`aat`'s engine is composed of 4 major parts.
-
-- trading engine
-- risk management engine
-- execution engine
-- backtest engine
-
-
-#### Trading Engine
-The trading engine initializes all exchanges and strategies, then martials data, trade requests, and trade responses between the strategy, risk, execution, and exchange objects, while keeping track of high-level statistics on the system
-
-#### Risk Management Engine
-The risk management engine enforces trading limits, making sure that stategies are limited to certain risk profiles. It can modify or remove trade requests prior to execution depending on user preferences and outstanding positions and orders.
-
-#### Execution engine
-The execution engine is a simple passthrough to the underlying exchanges. It provides a unified interface for creating various types of orders.
-
-#### Backtest engine
-The backtest engine provides the ability to run the same stragegy offline against historical data.
-
-### Core Components
-`aat` has a variety of core classes and data structures, the most important of which are the `Strategy` and `Exchange` classes.
-
-#### Trading Strategy
-The core element of `aat` is the trading strategy interface. It includes both data processing and order management functionality. Users subclass this class in order to implement their strategies. Methods of the form `onNoun` are used to handle market data events, while methods of the form `onVerb` are used to handle order entry events. There are also a variety of order management and data subscription methods available.
-
-The only method that is required to be implemented is the `onTrade` method. The full specification of a strategy is given in [GETTING_STARTED](GETTING_STARTED.md).
-
-
-#### Other Components
-`aat` also provides a complete limit-order book implementation, including flags like `fill-or-kill` and `all-or-nothing`, which is used to power the synthetic testing exchange.
-
-
-## Support / Contributors
-Thanks to the following organizations for providing code or financial support.
-
-
-
-Nemoulous
-
-## License
-This software is licensed under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.
diff --git a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_inst.json b/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_inst.json
deleted file mode 100644
index 53287705..00000000
--- a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_inst.json
+++ /dev/null
@@ -1 +0,0 @@
-{"{\"name\": \"SPXL\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [{"timestamp": 1600076940.0, "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "size": 0.0, "size_history": [[184.0, 1600076940.0], [0.0, 1600077960.0], [178.0, 1600255440.0], [0.0, 1600257780.0], [177.0, 1600267140.0], [0.0, 1600267440.0], [192.0, 1600335420.0], [0.0, 1600335780.0], [191.0, 1600336260.0], [0.0, 1600336320.0], [188.0, 1600337460.0], [0.0, 1600338180.0], [187.0, 1600339560.0], [0.0, 1600340580.0]], "notional": 9963.6, "notional_history": [[9963.6, 1600076940.0], [9980.16, 1600091760.0], [9982.0, 1600091880.0], [10039.96, 1600092360.0], [10039.96, 1600077960.0], [9937.74, 1600270020.0], [9930.619999999999, 1600270980.0], [9913.710000000001, 1600272180.0], [9913.710000000001, 1600257780.0], [9942.09, 1600281600.0], [9943.86, 1600281660.0], [9906.69, 1600281840.0], [9906.69, 1600267440.0], [9972.48, 1600349940.0], [9941.76, 1600350180.0], [9941.76, 1600335780.0], [10021.77, 1600350720.0], [10021.77, 1600336320.0], [9964.0, 1600351920.0], [9944.26, 1600351980.0], [9932.039999999999, 1600352100.0], [9928.28, 1600352280.0], [9930.16, 1600352340.0], [9895.004, 1600352580.0], [9895.004, 1600338180.0], [9963.36, 1600354200.0], [9983.93, 1600354980.0], [9983.93, 1600340580.0]], "price": 53.28, "price_history": [[54.15, 1600076940.0], [55.878, 1600255440.0], [56.21, 1600267140.0], [51.985, 1600335420.0], [52.295, 1600336260.0], [53.125, 1600337460.0], [53.28, 1600339560.0]], "investment": 9963.36, "investment_history": [[9963.6, 1600076940.0], [9946.284, 1600255440.0], [9949.17, 1600267140.0], [9981.12, 1600335420.0], [9988.345, 1600336260.0], [9987.5, 1600337460.0], [9963.36, 1600339560.0]], "instrumentPrice": 51.026, "instrumentPrice_history": [[54.15, 1600076940.0], [54.24, 1600091760.0], [54.25, 1600091880.0], [54.565, 1600092360.0], [54.565, 1600077960.0], [54.715, 1600093020.0], [54.737, 1600093260.0], [54.77, 1600093620.0], [54.675, 1600093860.0], [54.64, 1600094100.0], [54.54, 1600095360.0], [54.61, 1600095600.0], [54.49, 1600096740.0], [54.65, 1600097340.0], [54.71, 1600099920.0], [54.58, 1600101960.0], [54.39, 1600102440.0], [54.499, 1600102620.0], [54.36, 1600103160.0], [54.0, 1600103940.0], [54.16, 1600104480.0], [54.18, 1600104600.0], [53.895, 1600104720.0], [54.0, 1600104840.0], [54.26, 1600105980.0], [54.26, 1600106700.0], [54.28, 1600107960.0], [54.09, 1600108920.0], [54.27, 1600109520.0], [54.33, 1600109580.0], [54.04, 1600110000.0], [53.8, 1600110900.0], [53.825, 1600111020.0], [54.045, 1600111080.0], [54.08, 1600111140.0], [53.623, 1600111380.0], [53.689, 1600111440.0], [53.705, 1600111500.0], [53.875, 1600111620.0], [53.94, 1600111680.0], [53.957, 1600111740.0], [53.99, 1600111860.0], [53.9, 1600111980.0], [54.165, 1600112340.0], [54.29, 1600112520.0], [54.42, 1600112640.0], [54.39, 1600112700.0], [54.41, 1600112760.0], [54.55, 1600112880.0], [54.6, 1600112940.0], [54.461, 1600113000.0], [54.34, 1600113180.0], [54.18, 1600113300.0], [54.155, 1600113360.0], [54.137, 1600113420.0], [54.01, 1600113540.0], [55.327, 1600176600.0], [55.399, 1600176660.0], [55.41, 1600176720.0], [55.54, 1600177500.0], [55.52, 1600177560.0], [55.51, 1600177620.0], [55.52, 1600178160.0], [55.45, 1600178220.0], [55.53, 1600178400.0], [55.548, 1600178760.0], [55.53, 1600179420.0], [55.23, 1600179840.0], [55.21, 1600179900.0], [55.36, 1600180080.0], [55.35, 1600180860.0], [55.17, 1600180980.0], [55.1, 1600181100.0], [55.25, 1600181220.0], [55.48, 1600183020.0], [55.61, 1600184160.0], [55.41, 1600187100.0], [55.575, 1600189200.0], [55.59, 1600189560.0], [55.63, 1600190280.0], [55.483, 1600192080.0], [55.196, 1600192920.0], [55.16, 1600193040.0], [55.007, 1600193280.0], [55.08, 1600193400.0], [55.15, 1600193520.0], [55.12, 1600194360.0], [54.99, 1600194720.0], [55.23, 1600196100.0], [55.18, 1600196340.0], [54.75, 1600196760.0], [54.8, 1600196880.0], [54.705, 1600196940.0], [54.715, 1600197000.0], [54.79, 1600197120.0], [54.77, 1600197360.0], [54.76, 1600197480.0], [54.71, 1600197540.0], [54.75, 1600197660.0], [54.638, 1600197840.0], [54.689, 1600197900.0], [54.72, 1600197960.0], [54.748, 1600198080.0], [54.555, 1600198320.0], [54.48, 1600198380.0], [54.517, 1600198500.0], [54.33, 1600198680.0], [54.463, 1600198920.0], [54.53, 1600198980.0], [54.516, 1600199100.0], [54.601, 1600199220.0], [54.605, 1600199340.0], [54.64, 1600199400.0], [54.85, 1600199700.0], [54.835, 1600199820.0], [54.85, 1600199880.0], [55.505, 1600263000.0], [55.29, 1600263780.0], [55.29, 1600264320.0], [55.375, 1600264500.0], [55.39, 1600264560.0], [55.445, 1600264800.0], [55.5, 1600264920.0], [55.46, 1600265160.0], [55.59, 1600265400.0], [55.47, 1600265700.0], [55.4, 1600265760.0], [55.43, 1600266060.0], [55.19, 1600267200.0], [55.22, 1600267260.0], [55.32, 1600268220.0], [55.31, 1600268460.0], [55.42, 1600268700.0], [55.71, 1600269300.0], [55.78, 1600269360.0], [55.878, 1600269840.0], [55.878, 1600255440.0], [55.83, 1600270020.0], [55.79, 1600270980.0], [55.695, 1600272180.0], [55.695, 1600257780.0], [55.502, 1600272780.0], [55.43, 1600273140.0], [55.24, 1600276380.0], [55.14, 1600277160.0], [54.97, 1600277520.0], [55.0, 1600277700.0], [55.2, 1600278420.0], [55.38, 1600279140.0], [55.7, 1600279320.0], [55.5, 1600279380.0], [55.372, 1600279680.0], [55.28, 1600279740.0], [55.62, 1600279980.0], [55.76, 1600280100.0], [55.897, 1600280160.0], [55.996, 1600280220.0], [55.89, 1600280340.0], [55.87, 1600280520.0], [56.045, 1600281000.0], [55.8, 1600281180.0], [55.97, 1600281360.0], [56.05, 1600281420.0], [56.21, 1600281540.0], [56.21, 1600267140.0], [56.17, 1600281600.0], [56.18, 1600281660.0], [55.97, 1600281840.0], [55.97, 1600267440.0], [55.86, 1600281900.0], [55.376, 1600282380.0], [55.477, 1600282560.0], [55.44, 1600282740.0], [55.58, 1600282800.0], [55.64, 1600282860.0], [55.2, 1600283280.0], [54.812, 1600283400.0], [54.41, 1600283460.0], [54.74, 1600283640.0], [54.63, 1600283700.0], [54.579, 1600283760.0], [54.89, 1600283940.0], [54.72, 1600284000.0], [54.925, 1600284060.0], [54.71, 1600284180.0], [54.56, 1600284420.0], [54.2, 1600284720.0], [54.27, 1600284780.0], [54.71, 1600284900.0], [54.47, 1600285020.0], [54.485, 1600285080.0], [54.288, 1600285260.0], [54.61, 1600285380.0], [54.605, 1600285500.0], [54.78, 1600285560.0], [55.005, 1600285620.0], [54.675, 1600285800.0], [54.289, 1600286100.0], [54.16, 1600286160.0], [54.209, 1600286220.0], [54.203, 1600286280.0], [51.547, 1600349400.0], [51.62, 1600349460.0], [51.592, 1600349520.0], [51.61, 1600349580.0], [51.985, 1600349820.0], [51.985, 1600335420.0], [51.94, 1600349940.0], [51.78, 1600350180.0], [51.78, 1600335780.0], [52.0, 1600350360.0], [52.05, 1600350600.0], [52.295, 1600350660.0], [52.295, 1600336260.0], [52.47, 1600350720.0], [52.47, 1600336320.0], [52.44, 1600350840.0], [52.459, 1600350900.0], [52.4, 1600350960.0], [52.25, 1600351020.0], [52.44, 1600351200.0], [52.547, 1600351260.0], [52.48, 1600351440.0], [52.66, 1600351500.0], [52.75, 1600351560.0], [53.125, 1600351860.0], [53.125, 1600337460.0], [53.0, 1600351920.0], [52.895, 1600351980.0], [52.83, 1600352100.0], [52.81, 1600352280.0], [52.82, 1600352340.0], [52.633, 1600352580.0], [52.633, 1600338180.0], [52.44, 1600352760.0], [52.58, 1600353000.0], [52.7, 1600353240.0], [52.85, 1600353300.0], [52.89, 1600353720.0], [53.28, 1600353960.0], [53.28, 1600339560.0], [53.28, 1600354200.0], [53.39, 1600354980.0], [53.39, 1600340580.0], [53.4, 1600355280.0], [53.475, 1600355340.0], [53.55, 1600355700.0], [53.27, 1600355940.0], [53.3, 1600356000.0], [53.15, 1600356420.0], [53.16, 1600356600.0], [53.12, 1600356660.0], [53.08, 1600356900.0], [53.0, 1600357200.0], [52.63, 1600357680.0], [52.68, 1600357740.0], [52.51, 1600357920.0], [52.625, 1600358100.0], [52.53, 1600358160.0], [52.37, 1600358400.0], [52.49, 1600358640.0], [52.2, 1600358820.0], [52.19, 1600359000.0], [51.8, 1600359300.0], [51.87, 1600359360.0], [51.587, 1600359600.0], [51.71, 1600359780.0], [51.51, 1600359840.0], [51.7, 1600360320.0], [51.71, 1600360380.0], [51.76, 1600360440.0], [51.787, 1600360500.0], [51.72, 1600360620.0], [51.88, 1600360740.0], [51.76, 1600361100.0], [51.79, 1600361520.0], [51.83, 1600361700.0], [51.96, 1600361760.0], [52.08, 1600362000.0], [52.03, 1600362240.0], [51.92, 1600362300.0], [52.05, 1600362360.0], [52.1, 1600362540.0], [51.97, 1600362840.0], [51.72, 1600362960.0], [51.73, 1600363020.0], [51.88, 1600363620.0], [51.885, 1600363800.0], [52.11, 1600364100.0], [52.27, 1600365180.0], [52.19, 1600365240.0], [52.11, 1600365600.0], [52.3, 1600365900.0], [52.3, 1600365960.0], [52.413, 1600366260.0], [52.445, 1600366320.0], [52.46, 1600366560.0], [52.45, 1600366620.0], [52.255, 1600366800.0], [52.17, 1600367220.0], [51.75, 1600367700.0], [51.66, 1600367760.0], [51.66, 1600368060.0], [51.95, 1600368540.0], [52.025, 1600368900.0], [51.605, 1600369680.0], [51.665, 1600369740.0], [52.01, 1600369860.0], [51.98, 1600369920.0], [52.145, 1600369980.0], [52.02, 1600370220.0], [51.678, 1600370880.0], [51.74, 1600370940.0], [52.045, 1600371120.0], [52.275, 1600371240.0], [52.364, 1600371360.0], [52.538, 1600371660.0], [52.54, 1600371720.0], [52.19, 1600371960.0], [52.509, 1600372200.0], [52.63, 1600372380.0], [52.56, 1600372560.0], [52.71, 1600372740.0], [53.06, 1600435800.0], [52.9, 1600436040.0], [52.78, 1600436220.0], [52.73, 1600436460.0], [52.74, 1600436700.0], [52.34, 1600436820.0], [52.5, 1600437360.0], [52.37, 1600437480.0], [52.613, 1600437660.0], [52.59, 1600437960.0], [52.78, 1600438080.0], [52.92, 1600438620.0], [52.69, 1600439100.0], [52.56, 1600439460.0], [52.36, 1600439880.0], [52.31, 1600440060.0], [52.33, 1600440480.0], [51.977, 1600440780.0], [51.89, 1600441260.0], [51.9, 1600441920.0], [52.0, 1600442100.0], [51.89, 1600442160.0], [51.77, 1600442220.0], [51.673, 1600443240.0], [51.58, 1600443300.0], [51.71, 1600443900.0], [52.01, 1600444020.0], [52.05, 1600444140.0], [52.03, 1600444440.0], [52.063, 1600444560.0], [52.071, 1600444860.0], [51.97, 1600445040.0], [52.03, 1600445460.0], [51.6, 1600446480.0], [51.37, 1600446660.0], [51.19, 1600447200.0], [51.08, 1600447320.0], [51.08, 1600447440.0], [50.94, 1600447800.0], [51.0, 1600447860.0], [50.894, 1600447980.0], [50.98, 1600448340.0], [50.93, 1600448700.0], [50.9, 1600448760.0], [50.765, 1600448940.0], [50.9, 1600449180.0], [50.74, 1600449420.0], [50.75, 1600449480.0], [50.71, 1600449660.0], [50.6, 1600449960.0], [50.3, 1600450140.0], [50.02, 1600450320.0], [50.13, 1600450380.0], [49.92, 1600450620.0], [50.13, 1600450800.0], [50.36, 1600451220.0], [50.44, 1600451700.0], [50.48, 1600451760.0], [50.56, 1600452000.0], [50.49, 1600452900.0], [50.44, 1600453020.0], [50.55, 1600453380.0], [50.59, 1600453680.0], [50.72, 1600454100.0], [50.61, 1600454160.0], [50.645, 1600454760.0], [50.49, 1600455000.0], [50.592, 1600455300.0], [50.627, 1600455360.0], [50.645, 1600455420.0], [50.75, 1600455540.0], [50.867, 1600455600.0], [51.03, 1600455840.0], [50.97, 1600456260.0], [50.94, 1600456320.0], [50.955, 1600456380.0], [50.83, 1600456920.0], [51.068, 1600457100.0], [51.17, 1600457280.0], [51.13, 1600457340.0], [51.16, 1600457400.0], [51.28, 1600457520.0], [51.2, 1600457940.0], [51.305, 1600458180.0], [51.285, 1600458420.0], [51.263, 1600458540.0], [51.131, 1600458600.0], [50.98, 1600458720.0], [50.995, 1600458780.0], [50.981, 1600458840.0], [51.145, 1600458900.0], [51.068, 1600458960.0], [51.016, 1600459020.0], [50.99, 1600459080.0], [51.026, 1600459140.0]], "pnl": -76.555, "pnl_history": [[0.0, 1600076940.0], [0.0, 1600091760.0], [0.0, 1600091880.0], [0.0, 1600092360.0], [0.0, 1600077960.0], [76.36, 1600077960.0], [76.36, 1600093020.0], [76.36, 1600093260.0], [76.36, 1600093620.0], [76.36, 1600093860.0], [76.36, 1600094100.0], [76.36, 1600095360.0], [76.36, 1600095600.0], [76.36, 1600096740.0], [76.36, 1600097340.0], [76.36, 1600099920.0], [76.36, 1600101960.0], [76.36, 1600102440.0], [76.36, 1600102620.0], [76.36, 1600103160.0], [76.36, 1600103940.0], [76.36, 1600104480.0], [76.36, 1600104600.0], [76.36, 1600104720.0], [76.36, 1600104840.0], [76.36, 1600105980.0], [76.36, 1600106700.0], [76.36, 1600107960.0], [76.36, 1600108920.0], [76.36, 1600109520.0], [76.36, 1600109580.0], [76.36, 1600110000.0], [76.36, 1600110900.0], [76.36, 1600111020.0], [76.36, 1600111080.0], [76.36, 1600111140.0], [76.36, 1600111380.0], [76.36, 1600111440.0], [76.36, 1600111500.0], [76.36, 1600111620.0], [76.36, 1600111680.0], [76.36, 1600111740.0], [76.36, 1600111860.0], [76.36, 1600111980.0], [76.36, 1600112340.0], [76.36, 1600112520.0], [76.36, 1600112640.0], [76.36, 1600112700.0], [76.36, 1600112760.0], [76.36, 1600112880.0], [76.36, 1600112940.0], [76.36, 1600113000.0], [76.36, 1600113180.0], [76.36, 1600113300.0], [76.36, 1600113360.0], [76.36, 1600113420.0], [76.36, 1600113540.0], [76.36, 1600176600.0], [76.36, 1600176660.0], [76.36, 1600176720.0], [76.36, 1600177500.0], [76.36, 1600177560.0], [76.36, 1600177620.0], [76.36, 1600178160.0], [76.36, 1600178220.0], [76.36, 1600178400.0], [76.36, 1600178760.0], [76.36, 1600179420.0], [76.36, 1600179840.0], [76.36, 1600179900.0], [76.36, 1600180080.0], [76.36, 1600180860.0], [76.36, 1600180980.0], [76.36, 1600181100.0], [76.36, 1600181220.0], [76.36, 1600183020.0], [76.36, 1600184160.0], [76.36, 1600187100.0], [76.36, 1600189200.0], [76.36, 1600189560.0], [76.36, 1600190280.0], [76.36, 1600192080.0], [76.36, 1600192920.0], [76.36, 1600193040.0], [76.36, 1600193280.0], [76.36, 1600193400.0], [76.36, 1600193520.0], [76.36, 1600194360.0], [76.36, 1600194720.0], [76.36, 1600196100.0], [76.36, 1600196340.0], [76.36, 1600196760.0], [76.36, 1600196880.0], [76.36, 1600196940.0], [76.36, 1600197000.0], [76.36, 1600197120.0], [76.36, 1600197360.0], [76.36, 1600197480.0], [76.36, 1600197540.0], [76.36, 1600197660.0], [76.36, 1600197840.0], [76.36, 1600197900.0], [76.36, 1600197960.0], [76.36, 1600198080.0], [76.36, 1600198320.0], [76.36, 1600198380.0], [76.36, 1600198500.0], [76.36, 1600198680.0], [76.36, 1600198920.0], [76.36, 1600198980.0], [76.36, 1600199100.0], [76.36, 1600199220.0], [76.36, 1600199340.0], [76.36, 1600199400.0], [76.36, 1600199700.0], [76.36, 1600199820.0], [76.36, 1600199880.0], [76.36, 1600263000.0], [76.36, 1600263780.0], [76.36, 1600264320.0], [76.36, 1600264500.0], [76.36, 1600264560.0], [76.36, 1600264800.0], [76.36, 1600264920.0], [76.36, 1600265160.0], [76.36, 1600265400.0], [76.36, 1600265700.0], [76.36, 1600265760.0], [76.36, 1600266060.0], [76.36, 1600267200.0], [76.36, 1600267260.0], [76.36, 1600268220.0], [76.36, 1600268460.0], [76.36, 1600268700.0], [76.36, 1600269300.0], [76.36, 1600269360.0], [76.36, 1600269840.0], [76.36, 1600255440.0], [76.36, 1600270020.0], [76.36, 1600270980.0], [76.36, 1600272180.0], [76.36, 1600257780.0], [43.786, 1600257780.0], [43.786, 1600272780.0], [43.786, 1600273140.0], [43.786, 1600276380.0], [43.786, 1600277160.0], [43.786, 1600277520.0], [43.786, 1600277700.0], [43.786, 1600278420.0], [43.786, 1600279140.0], [43.786, 1600279320.0], [43.786, 1600279380.0], [43.786, 1600279680.0], [43.786, 1600279740.0], [43.786, 1600279980.0], [43.786, 1600280100.0], [43.786, 1600280160.0], [43.786, 1600280220.0], [43.786, 1600280340.0], [43.786, 1600280520.0], [43.786, 1600281000.0], [43.786, 1600281180.0], [43.786, 1600281360.0], [43.786, 1600281420.0], [43.786, 1600281540.0], [43.786, 1600267140.0], [43.786, 1600281600.0], [43.786, 1600281660.0], [43.786, 1600281840.0], [43.786, 1600267440.0], [1.306, 1600267440.0], [1.306, 1600281900.0], [1.306, 1600282380.0], [1.306, 1600282560.0], [1.306, 1600282740.0], [1.306, 1600282800.0], [1.306, 1600282860.0], [1.306, 1600283280.0], [1.306, 1600283400.0], [1.306, 1600283460.0], [1.306, 1600283640.0], [1.306, 1600283700.0], [1.306, 1600283760.0], [1.306, 1600283940.0], [1.306, 1600284000.0], [1.306, 1600284060.0], [1.306, 1600284180.0], [1.306, 1600284420.0], [1.306, 1600284720.0], [1.306, 1600284780.0], [1.306, 1600284900.0], [1.306, 1600285020.0], [1.306, 1600285080.0], [1.306, 1600285260.0], [1.306, 1600285380.0], [1.306, 1600285500.0], [1.306, 1600285560.0], [1.306, 1600285620.0], [1.306, 1600285800.0], [1.306, 1600286100.0], [1.306, 1600286160.0], [1.306, 1600286220.0], [1.306, 1600286280.0], [1.306, 1600349400.0], [1.306, 1600349460.0], [1.306, 1600349520.0], [1.306, 1600349580.0], [1.306, 1600349820.0], [1.306, 1600335420.0], [1.306, 1600349940.0], [1.306, 1600350180.0], [1.306, 1600335780.0], [-38.054, 1600335780.0], [-38.054, 1600350360.0], [-38.054, 1600350600.0], [-38.054, 1600350660.0], [-38.054, 1600336260.0], [-38.054, 1600350720.0], [-38.054, 1600336320.0], [-4.629, 1600336320.0], [-4.629, 1600350840.0], [-4.629, 1600350900.0], [-4.629, 1600350960.0], [-4.629, 1600351020.0], [-4.629, 1600351200.0], [-4.629, 1600351260.0], [-4.629, 1600351440.0], [-4.629, 1600351500.0], [-4.629, 1600351560.0], [-4.629, 1600351860.0], [-4.629, 1600337460.0], [-4.629, 1600351920.0], [-4.629, 1600351980.0], [-4.629, 1600352100.0], [-4.629, 1600352280.0], [-4.629, 1600352340.0], [-4.629, 1600352580.0], [-4.629, 1600338180.0], [-97.125, 1600338180.0], [-97.125, 1600352760.0], [-97.125, 1600353000.0], [-97.125, 1600353240.0], [-97.125, 1600353300.0], [-97.125, 1600353720.0], [-97.125, 1600353960.0], [-97.125, 1600339560.0], [-97.125, 1600354200.0], [-97.125, 1600354980.0], [-97.125, 1600340580.0], [-76.555, 1600340580.0], [-76.555, 1600355280.0], [-76.555, 1600355340.0], [-76.555, 1600355700.0], [-76.555, 1600355940.0], [-76.555, 1600356000.0], [-76.555, 1600356420.0], [-76.555, 1600356600.0], [-76.555, 1600356660.0], [-76.555, 1600356900.0], [-76.555, 1600357200.0], [-76.555, 1600357680.0], [-76.555, 1600357740.0], [-76.555, 1600357920.0], [-76.555, 1600358100.0], [-76.555, 1600358160.0], [-76.555, 1600358400.0], [-76.555, 1600358640.0], [-76.555, 1600358820.0], [-76.555, 1600359000.0], [-76.555, 1600359300.0], [-76.555, 1600359360.0], [-76.555, 1600359600.0], [-76.555, 1600359780.0], [-76.555, 1600359840.0], [-76.555, 1600360320.0], [-76.555, 1600360380.0], [-76.555, 1600360440.0], [-76.555, 1600360500.0], [-76.555, 1600360620.0], [-76.555, 1600360740.0], [-76.555, 1600361100.0], [-76.555, 1600361520.0], [-76.555, 1600361700.0], [-76.555, 1600361760.0], [-76.555, 1600362000.0], [-76.555, 1600362240.0], [-76.555, 1600362300.0], [-76.555, 1600362360.0], [-76.555, 1600362540.0], [-76.555, 1600362840.0], [-76.555, 1600362960.0], [-76.555, 1600363020.0], [-76.555, 1600363620.0], [-76.555, 1600363800.0], [-76.555, 1600364100.0], [-76.555, 1600365180.0], [-76.555, 1600365240.0], [-76.555, 1600365600.0], [-76.555, 1600365900.0], [-76.555, 1600365960.0], [-76.555, 1600366260.0], [-76.555, 1600366320.0], [-76.555, 1600366560.0], [-76.555, 1600366620.0], [-76.555, 1600366800.0], [-76.555, 1600367220.0], [-76.555, 1600367700.0], [-76.555, 1600367760.0], [-76.555, 1600368060.0], [-76.555, 1600368540.0], [-76.555, 1600368900.0], [-76.555, 1600369680.0], [-76.555, 1600369740.0], [-76.555, 1600369860.0], [-76.555, 1600369920.0], [-76.555, 1600369980.0], [-76.555, 1600370220.0], [-76.555, 1600370880.0], [-76.555, 1600370940.0], [-76.555, 1600371120.0], [-76.555, 1600371240.0], [-76.555, 1600371360.0], [-76.555, 1600371660.0], [-76.555, 1600371720.0], [-76.555, 1600371960.0], [-76.555, 1600372200.0], [-76.555, 1600372380.0], [-76.555, 1600372560.0], [-76.555, 1600372740.0], [-76.555, 1600435800.0], [-76.555, 1600436040.0], [-76.555, 1600436220.0], [-76.555, 1600436460.0], [-76.555, 1600436700.0], [-76.555, 1600436820.0], [-76.555, 1600437360.0], [-76.555, 1600437480.0], [-76.555, 1600437660.0], [-76.555, 1600437960.0], [-76.555, 1600438080.0], [-76.555, 1600438620.0], [-76.555, 1600439100.0], [-76.555, 1600439460.0], [-76.555, 1600439880.0], [-76.555, 1600440060.0], [-76.555, 1600440480.0], [-76.555, 1600440780.0], [-76.555, 1600441260.0], [-76.555, 1600441920.0], [-76.555, 1600442100.0], [-76.555, 1600442160.0], [-76.555, 1600442220.0], [-76.555, 1600443240.0], [-76.555, 1600443300.0], [-76.555, 1600443900.0], [-76.555, 1600444020.0], [-76.555, 1600444140.0], [-76.555, 1600444440.0], [-76.555, 1600444560.0], [-76.555, 1600444860.0], [-76.555, 1600445040.0], [-76.555, 1600445460.0], [-76.555, 1600446480.0], [-76.555, 1600446660.0], [-76.555, 1600447200.0], [-76.555, 1600447320.0], [-76.555, 1600447440.0], [-76.555, 1600447800.0], [-76.555, 1600447860.0], [-76.555, 1600447980.0], [-76.555, 1600448340.0], [-76.555, 1600448700.0], [-76.555, 1600448760.0], [-76.555, 1600448940.0], [-76.555, 1600449180.0], [-76.555, 1600449420.0], [-76.555, 1600449480.0], [-76.555, 1600449660.0], [-76.555, 1600449960.0], [-76.555, 1600450140.0], [-76.555, 1600450320.0], [-76.555, 1600450380.0], [-76.555, 1600450620.0], [-76.555, 1600450800.0], [-76.555, 1600451220.0], [-76.555, 1600451700.0], [-76.555, 1600451760.0], [-76.555, 1600452000.0], [-76.555, 1600452900.0], [-76.555, 1600453020.0], [-76.555, 1600453380.0], [-76.555, 1600453680.0], [-76.555, 1600454100.0], [-76.555, 1600454160.0], [-76.555, 1600454760.0], [-76.555, 1600455000.0], [-76.555, 1600455300.0], [-76.555, 1600455360.0], [-76.555, 1600455420.0], [-76.555, 1600455540.0], [-76.555, 1600455600.0], [-76.555, 1600455840.0], [-76.555, 1600456260.0], [-76.555, 1600456320.0], [-76.555, 1600456380.0], [-76.555, 1600456920.0], [-76.555, 1600457100.0], [-76.555, 1600457280.0], [-76.555, 1600457340.0], [-76.555, 1600457400.0], [-76.555, 1600457520.0], [-76.555, 1600457940.0], [-76.555, 1600458180.0], [-76.555, 1600458420.0], [-76.555, 1600458540.0], [-76.555, 1600458600.0], [-76.555, 1600458720.0], [-76.555, 1600458780.0], [-76.555, 1600458840.0], [-76.555, 1600458900.0], [-76.555, 1600458960.0], [-76.555, 1600459020.0], [-76.555, 1600459080.0], [-76.555, 1600459140.0]], "unrealizedPnl": -0.0, "unrealizedPnl_history": [[0.0, 1600076940.0], [16.56, 1600091760.0], [18.4, 1600091880.0], [76.36, 1600092360.0], [76.36, 1600077960.0], [0.0, 1600077960.0], [0.0, 1600093020.0], [0.0, 1600093260.0], [0.0, 1600093620.0], [0.0, 1600093860.0], [0.0, 1600094100.0], [0.0, 1600095360.0], [0.0, 1600095600.0], [0.0, 1600096740.0], [0.0, 1600097340.0], [0.0, 1600099920.0], [0.0, 1600101960.0], [0.0, 1600102440.0], [0.0, 1600102620.0], [0.0, 1600103160.0], [-0.0, 1600103940.0], [0.0, 1600104480.0], [0.0, 1600104600.0], [-0.0, 1600104720.0], [-0.0, 1600104840.0], [0.0, 1600105980.0], [0.0, 1600106700.0], [0.0, 1600107960.0], [-0.0, 1600108920.0], [0.0, 1600109520.0], [0.0, 1600109580.0], [-0.0, 1600110000.0], [-0.0, 1600110900.0], [-0.0, 1600111020.0], [-0.0, 1600111080.0], [-0.0, 1600111140.0], [-0.0, 1600111380.0], [-0.0, 1600111440.0], [-0.0, 1600111500.0], [-0.0, 1600111620.0], [-0.0, 1600111680.0], [-0.0, 1600111740.0], [-0.0, 1600111860.0], [-0.0, 1600111980.0], [0.0, 1600112340.0], [0.0, 1600112520.0], [0.0, 1600112640.0], [0.0, 1600112700.0], [0.0, 1600112760.0], [0.0, 1600112880.0], [0.0, 1600112940.0], [0.0, 1600113000.0], [0.0, 1600113180.0], [0.0, 1600113300.0], [0.0, 1600113360.0], [-0.0, 1600113420.0], [-0.0, 1600113540.0], [0.0, 1600176600.0], [0.0, 1600176660.0], [0.0, 1600176720.0], [0.0, 1600177500.0], [0.0, 1600177560.0], [0.0, 1600177620.0], [0.0, 1600178160.0], [0.0, 1600178220.0], [0.0, 1600178400.0], [0.0, 1600178760.0], [0.0, 1600179420.0], [0.0, 1600179840.0], [0.0, 1600179900.0], [0.0, 1600180080.0], [0.0, 1600180860.0], [0.0, 1600180980.0], [0.0, 1600181100.0], [0.0, 1600181220.0], [0.0, 1600183020.0], [0.0, 1600184160.0], [0.0, 1600187100.0], [0.0, 1600189200.0], [0.0, 1600189560.0], [0.0, 1600190280.0], [0.0, 1600192080.0], [0.0, 1600192920.0], [0.0, 1600193040.0], [0.0, 1600193280.0], [0.0, 1600193400.0], [0.0, 1600193520.0], [0.0, 1600194360.0], [0.0, 1600194720.0], [0.0, 1600196100.0], [0.0, 1600196340.0], [0.0, 1600196760.0], [0.0, 1600196880.0], [0.0, 1600196940.0], [0.0, 1600197000.0], [0.0, 1600197120.0], [0.0, 1600197360.0], [0.0, 1600197480.0], [0.0, 1600197540.0], [0.0, 1600197660.0], [0.0, 1600197840.0], [0.0, 1600197900.0], [0.0, 1600197960.0], [0.0, 1600198080.0], [0.0, 1600198320.0], [0.0, 1600198380.0], [0.0, 1600198500.0], [0.0, 1600198680.0], [0.0, 1600198920.0], [0.0, 1600198980.0], [0.0, 1600199100.0], [0.0, 1600199220.0], [0.0, 1600199340.0], [0.0, 1600199400.0], [0.0, 1600199700.0], [0.0, 1600199820.0], [0.0, 1600199880.0], [0.0, 1600263000.0], [0.0, 1600263780.0], [0.0, 1600264320.0], [0.0, 1600264500.0], [0.0, 1600264560.0], [0.0, 1600264800.0], [0.0, 1600264920.0], [0.0, 1600265160.0], [0.0, 1600265400.0], [0.0, 1600265700.0], [0.0, 1600265760.0], [0.0, 1600266060.0], [0.0, 1600267200.0], [0.0, 1600267260.0], [0.0, 1600268220.0], [0.0, 1600268460.0], [0.0, 1600268700.0], [0.0, 1600269300.0], [0.0, 1600269360.0], [0.0, 1600269840.0], [0.0, 1600255440.0], [-8.544, 1600270020.0], [-15.664, 1600270980.0], [-32.574, 1600272180.0], [-32.574, 1600257780.0], [-0.0, 1600257780.0], [-0.0, 1600272780.0], [-0.0, 1600273140.0], [-0.0, 1600276380.0], [-0.0, 1600277160.0], [-0.0, 1600277520.0], [-0.0, 1600277700.0], [-0.0, 1600278420.0], [-0.0, 1600279140.0], [-0.0, 1600279320.0], [-0.0, 1600279380.0], [-0.0, 1600279680.0], [-0.0, 1600279740.0], [-0.0, 1600279980.0], [-0.0, 1600280100.0], [0.0, 1600280160.0], [0.0, 1600280220.0], [0.0, 1600280340.0], [-0.0, 1600280520.0], [0.0, 1600281000.0], [-0.0, 1600281180.0], [0.0, 1600281360.0], [0.0, 1600281420.0], [0.0, 1600281540.0], [0.0, 1600267140.0], [-7.08, 1600281600.0], [-5.31, 1600281660.0], [-42.48, 1600281840.0], [-42.48, 1600267440.0], [0.0, 1600267440.0], [-0.0, 1600281900.0], [-0.0, 1600282380.0], [-0.0, 1600282560.0], [-0.0, 1600282740.0], [-0.0, 1600282800.0], [-0.0, 1600282860.0], [-0.0, 1600283280.0], [-0.0, 1600283400.0], [-0.0, 1600283460.0], [-0.0, 1600283640.0], [-0.0, 1600283700.0], [-0.0, 1600283760.0], [-0.0, 1600283940.0], [-0.0, 1600284000.0], [-0.0, 1600284060.0], [-0.0, 1600284180.0], [-0.0, 1600284420.0], [-0.0, 1600284720.0], [-0.0, 1600284780.0], [-0.0, 1600284900.0], [-0.0, 1600285020.0], [-0.0, 1600285080.0], [-0.0, 1600285260.0], [-0.0, 1600285380.0], [-0.0, 1600285500.0], [-0.0, 1600285560.0], [-0.0, 1600285620.0], [-0.0, 1600285800.0], [-0.0, 1600286100.0], [-0.0, 1600286160.0], [-0.0, 1600286220.0], [-0.0, 1600286280.0], [-0.0, 1600349400.0], [-0.0, 1600349460.0], [-0.0, 1600349520.0], [-0.0, 1600349580.0], [-0.0, 1600349820.0], [-0.0, 1600335420.0], [-8.64, 1600349940.0], [-39.36, 1600350180.0], [-39.36, 1600335780.0], [-0.0, 1600335780.0], [0.0, 1600350360.0], [0.0, 1600350600.0], [0.0, 1600350660.0], [0.0, 1600336260.0], [33.425, 1600350720.0], [33.425, 1600336320.0], [0.0, 1600336320.0], [0.0, 1600350840.0], [0.0, 1600350900.0], [0.0, 1600350960.0], [-0.0, 1600351020.0], [0.0, 1600351200.0], [0.0, 1600351260.0], [0.0, 1600351440.0], [0.0, 1600351500.0], [0.0, 1600351560.0], [0.0, 1600351860.0], [0.0, 1600337460.0], [-23.5, 1600351920.0], [-43.24, 1600351980.0], [-55.46, 1600352100.0], [-59.22, 1600352280.0], [-57.34, 1600352340.0], [-92.496, 1600352580.0], [-92.496, 1600338180.0], [-0.0, 1600338180.0], [-0.0, 1600352760.0], [-0.0, 1600353000.0], [-0.0, 1600353240.0], [-0.0, 1600353300.0], [-0.0, 1600353720.0], [0.0, 1600353960.0], [0.0, 1600339560.0], [0.0, 1600354200.0], [20.57, 1600354980.0], [20.57, 1600340580.0], [0.0, 1600340580.0], [0.0, 1600355280.0], [0.0, 1600355340.0], [0.0, 1600355700.0], [-0.0, 1600355940.0], [0.0, 1600356000.0], [-0.0, 1600356420.0], [-0.0, 1600356600.0], [-0.0, 1600356660.0], [-0.0, 1600356900.0], [-0.0, 1600357200.0], [-0.0, 1600357680.0], [-0.0, 1600357740.0], [-0.0, 1600357920.0], [-0.0, 1600358100.0], [-0.0, 1600358160.0], [-0.0, 1600358400.0], [-0.0, 1600358640.0], [-0.0, 1600358820.0], [-0.0, 1600359000.0], [-0.0, 1600359300.0], [-0.0, 1600359360.0], [-0.0, 1600359600.0], [-0.0, 1600359780.0], [-0.0, 1600359840.0], [-0.0, 1600360320.0], [-0.0, 1600360380.0], [-0.0, 1600360440.0], [-0.0, 1600360500.0], [-0.0, 1600360620.0], [-0.0, 1600360740.0], [-0.0, 1600361100.0], [-0.0, 1600361520.0], [-0.0, 1600361700.0], [-0.0, 1600361760.0], [-0.0, 1600362000.0], [-0.0, 1600362240.0], [-0.0, 1600362300.0], [-0.0, 1600362360.0], [-0.0, 1600362540.0], [-0.0, 1600362840.0], [-0.0, 1600362960.0], [-0.0, 1600363020.0], [-0.0, 1600363620.0], [-0.0, 1600363800.0], [-0.0, 1600364100.0], [-0.0, 1600365180.0], [-0.0, 1600365240.0], [-0.0, 1600365600.0], [-0.0, 1600365900.0], [-0.0, 1600365960.0], [-0.0, 1600366260.0], [-0.0, 1600366320.0], [-0.0, 1600366560.0], [-0.0, 1600366620.0], [-0.0, 1600366800.0], [-0.0, 1600367220.0], [-0.0, 1600367700.0], [-0.0, 1600367760.0], [-0.0, 1600368060.0], [-0.0, 1600368540.0], [-0.0, 1600368900.0], [-0.0, 1600369680.0], [-0.0, 1600369740.0], [-0.0, 1600369860.0], [-0.0, 1600369920.0], [-0.0, 1600369980.0], [-0.0, 1600370220.0], [-0.0, 1600370880.0], [-0.0, 1600370940.0], [-0.0, 1600371120.0], [-0.0, 1600371240.0], [-0.0, 1600371360.0], [-0.0, 1600371660.0], [-0.0, 1600371720.0], [-0.0, 1600371960.0], [-0.0, 1600372200.0], [-0.0, 1600372380.0], [-0.0, 1600372560.0], [-0.0, 1600372740.0], [-0.0, 1600435800.0], [-0.0, 1600436040.0], [-0.0, 1600436220.0], [-0.0, 1600436460.0], [-0.0, 1600436700.0], [-0.0, 1600436820.0], [-0.0, 1600437360.0], [-0.0, 1600437480.0], [-0.0, 1600437660.0], [-0.0, 1600437960.0], [-0.0, 1600438080.0], [-0.0, 1600438620.0], [-0.0, 1600439100.0], [-0.0, 1600439460.0], [-0.0, 1600439880.0], [-0.0, 1600440060.0], [-0.0, 1600440480.0], [-0.0, 1600440780.0], [-0.0, 1600441260.0], [-0.0, 1600441920.0], [-0.0, 1600442100.0], [-0.0, 1600442160.0], [-0.0, 1600442220.0], [-0.0, 1600443240.0], [-0.0, 1600443300.0], [-0.0, 1600443900.0], [-0.0, 1600444020.0], [-0.0, 1600444140.0], [-0.0, 1600444440.0], [-0.0, 1600444560.0], [-0.0, 1600444860.0], [-0.0, 1600445040.0], [-0.0, 1600445460.0], [-0.0, 1600446480.0], [-0.0, 1600446660.0], [-0.0, 1600447200.0], [-0.0, 1600447320.0], [-0.0, 1600447440.0], [-0.0, 1600447800.0], [-0.0, 1600447860.0], [-0.0, 1600447980.0], [-0.0, 1600448340.0], [-0.0, 1600448700.0], [-0.0, 1600448760.0], [-0.0, 1600448940.0], [-0.0, 1600449180.0], [-0.0, 1600449420.0], [-0.0, 1600449480.0], [-0.0, 1600449660.0], [-0.0, 1600449960.0], [-0.0, 1600450140.0], [-0.0, 1600450320.0], [-0.0, 1600450380.0], [-0.0, 1600450620.0], [-0.0, 1600450800.0], [-0.0, 1600451220.0], [-0.0, 1600451700.0], [-0.0, 1600451760.0], [-0.0, 1600452000.0], [-0.0, 1600452900.0], [-0.0, 1600453020.0], [-0.0, 1600453380.0], [-0.0, 1600453680.0], [-0.0, 1600454100.0], [-0.0, 1600454160.0], [-0.0, 1600454760.0], [-0.0, 1600455000.0], [-0.0, 1600455300.0], [-0.0, 1600455360.0], [-0.0, 1600455420.0], [-0.0, 1600455540.0], [-0.0, 1600455600.0], [-0.0, 1600455840.0], [-0.0, 1600456260.0], [-0.0, 1600456320.0], [-0.0, 1600456380.0], [-0.0, 1600456920.0], [-0.0, 1600457100.0], [-0.0, 1600457280.0], [-0.0, 1600457340.0], [-0.0, 1600457400.0], [-0.0, 1600457520.0], [-0.0, 1600457940.0], [-0.0, 1600458180.0], [-0.0, 1600458420.0], [-0.0, 1600458540.0], [-0.0, 1600458600.0], [-0.0, 1600458720.0], [-0.0, 1600458780.0], [-0.0, 1600458840.0], [-0.0, 1600458900.0], [-0.0, 1600458960.0], [-0.0, 1600459020.0], [-0.0, 1600459080.0], [-0.0, 1600459140.0]], "trades": [{"id": 1, "timestamp": 1600076940.0, "price": 54.15, "volume": 184.0, "taker_order": {"id": 1, "timestamp": 1600076940.0, "volume": 184.0, "price": 54.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 2, "timestamp": 1600077960.0, "price": 54.565, "volume": 184.0, "taker_order": {"id": 2, "timestamp": 1600077960.0, "volume": 184.0, "price": 54.565, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 11, "timestamp": 1600255440.0, "price": 55.878, "volume": 178.0, "taker_order": {"id": 11, "timestamp": 1600255440.0, "volume": 178.0, "price": 55.878, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 12, "timestamp": 1600257780.0, "price": 55.695, "volume": 178.0, "taker_order": {"id": 12, "timestamp": 1600257780.0, "volume": 178.0, "price": 55.695, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 13, "timestamp": 1600267140.0, "price": 56.21, "volume": 177.0, "taker_order": {"id": 13, "timestamp": 1600267140.0, "volume": 177.0, "price": 56.21, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 14, "timestamp": 1600267440.0, "price": 55.97, "volume": 177.0, "taker_order": {"id": 14, "timestamp": 1600267440.0, "volume": 177.0, "price": 55.97, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 17, "timestamp": 1600335420.0, "price": 51.985, "volume": 192.0, "taker_order": {"id": 17, "timestamp": 1600335420.0, "volume": 192.0, "price": 51.985, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 18, "timestamp": 1600335780.0, "price": 51.78, "volume": 192.0, "taker_order": {"id": 18, "timestamp": 1600335780.0, "volume": 192.0, "price": 51.78, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 19, "timestamp": 1600336260.0, "price": 52.295, "volume": 191.0, "taker_order": {"id": 19, "timestamp": 1600336260.0, "volume": 191.0, "price": 52.295, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 20, "timestamp": 1600336320.0, "price": 52.47, "volume": 191.0, "taker_order": {"id": 20, "timestamp": 1600336320.0, "volume": 191.0, "price": 52.47, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 21, "timestamp": 1600337460.0, "price": 53.125, "volume": 188.0, "taker_order": {"id": 21, "timestamp": 1600337460.0, "volume": 188.0, "price": 53.125, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 22, "timestamp": 1600338180.0, "price": 52.633, "volume": 188.0, "taker_order": {"id": 22, "timestamp": 1600338180.0, "volume": 188.0, "price": 52.633, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 23, "timestamp": 1600339560.0, "price": 53.28, "volume": 187.0, "taker_order": {"id": 23, "timestamp": 1600339560.0, "volume": 187.0, "price": 53.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 24, "timestamp": 1600340580.0, "price": 53.39, "volume": 187.0, "taker_order": {"id": 24, "timestamp": 1600340580.0, "volume": 187.0, "price": 53.39, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}]}], "{\"name\": \"SPXS\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [{"timestamp": 1600096920.0, "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "size": 0.0, "size_history": [[1742.0, 1600096920.0], [0.0, 1600097580.0], [1785.0, 1600166640.0], [0.0, 1600167120.0], [1774.0, 1600182420.0], [0.0, 1600184100.0], [1782.0, 1600253280.0], [0.0, 1600253700.0], [1770.0, 1600269120.0], [0.0, 1600270260.0], [1694.0, 1600426080.0], [0.0, 1600426860.0], [1666.0, 1600432560.0], [0.0, 1600433280.0], [1641.0, 1600435620.0], [0.0, 1600435680.0]], "notional": 9999.08, "notional_history": [[9999.08, 1600096920.0], [9972.949999999999, 1600111980.0], [9972.949999999999, 1600097580.0], [9960.3, 1600181520.0], [9960.3, 1600167120.0], [10014.23, 1600196880.0], [10005.359999999999, 1600196940.0], [10005.359999999999, 1600197360.0], [10005.359999999999, 1600197540.0], [10005.359999999999, 1600198020.0], [9996.49, 1600198080.0], [10040.84, 1600198500.0], [10040.84, 1600184100.0], [9961.38, 1600268100.0], [9961.38, 1600253700.0], [9991.65, 1600283580.0], [9973.949999999999, 1600283640.0], [10009.35, 1600283700.0], [9973.949999999999, 1600284120.0], [10027.05, 1600284660.0], [10027.05, 1600270260.0], [10070.83, 1600441260.0], [10070.83, 1600426860.0], [10037.650000000001, 1600447680.0], [10037.650000000001, 1600433280.0], [10018.305, 1600450080.0], [10018.305, 1600435680.0]], "price": 6.091, "price_history": [[5.74, 1600096920.0], [5.6, 1600166640.0], [5.635, 1600182420.0], [5.61, 1600253280.0], [5.648, 1600269120.0], [5.9, 1600426080.0], [6.0, 1600432560.0], [6.091, 1600435620.0]], "investment": 9995.331, "investment_history": [[9999.08, 1600096920.0], [9996.0, 1600166640.0], [9996.49, 1600182420.0], [9997.02, 1600253280.0], [9996.96, 1600269120.0], [9994.6, 1600426080.0], [9996.0, 1600432560.0], [9995.331, 1600435620.0]], "instrumentPrice": 6.031, "instrumentPrice_history": [[5.74, 1600096920.0], [5.725, 1600111980.0], [5.725, 1600097580.0], [5.65, 1600112940.0], [5.695, 1600113360.0], [5.56, 1600176780.0], [5.54, 1600177440.0], [5.57, 1600177980.0], [5.56, 1600178220.0], [5.545, 1600178700.0], [5.555, 1600178880.0], [5.56, 1600179420.0], [5.56, 1600179540.0], [5.56, 1600179600.0], [5.56, 1600180380.0], [5.551, 1600180500.0], [5.575, 1600180800.0], [5.565, 1600180860.0], [5.6, 1600181040.0], [5.6, 1600166640.0], [5.58, 1600181520.0], [5.58, 1600167120.0], [5.565, 1600181700.0], [5.555, 1600182180.0], [5.545, 1600182420.0], [5.545, 1600182540.0], [5.545, 1600182600.0], [5.56, 1600183320.0], [5.555, 1600183380.0], [5.557, 1600183560.0], [5.555, 1600183800.0], [5.555, 1600184040.0], [5.54, 1600184100.0], [5.55, 1600184280.0], [5.545, 1600184400.0], [5.56, 1600185600.0], [5.57, 1600186140.0], [5.56, 1600187100.0], [5.54, 1600190220.0], [5.56, 1600191300.0], [5.57, 1600192680.0], [5.6, 1600194120.0], [5.59, 1600194420.0], [5.595, 1600194480.0], [5.6, 1600196280.0], [5.6, 1600196460.0], [5.635, 1600196820.0], [5.635, 1600182420.0], [5.645, 1600196880.0], [5.64, 1600196940.0], [5.64, 1600197360.0], [5.64, 1600197540.0], [5.64, 1600198020.0], [5.635, 1600198080.0], [5.66, 1600198500.0], [5.66, 1600184100.0], [5.655, 1600198560.0], [5.675, 1600198740.0], [5.685, 1600198800.0], [5.65, 1600199400.0], [5.645, 1600199460.0], [5.63, 1600199640.0], [5.63, 1600199760.0], [5.63, 1600199880.0], [5.625, 1600199940.0], [5.565, 1600263060.0], [5.58, 1600263420.0], [5.585, 1600264260.0], [5.565, 1600265760.0], [5.565, 1600266240.0], [5.61, 1600267680.0], [5.61, 1600253280.0], [5.59, 1600268100.0], [5.59, 1600253700.0], [5.57, 1600268760.0], [5.545, 1600271760.0], [5.55, 1600271940.0], [5.575, 1600275180.0], [5.575, 1600275300.0], [5.565, 1600275540.0], [5.57, 1600275900.0], [5.585, 1600276560.0], [5.605, 1600278240.0], [5.59, 1600278720.0], [5.535, 1600279320.0], [5.52, 1600280580.0], [5.525, 1600280940.0], [5.648, 1600283520.0], [5.648, 1600269120.0], [5.645, 1600283580.0], [5.635, 1600283640.0], [5.655, 1600283700.0], [5.635, 1600284120.0], [5.665, 1600284660.0], [5.665, 1600270260.0], [5.685, 1600285260.0], [5.655, 1600285500.0], [5.615, 1600285680.0], [5.625, 1600285740.0], [5.63, 1600285800.0], [5.675, 1600285920.0], [5.67, 1600285980.0], [5.675, 1600286040.0], [5.695, 1600286100.0], [5.69, 1600286220.0], [5.705, 1600286340.0], [5.94, 1600349700.0], [5.928, 1600349820.0], [5.915, 1600349880.0], [5.945, 1600350000.0], [5.92, 1600350420.0], [5.93, 1600350480.0], [5.91, 1600350600.0], [5.88, 1600350660.0], [5.87, 1600350720.0], [5.88, 1600350780.0], [5.875, 1600350840.0], [5.83, 1600351560.0], [5.83, 1600351680.0], [5.81, 1600351920.0], [5.825, 1600352100.0], [5.88, 1600352700.0], [5.88, 1600352760.0], [5.79, 1600354320.0], [5.79, 1600354440.0], [5.805, 1600354560.0], [5.805, 1600354680.0], [5.78, 1600354860.0], [5.76, 1600355760.0], [5.865, 1600358700.0], [5.91, 1600359000.0], [5.944, 1600359240.0], [5.965, 1600359540.0], [5.95, 1600360380.0], [5.945, 1600360920.0], [5.955, 1600360980.0], [5.925, 1600361700.0], [5.92, 1600362120.0], [5.945, 1600368180.0], [5.93, 1600368540.0], [5.935, 1600369140.0], [5.96, 1600369680.0], [5.96, 1600369740.0], [5.94, 1600369860.0], [5.883, 1600371900.0], [5.89, 1600371960.0], [5.855, 1600372260.0], [5.859, 1600372380.0], [5.85, 1600372500.0], [5.87, 1600372620.0], [5.86, 1600372680.0], [5.853, 1600372740.0], [5.855, 1600436700.0], [5.88, 1600437180.0], [5.855, 1600437660.0], [5.857, 1600437900.0], [5.865, 1600439580.0], [5.9, 1600440480.0], [5.9, 1600426080.0], [5.945, 1600441260.0], [5.945, 1600426860.0], [5.945, 1600441320.0], [5.94, 1600441980.0], [5.93, 1600443000.0], [5.975, 1600443420.0], [5.915, 1600444140.0], [6.0, 1600446960.0], [6.0, 1600432560.0], [6.025, 1600447680.0], [6.025, 1600433280.0], [6.045, 1600447800.0], [6.04, 1600448220.0], [6.05, 1600448760.0], [6.05, 1600449120.0], [6.06, 1600449420.0], [6.091, 1600450020.0], [6.091, 1600435620.0], [6.105, 1600450080.0], [6.105, 1600435680.0], [6.12, 1600451220.0], [6.105, 1600451340.0], [6.115, 1600451580.0], [6.075, 1600453920.0], [6.065, 1600454040.0], [6.085, 1600455300.0], [6.03, 1600457160.0], [6.005, 1600457880.0], [6.01, 1600457940.0], [6.03, 1600458660.0], [6.045, 1600458720.0], [6.04, 1600458840.0], [6.026, 1600458960.0], [6.035, 1600459080.0], [6.031, 1600459140.0]], "pnl": 117.824, "pnl_history": [[0.0, 1600096920.0], [0.0, 1600111980.0], [0.0, 1600097580.0], [-26.13, 1600097580.0], [-26.13, 1600112940.0], [-26.13, 1600113360.0], [-26.13, 1600176780.0], [-26.13, 1600177440.0], [-26.13, 1600177980.0], [-26.13, 1600178220.0], [-26.13, 1600178700.0], [-26.13, 1600178880.0], [-26.13, 1600179420.0], [-26.13, 1600179540.0], [-26.13, 1600179600.0], [-26.13, 1600180380.0], [-26.13, 1600180500.0], [-26.13, 1600180800.0], [-26.13, 1600180860.0], [-26.13, 1600181040.0], [-26.13, 1600166640.0], [-26.13, 1600181520.0], [-26.13, 1600167120.0], [-61.83, 1600167120.0], [-61.83, 1600181700.0], [-61.83, 1600182180.0], [-61.83, 1600182420.0], [-61.83, 1600182540.0], [-61.83, 1600182600.0], [-61.83, 1600183320.0], [-61.83, 1600183380.0], [-61.83, 1600183560.0], [-61.83, 1600183800.0], [-61.83, 1600184040.0], [-61.83, 1600184100.0], [-61.83, 1600184280.0], [-61.83, 1600184400.0], [-61.83, 1600185600.0], [-61.83, 1600186140.0], [-61.83, 1600187100.0], [-61.83, 1600190220.0], [-61.83, 1600191300.0], [-61.83, 1600192680.0], [-61.83, 1600194120.0], [-61.83, 1600194420.0], [-61.83, 1600194480.0], [-61.83, 1600196280.0], [-61.83, 1600196460.0], [-61.83, 1600196820.0], [-61.83, 1600182420.0], [-61.83, 1600196880.0], [-61.83, 1600196940.0], [-61.83, 1600197360.0], [-61.83, 1600197540.0], [-61.83, 1600198020.0], [-61.83, 1600198080.0], [-61.83, 1600198500.0], [-61.83, 1600184100.0], [-17.48, 1600184100.0], [-17.48, 1600198560.0], [-17.48, 1600198740.0], [-17.48, 1600198800.0], [-17.48, 1600199400.0], [-17.48, 1600199460.0], [-17.48, 1600199640.0], [-17.48, 1600199760.0], [-17.48, 1600199880.0], [-17.48, 1600199940.0], [-17.48, 1600263060.0], [-17.48, 1600263420.0], [-17.48, 1600264260.0], [-17.48, 1600265760.0], [-17.48, 1600266240.0], [-17.48, 1600267680.0], [-17.48, 1600253280.0], [-17.48, 1600268100.0], [-17.48, 1600253700.0], [-53.12, 1600253700.0], [-53.12, 1600268760.0], [-53.12, 1600271760.0], [-53.12, 1600271940.0], [-53.12, 1600275180.0], [-53.12, 1600275300.0], [-53.12, 1600275540.0], [-53.12, 1600275900.0], [-53.12, 1600276560.0], [-53.12, 1600278240.0], [-53.12, 1600278720.0], [-53.12, 1600279320.0], [-53.12, 1600280580.0], [-53.12, 1600280940.0], [-53.12, 1600283520.0], [-53.12, 1600269120.0], [-53.12, 1600283580.0], [-53.12, 1600283640.0], [-53.12, 1600283700.0], [-53.12, 1600284120.0], [-53.12, 1600284660.0], [-53.12, 1600270260.0], [-23.03, 1600270260.0], [-23.03, 1600285260.0], [-23.03, 1600285500.0], [-23.03, 1600285680.0], [-23.03, 1600285740.0], [-23.03, 1600285800.0], [-23.03, 1600285920.0], [-23.03, 1600285980.0], [-23.03, 1600286040.0], [-23.03, 1600286100.0], [-23.03, 1600286220.0], [-23.03, 1600286340.0], [-23.03, 1600349700.0], [-23.03, 1600349820.0], [-23.03, 1600349880.0], [-23.03, 1600350000.0], [-23.03, 1600350420.0], [-23.03, 1600350480.0], [-23.03, 1600350600.0], [-23.03, 1600350660.0], [-23.03, 1600350720.0], [-23.03, 1600350780.0], [-23.03, 1600350840.0], [-23.03, 1600351560.0], [-23.03, 1600351680.0], [-23.03, 1600351920.0], [-23.03, 1600352100.0], [-23.03, 1600352700.0], [-23.03, 1600352760.0], [-23.03, 1600354320.0], [-23.03, 1600354440.0], [-23.03, 1600354560.0], [-23.03, 1600354680.0], [-23.03, 1600354860.0], [-23.03, 1600355760.0], [-23.03, 1600358700.0], [-23.03, 1600359000.0], [-23.03, 1600359240.0], [-23.03, 1600359540.0], [-23.03, 1600360380.0], [-23.03, 1600360920.0], [-23.03, 1600360980.0], [-23.03, 1600361700.0], [-23.03, 1600362120.0], [-23.03, 1600368180.0], [-23.03, 1600368540.0], [-23.03, 1600369140.0], [-23.03, 1600369680.0], [-23.03, 1600369740.0], [-23.03, 1600369860.0], [-23.03, 1600371900.0], [-23.03, 1600371960.0], [-23.03, 1600372260.0], [-23.03, 1600372380.0], [-23.03, 1600372500.0], [-23.03, 1600372620.0], [-23.03, 1600372680.0], [-23.03, 1600372740.0], [-23.03, 1600436700.0], [-23.03, 1600437180.0], [-23.03, 1600437660.0], [-23.03, 1600437900.0], [-23.03, 1600439580.0], [-23.03, 1600440480.0], [-23.03, 1600426080.0], [-23.03, 1600441260.0], [-23.03, 1600426860.0], [53.2, 1600426860.0], [53.2, 1600441320.0], [53.2, 1600441980.0], [53.2, 1600443000.0], [53.2, 1600443420.0], [53.2, 1600444140.0], [53.2, 1600446960.0], [53.2, 1600432560.0], [53.2, 1600447680.0], [53.2, 1600433280.0], [94.85, 1600433280.0], [94.85, 1600447800.0], [94.85, 1600448220.0], [94.85, 1600448760.0], [94.85, 1600449120.0], [94.85, 1600449420.0], [94.85, 1600450020.0], [94.85, 1600435620.0], [94.85, 1600450080.0], [94.85, 1600435680.0], [117.824, 1600435680.0], [117.824, 1600451220.0], [117.824, 1600451340.0], [117.824, 1600451580.0], [117.824, 1600453920.0], [117.824, 1600454040.0], [117.824, 1600455300.0], [117.824, 1600457160.0], [117.824, 1600457880.0], [117.824, 1600457940.0], [117.824, 1600458660.0], [117.824, 1600458720.0], [117.824, 1600458840.0], [117.824, 1600458960.0], [117.824, 1600459080.0], [117.824, 1600459140.0]], "unrealizedPnl": -0.0, "unrealizedPnl_history": [[0.0, 1600096920.0], [-26.13, 1600111980.0], [-26.13, 1600097580.0], [0.0, 1600097580.0], [-0.0, 1600112940.0], [-0.0, 1600113360.0], [-0.0, 1600176780.0], [-0.0, 1600177440.0], [-0.0, 1600177980.0], [-0.0, 1600178220.0], [-0.0, 1600178700.0], [-0.0, 1600178880.0], [-0.0, 1600179420.0], [-0.0, 1600179540.0], [-0.0, 1600179600.0], [-0.0, 1600180380.0], [-0.0, 1600180500.0], [-0.0, 1600180800.0], [-0.0, 1600180860.0], [-0.0, 1600181040.0], [-0.0, 1600166640.0], [-35.7, 1600181520.0], [-35.7, 1600167120.0], [-0.0, 1600167120.0], [-0.0, 1600181700.0], [-0.0, 1600182180.0], [-0.0, 1600182420.0], [-0.0, 1600182540.0], [-0.0, 1600182600.0], [-0.0, 1600183320.0], [-0.0, 1600183380.0], [-0.0, 1600183560.0], [-0.0, 1600183800.0], [-0.0, 1600184040.0], [-0.0, 1600184100.0], [-0.0, 1600184280.0], [-0.0, 1600184400.0], [-0.0, 1600185600.0], [-0.0, 1600186140.0], [-0.0, 1600187100.0], [-0.0, 1600190220.0], [-0.0, 1600191300.0], [-0.0, 1600192680.0], [0.0, 1600194120.0], [-0.0, 1600194420.0], [-0.0, 1600194480.0], [0.0, 1600196280.0], [0.0, 1600196460.0], [0.0, 1600196820.0], [0.0, 1600182420.0], [17.74, 1600196880.0], [8.87, 1600196940.0], [8.87, 1600197360.0], [8.87, 1600197540.0], [8.87, 1600198020.0], [0.0, 1600198080.0], [44.35, 1600198500.0], [44.35, 1600184100.0], [-0.0, 1600184100.0], [0.0, 1600198560.0], [0.0, 1600198740.0], [0.0, 1600198800.0], [0.0, 1600199400.0], [0.0, 1600199460.0], [-0.0, 1600199640.0], [-0.0, 1600199760.0], [-0.0, 1600199880.0], [-0.0, 1600199940.0], [-0.0, 1600263060.0], [-0.0, 1600263420.0], [-0.0, 1600264260.0], [-0.0, 1600265760.0], [-0.0, 1600266240.0], [-0.0, 1600267680.0], [-0.0, 1600253280.0], [-35.64, 1600268100.0], [-35.64, 1600253700.0], [0.0, 1600253700.0], [-0.0, 1600268760.0], [-0.0, 1600271760.0], [-0.0, 1600271940.0], [-0.0, 1600275180.0], [-0.0, 1600275300.0], [-0.0, 1600275540.0], [-0.0, 1600275900.0], [-0.0, 1600276560.0], [-0.0, 1600278240.0], [-0.0, 1600278720.0], [-0.0, 1600279320.0], [-0.0, 1600280580.0], [-0.0, 1600280940.0], [0.0, 1600283520.0], [0.0, 1600269120.0], [-5.31, 1600283580.0], [-23.01, 1600283640.0], [12.39, 1600283700.0], [-23.01, 1600284120.0], [30.09, 1600284660.0], [30.09, 1600270260.0], [-0.0, 1600270260.0], [0.0, 1600285260.0], [0.0, 1600285500.0], [-0.0, 1600285680.0], [-0.0, 1600285740.0], [-0.0, 1600285800.0], [0.0, 1600285920.0], [0.0, 1600285980.0], [0.0, 1600286040.0], [0.0, 1600286100.0], [0.0, 1600286220.0], [0.0, 1600286340.0], [0.0, 1600349700.0], [0.0, 1600349820.0], [0.0, 1600349880.0], [0.0, 1600350000.0], [0.0, 1600350420.0], [0.0, 1600350480.0], [0.0, 1600350600.0], [0.0, 1600350660.0], [0.0, 1600350720.0], [0.0, 1600350780.0], [0.0, 1600350840.0], [0.0, 1600351560.0], [0.0, 1600351680.0], [0.0, 1600351920.0], [0.0, 1600352100.0], [0.0, 1600352700.0], [0.0, 1600352760.0], [0.0, 1600354320.0], [0.0, 1600354440.0], [0.0, 1600354560.0], [0.0, 1600354680.0], [0.0, 1600354860.0], [0.0, 1600355760.0], [0.0, 1600358700.0], [0.0, 1600359000.0], [0.0, 1600359240.0], [0.0, 1600359540.0], [0.0, 1600360380.0], [0.0, 1600360920.0], [0.0, 1600360980.0], [0.0, 1600361700.0], [0.0, 1600362120.0], [0.0, 1600368180.0], [0.0, 1600368540.0], [0.0, 1600369140.0], [0.0, 1600369680.0], [0.0, 1600369740.0], [0.0, 1600369860.0], [0.0, 1600371900.0], [0.0, 1600371960.0], [0.0, 1600372260.0], [0.0, 1600372380.0], [0.0, 1600372500.0], [0.0, 1600372620.0], [0.0, 1600372680.0], [0.0, 1600372740.0], [0.0, 1600436700.0], [0.0, 1600437180.0], [0.0, 1600437660.0], [0.0, 1600437900.0], [0.0, 1600439580.0], [0.0, 1600440480.0], [0.0, 1600426080.0], [76.23, 1600441260.0], [76.23, 1600426860.0], [0.0, 1600426860.0], [0.0, 1600441320.0], [0.0, 1600441980.0], [0.0, 1600443000.0], [0.0, 1600443420.0], [0.0, 1600444140.0], [0.0, 1600446960.0], [0.0, 1600432560.0], [41.65, 1600447680.0], [41.65, 1600433280.0], [-0.0, 1600433280.0], [0.0, 1600447800.0], [0.0, 1600448220.0], [0.0, 1600448760.0], [0.0, 1600449120.0], [0.0, 1600449420.0], [0.0, 1600450020.0], [0.0, 1600435620.0], [22.974, 1600450080.0], [22.974, 1600435680.0], [-0.0, 1600435680.0], [0.0, 1600451220.0], [0.0, 1600451340.0], [0.0, 1600451580.0], [-0.0, 1600453920.0], [-0.0, 1600454040.0], [-0.0, 1600455300.0], [-0.0, 1600457160.0], [-0.0, 1600457880.0], [-0.0, 1600457940.0], [-0.0, 1600458660.0], [-0.0, 1600458720.0], [-0.0, 1600458840.0], [-0.0, 1600458960.0], [-0.0, 1600459080.0], [-0.0, 1600459140.0]], "trades": [{"id": 3, "timestamp": 1600096920.0, "price": 5.74, "volume": 1742.0, "taker_order": {"id": 3, "timestamp": 1600096920.0, "volume": 1742.0, "price": 5.74, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 4, "timestamp": 1600097580.0, "price": 5.725, "volume": 1742.0, "taker_order": {"id": 4, "timestamp": 1600097580.0, "volume": 1742.0, "price": 5.725, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 5, "timestamp": 1600166640.0, "price": 5.6, "volume": 1785.0, "taker_order": {"id": 5, "timestamp": 1600166640.0, "volume": 1785.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 6, "timestamp": 1600167120.0, "price": 5.58, "volume": 1785.0, "taker_order": {"id": 6, "timestamp": 1600167120.0, "volume": 1785.0, "price": 5.58, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 7, "timestamp": 1600182420.0, "price": 5.635, "volume": 1774.0, "taker_order": {"id": 7, "timestamp": 1600182420.0, "volume": 1774.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 8, "timestamp": 1600184100.0, "price": 5.66, "volume": 1774.0, "taker_order": {"id": 8, "timestamp": 1600184100.0, "volume": 1774.0, "price": 5.66, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 9, "timestamp": 1600253280.0, "price": 5.61, "volume": 1782.0, "taker_order": {"id": 9, "timestamp": 1600253280.0, "volume": 1782.0, "price": 5.61, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 10, "timestamp": 1600253700.0, "price": 5.59, "volume": 1782.0, "taker_order": {"id": 10, "timestamp": 1600253700.0, "volume": 1782.0, "price": 5.59, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 15, "timestamp": 1600269120.0, "price": 5.648, "volume": 1770.0, "taker_order": {"id": 15, "timestamp": 1600269120.0, "volume": 1770.0, "price": 5.648, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 16, "timestamp": 1600270260.0, "price": 5.665, "volume": 1770.0, "taker_order": {"id": 16, "timestamp": 1600270260.0, "volume": 1770.0, "price": 5.665, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 25, "timestamp": 1600426080.0, "price": 5.9, "volume": 1694.0, "taker_order": {"id": 25, "timestamp": 1600426080.0, "volume": 1694.0, "price": 5.9, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 26, "timestamp": 1600426860.0, "price": 5.945, "volume": 1694.0, "taker_order": {"id": 26, "timestamp": 1600426860.0, "volume": 1694.0, "price": 5.945, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 27, "timestamp": 1600432560.0, "price": 6.0, "volume": 1666.0, "taker_order": {"id": 27, "timestamp": 1600432560.0, "volume": 1666.0, "price": 6.0, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 28, "timestamp": 1600433280.0, "price": 6.025, "volume": 1666.0, "taker_order": {"id": 28, "timestamp": 1600433280.0, "volume": 1666.0, "price": 6.025, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 29, "timestamp": 1600435620.0, "price": 6.091, "volume": 1641.0, "taker_order": {"id": 29, "timestamp": 1600435620.0, "volume": 1641.0, "price": 6.091, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 30, "timestamp": 1600435680.0, "price": 6.105, "volume": 1641.0, "taker_order": {"id": 30, "timestamp": 1600435680.0, "volume": 1641.0, "price": 6.105, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}]}]}
\ No newline at end of file
diff --git a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_strat.json b/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_strat.json
deleted file mode 100644
index c82da78c..00000000
--- a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.active_by_strat.json
+++ /dev/null
@@ -1 +0,0 @@
-{"MomentumStrategy-0": {"{\"name\": \"SPXL\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": {"timestamp": 1600076940.0, "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "size": 0.0, "size_history": [[184.0, 1600076940.0], [0.0, 1600077960.0], [178.0, 1600255440.0], [0.0, 1600257780.0], [177.0, 1600267140.0], [0.0, 1600267440.0], [192.0, 1600335420.0], [0.0, 1600335780.0], [191.0, 1600336260.0], [0.0, 1600336320.0], [188.0, 1600337460.0], [0.0, 1600338180.0], [187.0, 1600339560.0], [0.0, 1600340580.0]], "notional": 9963.6, "notional_history": [[9963.6, 1600076940.0], [9980.16, 1600091760.0], [9982.0, 1600091880.0], [10039.96, 1600092360.0], [10039.96, 1600077960.0], [9937.74, 1600270020.0], [9930.619999999999, 1600270980.0], [9913.710000000001, 1600272180.0], [9913.710000000001, 1600257780.0], [9942.09, 1600281600.0], [9943.86, 1600281660.0], [9906.69, 1600281840.0], [9906.69, 1600267440.0], [9972.48, 1600349940.0], [9941.76, 1600350180.0], [9941.76, 1600335780.0], [10021.77, 1600350720.0], [10021.77, 1600336320.0], [9964.0, 1600351920.0], [9944.26, 1600351980.0], [9932.039999999999, 1600352100.0], [9928.28, 1600352280.0], [9930.16, 1600352340.0], [9895.004, 1600352580.0], [9895.004, 1600338180.0], [9963.36, 1600354200.0], [9983.93, 1600354980.0], [9983.93, 1600340580.0]], "price": 53.28, "price_history": [[54.15, 1600076940.0], [55.878, 1600255440.0], [56.21, 1600267140.0], [51.985, 1600335420.0], [52.295, 1600336260.0], [53.125, 1600337460.0], [53.28, 1600339560.0]], "investment": 9963.36, "investment_history": [[9963.6, 1600076940.0], [9946.284, 1600255440.0], [9949.17, 1600267140.0], [9981.12, 1600335420.0], [9988.345, 1600336260.0], [9987.5, 1600337460.0], [9963.36, 1600339560.0]], "instrumentPrice": 51.026, "instrumentPrice_history": [[54.15, 1600076940.0], [54.24, 1600091760.0], [54.25, 1600091880.0], [54.565, 1600092360.0], [54.565, 1600077960.0], [54.715, 1600093020.0], [54.737, 1600093260.0], [54.77, 1600093620.0], [54.675, 1600093860.0], [54.64, 1600094100.0], [54.54, 1600095360.0], [54.61, 1600095600.0], [54.49, 1600096740.0], [54.65, 1600097340.0], [54.71, 1600099920.0], [54.58, 1600101960.0], [54.39, 1600102440.0], [54.499, 1600102620.0], [54.36, 1600103160.0], [54.0, 1600103940.0], [54.16, 1600104480.0], [54.18, 1600104600.0], [53.895, 1600104720.0], [54.0, 1600104840.0], [54.26, 1600105980.0], [54.26, 1600106700.0], [54.28, 1600107960.0], [54.09, 1600108920.0], [54.27, 1600109520.0], [54.33, 1600109580.0], [54.04, 1600110000.0], [53.8, 1600110900.0], [53.825, 1600111020.0], [54.045, 1600111080.0], [54.08, 1600111140.0], [53.623, 1600111380.0], [53.689, 1600111440.0], [53.705, 1600111500.0], [53.875, 1600111620.0], [53.94, 1600111680.0], [53.957, 1600111740.0], [53.99, 1600111860.0], [53.9, 1600111980.0], [54.165, 1600112340.0], [54.29, 1600112520.0], [54.42, 1600112640.0], [54.39, 1600112700.0], [54.41, 1600112760.0], [54.55, 1600112880.0], [54.6, 1600112940.0], [54.461, 1600113000.0], [54.34, 1600113180.0], [54.18, 1600113300.0], [54.155, 1600113360.0], [54.137, 1600113420.0], [54.01, 1600113540.0], [55.327, 1600176600.0], [55.399, 1600176660.0], [55.41, 1600176720.0], [55.54, 1600177500.0], [55.52, 1600177560.0], [55.51, 1600177620.0], [55.52, 1600178160.0], [55.45, 1600178220.0], [55.53, 1600178400.0], [55.548, 1600178760.0], [55.53, 1600179420.0], [55.23, 1600179840.0], [55.21, 1600179900.0], [55.36, 1600180080.0], [55.35, 1600180860.0], [55.17, 1600180980.0], [55.1, 1600181100.0], [55.25, 1600181220.0], [55.48, 1600183020.0], [55.61, 1600184160.0], [55.41, 1600187100.0], [55.575, 1600189200.0], [55.59, 1600189560.0], [55.63, 1600190280.0], [55.483, 1600192080.0], [55.196, 1600192920.0], [55.16, 1600193040.0], [55.007, 1600193280.0], [55.08, 1600193400.0], [55.15, 1600193520.0], [55.12, 1600194360.0], [54.99, 1600194720.0], [55.23, 1600196100.0], [55.18, 1600196340.0], [54.75, 1600196760.0], [54.8, 1600196880.0], [54.705, 1600196940.0], [54.715, 1600197000.0], [54.79, 1600197120.0], [54.77, 1600197360.0], [54.76, 1600197480.0], [54.71, 1600197540.0], [54.75, 1600197660.0], [54.638, 1600197840.0], [54.689, 1600197900.0], [54.72, 1600197960.0], [54.748, 1600198080.0], [54.555, 1600198320.0], [54.48, 1600198380.0], [54.517, 1600198500.0], [54.33, 1600198680.0], [54.463, 1600198920.0], [54.53, 1600198980.0], [54.516, 1600199100.0], [54.601, 1600199220.0], [54.605, 1600199340.0], [54.64, 1600199400.0], [54.85, 1600199700.0], [54.835, 1600199820.0], [54.85, 1600199880.0], [55.505, 1600263000.0], [55.29, 1600263780.0], [55.29, 1600264320.0], [55.375, 1600264500.0], [55.39, 1600264560.0], [55.445, 1600264800.0], [55.5, 1600264920.0], [55.46, 1600265160.0], [55.59, 1600265400.0], [55.47, 1600265700.0], [55.4, 1600265760.0], [55.43, 1600266060.0], [55.19, 1600267200.0], [55.22, 1600267260.0], [55.32, 1600268220.0], [55.31, 1600268460.0], [55.42, 1600268700.0], [55.71, 1600269300.0], [55.78, 1600269360.0], [55.878, 1600269840.0], [55.878, 1600255440.0], [55.83, 1600270020.0], [55.79, 1600270980.0], [55.695, 1600272180.0], [55.695, 1600257780.0], [55.502, 1600272780.0], [55.43, 1600273140.0], [55.24, 1600276380.0], [55.14, 1600277160.0], [54.97, 1600277520.0], [55.0, 1600277700.0], [55.2, 1600278420.0], [55.38, 1600279140.0], [55.7, 1600279320.0], [55.5, 1600279380.0], [55.372, 1600279680.0], [55.28, 1600279740.0], [55.62, 1600279980.0], [55.76, 1600280100.0], [55.897, 1600280160.0], [55.996, 1600280220.0], [55.89, 1600280340.0], [55.87, 1600280520.0], [56.045, 1600281000.0], [55.8, 1600281180.0], [55.97, 1600281360.0], [56.05, 1600281420.0], [56.21, 1600281540.0], [56.21, 1600267140.0], [56.17, 1600281600.0], [56.18, 1600281660.0], [55.97, 1600281840.0], [55.97, 1600267440.0], [55.86, 1600281900.0], [55.376, 1600282380.0], [55.477, 1600282560.0], [55.44, 1600282740.0], [55.58, 1600282800.0], [55.64, 1600282860.0], [55.2, 1600283280.0], [54.812, 1600283400.0], [54.41, 1600283460.0], [54.74, 1600283640.0], [54.63, 1600283700.0], [54.579, 1600283760.0], [54.89, 1600283940.0], [54.72, 1600284000.0], [54.925, 1600284060.0], [54.71, 1600284180.0], [54.56, 1600284420.0], [54.2, 1600284720.0], [54.27, 1600284780.0], [54.71, 1600284900.0], [54.47, 1600285020.0], [54.485, 1600285080.0], [54.288, 1600285260.0], [54.61, 1600285380.0], [54.605, 1600285500.0], [54.78, 1600285560.0], [55.005, 1600285620.0], [54.675, 1600285800.0], [54.289, 1600286100.0], [54.16, 1600286160.0], [54.209, 1600286220.0], [54.203, 1600286280.0], [51.547, 1600349400.0], [51.62, 1600349460.0], [51.592, 1600349520.0], [51.61, 1600349580.0], [51.985, 1600349820.0], [51.985, 1600335420.0], [51.94, 1600349940.0], [51.78, 1600350180.0], [51.78, 1600335780.0], [52.0, 1600350360.0], [52.05, 1600350600.0], [52.295, 1600350660.0], [52.295, 1600336260.0], [52.47, 1600350720.0], [52.47, 1600336320.0], [52.44, 1600350840.0], [52.459, 1600350900.0], [52.4, 1600350960.0], [52.25, 1600351020.0], [52.44, 1600351200.0], [52.547, 1600351260.0], [52.48, 1600351440.0], [52.66, 1600351500.0], [52.75, 1600351560.0], [53.125, 1600351860.0], [53.125, 1600337460.0], [53.0, 1600351920.0], [52.895, 1600351980.0], [52.83, 1600352100.0], [52.81, 1600352280.0], [52.82, 1600352340.0], [52.633, 1600352580.0], [52.633, 1600338180.0], [52.44, 1600352760.0], [52.58, 1600353000.0], [52.7, 1600353240.0], [52.85, 1600353300.0], [52.89, 1600353720.0], [53.28, 1600353960.0], [53.28, 1600339560.0], [53.28, 1600354200.0], [53.39, 1600354980.0], [53.39, 1600340580.0], [53.4, 1600355280.0], [53.475, 1600355340.0], [53.55, 1600355700.0], [53.27, 1600355940.0], [53.3, 1600356000.0], [53.15, 1600356420.0], [53.16, 1600356600.0], [53.12, 1600356660.0], [53.08, 1600356900.0], [53.0, 1600357200.0], [52.63, 1600357680.0], [52.68, 1600357740.0], [52.51, 1600357920.0], [52.625, 1600358100.0], [52.53, 1600358160.0], [52.37, 1600358400.0], [52.49, 1600358640.0], [52.2, 1600358820.0], [52.19, 1600359000.0], [51.8, 1600359300.0], [51.87, 1600359360.0], [51.587, 1600359600.0], [51.71, 1600359780.0], [51.51, 1600359840.0], [51.7, 1600360320.0], [51.71, 1600360380.0], [51.76, 1600360440.0], [51.787, 1600360500.0], [51.72, 1600360620.0], [51.88, 1600360740.0], [51.76, 1600361100.0], [51.79, 1600361520.0], [51.83, 1600361700.0], [51.96, 1600361760.0], [52.08, 1600362000.0], [52.03, 1600362240.0], [51.92, 1600362300.0], [52.05, 1600362360.0], [52.1, 1600362540.0], [51.97, 1600362840.0], [51.72, 1600362960.0], [51.73, 1600363020.0], [51.88, 1600363620.0], [51.885, 1600363800.0], [52.11, 1600364100.0], [52.27, 1600365180.0], [52.19, 1600365240.0], [52.11, 1600365600.0], [52.3, 1600365900.0], [52.3, 1600365960.0], [52.413, 1600366260.0], [52.445, 1600366320.0], [52.46, 1600366560.0], [52.45, 1600366620.0], [52.255, 1600366800.0], [52.17, 1600367220.0], [51.75, 1600367700.0], [51.66, 1600367760.0], [51.66, 1600368060.0], [51.95, 1600368540.0], [52.025, 1600368900.0], [51.605, 1600369680.0], [51.665, 1600369740.0], [52.01, 1600369860.0], [51.98, 1600369920.0], [52.145, 1600369980.0], [52.02, 1600370220.0], [51.678, 1600370880.0], [51.74, 1600370940.0], [52.045, 1600371120.0], [52.275, 1600371240.0], [52.364, 1600371360.0], [52.538, 1600371660.0], [52.54, 1600371720.0], [52.19, 1600371960.0], [52.509, 1600372200.0], [52.63, 1600372380.0], [52.56, 1600372560.0], [52.71, 1600372740.0], [53.06, 1600435800.0], [52.9, 1600436040.0], [52.78, 1600436220.0], [52.73, 1600436460.0], [52.74, 1600436700.0], [52.34, 1600436820.0], [52.5, 1600437360.0], [52.37, 1600437480.0], [52.613, 1600437660.0], [52.59, 1600437960.0], [52.78, 1600438080.0], [52.92, 1600438620.0], [52.69, 1600439100.0], [52.56, 1600439460.0], [52.36, 1600439880.0], [52.31, 1600440060.0], [52.33, 1600440480.0], [51.977, 1600440780.0], [51.89, 1600441260.0], [51.9, 1600441920.0], [52.0, 1600442100.0], [51.89, 1600442160.0], [51.77, 1600442220.0], [51.673, 1600443240.0], [51.58, 1600443300.0], [51.71, 1600443900.0], [52.01, 1600444020.0], [52.05, 1600444140.0], [52.03, 1600444440.0], [52.063, 1600444560.0], [52.071, 1600444860.0], [51.97, 1600445040.0], [52.03, 1600445460.0], [51.6, 1600446480.0], [51.37, 1600446660.0], [51.19, 1600447200.0], [51.08, 1600447320.0], [51.08, 1600447440.0], [50.94, 1600447800.0], [51.0, 1600447860.0], [50.894, 1600447980.0], [50.98, 1600448340.0], [50.93, 1600448700.0], [50.9, 1600448760.0], [50.765, 1600448940.0], [50.9, 1600449180.0], [50.74, 1600449420.0], [50.75, 1600449480.0], [50.71, 1600449660.0], [50.6, 1600449960.0], [50.3, 1600450140.0], [50.02, 1600450320.0], [50.13, 1600450380.0], [49.92, 1600450620.0], [50.13, 1600450800.0], [50.36, 1600451220.0], [50.44, 1600451700.0], [50.48, 1600451760.0], [50.56, 1600452000.0], [50.49, 1600452900.0], [50.44, 1600453020.0], [50.55, 1600453380.0], [50.59, 1600453680.0], [50.72, 1600454100.0], [50.61, 1600454160.0], [50.645, 1600454760.0], [50.49, 1600455000.0], [50.592, 1600455300.0], [50.627, 1600455360.0], [50.645, 1600455420.0], [50.75, 1600455540.0], [50.867, 1600455600.0], [51.03, 1600455840.0], [50.97, 1600456260.0], [50.94, 1600456320.0], [50.955, 1600456380.0], [50.83, 1600456920.0], [51.068, 1600457100.0], [51.17, 1600457280.0], [51.13, 1600457340.0], [51.16, 1600457400.0], [51.28, 1600457520.0], [51.2, 1600457940.0], [51.305, 1600458180.0], [51.285, 1600458420.0], [51.263, 1600458540.0], [51.131, 1600458600.0], [50.98, 1600458720.0], [50.995, 1600458780.0], [50.981, 1600458840.0], [51.145, 1600458900.0], [51.068, 1600458960.0], [51.016, 1600459020.0], [50.99, 1600459080.0], [51.026, 1600459140.0]], "pnl": -76.555, "pnl_history": [[0.0, 1600076940.0], [0.0, 1600091760.0], [0.0, 1600091880.0], [0.0, 1600092360.0], [0.0, 1600077960.0], [76.36, 1600077960.0], [76.36, 1600093020.0], [76.36, 1600093260.0], [76.36, 1600093620.0], [76.36, 1600093860.0], [76.36, 1600094100.0], [76.36, 1600095360.0], [76.36, 1600095600.0], [76.36, 1600096740.0], [76.36, 1600097340.0], [76.36, 1600099920.0], [76.36, 1600101960.0], [76.36, 1600102440.0], [76.36, 1600102620.0], [76.36, 1600103160.0], [76.36, 1600103940.0], [76.36, 1600104480.0], [76.36, 1600104600.0], [76.36, 1600104720.0], [76.36, 1600104840.0], [76.36, 1600105980.0], [76.36, 1600106700.0], [76.36, 1600107960.0], [76.36, 1600108920.0], [76.36, 1600109520.0], [76.36, 1600109580.0], [76.36, 1600110000.0], [76.36, 1600110900.0], [76.36, 1600111020.0], [76.36, 1600111080.0], [76.36, 1600111140.0], [76.36, 1600111380.0], [76.36, 1600111440.0], [76.36, 1600111500.0], [76.36, 1600111620.0], [76.36, 1600111680.0], [76.36, 1600111740.0], [76.36, 1600111860.0], [76.36, 1600111980.0], [76.36, 1600112340.0], [76.36, 1600112520.0], [76.36, 1600112640.0], [76.36, 1600112700.0], [76.36, 1600112760.0], [76.36, 1600112880.0], [76.36, 1600112940.0], [76.36, 1600113000.0], [76.36, 1600113180.0], [76.36, 1600113300.0], [76.36, 1600113360.0], [76.36, 1600113420.0], [76.36, 1600113540.0], [76.36, 1600176600.0], [76.36, 1600176660.0], [76.36, 1600176720.0], [76.36, 1600177500.0], [76.36, 1600177560.0], [76.36, 1600177620.0], [76.36, 1600178160.0], [76.36, 1600178220.0], [76.36, 1600178400.0], [76.36, 1600178760.0], [76.36, 1600179420.0], [76.36, 1600179840.0], [76.36, 1600179900.0], [76.36, 1600180080.0], [76.36, 1600180860.0], [76.36, 1600180980.0], [76.36, 1600181100.0], [76.36, 1600181220.0], [76.36, 1600183020.0], [76.36, 1600184160.0], [76.36, 1600187100.0], [76.36, 1600189200.0], [76.36, 1600189560.0], [76.36, 1600190280.0], [76.36, 1600192080.0], [76.36, 1600192920.0], [76.36, 1600193040.0], [76.36, 1600193280.0], [76.36, 1600193400.0], [76.36, 1600193520.0], [76.36, 1600194360.0], [76.36, 1600194720.0], [76.36, 1600196100.0], [76.36, 1600196340.0], [76.36, 1600196760.0], [76.36, 1600196880.0], [76.36, 1600196940.0], [76.36, 1600197000.0], [76.36, 1600197120.0], [76.36, 1600197360.0], [76.36, 1600197480.0], [76.36, 1600197540.0], [76.36, 1600197660.0], [76.36, 1600197840.0], [76.36, 1600197900.0], [76.36, 1600197960.0], [76.36, 1600198080.0], [76.36, 1600198320.0], [76.36, 1600198380.0], [76.36, 1600198500.0], [76.36, 1600198680.0], [76.36, 1600198920.0], [76.36, 1600198980.0], [76.36, 1600199100.0], [76.36, 1600199220.0], [76.36, 1600199340.0], [76.36, 1600199400.0], [76.36, 1600199700.0], [76.36, 1600199820.0], [76.36, 1600199880.0], [76.36, 1600263000.0], [76.36, 1600263780.0], [76.36, 1600264320.0], [76.36, 1600264500.0], [76.36, 1600264560.0], [76.36, 1600264800.0], [76.36, 1600264920.0], [76.36, 1600265160.0], [76.36, 1600265400.0], [76.36, 1600265700.0], [76.36, 1600265760.0], [76.36, 1600266060.0], [76.36, 1600267200.0], [76.36, 1600267260.0], [76.36, 1600268220.0], [76.36, 1600268460.0], [76.36, 1600268700.0], [76.36, 1600269300.0], [76.36, 1600269360.0], [76.36, 1600269840.0], [76.36, 1600255440.0], [76.36, 1600270020.0], [76.36, 1600270980.0], [76.36, 1600272180.0], [76.36, 1600257780.0], [43.786, 1600257780.0], [43.786, 1600272780.0], [43.786, 1600273140.0], [43.786, 1600276380.0], [43.786, 1600277160.0], [43.786, 1600277520.0], [43.786, 1600277700.0], [43.786, 1600278420.0], [43.786, 1600279140.0], [43.786, 1600279320.0], [43.786, 1600279380.0], [43.786, 1600279680.0], [43.786, 1600279740.0], [43.786, 1600279980.0], [43.786, 1600280100.0], [43.786, 1600280160.0], [43.786, 1600280220.0], [43.786, 1600280340.0], [43.786, 1600280520.0], [43.786, 1600281000.0], [43.786, 1600281180.0], [43.786, 1600281360.0], [43.786, 1600281420.0], [43.786, 1600281540.0], [43.786, 1600267140.0], [43.786, 1600281600.0], [43.786, 1600281660.0], [43.786, 1600281840.0], [43.786, 1600267440.0], [1.306, 1600267440.0], [1.306, 1600281900.0], [1.306, 1600282380.0], [1.306, 1600282560.0], [1.306, 1600282740.0], [1.306, 1600282800.0], [1.306, 1600282860.0], [1.306, 1600283280.0], [1.306, 1600283400.0], [1.306, 1600283460.0], [1.306, 1600283640.0], [1.306, 1600283700.0], [1.306, 1600283760.0], [1.306, 1600283940.0], [1.306, 1600284000.0], [1.306, 1600284060.0], [1.306, 1600284180.0], [1.306, 1600284420.0], [1.306, 1600284720.0], [1.306, 1600284780.0], [1.306, 1600284900.0], [1.306, 1600285020.0], [1.306, 1600285080.0], [1.306, 1600285260.0], [1.306, 1600285380.0], [1.306, 1600285500.0], [1.306, 1600285560.0], [1.306, 1600285620.0], [1.306, 1600285800.0], [1.306, 1600286100.0], [1.306, 1600286160.0], [1.306, 1600286220.0], [1.306, 1600286280.0], [1.306, 1600349400.0], [1.306, 1600349460.0], [1.306, 1600349520.0], [1.306, 1600349580.0], [1.306, 1600349820.0], [1.306, 1600335420.0], [1.306, 1600349940.0], [1.306, 1600350180.0], [1.306, 1600335780.0], [-38.054, 1600335780.0], [-38.054, 1600350360.0], [-38.054, 1600350600.0], [-38.054, 1600350660.0], [-38.054, 1600336260.0], [-38.054, 1600350720.0], [-38.054, 1600336320.0], [-4.629, 1600336320.0], [-4.629, 1600350840.0], [-4.629, 1600350900.0], [-4.629, 1600350960.0], [-4.629, 1600351020.0], [-4.629, 1600351200.0], [-4.629, 1600351260.0], [-4.629, 1600351440.0], [-4.629, 1600351500.0], [-4.629, 1600351560.0], [-4.629, 1600351860.0], [-4.629, 1600337460.0], [-4.629, 1600351920.0], [-4.629, 1600351980.0], [-4.629, 1600352100.0], [-4.629, 1600352280.0], [-4.629, 1600352340.0], [-4.629, 1600352580.0], [-4.629, 1600338180.0], [-97.125, 1600338180.0], [-97.125, 1600352760.0], [-97.125, 1600353000.0], [-97.125, 1600353240.0], [-97.125, 1600353300.0], [-97.125, 1600353720.0], [-97.125, 1600353960.0], [-97.125, 1600339560.0], [-97.125, 1600354200.0], [-97.125, 1600354980.0], [-97.125, 1600340580.0], [-76.555, 1600340580.0], [-76.555, 1600355280.0], [-76.555, 1600355340.0], [-76.555, 1600355700.0], [-76.555, 1600355940.0], [-76.555, 1600356000.0], [-76.555, 1600356420.0], [-76.555, 1600356600.0], [-76.555, 1600356660.0], [-76.555, 1600356900.0], [-76.555, 1600357200.0], [-76.555, 1600357680.0], [-76.555, 1600357740.0], [-76.555, 1600357920.0], [-76.555, 1600358100.0], [-76.555, 1600358160.0], [-76.555, 1600358400.0], [-76.555, 1600358640.0], [-76.555, 1600358820.0], [-76.555, 1600359000.0], [-76.555, 1600359300.0], [-76.555, 1600359360.0], [-76.555, 1600359600.0], [-76.555, 1600359780.0], [-76.555, 1600359840.0], [-76.555, 1600360320.0], [-76.555, 1600360380.0], [-76.555, 1600360440.0], [-76.555, 1600360500.0], [-76.555, 1600360620.0], [-76.555, 1600360740.0], [-76.555, 1600361100.0], [-76.555, 1600361520.0], [-76.555, 1600361700.0], [-76.555, 1600361760.0], [-76.555, 1600362000.0], [-76.555, 1600362240.0], [-76.555, 1600362300.0], [-76.555, 1600362360.0], [-76.555, 1600362540.0], [-76.555, 1600362840.0], [-76.555, 1600362960.0], [-76.555, 1600363020.0], [-76.555, 1600363620.0], [-76.555, 1600363800.0], [-76.555, 1600364100.0], [-76.555, 1600365180.0], [-76.555, 1600365240.0], [-76.555, 1600365600.0], [-76.555, 1600365900.0], [-76.555, 1600365960.0], [-76.555, 1600366260.0], [-76.555, 1600366320.0], [-76.555, 1600366560.0], [-76.555, 1600366620.0], [-76.555, 1600366800.0], [-76.555, 1600367220.0], [-76.555, 1600367700.0], [-76.555, 1600367760.0], [-76.555, 1600368060.0], [-76.555, 1600368540.0], [-76.555, 1600368900.0], [-76.555, 1600369680.0], [-76.555, 1600369740.0], [-76.555, 1600369860.0], [-76.555, 1600369920.0], [-76.555, 1600369980.0], [-76.555, 1600370220.0], [-76.555, 1600370880.0], [-76.555, 1600370940.0], [-76.555, 1600371120.0], [-76.555, 1600371240.0], [-76.555, 1600371360.0], [-76.555, 1600371660.0], [-76.555, 1600371720.0], [-76.555, 1600371960.0], [-76.555, 1600372200.0], [-76.555, 1600372380.0], [-76.555, 1600372560.0], [-76.555, 1600372740.0], [-76.555, 1600435800.0], [-76.555, 1600436040.0], [-76.555, 1600436220.0], [-76.555, 1600436460.0], [-76.555, 1600436700.0], [-76.555, 1600436820.0], [-76.555, 1600437360.0], [-76.555, 1600437480.0], [-76.555, 1600437660.0], [-76.555, 1600437960.0], [-76.555, 1600438080.0], [-76.555, 1600438620.0], [-76.555, 1600439100.0], [-76.555, 1600439460.0], [-76.555, 1600439880.0], [-76.555, 1600440060.0], [-76.555, 1600440480.0], [-76.555, 1600440780.0], [-76.555, 1600441260.0], [-76.555, 1600441920.0], [-76.555, 1600442100.0], [-76.555, 1600442160.0], [-76.555, 1600442220.0], [-76.555, 1600443240.0], [-76.555, 1600443300.0], [-76.555, 1600443900.0], [-76.555, 1600444020.0], [-76.555, 1600444140.0], [-76.555, 1600444440.0], [-76.555, 1600444560.0], [-76.555, 1600444860.0], [-76.555, 1600445040.0], [-76.555, 1600445460.0], [-76.555, 1600446480.0], [-76.555, 1600446660.0], [-76.555, 1600447200.0], [-76.555, 1600447320.0], [-76.555, 1600447440.0], [-76.555, 1600447800.0], [-76.555, 1600447860.0], [-76.555, 1600447980.0], [-76.555, 1600448340.0], [-76.555, 1600448700.0], [-76.555, 1600448760.0], [-76.555, 1600448940.0], [-76.555, 1600449180.0], [-76.555, 1600449420.0], [-76.555, 1600449480.0], [-76.555, 1600449660.0], [-76.555, 1600449960.0], [-76.555, 1600450140.0], [-76.555, 1600450320.0], [-76.555, 1600450380.0], [-76.555, 1600450620.0], [-76.555, 1600450800.0], [-76.555, 1600451220.0], [-76.555, 1600451700.0], [-76.555, 1600451760.0], [-76.555, 1600452000.0], [-76.555, 1600452900.0], [-76.555, 1600453020.0], [-76.555, 1600453380.0], [-76.555, 1600453680.0], [-76.555, 1600454100.0], [-76.555, 1600454160.0], [-76.555, 1600454760.0], [-76.555, 1600455000.0], [-76.555, 1600455300.0], [-76.555, 1600455360.0], [-76.555, 1600455420.0], [-76.555, 1600455540.0], [-76.555, 1600455600.0], [-76.555, 1600455840.0], [-76.555, 1600456260.0], [-76.555, 1600456320.0], [-76.555, 1600456380.0], [-76.555, 1600456920.0], [-76.555, 1600457100.0], [-76.555, 1600457280.0], [-76.555, 1600457340.0], [-76.555, 1600457400.0], [-76.555, 1600457520.0], [-76.555, 1600457940.0], [-76.555, 1600458180.0], [-76.555, 1600458420.0], [-76.555, 1600458540.0], [-76.555, 1600458600.0], [-76.555, 1600458720.0], [-76.555, 1600458780.0], [-76.555, 1600458840.0], [-76.555, 1600458900.0], [-76.555, 1600458960.0], [-76.555, 1600459020.0], [-76.555, 1600459080.0], [-76.555, 1600459140.0]], "unrealizedPnl": -0.0, "unrealizedPnl_history": [[0.0, 1600076940.0], [16.56, 1600091760.0], [18.4, 1600091880.0], [76.36, 1600092360.0], [76.36, 1600077960.0], [0.0, 1600077960.0], [0.0, 1600093020.0], [0.0, 1600093260.0], [0.0, 1600093620.0], [0.0, 1600093860.0], [0.0, 1600094100.0], [0.0, 1600095360.0], [0.0, 1600095600.0], [0.0, 1600096740.0], [0.0, 1600097340.0], [0.0, 1600099920.0], [0.0, 1600101960.0], [0.0, 1600102440.0], [0.0, 1600102620.0], [0.0, 1600103160.0], [-0.0, 1600103940.0], [0.0, 1600104480.0], [0.0, 1600104600.0], [-0.0, 1600104720.0], [-0.0, 1600104840.0], [0.0, 1600105980.0], [0.0, 1600106700.0], [0.0, 1600107960.0], [-0.0, 1600108920.0], [0.0, 1600109520.0], [0.0, 1600109580.0], [-0.0, 1600110000.0], [-0.0, 1600110900.0], [-0.0, 1600111020.0], [-0.0, 1600111080.0], [-0.0, 1600111140.0], [-0.0, 1600111380.0], [-0.0, 1600111440.0], [-0.0, 1600111500.0], [-0.0, 1600111620.0], [-0.0, 1600111680.0], [-0.0, 1600111740.0], [-0.0, 1600111860.0], [-0.0, 1600111980.0], [0.0, 1600112340.0], [0.0, 1600112520.0], [0.0, 1600112640.0], [0.0, 1600112700.0], [0.0, 1600112760.0], [0.0, 1600112880.0], [0.0, 1600112940.0], [0.0, 1600113000.0], [0.0, 1600113180.0], [0.0, 1600113300.0], [0.0, 1600113360.0], [-0.0, 1600113420.0], [-0.0, 1600113540.0], [0.0, 1600176600.0], [0.0, 1600176660.0], [0.0, 1600176720.0], [0.0, 1600177500.0], [0.0, 1600177560.0], [0.0, 1600177620.0], [0.0, 1600178160.0], [0.0, 1600178220.0], [0.0, 1600178400.0], [0.0, 1600178760.0], [0.0, 1600179420.0], [0.0, 1600179840.0], [0.0, 1600179900.0], [0.0, 1600180080.0], [0.0, 1600180860.0], [0.0, 1600180980.0], [0.0, 1600181100.0], [0.0, 1600181220.0], [0.0, 1600183020.0], [0.0, 1600184160.0], [0.0, 1600187100.0], [0.0, 1600189200.0], [0.0, 1600189560.0], [0.0, 1600190280.0], [0.0, 1600192080.0], [0.0, 1600192920.0], [0.0, 1600193040.0], [0.0, 1600193280.0], [0.0, 1600193400.0], [0.0, 1600193520.0], [0.0, 1600194360.0], [0.0, 1600194720.0], [0.0, 1600196100.0], [0.0, 1600196340.0], [0.0, 1600196760.0], [0.0, 1600196880.0], [0.0, 1600196940.0], [0.0, 1600197000.0], [0.0, 1600197120.0], [0.0, 1600197360.0], [0.0, 1600197480.0], [0.0, 1600197540.0], [0.0, 1600197660.0], [0.0, 1600197840.0], [0.0, 1600197900.0], [0.0, 1600197960.0], [0.0, 1600198080.0], [0.0, 1600198320.0], [0.0, 1600198380.0], [0.0, 1600198500.0], [0.0, 1600198680.0], [0.0, 1600198920.0], [0.0, 1600198980.0], [0.0, 1600199100.0], [0.0, 1600199220.0], [0.0, 1600199340.0], [0.0, 1600199400.0], [0.0, 1600199700.0], [0.0, 1600199820.0], [0.0, 1600199880.0], [0.0, 1600263000.0], [0.0, 1600263780.0], [0.0, 1600264320.0], [0.0, 1600264500.0], [0.0, 1600264560.0], [0.0, 1600264800.0], [0.0, 1600264920.0], [0.0, 1600265160.0], [0.0, 1600265400.0], [0.0, 1600265700.0], [0.0, 1600265760.0], [0.0, 1600266060.0], [0.0, 1600267200.0], [0.0, 1600267260.0], [0.0, 1600268220.0], [0.0, 1600268460.0], [0.0, 1600268700.0], [0.0, 1600269300.0], [0.0, 1600269360.0], [0.0, 1600269840.0], [0.0, 1600255440.0], [-8.544, 1600270020.0], [-15.664, 1600270980.0], [-32.574, 1600272180.0], [-32.574, 1600257780.0], [-0.0, 1600257780.0], [-0.0, 1600272780.0], [-0.0, 1600273140.0], [-0.0, 1600276380.0], [-0.0, 1600277160.0], [-0.0, 1600277520.0], [-0.0, 1600277700.0], [-0.0, 1600278420.0], [-0.0, 1600279140.0], [-0.0, 1600279320.0], [-0.0, 1600279380.0], [-0.0, 1600279680.0], [-0.0, 1600279740.0], [-0.0, 1600279980.0], [-0.0, 1600280100.0], [0.0, 1600280160.0], [0.0, 1600280220.0], [0.0, 1600280340.0], [-0.0, 1600280520.0], [0.0, 1600281000.0], [-0.0, 1600281180.0], [0.0, 1600281360.0], [0.0, 1600281420.0], [0.0, 1600281540.0], [0.0, 1600267140.0], [-7.08, 1600281600.0], [-5.31, 1600281660.0], [-42.48, 1600281840.0], [-42.48, 1600267440.0], [0.0, 1600267440.0], [-0.0, 1600281900.0], [-0.0, 1600282380.0], [-0.0, 1600282560.0], [-0.0, 1600282740.0], [-0.0, 1600282800.0], [-0.0, 1600282860.0], [-0.0, 1600283280.0], [-0.0, 1600283400.0], [-0.0, 1600283460.0], [-0.0, 1600283640.0], [-0.0, 1600283700.0], [-0.0, 1600283760.0], [-0.0, 1600283940.0], [-0.0, 1600284000.0], [-0.0, 1600284060.0], [-0.0, 1600284180.0], [-0.0, 1600284420.0], [-0.0, 1600284720.0], [-0.0, 1600284780.0], [-0.0, 1600284900.0], [-0.0, 1600285020.0], [-0.0, 1600285080.0], [-0.0, 1600285260.0], [-0.0, 1600285380.0], [-0.0, 1600285500.0], [-0.0, 1600285560.0], [-0.0, 1600285620.0], [-0.0, 1600285800.0], [-0.0, 1600286100.0], [-0.0, 1600286160.0], [-0.0, 1600286220.0], [-0.0, 1600286280.0], [-0.0, 1600349400.0], [-0.0, 1600349460.0], [-0.0, 1600349520.0], [-0.0, 1600349580.0], [-0.0, 1600349820.0], [-0.0, 1600335420.0], [-8.64, 1600349940.0], [-39.36, 1600350180.0], [-39.36, 1600335780.0], [-0.0, 1600335780.0], [0.0, 1600350360.0], [0.0, 1600350600.0], [0.0, 1600350660.0], [0.0, 1600336260.0], [33.425, 1600350720.0], [33.425, 1600336320.0], [0.0, 1600336320.0], [0.0, 1600350840.0], [0.0, 1600350900.0], [0.0, 1600350960.0], [-0.0, 1600351020.0], [0.0, 1600351200.0], [0.0, 1600351260.0], [0.0, 1600351440.0], [0.0, 1600351500.0], [0.0, 1600351560.0], [0.0, 1600351860.0], [0.0, 1600337460.0], [-23.5, 1600351920.0], [-43.24, 1600351980.0], [-55.46, 1600352100.0], [-59.22, 1600352280.0], [-57.34, 1600352340.0], [-92.496, 1600352580.0], [-92.496, 1600338180.0], [-0.0, 1600338180.0], [-0.0, 1600352760.0], [-0.0, 1600353000.0], [-0.0, 1600353240.0], [-0.0, 1600353300.0], [-0.0, 1600353720.0], [0.0, 1600353960.0], [0.0, 1600339560.0], [0.0, 1600354200.0], [20.57, 1600354980.0], [20.57, 1600340580.0], [0.0, 1600340580.0], [0.0, 1600355280.0], [0.0, 1600355340.0], [0.0, 1600355700.0], [-0.0, 1600355940.0], [0.0, 1600356000.0], [-0.0, 1600356420.0], [-0.0, 1600356600.0], [-0.0, 1600356660.0], [-0.0, 1600356900.0], [-0.0, 1600357200.0], [-0.0, 1600357680.0], [-0.0, 1600357740.0], [-0.0, 1600357920.0], [-0.0, 1600358100.0], [-0.0, 1600358160.0], [-0.0, 1600358400.0], [-0.0, 1600358640.0], [-0.0, 1600358820.0], [-0.0, 1600359000.0], [-0.0, 1600359300.0], [-0.0, 1600359360.0], [-0.0, 1600359600.0], [-0.0, 1600359780.0], [-0.0, 1600359840.0], [-0.0, 1600360320.0], [-0.0, 1600360380.0], [-0.0, 1600360440.0], [-0.0, 1600360500.0], [-0.0, 1600360620.0], [-0.0, 1600360740.0], [-0.0, 1600361100.0], [-0.0, 1600361520.0], [-0.0, 1600361700.0], [-0.0, 1600361760.0], [-0.0, 1600362000.0], [-0.0, 1600362240.0], [-0.0, 1600362300.0], [-0.0, 1600362360.0], [-0.0, 1600362540.0], [-0.0, 1600362840.0], [-0.0, 1600362960.0], [-0.0, 1600363020.0], [-0.0, 1600363620.0], [-0.0, 1600363800.0], [-0.0, 1600364100.0], [-0.0, 1600365180.0], [-0.0, 1600365240.0], [-0.0, 1600365600.0], [-0.0, 1600365900.0], [-0.0, 1600365960.0], [-0.0, 1600366260.0], [-0.0, 1600366320.0], [-0.0, 1600366560.0], [-0.0, 1600366620.0], [-0.0, 1600366800.0], [-0.0, 1600367220.0], [-0.0, 1600367700.0], [-0.0, 1600367760.0], [-0.0, 1600368060.0], [-0.0, 1600368540.0], [-0.0, 1600368900.0], [-0.0, 1600369680.0], [-0.0, 1600369740.0], [-0.0, 1600369860.0], [-0.0, 1600369920.0], [-0.0, 1600369980.0], [-0.0, 1600370220.0], [-0.0, 1600370880.0], [-0.0, 1600370940.0], [-0.0, 1600371120.0], [-0.0, 1600371240.0], [-0.0, 1600371360.0], [-0.0, 1600371660.0], [-0.0, 1600371720.0], [-0.0, 1600371960.0], [-0.0, 1600372200.0], [-0.0, 1600372380.0], [-0.0, 1600372560.0], [-0.0, 1600372740.0], [-0.0, 1600435800.0], [-0.0, 1600436040.0], [-0.0, 1600436220.0], [-0.0, 1600436460.0], [-0.0, 1600436700.0], [-0.0, 1600436820.0], [-0.0, 1600437360.0], [-0.0, 1600437480.0], [-0.0, 1600437660.0], [-0.0, 1600437960.0], [-0.0, 1600438080.0], [-0.0, 1600438620.0], [-0.0, 1600439100.0], [-0.0, 1600439460.0], [-0.0, 1600439880.0], [-0.0, 1600440060.0], [-0.0, 1600440480.0], [-0.0, 1600440780.0], [-0.0, 1600441260.0], [-0.0, 1600441920.0], [-0.0, 1600442100.0], [-0.0, 1600442160.0], [-0.0, 1600442220.0], [-0.0, 1600443240.0], [-0.0, 1600443300.0], [-0.0, 1600443900.0], [-0.0, 1600444020.0], [-0.0, 1600444140.0], [-0.0, 1600444440.0], [-0.0, 1600444560.0], [-0.0, 1600444860.0], [-0.0, 1600445040.0], [-0.0, 1600445460.0], [-0.0, 1600446480.0], [-0.0, 1600446660.0], [-0.0, 1600447200.0], [-0.0, 1600447320.0], [-0.0, 1600447440.0], [-0.0, 1600447800.0], [-0.0, 1600447860.0], [-0.0, 1600447980.0], [-0.0, 1600448340.0], [-0.0, 1600448700.0], [-0.0, 1600448760.0], [-0.0, 1600448940.0], [-0.0, 1600449180.0], [-0.0, 1600449420.0], [-0.0, 1600449480.0], [-0.0, 1600449660.0], [-0.0, 1600449960.0], [-0.0, 1600450140.0], [-0.0, 1600450320.0], [-0.0, 1600450380.0], [-0.0, 1600450620.0], [-0.0, 1600450800.0], [-0.0, 1600451220.0], [-0.0, 1600451700.0], [-0.0, 1600451760.0], [-0.0, 1600452000.0], [-0.0, 1600452900.0], [-0.0, 1600453020.0], [-0.0, 1600453380.0], [-0.0, 1600453680.0], [-0.0, 1600454100.0], [-0.0, 1600454160.0], [-0.0, 1600454760.0], [-0.0, 1600455000.0], [-0.0, 1600455300.0], [-0.0, 1600455360.0], [-0.0, 1600455420.0], [-0.0, 1600455540.0], [-0.0, 1600455600.0], [-0.0, 1600455840.0], [-0.0, 1600456260.0], [-0.0, 1600456320.0], [-0.0, 1600456380.0], [-0.0, 1600456920.0], [-0.0, 1600457100.0], [-0.0, 1600457280.0], [-0.0, 1600457340.0], [-0.0, 1600457400.0], [-0.0, 1600457520.0], [-0.0, 1600457940.0], [-0.0, 1600458180.0], [-0.0, 1600458420.0], [-0.0, 1600458540.0], [-0.0, 1600458600.0], [-0.0, 1600458720.0], [-0.0, 1600458780.0], [-0.0, 1600458840.0], [-0.0, 1600458900.0], [-0.0, 1600458960.0], [-0.0, 1600459020.0], [-0.0, 1600459080.0], [-0.0, 1600459140.0]], "trades": [{"id": 1, "timestamp": 1600076940.0, "price": 54.15, "volume": 184.0, "taker_order": {"id": 1, "timestamp": 1600076940.0, "volume": 184.0, "price": 54.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 2, "timestamp": 1600077960.0, "price": 54.565, "volume": 184.0, "taker_order": {"id": 2, "timestamp": 1600077960.0, "volume": 184.0, "price": 54.565, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 11, "timestamp": 1600255440.0, "price": 55.878, "volume": 178.0, "taker_order": {"id": 11, "timestamp": 1600255440.0, "volume": 178.0, "price": 55.878, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 12, "timestamp": 1600257780.0, "price": 55.695, "volume": 178.0, "taker_order": {"id": 12, "timestamp": 1600257780.0, "volume": 178.0, "price": 55.695, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 13, "timestamp": 1600267140.0, "price": 56.21, "volume": 177.0, "taker_order": {"id": 13, "timestamp": 1600267140.0, "volume": 177.0, "price": 56.21, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 14, "timestamp": 1600267440.0, "price": 55.97, "volume": 177.0, "taker_order": {"id": 14, "timestamp": 1600267440.0, "volume": 177.0, "price": 55.97, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 17, "timestamp": 1600335420.0, "price": 51.985, "volume": 192.0, "taker_order": {"id": 17, "timestamp": 1600335420.0, "volume": 192.0, "price": 51.985, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 18, "timestamp": 1600335780.0, "price": 51.78, "volume": 192.0, "taker_order": {"id": 18, "timestamp": 1600335780.0, "volume": 192.0, "price": 51.78, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 19, "timestamp": 1600336260.0, "price": 52.295, "volume": 191.0, "taker_order": {"id": 19, "timestamp": 1600336260.0, "volume": 191.0, "price": 52.295, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 20, "timestamp": 1600336320.0, "price": 52.47, "volume": 191.0, "taker_order": {"id": 20, "timestamp": 1600336320.0, "volume": 191.0, "price": 52.47, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 21, "timestamp": 1600337460.0, "price": 53.125, "volume": 188.0, "taker_order": {"id": 21, "timestamp": 1600337460.0, "volume": 188.0, "price": 53.125, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 22, "timestamp": 1600338180.0, "price": 52.633, "volume": 188.0, "taker_order": {"id": 22, "timestamp": 1600338180.0, "volume": 188.0, "price": 52.633, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 23, "timestamp": 1600339560.0, "price": 53.28, "volume": 187.0, "taker_order": {"id": 23, "timestamp": 1600339560.0, "volume": 187.0, "price": 53.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 24, "timestamp": 1600340580.0, "price": 53.39, "volume": 187.0, "taker_order": {"id": 24, "timestamp": 1600340580.0, "volume": 187.0, "price": 53.39, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}]}}, "MomentumStrategy-1": {"{\"name\": \"SPXS\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": {"timestamp": 1600096920.0, "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "size": 0.0, "size_history": [[1742.0, 1600096920.0], [0.0, 1600097580.0], [1785.0, 1600166640.0], [0.0, 1600167120.0], [1774.0, 1600182420.0], [0.0, 1600184100.0], [1782.0, 1600253280.0], [0.0, 1600253700.0], [1770.0, 1600269120.0], [0.0, 1600270260.0], [1694.0, 1600426080.0], [0.0, 1600426860.0], [1666.0, 1600432560.0], [0.0, 1600433280.0], [1641.0, 1600435620.0], [0.0, 1600435680.0]], "notional": 9999.08, "notional_history": [[9999.08, 1600096920.0], [9972.949999999999, 1600111980.0], [9972.949999999999, 1600097580.0], [9960.3, 1600181520.0], [9960.3, 1600167120.0], [10014.23, 1600196880.0], [10005.359999999999, 1600196940.0], [10005.359999999999, 1600197360.0], [10005.359999999999, 1600197540.0], [10005.359999999999, 1600198020.0], [9996.49, 1600198080.0], [10040.84, 1600198500.0], [10040.84, 1600184100.0], [9961.38, 1600268100.0], [9961.38, 1600253700.0], [9991.65, 1600283580.0], [9973.949999999999, 1600283640.0], [10009.35, 1600283700.0], [9973.949999999999, 1600284120.0], [10027.05, 1600284660.0], [10027.05, 1600270260.0], [10070.83, 1600441260.0], [10070.83, 1600426860.0], [10037.650000000001, 1600447680.0], [10037.650000000001, 1600433280.0], [10018.305, 1600450080.0], [10018.305, 1600435680.0]], "price": 6.091, "price_history": [[5.74, 1600096920.0], [5.6, 1600166640.0], [5.635, 1600182420.0], [5.61, 1600253280.0], [5.648, 1600269120.0], [5.9, 1600426080.0], [6.0, 1600432560.0], [6.091, 1600435620.0]], "investment": 9995.331, "investment_history": [[9999.08, 1600096920.0], [9996.0, 1600166640.0], [9996.49, 1600182420.0], [9997.02, 1600253280.0], [9996.96, 1600269120.0], [9994.6, 1600426080.0], [9996.0, 1600432560.0], [9995.331, 1600435620.0]], "instrumentPrice": 6.031, "instrumentPrice_history": [[5.74, 1600096920.0], [5.725, 1600111980.0], [5.725, 1600097580.0], [5.65, 1600112940.0], [5.695, 1600113360.0], [5.56, 1600176780.0], [5.54, 1600177440.0], [5.57, 1600177980.0], [5.56, 1600178220.0], [5.545, 1600178700.0], [5.555, 1600178880.0], [5.56, 1600179420.0], [5.56, 1600179540.0], [5.56, 1600179600.0], [5.56, 1600180380.0], [5.551, 1600180500.0], [5.575, 1600180800.0], [5.565, 1600180860.0], [5.6, 1600181040.0], [5.6, 1600166640.0], [5.58, 1600181520.0], [5.58, 1600167120.0], [5.565, 1600181700.0], [5.555, 1600182180.0], [5.545, 1600182420.0], [5.545, 1600182540.0], [5.545, 1600182600.0], [5.56, 1600183320.0], [5.555, 1600183380.0], [5.557, 1600183560.0], [5.555, 1600183800.0], [5.555, 1600184040.0], [5.54, 1600184100.0], [5.55, 1600184280.0], [5.545, 1600184400.0], [5.56, 1600185600.0], [5.57, 1600186140.0], [5.56, 1600187100.0], [5.54, 1600190220.0], [5.56, 1600191300.0], [5.57, 1600192680.0], [5.6, 1600194120.0], [5.59, 1600194420.0], [5.595, 1600194480.0], [5.6, 1600196280.0], [5.6, 1600196460.0], [5.635, 1600196820.0], [5.635, 1600182420.0], [5.645, 1600196880.0], [5.64, 1600196940.0], [5.64, 1600197360.0], [5.64, 1600197540.0], [5.64, 1600198020.0], [5.635, 1600198080.0], [5.66, 1600198500.0], [5.66, 1600184100.0], [5.655, 1600198560.0], [5.675, 1600198740.0], [5.685, 1600198800.0], [5.65, 1600199400.0], [5.645, 1600199460.0], [5.63, 1600199640.0], [5.63, 1600199760.0], [5.63, 1600199880.0], [5.625, 1600199940.0], [5.565, 1600263060.0], [5.58, 1600263420.0], [5.585, 1600264260.0], [5.565, 1600265760.0], [5.565, 1600266240.0], [5.61, 1600267680.0], [5.61, 1600253280.0], [5.59, 1600268100.0], [5.59, 1600253700.0], [5.57, 1600268760.0], [5.545, 1600271760.0], [5.55, 1600271940.0], [5.575, 1600275180.0], [5.575, 1600275300.0], [5.565, 1600275540.0], [5.57, 1600275900.0], [5.585, 1600276560.0], [5.605, 1600278240.0], [5.59, 1600278720.0], [5.535, 1600279320.0], [5.52, 1600280580.0], [5.525, 1600280940.0], [5.648, 1600283520.0], [5.648, 1600269120.0], [5.645, 1600283580.0], [5.635, 1600283640.0], [5.655, 1600283700.0], [5.635, 1600284120.0], [5.665, 1600284660.0], [5.665, 1600270260.0], [5.685, 1600285260.0], [5.655, 1600285500.0], [5.615, 1600285680.0], [5.625, 1600285740.0], [5.63, 1600285800.0], [5.675, 1600285920.0], [5.67, 1600285980.0], [5.675, 1600286040.0], [5.695, 1600286100.0], [5.69, 1600286220.0], [5.705, 1600286340.0], [5.94, 1600349700.0], [5.928, 1600349820.0], [5.915, 1600349880.0], [5.945, 1600350000.0], [5.92, 1600350420.0], [5.93, 1600350480.0], [5.91, 1600350600.0], [5.88, 1600350660.0], [5.87, 1600350720.0], [5.88, 1600350780.0], [5.875, 1600350840.0], [5.83, 1600351560.0], [5.83, 1600351680.0], [5.81, 1600351920.0], [5.825, 1600352100.0], [5.88, 1600352700.0], [5.88, 1600352760.0], [5.79, 1600354320.0], [5.79, 1600354440.0], [5.805, 1600354560.0], [5.805, 1600354680.0], [5.78, 1600354860.0], [5.76, 1600355760.0], [5.865, 1600358700.0], [5.91, 1600359000.0], [5.944, 1600359240.0], [5.965, 1600359540.0], [5.95, 1600360380.0], [5.945, 1600360920.0], [5.955, 1600360980.0], [5.925, 1600361700.0], [5.92, 1600362120.0], [5.945, 1600368180.0], [5.93, 1600368540.0], [5.935, 1600369140.0], [5.96, 1600369680.0], [5.96, 1600369740.0], [5.94, 1600369860.0], [5.883, 1600371900.0], [5.89, 1600371960.0], [5.855, 1600372260.0], [5.859, 1600372380.0], [5.85, 1600372500.0], [5.87, 1600372620.0], [5.86, 1600372680.0], [5.853, 1600372740.0], [5.855, 1600436700.0], [5.88, 1600437180.0], [5.855, 1600437660.0], [5.857, 1600437900.0], [5.865, 1600439580.0], [5.9, 1600440480.0], [5.9, 1600426080.0], [5.945, 1600441260.0], [5.945, 1600426860.0], [5.945, 1600441320.0], [5.94, 1600441980.0], [5.93, 1600443000.0], [5.975, 1600443420.0], [5.915, 1600444140.0], [6.0, 1600446960.0], [6.0, 1600432560.0], [6.025, 1600447680.0], [6.025, 1600433280.0], [6.045, 1600447800.0], [6.04, 1600448220.0], [6.05, 1600448760.0], [6.05, 1600449120.0], [6.06, 1600449420.0], [6.091, 1600450020.0], [6.091, 1600435620.0], [6.105, 1600450080.0], [6.105, 1600435680.0], [6.12, 1600451220.0], [6.105, 1600451340.0], [6.115, 1600451580.0], [6.075, 1600453920.0], [6.065, 1600454040.0], [6.085, 1600455300.0], [6.03, 1600457160.0], [6.005, 1600457880.0], [6.01, 1600457940.0], [6.03, 1600458660.0], [6.045, 1600458720.0], [6.04, 1600458840.0], [6.026, 1600458960.0], [6.035, 1600459080.0], [6.031, 1600459140.0]], "pnl": 117.824, "pnl_history": [[0.0, 1600096920.0], [0.0, 1600111980.0], [0.0, 1600097580.0], [-26.13, 1600097580.0], [-26.13, 1600112940.0], [-26.13, 1600113360.0], [-26.13, 1600176780.0], [-26.13, 1600177440.0], [-26.13, 1600177980.0], [-26.13, 1600178220.0], [-26.13, 1600178700.0], [-26.13, 1600178880.0], [-26.13, 1600179420.0], [-26.13, 1600179540.0], [-26.13, 1600179600.0], [-26.13, 1600180380.0], [-26.13, 1600180500.0], [-26.13, 1600180800.0], [-26.13, 1600180860.0], [-26.13, 1600181040.0], [-26.13, 1600166640.0], [-26.13, 1600181520.0], [-26.13, 1600167120.0], [-61.83, 1600167120.0], [-61.83, 1600181700.0], [-61.83, 1600182180.0], [-61.83, 1600182420.0], [-61.83, 1600182540.0], [-61.83, 1600182600.0], [-61.83, 1600183320.0], [-61.83, 1600183380.0], [-61.83, 1600183560.0], [-61.83, 1600183800.0], [-61.83, 1600184040.0], [-61.83, 1600184100.0], [-61.83, 1600184280.0], [-61.83, 1600184400.0], [-61.83, 1600185600.0], [-61.83, 1600186140.0], [-61.83, 1600187100.0], [-61.83, 1600190220.0], [-61.83, 1600191300.0], [-61.83, 1600192680.0], [-61.83, 1600194120.0], [-61.83, 1600194420.0], [-61.83, 1600194480.0], [-61.83, 1600196280.0], [-61.83, 1600196460.0], [-61.83, 1600196820.0], [-61.83, 1600182420.0], [-61.83, 1600196880.0], [-61.83, 1600196940.0], [-61.83, 1600197360.0], [-61.83, 1600197540.0], [-61.83, 1600198020.0], [-61.83, 1600198080.0], [-61.83, 1600198500.0], [-61.83, 1600184100.0], [-17.48, 1600184100.0], [-17.48, 1600198560.0], [-17.48, 1600198740.0], [-17.48, 1600198800.0], [-17.48, 1600199400.0], [-17.48, 1600199460.0], [-17.48, 1600199640.0], [-17.48, 1600199760.0], [-17.48, 1600199880.0], [-17.48, 1600199940.0], [-17.48, 1600263060.0], [-17.48, 1600263420.0], [-17.48, 1600264260.0], [-17.48, 1600265760.0], [-17.48, 1600266240.0], [-17.48, 1600267680.0], [-17.48, 1600253280.0], [-17.48, 1600268100.0], [-17.48, 1600253700.0], [-53.12, 1600253700.0], [-53.12, 1600268760.0], [-53.12, 1600271760.0], [-53.12, 1600271940.0], [-53.12, 1600275180.0], [-53.12, 1600275300.0], [-53.12, 1600275540.0], [-53.12, 1600275900.0], [-53.12, 1600276560.0], [-53.12, 1600278240.0], [-53.12, 1600278720.0], [-53.12, 1600279320.0], [-53.12, 1600280580.0], [-53.12, 1600280940.0], [-53.12, 1600283520.0], [-53.12, 1600269120.0], [-53.12, 1600283580.0], [-53.12, 1600283640.0], [-53.12, 1600283700.0], [-53.12, 1600284120.0], [-53.12, 1600284660.0], [-53.12, 1600270260.0], [-23.03, 1600270260.0], [-23.03, 1600285260.0], [-23.03, 1600285500.0], [-23.03, 1600285680.0], [-23.03, 1600285740.0], [-23.03, 1600285800.0], [-23.03, 1600285920.0], [-23.03, 1600285980.0], [-23.03, 1600286040.0], [-23.03, 1600286100.0], [-23.03, 1600286220.0], [-23.03, 1600286340.0], [-23.03, 1600349700.0], [-23.03, 1600349820.0], [-23.03, 1600349880.0], [-23.03, 1600350000.0], [-23.03, 1600350420.0], [-23.03, 1600350480.0], [-23.03, 1600350600.0], [-23.03, 1600350660.0], [-23.03, 1600350720.0], [-23.03, 1600350780.0], [-23.03, 1600350840.0], [-23.03, 1600351560.0], [-23.03, 1600351680.0], [-23.03, 1600351920.0], [-23.03, 1600352100.0], [-23.03, 1600352700.0], [-23.03, 1600352760.0], [-23.03, 1600354320.0], [-23.03, 1600354440.0], [-23.03, 1600354560.0], [-23.03, 1600354680.0], [-23.03, 1600354860.0], [-23.03, 1600355760.0], [-23.03, 1600358700.0], [-23.03, 1600359000.0], [-23.03, 1600359240.0], [-23.03, 1600359540.0], [-23.03, 1600360380.0], [-23.03, 1600360920.0], [-23.03, 1600360980.0], [-23.03, 1600361700.0], [-23.03, 1600362120.0], [-23.03, 1600368180.0], [-23.03, 1600368540.0], [-23.03, 1600369140.0], [-23.03, 1600369680.0], [-23.03, 1600369740.0], [-23.03, 1600369860.0], [-23.03, 1600371900.0], [-23.03, 1600371960.0], [-23.03, 1600372260.0], [-23.03, 1600372380.0], [-23.03, 1600372500.0], [-23.03, 1600372620.0], [-23.03, 1600372680.0], [-23.03, 1600372740.0], [-23.03, 1600436700.0], [-23.03, 1600437180.0], [-23.03, 1600437660.0], [-23.03, 1600437900.0], [-23.03, 1600439580.0], [-23.03, 1600440480.0], [-23.03, 1600426080.0], [-23.03, 1600441260.0], [-23.03, 1600426860.0], [53.2, 1600426860.0], [53.2, 1600441320.0], [53.2, 1600441980.0], [53.2, 1600443000.0], [53.2, 1600443420.0], [53.2, 1600444140.0], [53.2, 1600446960.0], [53.2, 1600432560.0], [53.2, 1600447680.0], [53.2, 1600433280.0], [94.85, 1600433280.0], [94.85, 1600447800.0], [94.85, 1600448220.0], [94.85, 1600448760.0], [94.85, 1600449120.0], [94.85, 1600449420.0], [94.85, 1600450020.0], [94.85, 1600435620.0], [94.85, 1600450080.0], [94.85, 1600435680.0], [117.824, 1600435680.0], [117.824, 1600451220.0], [117.824, 1600451340.0], [117.824, 1600451580.0], [117.824, 1600453920.0], [117.824, 1600454040.0], [117.824, 1600455300.0], [117.824, 1600457160.0], [117.824, 1600457880.0], [117.824, 1600457940.0], [117.824, 1600458660.0], [117.824, 1600458720.0], [117.824, 1600458840.0], [117.824, 1600458960.0], [117.824, 1600459080.0], [117.824, 1600459140.0]], "unrealizedPnl": -0.0, "unrealizedPnl_history": [[0.0, 1600096920.0], [-26.13, 1600111980.0], [-26.13, 1600097580.0], [0.0, 1600097580.0], [-0.0, 1600112940.0], [-0.0, 1600113360.0], [-0.0, 1600176780.0], [-0.0, 1600177440.0], [-0.0, 1600177980.0], [-0.0, 1600178220.0], [-0.0, 1600178700.0], [-0.0, 1600178880.0], [-0.0, 1600179420.0], [-0.0, 1600179540.0], [-0.0, 1600179600.0], [-0.0, 1600180380.0], [-0.0, 1600180500.0], [-0.0, 1600180800.0], [-0.0, 1600180860.0], [-0.0, 1600181040.0], [-0.0, 1600166640.0], [-35.7, 1600181520.0], [-35.7, 1600167120.0], [-0.0, 1600167120.0], [-0.0, 1600181700.0], [-0.0, 1600182180.0], [-0.0, 1600182420.0], [-0.0, 1600182540.0], [-0.0, 1600182600.0], [-0.0, 1600183320.0], [-0.0, 1600183380.0], [-0.0, 1600183560.0], [-0.0, 1600183800.0], [-0.0, 1600184040.0], [-0.0, 1600184100.0], [-0.0, 1600184280.0], [-0.0, 1600184400.0], [-0.0, 1600185600.0], [-0.0, 1600186140.0], [-0.0, 1600187100.0], [-0.0, 1600190220.0], [-0.0, 1600191300.0], [-0.0, 1600192680.0], [0.0, 1600194120.0], [-0.0, 1600194420.0], [-0.0, 1600194480.0], [0.0, 1600196280.0], [0.0, 1600196460.0], [0.0, 1600196820.0], [0.0, 1600182420.0], [17.74, 1600196880.0], [8.87, 1600196940.0], [8.87, 1600197360.0], [8.87, 1600197540.0], [8.87, 1600198020.0], [0.0, 1600198080.0], [44.35, 1600198500.0], [44.35, 1600184100.0], [-0.0, 1600184100.0], [0.0, 1600198560.0], [0.0, 1600198740.0], [0.0, 1600198800.0], [0.0, 1600199400.0], [0.0, 1600199460.0], [-0.0, 1600199640.0], [-0.0, 1600199760.0], [-0.0, 1600199880.0], [-0.0, 1600199940.0], [-0.0, 1600263060.0], [-0.0, 1600263420.0], [-0.0, 1600264260.0], [-0.0, 1600265760.0], [-0.0, 1600266240.0], [-0.0, 1600267680.0], [-0.0, 1600253280.0], [-35.64, 1600268100.0], [-35.64, 1600253700.0], [0.0, 1600253700.0], [-0.0, 1600268760.0], [-0.0, 1600271760.0], [-0.0, 1600271940.0], [-0.0, 1600275180.0], [-0.0, 1600275300.0], [-0.0, 1600275540.0], [-0.0, 1600275900.0], [-0.0, 1600276560.0], [-0.0, 1600278240.0], [-0.0, 1600278720.0], [-0.0, 1600279320.0], [-0.0, 1600280580.0], [-0.0, 1600280940.0], [0.0, 1600283520.0], [0.0, 1600269120.0], [-5.31, 1600283580.0], [-23.01, 1600283640.0], [12.39, 1600283700.0], [-23.01, 1600284120.0], [30.09, 1600284660.0], [30.09, 1600270260.0], [-0.0, 1600270260.0], [0.0, 1600285260.0], [0.0, 1600285500.0], [-0.0, 1600285680.0], [-0.0, 1600285740.0], [-0.0, 1600285800.0], [0.0, 1600285920.0], [0.0, 1600285980.0], [0.0, 1600286040.0], [0.0, 1600286100.0], [0.0, 1600286220.0], [0.0, 1600286340.0], [0.0, 1600349700.0], [0.0, 1600349820.0], [0.0, 1600349880.0], [0.0, 1600350000.0], [0.0, 1600350420.0], [0.0, 1600350480.0], [0.0, 1600350600.0], [0.0, 1600350660.0], [0.0, 1600350720.0], [0.0, 1600350780.0], [0.0, 1600350840.0], [0.0, 1600351560.0], [0.0, 1600351680.0], [0.0, 1600351920.0], [0.0, 1600352100.0], [0.0, 1600352700.0], [0.0, 1600352760.0], [0.0, 1600354320.0], [0.0, 1600354440.0], [0.0, 1600354560.0], [0.0, 1600354680.0], [0.0, 1600354860.0], [0.0, 1600355760.0], [0.0, 1600358700.0], [0.0, 1600359000.0], [0.0, 1600359240.0], [0.0, 1600359540.0], [0.0, 1600360380.0], [0.0, 1600360920.0], [0.0, 1600360980.0], [0.0, 1600361700.0], [0.0, 1600362120.0], [0.0, 1600368180.0], [0.0, 1600368540.0], [0.0, 1600369140.0], [0.0, 1600369680.0], [0.0, 1600369740.0], [0.0, 1600369860.0], [0.0, 1600371900.0], [0.0, 1600371960.0], [0.0, 1600372260.0], [0.0, 1600372380.0], [0.0, 1600372500.0], [0.0, 1600372620.0], [0.0, 1600372680.0], [0.0, 1600372740.0], [0.0, 1600436700.0], [0.0, 1600437180.0], [0.0, 1600437660.0], [0.0, 1600437900.0], [0.0, 1600439580.0], [0.0, 1600440480.0], [0.0, 1600426080.0], [76.23, 1600441260.0], [76.23, 1600426860.0], [0.0, 1600426860.0], [0.0, 1600441320.0], [0.0, 1600441980.0], [0.0, 1600443000.0], [0.0, 1600443420.0], [0.0, 1600444140.0], [0.0, 1600446960.0], [0.0, 1600432560.0], [41.65, 1600447680.0], [41.65, 1600433280.0], [-0.0, 1600433280.0], [0.0, 1600447800.0], [0.0, 1600448220.0], [0.0, 1600448760.0], [0.0, 1600449120.0], [0.0, 1600449420.0], [0.0, 1600450020.0], [0.0, 1600435620.0], [22.974, 1600450080.0], [22.974, 1600435680.0], [-0.0, 1600435680.0], [0.0, 1600451220.0], [0.0, 1600451340.0], [0.0, 1600451580.0], [-0.0, 1600453920.0], [-0.0, 1600454040.0], [-0.0, 1600455300.0], [-0.0, 1600457160.0], [-0.0, 1600457880.0], [-0.0, 1600457940.0], [-0.0, 1600458660.0], [-0.0, 1600458720.0], [-0.0, 1600458840.0], [-0.0, 1600458960.0], [-0.0, 1600459080.0], [-0.0, 1600459140.0]], "trades": [{"id": 3, "timestamp": 1600096920.0, "price": 5.74, "volume": 1742.0, "taker_order": {"id": 3, "timestamp": 1600096920.0, "volume": 1742.0, "price": 5.74, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 4, "timestamp": 1600097580.0, "price": 5.725, "volume": 1742.0, "taker_order": {"id": 4, "timestamp": 1600097580.0, "volume": 1742.0, "price": 5.725, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 5, "timestamp": 1600166640.0, "price": 5.6, "volume": 1785.0, "taker_order": {"id": 5, "timestamp": 1600166640.0, "volume": 1785.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 6, "timestamp": 1600167120.0, "price": 5.58, "volume": 1785.0, "taker_order": {"id": 6, "timestamp": 1600167120.0, "volume": 1785.0, "price": 5.58, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 7, "timestamp": 1600182420.0, "price": 5.635, "volume": 1774.0, "taker_order": {"id": 7, "timestamp": 1600182420.0, "volume": 1774.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 8, "timestamp": 1600184100.0, "price": 5.66, "volume": 1774.0, "taker_order": {"id": 8, "timestamp": 1600184100.0, "volume": 1774.0, "price": 5.66, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 9, "timestamp": 1600253280.0, "price": 5.61, "volume": 1782.0, "taker_order": {"id": 9, "timestamp": 1600253280.0, "volume": 1782.0, "price": 5.61, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 10, "timestamp": 1600253700.0, "price": 5.59, "volume": 1782.0, "taker_order": {"id": 10, "timestamp": 1600253700.0, "volume": 1782.0, "price": 5.59, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 15, "timestamp": 1600269120.0, "price": 5.648, "volume": 1770.0, "taker_order": {"id": 15, "timestamp": 1600269120.0, "volume": 1770.0, "price": 5.648, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 16, "timestamp": 1600270260.0, "price": 5.665, "volume": 1770.0, "taker_order": {"id": 16, "timestamp": 1600270260.0, "volume": 1770.0, "price": 5.665, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 25, "timestamp": 1600426080.0, "price": 5.9, "volume": 1694.0, "taker_order": {"id": 25, "timestamp": 1600426080.0, "volume": 1694.0, "price": 5.9, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 26, "timestamp": 1600426860.0, "price": 5.945, "volume": 1694.0, "taker_order": {"id": 26, "timestamp": 1600426860.0, "volume": 1694.0, "price": 5.945, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 27, "timestamp": 1600432560.0, "price": 6.0, "volume": 1666.0, "taker_order": {"id": 27, "timestamp": 1600432560.0, "volume": 1666.0, "price": 6.0, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 28, "timestamp": 1600433280.0, "price": 6.025, "volume": 1666.0, "taker_order": {"id": 28, "timestamp": 1600433280.0, "volume": 1666.0, "price": 6.025, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 29, "timestamp": 1600435620.0, "price": 6.091, "volume": 1641.0, "taker_order": {"id": 29, "timestamp": 1600435620.0, "volume": 1641.0, "price": 6.091, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 30, "timestamp": 1600435680.0, "price": 6.105, "volume": 1641.0, "taker_order": {"id": 30, "timestamp": 1600435680.0, "volume": 1641.0, "price": 6.105, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}]}}}
\ No newline at end of file
diff --git a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.prices.json b/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.prices.json
deleted file mode 100644
index f0582cd3..00000000
--- a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.prices.json
+++ /dev/null
@@ -1 +0,0 @@
-{"{\"name\": \"SPXL\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [[53.606, 1600090200.0], [53.74, 1600090260.0], [53.49, 1600090380.0], [53.33, 1600090560.0], [53.86, 1600090800.0], [53.863, 1600090860.0], [54.15, 1600091340.0], [54.15, 1600076940.0], [54.24, 1600091760.0], [54.25, 1600091880.0], [54.565, 1600092360.0], [54.565, 1600077960.0], [54.715, 1600093020.0], [54.737, 1600093260.0], [54.77, 1600093620.0], [54.675, 1600093860.0], [54.64, 1600094100.0], [54.54, 1600095360.0], [54.61, 1600095600.0], [54.49, 1600096740.0], [54.65, 1600097340.0], [54.71, 1600099920.0], [54.58, 1600101960.0], [54.39, 1600102440.0], [54.499, 1600102620.0], [54.36, 1600103160.0], [54.0, 1600103940.0], [54.16, 1600104480.0], [54.18, 1600104600.0], [53.895, 1600104720.0], [54.0, 1600104840.0], [54.26, 1600105980.0], [54.26, 1600106700.0], [54.28, 1600107960.0], [54.09, 1600108920.0], [54.27, 1600109520.0], [54.33, 1600109580.0], [54.04, 1600110000.0], [53.8, 1600110900.0], [53.825, 1600111020.0], [54.045, 1600111080.0], [54.08, 1600111140.0], [53.623, 1600111380.0], [53.689, 1600111440.0], [53.705, 1600111500.0], [53.875, 1600111620.0], [53.94, 1600111680.0], [53.957, 1600111740.0], [53.99, 1600111860.0], [53.9, 1600111980.0], [54.165, 1600112340.0], [54.29, 1600112520.0], [54.42, 1600112640.0], [54.39, 1600112700.0], [54.41, 1600112760.0], [54.55, 1600112880.0], [54.6, 1600112940.0], [54.461, 1600113000.0], [54.34, 1600113180.0], [54.18, 1600113300.0], [54.155, 1600113360.0], [54.137, 1600113420.0], [54.01, 1600113540.0], [55.327, 1600176600.0], [55.399, 1600176660.0], [55.41, 1600176720.0], [55.54, 1600177500.0], [55.52, 1600177560.0], [55.51, 1600177620.0], [55.52, 1600178160.0], [55.45, 1600178220.0], [55.53, 1600178400.0], [55.548, 1600178760.0], [55.53, 1600179420.0], [55.23, 1600179840.0], [55.21, 1600179900.0], [55.36, 1600180080.0], [55.35, 1600180860.0], [55.17, 1600180980.0], [55.1, 1600181100.0], [55.25, 1600181220.0], [55.48, 1600183020.0], [55.61, 1600184160.0], [55.41, 1600187100.0], [55.575, 1600189200.0], [55.59, 1600189560.0], [55.63, 1600190280.0], [55.483, 1600192080.0], [55.196, 1600192920.0], [55.16, 1600193040.0], [55.007, 1600193280.0], [55.08, 1600193400.0], [55.15, 1600193520.0], [55.12, 1600194360.0], [54.99, 1600194720.0], [55.23, 1600196100.0], [55.18, 1600196340.0], [54.75, 1600196760.0], [54.8, 1600196880.0], [54.705, 1600196940.0], [54.715, 1600197000.0], [54.79, 1600197120.0], [54.77, 1600197360.0], [54.76, 1600197480.0], [54.71, 1600197540.0], [54.75, 1600197660.0], [54.638, 1600197840.0], [54.689, 1600197900.0], [54.72, 1600197960.0], [54.748, 1600198080.0], [54.555, 1600198320.0], [54.48, 1600198380.0], [54.517, 1600198500.0], [54.33, 1600198680.0], [54.463, 1600198920.0], [54.53, 1600198980.0], [54.516, 1600199100.0], [54.601, 1600199220.0], [54.605, 1600199340.0], [54.64, 1600199400.0], [54.85, 1600199700.0], [54.835, 1600199820.0], [54.85, 1600199880.0], [55.505, 1600263000.0], [55.29, 1600263780.0], [55.29, 1600264320.0], [55.375, 1600264500.0], [55.39, 1600264560.0], [55.445, 1600264800.0], [55.5, 1600264920.0], [55.46, 1600265160.0], [55.59, 1600265400.0], [55.47, 1600265700.0], [55.4, 1600265760.0], [55.43, 1600266060.0], [55.19, 1600267200.0], [55.22, 1600267260.0], [55.32, 1600268220.0], [55.31, 1600268460.0], [55.42, 1600268700.0], [55.71, 1600269300.0], [55.78, 1600269360.0], [55.878, 1600269840.0], [55.878, 1600255440.0], [55.83, 1600270020.0], [55.79, 1600270980.0], [55.695, 1600272180.0], [55.695, 1600257780.0], [55.502, 1600272780.0], [55.43, 1600273140.0], [55.24, 1600276380.0], [55.14, 1600277160.0], [54.97, 1600277520.0], [55.0, 1600277700.0], [55.2, 1600278420.0], [55.38, 1600279140.0], [55.7, 1600279320.0], [55.5, 1600279380.0], [55.372, 1600279680.0], [55.28, 1600279740.0], [55.62, 1600279980.0], [55.76, 1600280100.0], [55.897, 1600280160.0], [55.996, 1600280220.0], [55.89, 1600280340.0], [55.87, 1600280520.0], [56.045, 1600281000.0], [55.8, 1600281180.0], [55.97, 1600281360.0], [56.05, 1600281420.0], [56.21, 1600281540.0], [56.21, 1600267140.0], [56.17, 1600281600.0], [56.18, 1600281660.0], [55.97, 1600281840.0], [55.97, 1600267440.0], [55.86, 1600281900.0], [55.376, 1600282380.0], [55.477, 1600282560.0], [55.44, 1600282740.0], [55.58, 1600282800.0], [55.64, 1600282860.0], [55.2, 1600283280.0], [54.812, 1600283400.0], [54.41, 1600283460.0], [54.74, 1600283640.0], [54.63, 1600283700.0], [54.579, 1600283760.0], [54.89, 1600283940.0], [54.72, 1600284000.0], [54.925, 1600284060.0], [54.71, 1600284180.0], [54.56, 1600284420.0], [54.2, 1600284720.0], [54.27, 1600284780.0], [54.71, 1600284900.0], [54.47, 1600285020.0], [54.485, 1600285080.0], [54.288, 1600285260.0], [54.61, 1600285380.0], [54.605, 1600285500.0], [54.78, 1600285560.0], [55.005, 1600285620.0], [54.675, 1600285800.0], [54.289, 1600286100.0], [54.16, 1600286160.0], [54.209, 1600286220.0], [54.203, 1600286280.0], [51.547, 1600349400.0], [51.62, 1600349460.0], [51.592, 1600349520.0], [51.61, 1600349580.0], [51.985, 1600349820.0], [51.985, 1600335420.0], [51.94, 1600349940.0], [51.78, 1600350180.0], [51.78, 1600335780.0], [52.0, 1600350360.0], [52.05, 1600350600.0], [52.295, 1600350660.0], [52.295, 1600336260.0], [52.47, 1600350720.0], [52.47, 1600336320.0], [52.44, 1600350840.0], [52.459, 1600350900.0], [52.4, 1600350960.0], [52.25, 1600351020.0], [52.44, 1600351200.0], [52.547, 1600351260.0], [52.48, 1600351440.0], [52.66, 1600351500.0], [52.75, 1600351560.0], [53.125, 1600351860.0], [53.125, 1600337460.0], [53.0, 1600351920.0], [52.895, 1600351980.0], [52.83, 1600352100.0], [52.81, 1600352280.0], [52.82, 1600352340.0], [52.633, 1600352580.0], [52.633, 1600338180.0], [52.44, 1600352760.0], [52.58, 1600353000.0], [52.7, 1600353240.0], [52.85, 1600353300.0], [52.89, 1600353720.0], [53.28, 1600353960.0], [53.28, 1600339560.0], [53.28, 1600354200.0], [53.39, 1600354980.0], [53.39, 1600340580.0], [53.4, 1600355280.0], [53.475, 1600355340.0], [53.55, 1600355700.0], [53.27, 1600355940.0], [53.3, 1600356000.0], [53.15, 1600356420.0], [53.16, 1600356600.0], [53.12, 1600356660.0], [53.08, 1600356900.0], [53.0, 1600357200.0], [52.63, 1600357680.0], [52.68, 1600357740.0], [52.51, 1600357920.0], [52.625, 1600358100.0], [52.53, 1600358160.0], [52.37, 1600358400.0], [52.49, 1600358640.0], [52.2, 1600358820.0], [52.19, 1600359000.0], [51.8, 1600359300.0], [51.87, 1600359360.0], [51.587, 1600359600.0], [51.71, 1600359780.0], [51.51, 1600359840.0], [51.7, 1600360320.0], [51.71, 1600360380.0], [51.76, 1600360440.0], [51.787, 1600360500.0], [51.72, 1600360620.0], [51.88, 1600360740.0], [51.76, 1600361100.0], [51.79, 1600361520.0], [51.83, 1600361700.0], [51.96, 1600361760.0], [52.08, 1600362000.0], [52.03, 1600362240.0], [51.92, 1600362300.0], [52.05, 1600362360.0], [52.1, 1600362540.0], [51.97, 1600362840.0], [51.72, 1600362960.0], [51.73, 1600363020.0], [51.88, 1600363620.0], [51.885, 1600363800.0], [52.11, 1600364100.0], [52.27, 1600365180.0], [52.19, 1600365240.0], [52.11, 1600365600.0], [52.3, 1600365900.0], [52.3, 1600365960.0], [52.413, 1600366260.0], [52.445, 1600366320.0], [52.46, 1600366560.0], [52.45, 1600366620.0], [52.255, 1600366800.0], [52.17, 1600367220.0], [51.75, 1600367700.0], [51.66, 1600367760.0], [51.66, 1600368060.0], [51.95, 1600368540.0], [52.025, 1600368900.0], [51.605, 1600369680.0], [51.665, 1600369740.0], [52.01, 1600369860.0], [51.98, 1600369920.0], [52.145, 1600369980.0], [52.02, 1600370220.0], [51.678, 1600370880.0], [51.74, 1600370940.0], [52.045, 1600371120.0], [52.275, 1600371240.0], [52.364, 1600371360.0], [52.538, 1600371660.0], [52.54, 1600371720.0], [52.19, 1600371960.0], [52.509, 1600372200.0], [52.63, 1600372380.0], [52.56, 1600372560.0], [52.71, 1600372740.0], [53.06, 1600435800.0], [52.9, 1600436040.0], [52.78, 1600436220.0], [52.73, 1600436460.0], [52.74, 1600436700.0], [52.34, 1600436820.0], [52.5, 1600437360.0], [52.37, 1600437480.0], [52.613, 1600437660.0], [52.59, 1600437960.0], [52.78, 1600438080.0], [52.92, 1600438620.0], [52.69, 1600439100.0], [52.56, 1600439460.0], [52.36, 1600439880.0], [52.31, 1600440060.0], [52.33, 1600440480.0], [51.977, 1600440780.0], [51.89, 1600441260.0], [51.9, 1600441920.0], [52.0, 1600442100.0], [51.89, 1600442160.0], [51.77, 1600442220.0], [51.673, 1600443240.0], [51.58, 1600443300.0], [51.71, 1600443900.0], [52.01, 1600444020.0], [52.05, 1600444140.0], [52.03, 1600444440.0], [52.063, 1600444560.0], [52.071, 1600444860.0], [51.97, 1600445040.0], [52.03, 1600445460.0], [51.6, 1600446480.0], [51.37, 1600446660.0], [51.19, 1600447200.0], [51.08, 1600447320.0], [51.08, 1600447440.0], [50.94, 1600447800.0], [51.0, 1600447860.0], [50.894, 1600447980.0], [50.98, 1600448340.0], [50.93, 1600448700.0], [50.9, 1600448760.0], [50.765, 1600448940.0], [50.9, 1600449180.0], [50.74, 1600449420.0], [50.75, 1600449480.0], [50.71, 1600449660.0], [50.6, 1600449960.0], [50.3, 1600450140.0], [50.02, 1600450320.0], [50.13, 1600450380.0], [49.92, 1600450620.0], [50.13, 1600450800.0], [50.36, 1600451220.0], [50.44, 1600451700.0], [50.48, 1600451760.0], [50.56, 1600452000.0], [50.49, 1600452900.0], [50.44, 1600453020.0], [50.55, 1600453380.0], [50.59, 1600453680.0], [50.72, 1600454100.0], [50.61, 1600454160.0], [50.645, 1600454760.0], [50.49, 1600455000.0], [50.592, 1600455300.0], [50.627, 1600455360.0], [50.645, 1600455420.0], [50.75, 1600455540.0], [50.867, 1600455600.0], [51.03, 1600455840.0], [50.97, 1600456260.0], [50.94, 1600456320.0], [50.955, 1600456380.0], [50.83, 1600456920.0], [51.068, 1600457100.0], [51.17, 1600457280.0], [51.13, 1600457340.0], [51.16, 1600457400.0], [51.28, 1600457520.0], [51.2, 1600457940.0], [51.305, 1600458180.0], [51.285, 1600458420.0], [51.263, 1600458540.0], [51.131, 1600458600.0], [50.98, 1600458720.0], [50.995, 1600458780.0], [50.981, 1600458840.0], [51.145, 1600458900.0], [51.068, 1600458960.0], [51.016, 1600459020.0], [50.99, 1600459080.0], [51.026, 1600459140.0]], "{\"name\": \"SPXS\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [[5.695, 1600091940.0], [5.7, 1600092060.0], [5.66, 1600092840.0], [5.648, 1600094460.0], [5.655, 1600100760.0], [5.695, 1600103460.0], [5.705, 1600111140.0], [5.74, 1600111320.0], [5.74, 1600096920.0], [5.725, 1600111980.0], [5.725, 1600097580.0], [5.65, 1600112940.0], [5.695, 1600113360.0], [5.56, 1600176780.0], [5.54, 1600177440.0], [5.57, 1600177980.0], [5.56, 1600178220.0], [5.545, 1600178700.0], [5.555, 1600178880.0], [5.56, 1600179420.0], [5.56, 1600179540.0], [5.56, 1600179600.0], [5.56, 1600180380.0], [5.551, 1600180500.0], [5.575, 1600180800.0], [5.565, 1600180860.0], [5.6, 1600181040.0], [5.6, 1600166640.0], [5.58, 1600181520.0], [5.58, 1600167120.0], [5.565, 1600181700.0], [5.555, 1600182180.0], [5.545, 1600182420.0], [5.545, 1600182540.0], [5.545, 1600182600.0], [5.56, 1600183320.0], [5.555, 1600183380.0], [5.557, 1600183560.0], [5.555, 1600183800.0], [5.555, 1600184040.0], [5.54, 1600184100.0], [5.55, 1600184280.0], [5.545, 1600184400.0], [5.56, 1600185600.0], [5.57, 1600186140.0], [5.56, 1600187100.0], [5.54, 1600190220.0], [5.56, 1600191300.0], [5.57, 1600192680.0], [5.6, 1600194120.0], [5.59, 1600194420.0], [5.595, 1600194480.0], [5.6, 1600196280.0], [5.6, 1600196460.0], [5.635, 1600196820.0], [5.635, 1600182420.0], [5.645, 1600196880.0], [5.64, 1600196940.0], [5.64, 1600197360.0], [5.64, 1600197540.0], [5.64, 1600198020.0], [5.635, 1600198080.0], [5.66, 1600198500.0], [5.66, 1600184100.0], [5.655, 1600198560.0], [5.675, 1600198740.0], [5.685, 1600198800.0], [5.65, 1600199400.0], [5.645, 1600199460.0], [5.63, 1600199640.0], [5.63, 1600199760.0], [5.63, 1600199880.0], [5.625, 1600199940.0], [5.565, 1600263060.0], [5.58, 1600263420.0], [5.585, 1600264260.0], [5.565, 1600265760.0], [5.565, 1600266240.0], [5.61, 1600267680.0], [5.61, 1600253280.0], [5.59, 1600268100.0], [5.59, 1600253700.0], [5.57, 1600268760.0], [5.545, 1600271760.0], [5.55, 1600271940.0], [5.575, 1600275180.0], [5.575, 1600275300.0], [5.565, 1600275540.0], [5.57, 1600275900.0], [5.585, 1600276560.0], [5.605, 1600278240.0], [5.59, 1600278720.0], [5.535, 1600279320.0], [5.52, 1600280580.0], [5.525, 1600280940.0], [5.648, 1600283520.0], [5.648, 1600269120.0], [5.645, 1600283580.0], [5.635, 1600283640.0], [5.655, 1600283700.0], [5.635, 1600284120.0], [5.665, 1600284660.0], [5.665, 1600270260.0], [5.685, 1600285260.0], [5.655, 1600285500.0], [5.615, 1600285680.0], [5.625, 1600285740.0], [5.63, 1600285800.0], [5.675, 1600285920.0], [5.67, 1600285980.0], [5.675, 1600286040.0], [5.695, 1600286100.0], [5.69, 1600286220.0], [5.705, 1600286340.0], [5.94, 1600349700.0], [5.928, 1600349820.0], [5.915, 1600349880.0], [5.945, 1600350000.0], [5.92, 1600350420.0], [5.93, 1600350480.0], [5.91, 1600350600.0], [5.88, 1600350660.0], [5.87, 1600350720.0], [5.88, 1600350780.0], [5.875, 1600350840.0], [5.83, 1600351560.0], [5.83, 1600351680.0], [5.81, 1600351920.0], [5.825, 1600352100.0], [5.88, 1600352700.0], [5.88, 1600352760.0], [5.79, 1600354320.0], [5.79, 1600354440.0], [5.805, 1600354560.0], [5.805, 1600354680.0], [5.78, 1600354860.0], [5.76, 1600355760.0], [5.865, 1600358700.0], [5.91, 1600359000.0], [5.944, 1600359240.0], [5.965, 1600359540.0], [5.95, 1600360380.0], [5.945, 1600360920.0], [5.955, 1600360980.0], [5.925, 1600361700.0], [5.92, 1600362120.0], [5.945, 1600368180.0], [5.93, 1600368540.0], [5.935, 1600369140.0], [5.96, 1600369680.0], [5.96, 1600369740.0], [5.94, 1600369860.0], [5.883, 1600371900.0], [5.89, 1600371960.0], [5.855, 1600372260.0], [5.859, 1600372380.0], [5.85, 1600372500.0], [5.87, 1600372620.0], [5.86, 1600372680.0], [5.853, 1600372740.0], [5.855, 1600436700.0], [5.88, 1600437180.0], [5.855, 1600437660.0], [5.857, 1600437900.0], [5.865, 1600439580.0], [5.9, 1600440480.0], [5.9, 1600426080.0], [5.945, 1600441260.0], [5.945, 1600426860.0], [5.945, 1600441320.0], [5.94, 1600441980.0], [5.93, 1600443000.0], [5.975, 1600443420.0], [5.915, 1600444140.0], [6.0, 1600446960.0], [6.0, 1600432560.0], [6.025, 1600447680.0], [6.025, 1600433280.0], [6.045, 1600447800.0], [6.04, 1600448220.0], [6.05, 1600448760.0], [6.05, 1600449120.0], [6.06, 1600449420.0], [6.091, 1600450020.0], [6.091, 1600435620.0], [6.105, 1600450080.0], [6.105, 1600435680.0], [6.12, 1600451220.0], [6.105, 1600451340.0], [6.115, 1600451580.0], [6.075, 1600453920.0], [6.065, 1600454040.0], [6.085, 1600455300.0], [6.03, 1600457160.0], [6.005, 1600457880.0], [6.01, 1600457940.0], [6.03, 1600458660.0], [6.045, 1600458720.0], [6.04, 1600458840.0], [6.026, 1600458960.0], [6.035, 1600459080.0], [6.031, 1600459140.0]]}
\ No newline at end of file
diff --git a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.trades.json b/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.trades.json
deleted file mode 100644
index 6add6261..00000000
--- a/aat/tests/strategy/_aat_BACKTEST_test/MomentumStrategy-0.portfolio.trades.json
+++ /dev/null
@@ -1 +0,0 @@
-{"{\"name\": \"SPXL\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [{"id": -1, "timestamp": 1600090200.0, "price": 53.606, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600090200.0, "volume": 1100.0, "price": 53.606, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600090260.0, "price": 53.74, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600090260.0, "volume": 200.0, "price": 53.74, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600090380.0, "price": 53.49, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600090380.0, "volume": 100.0, "price": 53.49, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600090560.0, "price": 53.33, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600090560.0, "volume": 100.0, "price": 53.33, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600090800.0, "price": 53.86, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600090800.0, "volume": 400.0, "price": 53.86, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600090860.0, "price": 53.863, "volume": 1185.0, "taker_order": {"id": 0, "timestamp": 1600090860.0, "volume": 1185.0, "price": 53.863, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1185.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600091340.0, "price": 54.15, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600091340.0, "volume": 100.0, "price": 54.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 1, "timestamp": 1600076940.0, "price": 54.15, "volume": 184.0, "taker_order": {"id": 1, "timestamp": 1600076940.0, "volume": 184.0, "price": 54.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600091760.0, "price": 54.24, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600091760.0, "volume": 100.0, "price": 54.24, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600091880.0, "price": 54.25, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600091880.0, "volume": 100.0, "price": 54.25, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600092360.0, "price": 54.565, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600092360.0, "volume": 200.0, "price": 54.565, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 2, "timestamp": 1600077960.0, "price": 54.565, "volume": 184.0, "taker_order": {"id": 2, "timestamp": 1600077960.0, "volume": 184.0, "price": 54.565, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 184.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600093020.0, "price": 54.715, "volume": 157.0, "taker_order": {"id": 0, "timestamp": 1600093020.0, "volume": 157.0, "price": 54.715, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 157.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600093260.0, "price": 54.737, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600093260.0, "volume": 300.0, "price": 54.737, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600093620.0, "price": 54.77, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600093620.0, "volume": 100.0, "price": 54.77, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600093860.0, "price": 54.675, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600093860.0, "volume": 200.0, "price": 54.675, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600094100.0, "price": 54.64, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600094100.0, "volume": 100.0, "price": 54.64, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600095360.0, "price": 54.54, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600095360.0, "volume": 100.0, "price": 54.54, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600095600.0, "price": 54.61, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600095600.0, "volume": 1100.0, "price": 54.61, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600096740.0, "price": 54.49, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600096740.0, "volume": 100.0, "price": 54.49, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600097340.0, "price": 54.65, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600097340.0, "volume": 100.0, "price": 54.65, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600099920.0, "price": 54.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600099920.0, "volume": 100.0, "price": 54.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600101960.0, "price": 54.58, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600101960.0, "volume": 1100.0, "price": 54.58, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600102440.0, "price": 54.39, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600102440.0, "volume": 100.0, "price": 54.39, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600102620.0, "price": 54.499, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600102620.0, "volume": 1000.0, "price": 54.499, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600103160.0, "price": 54.36, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600103160.0, "volume": 100.0, "price": 54.36, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600103940.0, "price": 54.0, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600103940.0, "volume": 500.0, "price": 54.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600104480.0, "price": 54.16, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600104480.0, "volume": 300.0, "price": 54.16, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600104600.0, "price": 54.18, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600104600.0, "volume": 200.0, "price": 54.18, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600104720.0, "price": 53.895, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600104720.0, "volume": 200.0, "price": 53.895, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600104840.0, "price": 54.0, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600104840.0, "volume": 100.0, "price": 54.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600105980.0, "price": 54.26, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600105980.0, "volume": 100.0, "price": 54.26, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600106700.0, "price": 54.26, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600106700.0, "volume": 1000.0, "price": 54.26, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600107960.0, "price": 54.28, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600107960.0, "volume": 100.0, "price": 54.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600108920.0, "price": 54.09, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600108920.0, "volume": 200.0, "price": 54.09, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600109520.0, "price": 54.27, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600109520.0, "volume": 100.0, "price": 54.27, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600109580.0, "price": 54.33, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600109580.0, "volume": 200.0, "price": 54.33, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600110000.0, "price": 54.04, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600110000.0, "volume": 100.0, "price": 54.04, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600110900.0, "price": 53.8, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600110900.0, "volume": 1100.0, "price": 53.8, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111020.0, "price": 53.825, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600111020.0, "volume": 200.0, "price": 53.825, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111080.0, "price": 54.045, "volume": 531.0, "taker_order": {"id": 0, "timestamp": 1600111080.0, "volume": 531.0, "price": 54.045, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 531.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111140.0, "price": 54.08, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600111140.0, "volume": 100.0, "price": 54.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111380.0, "price": 53.623, "volume": 1300.0, "taker_order": {"id": 0, "timestamp": 1600111380.0, "volume": 1300.0, "price": 53.623, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111440.0, "price": 53.689, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600111440.0, "volume": 400.0, "price": 53.689, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111500.0, "price": 53.705, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600111500.0, "volume": 100.0, "price": 53.705, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111620.0, "price": 53.875, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600111620.0, "volume": 200.0, "price": 53.875, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111680.0, "price": 53.94, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600111680.0, "volume": 200.0, "price": 53.94, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111740.0, "price": 53.957, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600111740.0, "volume": 300.0, "price": 53.957, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111860.0, "price": 53.99, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600111860.0, "volume": 100.0, "price": 53.99, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111980.0, "price": 53.9, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600111980.0, "volume": 300.0, "price": 53.9, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112340.0, "price": 54.165, "volume": 80.0, "taker_order": {"id": 0, "timestamp": 1600112340.0, "volume": 80.0, "price": 54.165, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 80.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112520.0, "price": 54.29, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600112520.0, "volume": 100.0, "price": 54.29, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112640.0, "price": 54.42, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600112640.0, "volume": 100.0, "price": 54.42, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112700.0, "price": 54.39, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600112700.0, "volume": 200.0, "price": 54.39, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112760.0, "price": 54.41, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600112760.0, "volume": 200.0, "price": 54.41, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112880.0, "price": 54.55, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600112880.0, "volume": 100.0, "price": 54.55, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112940.0, "price": 54.6, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600112940.0, "volume": 100.0, "price": 54.6, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113000.0, "price": 54.461, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600113000.0, "volume": 1100.0, "price": 54.461, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113180.0, "price": 54.34, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600113180.0, "volume": 100.0, "price": 54.34, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113300.0, "price": 54.18, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600113300.0, "volume": 100.0, "price": 54.18, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113360.0, "price": 54.155, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600113360.0, "volume": 300.0, "price": 54.155, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113420.0, "price": 54.137, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600113420.0, "volume": 300.0, "price": 54.137, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113540.0, "price": 54.01, "volume": 147.0, "taker_order": {"id": 0, "timestamp": 1600113540.0, "volume": 147.0, "price": 54.01, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 147.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600176600.0, "price": 55.327, "volume": 545.0, "taker_order": {"id": 0, "timestamp": 1600176600.0, "volume": 545.0, "price": 55.327, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 545.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600176660.0, "price": 55.399, "volume": 6000.0, "taker_order": {"id": 0, "timestamp": 1600176660.0, "volume": 6000.0, "price": 55.399, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 6000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600176720.0, "price": 55.41, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600176720.0, "volume": 100.0, "price": 55.41, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600177500.0, "price": 55.54, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600177500.0, "volume": 100.0, "price": 55.54, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600177560.0, "price": 55.52, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600177560.0, "volume": 200.0, "price": 55.52, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600177620.0, "price": 55.51, "volume": 35.0, "taker_order": {"id": 0, "timestamp": 1600177620.0, "volume": 35.0, "price": 55.51, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 35.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178160.0, "price": 55.52, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600178160.0, "volume": 100.0, "price": 55.52, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178220.0, "price": 55.45, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600178220.0, "volume": 200.0, "price": 55.45, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178400.0, "price": 55.53, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600178400.0, "volume": 100.0, "price": 55.53, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178760.0, "price": 55.548, "volume": 170.0, "taker_order": {"id": 0, "timestamp": 1600178760.0, "volume": 170.0, "price": 55.548, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 170.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179420.0, "price": 55.53, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600179420.0, "volume": 100.0, "price": 55.53, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179840.0, "price": 55.23, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600179840.0, "volume": 200.0, "price": 55.23, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179900.0, "price": 55.21, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600179900.0, "volume": 100.0, "price": 55.21, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180080.0, "price": 55.36, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600180080.0, "volume": 100.0, "price": 55.36, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180860.0, "price": 55.35, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600180860.0, "volume": 100.0, "price": 55.35, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180980.0, "price": 55.17, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600180980.0, "volume": 100.0, "price": 55.17, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600181100.0, "price": 55.1, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600181100.0, "volume": 100.0, "price": 55.1, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600181220.0, "price": 55.25, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600181220.0, "volume": 100.0, "price": 55.25, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600183020.0, "price": 55.48, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600183020.0, "volume": 100.0, "price": 55.48, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600184160.0, "price": 55.61, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600184160.0, "volume": 100.0, "price": 55.61, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600187100.0, "price": 55.41, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600187100.0, "volume": 100.0, "price": 55.41, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600189200.0, "price": 55.575, "volume": 3.0, "taker_order": {"id": 0, "timestamp": 1600189200.0, "volume": 3.0, "price": 55.575, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600189560.0, "price": 55.59, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600189560.0, "volume": 100.0, "price": 55.59, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600190280.0, "price": 55.63, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600190280.0, "volume": 100.0, "price": 55.63, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600192080.0, "price": 55.483, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600192080.0, "volume": 300.0, "price": 55.483, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600192920.0, "price": 55.196, "volume": 104.0, "taker_order": {"id": 0, "timestamp": 1600192920.0, "volume": 104.0, "price": 55.196, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 104.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600193040.0, "price": 55.16, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600193040.0, "volume": 100.0, "price": 55.16, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600193280.0, "price": 55.007, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600193280.0, "volume": 300.0, "price": 55.007, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600193400.0, "price": 55.08, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600193400.0, "volume": 100.0, "price": 55.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600193520.0, "price": 55.15, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600193520.0, "volume": 100.0, "price": 55.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600194360.0, "price": 55.12, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600194360.0, "volume": 100.0, "price": 55.12, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600194720.0, "price": 54.99, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600194720.0, "volume": 100.0, "price": 54.99, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196100.0, "price": 55.23, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600196100.0, "volume": 100.0, "price": 55.23, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196340.0, "price": 55.18, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600196340.0, "volume": 200.0, "price": 55.18, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196760.0, "price": 54.75, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600196760.0, "volume": 200.0, "price": 54.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196880.0, "price": 54.8, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600196880.0, "volume": 100.0, "price": 54.8, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196940.0, "price": 54.705, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600196940.0, "volume": 100.0, "price": 54.705, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197000.0, "price": 54.715, "volume": 105.0, "taker_order": {"id": 0, "timestamp": 1600197000.0, "volume": 105.0, "price": 54.715, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 105.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197120.0, "price": 54.79, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600197120.0, "volume": 100.0, "price": 54.79, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197360.0, "price": 54.77, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600197360.0, "volume": 100.0, "price": 54.77, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197480.0, "price": 54.76, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600197480.0, "volume": 100.0, "price": 54.76, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197540.0, "price": 54.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600197540.0, "volume": 100.0, "price": 54.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197660.0, "price": 54.75, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600197660.0, "volume": 100.0, "price": 54.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197840.0, "price": 54.638, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600197840.0, "volume": 200.0, "price": 54.638, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197900.0, "price": 54.689, "volume": 458.0, "taker_order": {"id": 0, "timestamp": 1600197900.0, "volume": 458.0, "price": 54.689, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 458.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197960.0, "price": 54.72, "volume": 442.0, "taker_order": {"id": 0, "timestamp": 1600197960.0, "volume": 442.0, "price": 54.72, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 442.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198080.0, "price": 54.748, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600198080.0, "volume": 500.0, "price": 54.748, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198320.0, "price": 54.555, "volume": 210.0, "taker_order": {"id": 0, "timestamp": 1600198320.0, "volume": 210.0, "price": 54.555, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 210.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198380.0, "price": 54.48, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600198380.0, "volume": 200.0, "price": 54.48, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198500.0, "price": 54.517, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600198500.0, "volume": 400.0, "price": 54.517, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198680.0, "price": 54.33, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600198680.0, "volume": 100.0, "price": 54.33, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198920.0, "price": 54.463, "volume": 350.0, "taker_order": {"id": 0, "timestamp": 1600198920.0, "volume": 350.0, "price": 54.463, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 350.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198980.0, "price": 54.53, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600198980.0, "volume": 100.0, "price": 54.53, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199100.0, "price": 54.516, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600199100.0, "volume": 400.0, "price": 54.516, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199220.0, "price": 54.601, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600199220.0, "volume": 400.0, "price": 54.601, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199340.0, "price": 54.605, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600199340.0, "volume": 100.0, "price": 54.605, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199400.0, "price": 54.64, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600199400.0, "volume": 100.0, "price": 54.64, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199700.0, "price": 54.85, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600199700.0, "volume": 100.0, "price": 54.85, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199820.0, "price": 54.835, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600199820.0, "volume": 200.0, "price": 54.835, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199880.0, "price": 54.85, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600199880.0, "volume": 100.0, "price": 54.85, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600263000.0, "price": 55.505, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600263000.0, "volume": 200.0, "price": 55.505, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600263780.0, "price": 55.29, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600263780.0, "volume": 100.0, "price": 55.29, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264320.0, "price": 55.29, "volume": 8.0, "taker_order": {"id": 0, "timestamp": 1600264320.0, "volume": 8.0, "price": 55.29, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 8.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264500.0, "price": 55.375, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600264500.0, "volume": 200.0, "price": 55.375, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264560.0, "price": 55.39, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600264560.0, "volume": 100.0, "price": 55.39, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264800.0, "price": 55.445, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600264800.0, "volume": 200.0, "price": 55.445, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264920.0, "price": 55.5, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600264920.0, "volume": 200.0, "price": 55.5, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600265160.0, "price": 55.46, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600265160.0, "volume": 100.0, "price": 55.46, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600265400.0, "price": 55.59, "volume": 33.0, "taker_order": {"id": 0, "timestamp": 1600265400.0, "volume": 33.0, "price": 55.59, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 33.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600265700.0, "price": 55.47, "volume": 12.0, "taker_order": {"id": 0, "timestamp": 1600265700.0, "volume": 12.0, "price": 55.47, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 12.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600265760.0, "price": 55.4, "volume": 92.0, "taker_order": {"id": 0, "timestamp": 1600265760.0, "volume": 92.0, "price": 55.4, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 92.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600266060.0, "price": 55.43, "volume": 101.0, "taker_order": {"id": 0, "timestamp": 1600266060.0, "volume": 101.0, "price": 55.43, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 101.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600267200.0, "price": 55.19, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600267200.0, "volume": 100.0, "price": 55.19, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600267260.0, "price": 55.22, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600267260.0, "volume": 100.0, "price": 55.22, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600268220.0, "price": 55.32, "volume": 10.0, "taker_order": {"id": 0, "timestamp": 1600268220.0, "volume": 10.0, "price": 55.32, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600268460.0, "price": 55.31, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600268460.0, "volume": 100.0, "price": 55.31, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600268700.0, "price": 55.42, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600268700.0, "volume": 100.0, "price": 55.42, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600269300.0, "price": 55.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600269300.0, "volume": 100.0, "price": 55.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600269360.0, "price": 55.78, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600269360.0, "volume": 100.0, "price": 55.78, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600269840.0, "price": 55.878, "volume": 1300.0, "taker_order": {"id": 0, "timestamp": 1600269840.0, "volume": 1300.0, "price": 55.878, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 11, "timestamp": 1600255440.0, "price": 55.878, "volume": 178.0, "taker_order": {"id": 11, "timestamp": 1600255440.0, "volume": 178.0, "price": 55.878, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600270020.0, "price": 55.83, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600270020.0, "volume": 100.0, "price": 55.83, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600270980.0, "price": 55.79, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600270980.0, "volume": 100.0, "price": 55.79, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600272180.0, "price": 55.695, "volume": 10.0, "taker_order": {"id": 0, "timestamp": 1600272180.0, "volume": 10.0, "price": 55.695, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 12, "timestamp": 1600257780.0, "price": 55.695, "volume": 178.0, "taker_order": {"id": 12, "timestamp": 1600257780.0, "volume": 178.0, "price": 55.695, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 178.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600272780.0, "price": 55.502, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600272780.0, "volume": 400.0, "price": 55.502, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600273140.0, "price": 55.43, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600273140.0, "volume": 100.0, "price": 55.43, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600276380.0, "price": 55.24, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600276380.0, "volume": 100.0, "price": 55.24, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600277160.0, "price": 55.14, "volume": 5.0, "taker_order": {"id": 0, "timestamp": 1600277160.0, "volume": 5.0, "price": 55.14, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 5.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600277520.0, "price": 54.97, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600277520.0, "volume": 100.0, "price": 54.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600277700.0, "price": 55.0, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600277700.0, "volume": 100.0, "price": 55.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600278420.0, "price": 55.2, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600278420.0, "volume": 200.0, "price": 55.2, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279140.0, "price": 55.38, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600279140.0, "volume": 200.0, "price": 55.38, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279320.0, "price": 55.7, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600279320.0, "volume": 100.0, "price": 55.7, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279380.0, "price": 55.5, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600279380.0, "volume": 100.0, "price": 55.5, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279680.0, "price": 55.372, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600279680.0, "volume": 500.0, "price": 55.372, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279740.0, "price": 55.28, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600279740.0, "volume": 100.0, "price": 55.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279980.0, "price": 55.62, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600279980.0, "volume": 100.0, "price": 55.62, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280100.0, "price": 55.76, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600280100.0, "volume": 100.0, "price": 55.76, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280160.0, "price": 55.897, "volume": 900.0, "taker_order": {"id": 0, "timestamp": 1600280160.0, "volume": 900.0, "price": 55.897, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280220.0, "price": 55.996, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600280220.0, "volume": 500.0, "price": 55.996, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280340.0, "price": 55.89, "volume": 20.0, "taker_order": {"id": 0, "timestamp": 1600280340.0, "volume": 20.0, "price": 55.89, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 20.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280520.0, "price": 55.87, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600280520.0, "volume": 200.0, "price": 55.87, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281000.0, "price": 56.045, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600281000.0, "volume": 200.0, "price": 56.045, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281180.0, "price": 55.8, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281180.0, "volume": 100.0, "price": 55.8, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281360.0, "price": 55.97, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281360.0, "volume": 100.0, "price": 55.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281420.0, "price": 56.05, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281420.0, "volume": 100.0, "price": 56.05, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281540.0, "price": 56.21, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281540.0, "volume": 100.0, "price": 56.21, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 13, "timestamp": 1600267140.0, "price": 56.21, "volume": 177.0, "taker_order": {"id": 13, "timestamp": 1600267140.0, "volume": 177.0, "price": 56.21, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281600.0, "price": 56.17, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281600.0, "volume": 100.0, "price": 56.17, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281660.0, "price": 56.18, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600281660.0, "volume": 25.0, "price": 56.18, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281840.0, "price": 55.97, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600281840.0, "volume": 1000.0, "price": 55.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 14, "timestamp": 1600267440.0, "price": 55.97, "volume": 177.0, "taker_order": {"id": 14, "timestamp": 1600267440.0, "volume": 177.0, "price": 55.97, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 177.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600281900.0, "price": 55.86, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600281900.0, "volume": 100.0, "price": 55.86, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600282380.0, "price": 55.376, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600282380.0, "volume": 800.0, "price": 55.376, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600282560.0, "price": 55.477, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600282560.0, "volume": 400.0, "price": 55.477, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600282740.0, "price": 55.44, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600282740.0, "volume": 100.0, "price": 55.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600282800.0, "price": 55.58, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600282800.0, "volume": 100.0, "price": 55.58, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600282860.0, "price": 55.64, "volume": 10.0, "taker_order": {"id": 0, "timestamp": 1600282860.0, "volume": 10.0, "price": 55.64, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283280.0, "price": 55.2, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600283280.0, "volume": 100.0, "price": 55.2, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283400.0, "price": 54.812, "volume": 408.0, "taker_order": {"id": 0, "timestamp": 1600283400.0, "volume": 408.0, "price": 54.812, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 408.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283460.0, "price": 54.41, "volume": 1001.0, "taker_order": {"id": 0, "timestamp": 1600283460.0, "volume": 1001.0, "price": 54.41, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1001.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283640.0, "price": 54.74, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600283640.0, "volume": 200.0, "price": 54.74, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283700.0, "price": 54.63, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600283700.0, "volume": 100.0, "price": 54.63, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283760.0, "price": 54.579, "volume": 655.0, "taker_order": {"id": 0, "timestamp": 1600283760.0, "volume": 655.0, "price": 54.579, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 655.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283940.0, "price": 54.89, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600283940.0, "volume": 100.0, "price": 54.89, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284000.0, "price": 54.72, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600284000.0, "volume": 100.0, "price": 54.72, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284060.0, "price": 54.925, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600284060.0, "volume": 200.0, "price": 54.925, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284180.0, "price": 54.71, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600284180.0, "volume": 300.0, "price": 54.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284420.0, "price": 54.56, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600284420.0, "volume": 100.0, "price": 54.56, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284720.0, "price": 54.2, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600284720.0, "volume": 400.0, "price": 54.2, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284780.0, "price": 54.27, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600284780.0, "volume": 1000.0, "price": 54.27, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284900.0, "price": 54.71, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600284900.0, "volume": 1000.0, "price": 54.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285020.0, "price": 54.47, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600285020.0, "volume": 100.0, "price": 54.47, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285080.0, "price": 54.485, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600285080.0, "volume": 200.0, "price": 54.485, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285260.0, "price": 54.288, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600285260.0, "volume": 400.0, "price": 54.288, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285380.0, "price": 54.61, "volume": 20.0, "taker_order": {"id": 0, "timestamp": 1600285380.0, "volume": 20.0, "price": 54.61, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 20.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285500.0, "price": 54.605, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600285500.0, "volume": 200.0, "price": 54.605, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285560.0, "price": 54.78, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600285560.0, "volume": 100.0, "price": 54.78, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285620.0, "price": 55.005, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600285620.0, "volume": 200.0, "price": 55.005, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285800.0, "price": 54.675, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600285800.0, "volume": 200.0, "price": 54.675, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286100.0, "price": 54.289, "volume": 1200.0, "taker_order": {"id": 0, "timestamp": 1600286100.0, "volume": 1200.0, "price": 54.289, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286160.0, "price": 54.16, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600286160.0, "volume": 100.0, "price": 54.16, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286220.0, "price": 54.209, "volume": 330.0, "taker_order": {"id": 0, "timestamp": 1600286220.0, "volume": 330.0, "price": 54.209, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 330.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286280.0, "price": 54.203, "volume": 284.0, "taker_order": {"id": 0, "timestamp": 1600286280.0, "volume": 284.0, "price": 54.203, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 284.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349400.0, "price": 51.547, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600349400.0, "volume": 600.0, "price": 51.547, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349460.0, "price": 51.62, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600349460.0, "volume": 100.0, "price": 51.62, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349520.0, "price": 51.592, "volume": 601.0, "taker_order": {"id": 0, "timestamp": 1600349520.0, "volume": 601.0, "price": 51.592, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 601.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349580.0, "price": 51.61, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600349580.0, "volume": 400.0, "price": 51.61, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349820.0, "price": 51.985, "volume": 1400.0, "taker_order": {"id": 0, "timestamp": 1600349820.0, "volume": 1400.0, "price": 51.985, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 17, "timestamp": 1600335420.0, "price": 51.985, "volume": 192.0, "taker_order": {"id": 17, "timestamp": 1600335420.0, "volume": 192.0, "price": 51.985, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349940.0, "price": 51.94, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600349940.0, "volume": 100.0, "price": 51.94, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350180.0, "price": 51.78, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600350180.0, "volume": 100.0, "price": 51.78, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 18, "timestamp": 1600335780.0, "price": 51.78, "volume": 192.0, "taker_order": {"id": 18, "timestamp": 1600335780.0, "volume": 192.0, "price": 51.78, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 192.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350360.0, "price": 52.0, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600350360.0, "volume": 400.0, "price": 52.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350600.0, "price": 52.05, "volume": 900.0, "taker_order": {"id": 0, "timestamp": 1600350600.0, "volume": 900.0, "price": 52.05, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350660.0, "price": 52.295, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600350660.0, "volume": 200.0, "price": 52.295, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 19, "timestamp": 1600336260.0, "price": 52.295, "volume": 191.0, "taker_order": {"id": 19, "timestamp": 1600336260.0, "volume": 191.0, "price": 52.295, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350720.0, "price": 52.47, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600350720.0, "volume": 100.0, "price": 52.47, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 20, "timestamp": 1600336320.0, "price": 52.47, "volume": 191.0, "taker_order": {"id": 20, "timestamp": 1600336320.0, "volume": 191.0, "price": 52.47, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 191.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350840.0, "price": 52.44, "volume": 14.0, "taker_order": {"id": 0, "timestamp": 1600350840.0, "volume": 14.0, "price": 52.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 14.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350900.0, "price": 52.459, "volume": 55.0, "taker_order": {"id": 0, "timestamp": 1600350900.0, "volume": 55.0, "price": 52.459, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 55.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350960.0, "price": 52.4, "volume": 10.0, "taker_order": {"id": 0, "timestamp": 1600350960.0, "volume": 10.0, "price": 52.4, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351020.0, "price": 52.25, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600351020.0, "volume": 400.0, "price": 52.25, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351200.0, "price": 52.44, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600351200.0, "volume": 200.0, "price": 52.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351260.0, "price": 52.547, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600351260.0, "volume": 400.0, "price": 52.547, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351440.0, "price": 52.48, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600351440.0, "volume": 100.0, "price": 52.48, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351500.0, "price": 52.66, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600351500.0, "volume": 100.0, "price": 52.66, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351560.0, "price": 52.75, "volume": 5.0, "taker_order": {"id": 0, "timestamp": 1600351560.0, "volume": 5.0, "price": 52.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 5.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351860.0, "price": 53.125, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600351860.0, "volume": 200.0, "price": 53.125, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 21, "timestamp": 1600337460.0, "price": 53.125, "volume": 188.0, "taker_order": {"id": 21, "timestamp": 1600337460.0, "volume": 188.0, "price": 53.125, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351920.0, "price": 53.0, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600351920.0, "volume": 100.0, "price": 53.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351980.0, "price": 52.895, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600351980.0, "volume": 200.0, "price": 52.895, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352100.0, "price": 52.83, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600352100.0, "volume": 100.0, "price": 52.83, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352280.0, "price": 52.81, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600352280.0, "volume": 100.0, "price": 52.81, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352340.0, "price": 52.82, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600352340.0, "volume": 200.0, "price": 52.82, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352580.0, "price": 52.633, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600352580.0, "volume": 300.0, "price": 52.633, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 22, "timestamp": 1600338180.0, "price": 52.633, "volume": 188.0, "taker_order": {"id": 22, "timestamp": 1600338180.0, "volume": 188.0, "price": 52.633, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 188.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352760.0, "price": 52.44, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600352760.0, "volume": 100.0, "price": 52.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600353000.0, "price": 52.58, "volume": 17.0, "taker_order": {"id": 0, "timestamp": 1600353000.0, "volume": 17.0, "price": 52.58, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 17.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600353240.0, "price": 52.7, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600353240.0, "volume": 300.0, "price": 52.7, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600353300.0, "price": 52.85, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600353300.0, "volume": 100.0, "price": 52.85, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600353720.0, "price": 52.89, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600353720.0, "volume": 100.0, "price": 52.89, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600353960.0, "price": 53.28, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600353960.0, "volume": 100.0, "price": 53.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 23, "timestamp": 1600339560.0, "price": 53.28, "volume": 187.0, "taker_order": {"id": 23, "timestamp": 1600339560.0, "volume": 187.0, "price": 53.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354200.0, "price": 53.28, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600354200.0, "volume": 1.0, "price": 53.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354980.0, "price": 53.39, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600354980.0, "volume": 100.0, "price": 53.39, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 24, "timestamp": 1600340580.0, "price": 53.39, "volume": 187.0, "taker_order": {"id": 24, "timestamp": 1600340580.0, "volume": 187.0, "price": 53.39, "side": "SELL", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 187.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600355280.0, "price": 53.4, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600355280.0, "volume": 100.0, "price": 53.4, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600355340.0, "price": 53.475, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600355340.0, "volume": 200.0, "price": 53.475, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600355700.0, "price": 53.55, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600355700.0, "volume": 100.0, "price": 53.55, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600355940.0, "price": 53.27, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600355940.0, "volume": 100.0, "price": 53.27, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600356000.0, "price": 53.3, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600356000.0, "volume": 100.0, "price": 53.3, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600356420.0, "price": 53.15, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600356420.0, "volume": 25.0, "price": 53.15, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600356600.0, "price": 53.16, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600356600.0, "volume": 100.0, "price": 53.16, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600356660.0, "price": 53.12, "volume": 199.0, "taker_order": {"id": 0, "timestamp": 1600356660.0, "volume": 199.0, "price": 53.12, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 199.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600356900.0, "price": 53.08, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600356900.0, "volume": 100.0, "price": 53.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600357200.0, "price": 53.0, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600357200.0, "volume": 100.0, "price": 53.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600357680.0, "price": 52.63, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600357680.0, "volume": 100.0, "price": 52.63, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600357740.0, "price": 52.68, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600357740.0, "volume": 100.0, "price": 52.68, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600357920.0, "price": 52.51, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600357920.0, "volume": 100.0, "price": 52.51, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358100.0, "price": 52.625, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600358100.0, "volume": 400.0, "price": 52.625, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358160.0, "price": 52.53, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600358160.0, "volume": 100.0, "price": 52.53, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358400.0, "price": 52.37, "volume": 70.0, "taker_order": {"id": 0, "timestamp": 1600358400.0, "volume": 70.0, "price": 52.37, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 70.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358640.0, "price": 52.49, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600358640.0, "volume": 100.0, "price": 52.49, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358820.0, "price": 52.2, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600358820.0, "volume": 100.0, "price": 52.2, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359000.0, "price": 52.19, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600359000.0, "volume": 100.0, "price": 52.19, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359300.0, "price": 51.8, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600359300.0, "volume": 100.0, "price": 51.8, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359360.0, "price": 51.87, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600359360.0, "volume": 100.0, "price": 51.87, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359600.0, "price": 51.587, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600359600.0, "volume": 300.0, "price": 51.587, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359780.0, "price": 51.71, "volume": 70.0, "taker_order": {"id": 0, "timestamp": 1600359780.0, "volume": 70.0, "price": 51.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 70.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359840.0, "price": 51.51, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600359840.0, "volume": 100.0, "price": 51.51, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360320.0, "price": 51.7, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600360320.0, "volume": 1.0, "price": 51.7, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360380.0, "price": 51.71, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600360380.0, "volume": 1000.0, "price": 51.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360440.0, "price": 51.76, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600360440.0, "volume": 100.0, "price": 51.76, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360500.0, "price": 51.787, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600360500.0, "volume": 300.0, "price": 51.787, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360620.0, "price": 51.72, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600360620.0, "volume": 7.0, "price": 51.72, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360740.0, "price": 51.88, "volume": 20.0, "taker_order": {"id": 0, "timestamp": 1600360740.0, "volume": 20.0, "price": 51.88, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 20.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600361100.0, "price": 51.76, "volume": 97.0, "taker_order": {"id": 0, "timestamp": 1600361100.0, "volume": 97.0, "price": 51.76, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 97.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600361520.0, "price": 51.79, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600361520.0, "volume": 200.0, "price": 51.79, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600361700.0, "price": 51.83, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600361700.0, "volume": 200.0, "price": 51.83, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600361760.0, "price": 51.96, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600361760.0, "volume": 100.0, "price": 51.96, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362000.0, "price": 52.08, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362000.0, "volume": 100.0, "price": 52.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362240.0, "price": 52.03, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362240.0, "volume": 100.0, "price": 52.03, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362300.0, "price": 51.92, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362300.0, "volume": 100.0, "price": 51.92, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362360.0, "price": 52.05, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362360.0, "volume": 100.0, "price": 52.05, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362540.0, "price": 52.1, "volume": 50.0, "taker_order": {"id": 0, "timestamp": 1600362540.0, "volume": 50.0, "price": 52.1, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 50.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362840.0, "price": 51.97, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362840.0, "volume": 100.0, "price": 51.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362960.0, "price": 51.72, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600362960.0, "volume": 100.0, "price": 51.72, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600363020.0, "price": 51.73, "volume": 253.0, "taker_order": {"id": 0, "timestamp": 1600363020.0, "volume": 253.0, "price": 51.73, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 253.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600363620.0, "price": 51.88, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600363620.0, "volume": 100.0, "price": 51.88, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600363800.0, "price": 51.885, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600363800.0, "volume": 200.0, "price": 51.885, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600364100.0, "price": 52.11, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600364100.0, "volume": 25.0, "price": 52.11, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600365180.0, "price": 52.27, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600365180.0, "volume": 100.0, "price": 52.27, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600365240.0, "price": 52.19, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600365240.0, "volume": 100.0, "price": 52.19, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600365600.0, "price": 52.11, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600365600.0, "volume": 200.0, "price": 52.11, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600365900.0, "price": 52.3, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600365900.0, "volume": 200.0, "price": 52.3, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600365960.0, "price": 52.3, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600365960.0, "volume": 100.0, "price": 52.3, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600366260.0, "price": 52.413, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600366260.0, "volume": 300.0, "price": 52.413, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600366320.0, "price": 52.445, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600366320.0, "volume": 200.0, "price": 52.445, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600366560.0, "price": 52.46, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600366560.0, "volume": 100.0, "price": 52.46, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600366620.0, "price": 52.45, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600366620.0, "volume": 100.0, "price": 52.45, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600366800.0, "price": 52.255, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600366800.0, "volume": 200.0, "price": 52.255, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600367220.0, "price": 52.17, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600367220.0, "volume": 200.0, "price": 52.17, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600367700.0, "price": 51.75, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600367700.0, "volume": 100.0, "price": 51.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600367760.0, "price": 51.66, "volume": 90.0, "taker_order": {"id": 0, "timestamp": 1600367760.0, "volume": 90.0, "price": 51.66, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 90.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600368060.0, "price": 51.66, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600368060.0, "volume": 100.0, "price": 51.66, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600368540.0, "price": 51.95, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600368540.0, "volume": 100.0, "price": 51.95, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600368900.0, "price": 52.025, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600368900.0, "volume": 100.0, "price": 52.025, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369680.0, "price": 51.605, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600369680.0, "volume": 400.0, "price": 51.605, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369740.0, "price": 51.665, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600369740.0, "volume": 300.0, "price": 51.665, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369860.0, "price": 52.01, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600369860.0, "volume": 100.0, "price": 52.01, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369920.0, "price": 51.98, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600369920.0, "volume": 100.0, "price": 51.98, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369980.0, "price": 52.145, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600369980.0, "volume": 200.0, "price": 52.145, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600370220.0, "price": 52.02, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600370220.0, "volume": 100.0, "price": 52.02, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600370880.0, "price": 51.678, "volume": 164.0, "taker_order": {"id": 0, "timestamp": 1600370880.0, "volume": 164.0, "price": 51.678, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 164.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600370940.0, "price": 51.74, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600370940.0, "volume": 100.0, "price": 51.74, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371120.0, "price": 52.045, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600371120.0, "volume": 200.0, "price": 52.045, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371240.0, "price": 52.275, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600371240.0, "volume": 200.0, "price": 52.275, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371360.0, "price": 52.364, "volume": 344.0, "taker_order": {"id": 0, "timestamp": 1600371360.0, "volume": 344.0, "price": 52.364, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 344.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371660.0, "price": 52.538, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600371660.0, "volume": 200.0, "price": 52.538, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371720.0, "price": 52.54, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600371720.0, "volume": 100.0, "price": 52.54, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371960.0, "price": 52.19, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600371960.0, "volume": 100.0, "price": 52.19, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372200.0, "price": 52.509, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600372200.0, "volume": 1100.0, "price": 52.509, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372380.0, "price": 52.63, "volume": 64.0, "taker_order": {"id": 0, "timestamp": 1600372380.0, "volume": 64.0, "price": 52.63, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 64.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372560.0, "price": 52.56, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600372560.0, "volume": 100.0, "price": 52.56, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372740.0, "price": 52.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600372740.0, "volume": 100.0, "price": 52.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600435800.0, "price": 53.06, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600435800.0, "volume": 100.0, "price": 53.06, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436040.0, "price": 52.9, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600436040.0, "volume": 100.0, "price": 52.9, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436220.0, "price": 52.78, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600436220.0, "volume": 200.0, "price": 52.78, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436460.0, "price": 52.73, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600436460.0, "volume": 100.0, "price": 52.73, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436700.0, "price": 52.74, "volume": 18.0, "taker_order": {"id": 0, "timestamp": 1600436700.0, "volume": 18.0, "price": 52.74, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 18.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436820.0, "price": 52.34, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600436820.0, "volume": 100.0, "price": 52.34, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437360.0, "price": 52.5, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600437360.0, "volume": 100.0, "price": 52.5, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437480.0, "price": 52.37, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600437480.0, "volume": 200.0, "price": 52.37, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437660.0, "price": 52.613, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600437660.0, "volume": 300.0, "price": 52.613, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437960.0, "price": 52.59, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600437960.0, "volume": 100.0, "price": 52.59, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600438080.0, "price": 52.78, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600438080.0, "volume": 100.0, "price": 52.78, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600438620.0, "price": 52.92, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600438620.0, "volume": 100.0, "price": 52.92, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600439100.0, "price": 52.69, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600439100.0, "volume": 100.0, "price": 52.69, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600439460.0, "price": 52.56, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600439460.0, "volume": 200.0, "price": 52.56, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600439880.0, "price": 52.36, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600439880.0, "volume": 100.0, "price": 52.36, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600440060.0, "price": 52.31, "volume": 110.0, "taker_order": {"id": 0, "timestamp": 1600440060.0, "volume": 110.0, "price": 52.31, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 110.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600440480.0, "price": 52.33, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600440480.0, "volume": 100.0, "price": 52.33, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600440780.0, "price": 51.977, "volume": 602.0, "taker_order": {"id": 0, "timestamp": 1600440780.0, "volume": 602.0, "price": 51.977, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 602.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600441260.0, "price": 51.89, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600441260.0, "volume": 200.0, "price": 51.89, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600441920.0, "price": 51.9, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600441920.0, "volume": 100.0, "price": 51.9, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600442100.0, "price": 52.0, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600442100.0, "volume": 200.0, "price": 52.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600442160.0, "price": 51.89, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600442160.0, "volume": 100.0, "price": 51.89, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600442220.0, "price": 51.77, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600442220.0, "volume": 100.0, "price": 51.77, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600443240.0, "price": 51.673, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600443240.0, "volume": 300.0, "price": 51.673, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600443300.0, "price": 51.58, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600443300.0, "volume": 100.0, "price": 51.58, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600443900.0, "price": 51.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600443900.0, "volume": 100.0, "price": 51.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444020.0, "price": 52.01, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600444020.0, "volume": 100.0, "price": 52.01, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444140.0, "price": 52.05, "volume": 29.0, "taker_order": {"id": 0, "timestamp": 1600444140.0, "volume": 29.0, "price": 52.05, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 29.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444440.0, "price": 52.03, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600444440.0, "volume": 500.0, "price": 52.03, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444560.0, "price": 52.063, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600444560.0, "volume": 300.0, "price": 52.063, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444860.0, "price": 52.071, "volume": 104.0, "taker_order": {"id": 0, "timestamp": 1600444860.0, "volume": 104.0, "price": 52.071, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 104.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600445040.0, "price": 51.97, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600445040.0, "volume": 300.0, "price": 51.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600445460.0, "price": 52.03, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600445460.0, "volume": 200.0, "price": 52.03, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600446480.0, "price": 51.6, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600446480.0, "volume": 300.0, "price": 51.6, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600446660.0, "price": 51.37, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600446660.0, "volume": 100.0, "price": 51.37, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447200.0, "price": 51.19, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600447200.0, "volume": 300.0, "price": 51.19, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447320.0, "price": 51.08, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600447320.0, "volume": 100.0, "price": 51.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447440.0, "price": 51.08, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600447440.0, "volume": 300.0, "price": 51.08, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447800.0, "price": 50.94, "volume": 35.0, "taker_order": {"id": 0, "timestamp": 1600447800.0, "volume": 35.0, "price": 50.94, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 35.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447860.0, "price": 51.0, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600447860.0, "volume": 100.0, "price": 51.0, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447980.0, "price": 50.894, "volume": 80.0, "taker_order": {"id": 0, "timestamp": 1600447980.0, "volume": 80.0, "price": 50.894, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 80.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448340.0, "price": 50.98, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600448340.0, "volume": 100.0, "price": 50.98, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448700.0, "price": 50.93, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600448700.0, "volume": 25.0, "price": 50.93, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448760.0, "price": 50.9, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600448760.0, "volume": 100.0, "price": 50.9, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448940.0, "price": 50.765, "volume": 220.0, "taker_order": {"id": 0, "timestamp": 1600448940.0, "volume": 220.0, "price": 50.765, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 220.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449180.0, "price": 50.9, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600449180.0, "volume": 100.0, "price": 50.9, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449420.0, "price": 50.74, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600449420.0, "volume": 200.0, "price": 50.74, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449480.0, "price": 50.75, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600449480.0, "volume": 200.0, "price": 50.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449660.0, "price": 50.71, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600449660.0, "volume": 100.0, "price": 50.71, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449960.0, "price": 50.6, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600449960.0, "volume": 100.0, "price": 50.6, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450140.0, "price": 50.3, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600450140.0, "volume": 100.0, "price": 50.3, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450320.0, "price": 50.02, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600450320.0, "volume": 100.0, "price": 50.02, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450380.0, "price": 50.13, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600450380.0, "volume": 100.0, "price": 50.13, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450620.0, "price": 49.92, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600450620.0, "volume": 100.0, "price": 49.92, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450800.0, "price": 50.13, "volume": 53.0, "taker_order": {"id": 0, "timestamp": 1600450800.0, "volume": 53.0, "price": 50.13, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 53.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451220.0, "price": 50.36, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600451220.0, "volume": 100.0, "price": 50.36, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451700.0, "price": 50.44, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600451700.0, "volume": 100.0, "price": 50.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451760.0, "price": 50.48, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600451760.0, "volume": 100.0, "price": 50.48, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600452000.0, "price": 50.56, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600452000.0, "volume": 100.0, "price": 50.56, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600452900.0, "price": 50.49, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600452900.0, "volume": 200.0, "price": 50.49, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600453020.0, "price": 50.44, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600453020.0, "volume": 200.0, "price": 50.44, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600453380.0, "price": 50.55, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600453380.0, "volume": 100.0, "price": 50.55, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600453680.0, "price": 50.59, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600453680.0, "volume": 100.0, "price": 50.59, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600454100.0, "price": 50.72, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600454100.0, "volume": 100.0, "price": 50.72, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600454160.0, "price": 50.61, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600454160.0, "volume": 100.0, "price": 50.61, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600454760.0, "price": 50.645, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600454760.0, "volume": 200.0, "price": 50.645, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455000.0, "price": 50.49, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600455000.0, "volume": 100.0, "price": 50.49, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455300.0, "price": 50.592, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600455300.0, "volume": 300.0, "price": 50.592, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455360.0, "price": 50.627, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600455360.0, "volume": 300.0, "price": 50.627, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455420.0, "price": 50.645, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600455420.0, "volume": 100.0, "price": 50.645, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455540.0, "price": 50.75, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600455540.0, "volume": 100.0, "price": 50.75, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455600.0, "price": 50.867, "volume": 269.0, "taker_order": {"id": 0, "timestamp": 1600455600.0, "volume": 269.0, "price": 50.867, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 269.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455840.0, "price": 51.03, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600455840.0, "volume": 100.0, "price": 51.03, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600456260.0, "price": 50.97, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600456260.0, "volume": 100.0, "price": 50.97, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600456320.0, "price": 50.94, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600456320.0, "volume": 100.0, "price": 50.94, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600456380.0, "price": 50.955, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600456380.0, "volume": 200.0, "price": 50.955, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600456920.0, "price": 50.83, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600456920.0, "volume": 100.0, "price": 50.83, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457100.0, "price": 51.068, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600457100.0, "volume": 400.0, "price": 51.068, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457280.0, "price": 51.17, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600457280.0, "volume": 100.0, "price": 51.17, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457340.0, "price": 51.13, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600457340.0, "volume": 100.0, "price": 51.13, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457400.0, "price": 51.16, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600457400.0, "volume": 100.0, "price": 51.16, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457520.0, "price": 51.28, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600457520.0, "volume": 100.0, "price": 51.28, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457940.0, "price": 51.2, "volume": 129.0, "taker_order": {"id": 0, "timestamp": 1600457940.0, "volume": 129.0, "price": 51.2, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 129.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458180.0, "price": 51.305, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600458180.0, "volume": 25.0, "price": 51.305, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458420.0, "price": 51.285, "volume": 4.0, "taker_order": {"id": 0, "timestamp": 1600458420.0, "volume": 4.0, "price": 51.285, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 4.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458540.0, "price": 51.263, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600458540.0, "volume": 300.0, "price": 51.263, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458600.0, "price": 51.131, "volume": 643.0, "taker_order": {"id": 0, "timestamp": 1600458600.0, "volume": 643.0, "price": 51.131, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 643.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458720.0, "price": 50.98, "volume": 2.0, "taker_order": {"id": 0, "timestamp": 1600458720.0, "volume": 2.0, "price": 50.98, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458780.0, "price": 50.995, "volume": 759.0, "taker_order": {"id": 0, "timestamp": 1600458780.0, "volume": 759.0, "price": 50.995, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 759.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458840.0, "price": 50.981, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600458840.0, "volume": 400.0, "price": 50.981, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458900.0, "price": 51.145, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600458900.0, "volume": 100.0, "price": 51.145, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458960.0, "price": 51.068, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600458960.0, "volume": 400.0, "price": 51.068, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600459020.0, "price": 51.016, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600459020.0, "volume": 500.0, "price": 51.016, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600459080.0, "price": 50.99, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600459080.0, "volume": 600.0, "price": 50.99, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600459140.0, "price": 51.026, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600459140.0, "volume": 800.0, "price": 51.026, "side": "BUY", "instrument": {"name": "SPXL", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}], "{\"name\": \"SPXS\", \"type\": \"EQUITY\", \"exchanges\": [{\"name\": \"iex\"}], \"brokerExchange\": \"PSE\", \"brokerId\": null, \"currency\": {\"name\": \"USD\", \"type\": \"CURRENCY\", \"exchanges\": [], \"brokerExchange\": null, \"brokerId\": null, \"currency\": \"\", \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}, \"underlying\": \"\", \"leg1\": \"\", \"leg2\": \"\", \"leg1_side\": \"\", \"leg2_side\": \"\", \"expiration\": \"\", \"price_increment\": \"\", \"unit_value\": \"\", \"option_type\": \"\"}": [{"id": -1, "timestamp": 1600091940.0, "price": 5.695, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600091940.0, "volume": 100.0, "price": 5.695, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600092060.0, "price": 5.7, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600092060.0, "volume": 100.0, "price": 5.7, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600092840.0, "price": 5.66, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600092840.0, "volume": 800.0, "price": 5.66, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600094460.0, "price": 5.648, "volume": 2200.0, "taker_order": {"id": 0, "timestamp": 1600094460.0, "volume": 2200.0, "price": 5.648, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600100760.0, "price": 5.655, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600100760.0, "volume": 100.0, "price": 5.655, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600103460.0, "price": 5.695, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600103460.0, "volume": 500.0, "price": 5.695, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111140.0, "price": 5.705, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600111140.0, "volume": 100.0, "price": 5.705, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111320.0, "price": 5.74, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600111320.0, "volume": 600.0, "price": 5.74, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 3, "timestamp": 1600096920.0, "price": 5.74, "volume": 1742.0, "taker_order": {"id": 3, "timestamp": 1600096920.0, "volume": 1742.0, "price": 5.74, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600111980.0, "price": 5.725, "volume": 2400.0, "taker_order": {"id": 0, "timestamp": 1600111980.0, "volume": 2400.0, "price": 5.725, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 4, "timestamp": 1600097580.0, "price": 5.725, "volume": 1742.0, "taker_order": {"id": 4, "timestamp": 1600097580.0, "volume": 1742.0, "price": 5.725, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1742.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600112940.0, "price": 5.65, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600112940.0, "volume": 100.0, "price": 5.65, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600113360.0, "price": 5.695, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600113360.0, "volume": 100.0, "price": 5.695, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600176780.0, "price": 5.56, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600176780.0, "volume": 100.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600177440.0, "price": 5.54, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600177440.0, "volume": 100.0, "price": 5.54, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600177980.0, "price": 5.57, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600177980.0, "volume": 7.0, "price": 5.57, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178220.0, "price": 5.56, "volume": 900.0, "taker_order": {"id": 0, "timestamp": 1600178220.0, "volume": 900.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178700.0, "price": 5.545, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600178700.0, "volume": 1.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600178880.0, "price": 5.555, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600178880.0, "volume": 7.0, "price": 5.555, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179420.0, "price": 5.56, "volume": 2.0, "taker_order": {"id": 0, "timestamp": 1600179420.0, "volume": 2.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179540.0, "price": 5.56, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600179540.0, "volume": 600.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600179600.0, "price": 5.56, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600179600.0, "volume": 1.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180380.0, "price": 5.56, "volume": 108.0, "taker_order": {"id": 0, "timestamp": 1600180380.0, "volume": 108.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 108.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180500.0, "price": 5.551, "volume": 5.0, "taker_order": {"id": 0, "timestamp": 1600180500.0, "volume": 5.0, "price": 5.551, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 5.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180800.0, "price": 5.575, "volume": 16100.0, "taker_order": {"id": 0, "timestamp": 1600180800.0, "volume": 16100.0, "price": 5.575, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 16100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600180860.0, "price": 5.565, "volume": 15400.0, "taker_order": {"id": 0, "timestamp": 1600180860.0, "volume": 15400.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 15400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600181040.0, "price": 5.6, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600181040.0, "volume": 600.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 5, "timestamp": 1600166640.0, "price": 5.6, "volume": 1785.0, "taker_order": {"id": 5, "timestamp": 1600166640.0, "volume": 1785.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600181520.0, "price": 5.58, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600181520.0, "volume": 1.0, "price": 5.58, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 6, "timestamp": 1600167120.0, "price": 5.58, "volume": 1785.0, "taker_order": {"id": 6, "timestamp": 1600167120.0, "volume": 1785.0, "price": 5.58, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1785.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600181700.0, "price": 5.565, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600181700.0, "volume": 1000.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600182180.0, "price": 5.555, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600182180.0, "volume": 1000.0, "price": 5.555, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600182420.0, "price": 5.545, "volume": 2700.0, "taker_order": {"id": 0, "timestamp": 1600182420.0, "volume": 2700.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600182540.0, "price": 5.545, "volume": 208.0, "taker_order": {"id": 0, "timestamp": 1600182540.0, "volume": 208.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 208.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600182600.0, "price": 5.545, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600182600.0, "volume": 7.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600183320.0, "price": 5.56, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600183320.0, "volume": 7.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600183380.0, "price": 5.555, "volume": 24.0, "taker_order": {"id": 0, "timestamp": 1600183380.0, "volume": 24.0, "price": 5.555, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 24.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600183560.0, "price": 5.557, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600183560.0, "volume": 7.0, "price": 5.557, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600183800.0, "price": 5.555, "volume": 350.0, "taker_order": {"id": 0, "timestamp": 1600183800.0, "volume": 350.0, "price": 5.555, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 350.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600184040.0, "price": 5.555, "volume": 6.0, "taker_order": {"id": 0, "timestamp": 1600184040.0, "volume": 6.0, "price": 5.555, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 6.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600184100.0, "price": 5.54, "volume": 6.0, "taker_order": {"id": 0, "timestamp": 1600184100.0, "volume": 6.0, "price": 5.54, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 6.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600184280.0, "price": 5.55, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600184280.0, "volume": 100.0, "price": 5.55, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600184400.0, "price": 5.545, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600184400.0, "volume": 400.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600185600.0, "price": 5.56, "volume": 60.0, "taker_order": {"id": 0, "timestamp": 1600185600.0, "volume": 60.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 60.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600186140.0, "price": 5.57, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600186140.0, "volume": 1.0, "price": 5.57, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600187100.0, "price": 5.56, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600187100.0, "volume": 7.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600190220.0, "price": 5.54, "volume": 900.0, "taker_order": {"id": 0, "timestamp": 1600190220.0, "volume": 900.0, "price": 5.54, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600191300.0, "price": 5.56, "volume": 2163.0, "taker_order": {"id": 0, "timestamp": 1600191300.0, "volume": 2163.0, "price": 5.56, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2163.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600192680.0, "price": 5.57, "volume": 20.0, "taker_order": {"id": 0, "timestamp": 1600192680.0, "volume": 20.0, "price": 5.57, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 20.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600194120.0, "price": 5.6, "volume": 613.0, "taker_order": {"id": 0, "timestamp": 1600194120.0, "volume": 613.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 613.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600194420.0, "price": 5.59, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600194420.0, "volume": 200.0, "price": 5.59, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600194480.0, "price": 5.595, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600194480.0, "volume": 500.0, "price": 5.595, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196280.0, "price": 5.6, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600196280.0, "volume": 800.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196460.0, "price": 5.6, "volume": 1710.0, "taker_order": {"id": 0, "timestamp": 1600196460.0, "volume": 1710.0, "price": 5.6, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1710.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196820.0, "price": 5.635, "volume": 8200.0, "taker_order": {"id": 0, "timestamp": 1600196820.0, "volume": 8200.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 8200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 7, "timestamp": 1600182420.0, "price": 5.635, "volume": 1774.0, "taker_order": {"id": 7, "timestamp": 1600182420.0, "volume": 1774.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196880.0, "price": 5.645, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600196880.0, "volume": 2500.0, "price": 5.645, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600196940.0, "price": 5.64, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600196940.0, "volume": 800.0, "price": 5.64, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197360.0, "price": 5.64, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600197360.0, "volume": 1000.0, "price": 5.64, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600197540.0, "price": 5.64, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600197540.0, "volume": 300.0, "price": 5.64, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198020.0, "price": 5.64, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600198020.0, "volume": 100.0, "price": 5.64, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198080.0, "price": 5.635, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600198080.0, "volume": 2500.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198500.0, "price": 5.66, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600198500.0, "volume": 200.0, "price": 5.66, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 8, "timestamp": 1600184100.0, "price": 5.66, "volume": 1774.0, "taker_order": {"id": 8, "timestamp": 1600184100.0, "volume": 1774.0, "price": 5.66, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1774.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198560.0, "price": 5.655, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600198560.0, "volume": 1000.0, "price": 5.655, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198740.0, "price": 5.675, "volume": 671.0, "taker_order": {"id": 0, "timestamp": 1600198740.0, "volume": 671.0, "price": 5.675, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 671.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600198800.0, "price": 5.685, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600198800.0, "volume": 500.0, "price": 5.685, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199400.0, "price": 5.65, "volume": 108.0, "taker_order": {"id": 0, "timestamp": 1600199400.0, "volume": 108.0, "price": 5.65, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 108.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199460.0, "price": 5.645, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600199460.0, "volume": 500.0, "price": 5.645, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199640.0, "price": 5.63, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600199640.0, "volume": 300.0, "price": 5.63, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199760.0, "price": 5.63, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600199760.0, "volume": 200.0, "price": 5.63, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199880.0, "price": 5.63, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600199880.0, "volume": 200.0, "price": 5.63, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600199940.0, "price": 5.625, "volume": 196.0, "taker_order": {"id": 0, "timestamp": 1600199940.0, "volume": 196.0, "price": 5.625, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 196.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600263060.0, "price": 5.565, "volume": 501.0, "taker_order": {"id": 0, "timestamp": 1600263060.0, "volume": 501.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 501.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600263420.0, "price": 5.58, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600263420.0, "volume": 800.0, "price": 5.58, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600264260.0, "price": 5.585, "volume": 25000.0, "taker_order": {"id": 0, "timestamp": 1600264260.0, "volume": 25000.0, "price": 5.585, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600265760.0, "price": 5.565, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600265760.0, "volume": 100.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600266240.0, "price": 5.565, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600266240.0, "volume": 600.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600267680.0, "price": 5.61, "volume": 10.0, "taker_order": {"id": 0, "timestamp": 1600267680.0, "volume": 10.0, "price": 5.61, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 9, "timestamp": 1600253280.0, "price": 5.61, "volume": 1782.0, "taker_order": {"id": 9, "timestamp": 1600253280.0, "volume": 1782.0, "price": 5.61, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600268100.0, "price": 5.59, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600268100.0, "volume": 300.0, "price": 5.59, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 10, "timestamp": 1600253700.0, "price": 5.59, "volume": 1782.0, "taker_order": {"id": 10, "timestamp": 1600253700.0, "volume": 1782.0, "price": 5.59, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1782.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600268760.0, "price": 5.57, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600268760.0, "volume": 800.0, "price": 5.57, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600271760.0, "price": 5.545, "volume": 6500.0, "taker_order": {"id": 0, "timestamp": 1600271760.0, "volume": 6500.0, "price": 5.545, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 6500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600271940.0, "price": 5.55, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600271940.0, "volume": 500.0, "price": 5.55, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600275180.0, "price": 5.575, "volume": 2700.0, "taker_order": {"id": 0, "timestamp": 1600275180.0, "volume": 2700.0, "price": 5.575, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600275300.0, "price": 5.575, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600275300.0, "volume": 500.0, "price": 5.575, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600275540.0, "price": 5.565, "volume": 900.0, "taker_order": {"id": 0, "timestamp": 1600275540.0, "volume": 900.0, "price": 5.565, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600275900.0, "price": 5.57, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600275900.0, "volume": 400.0, "price": 5.57, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600276560.0, "price": 5.585, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600276560.0, "volume": 1.0, "price": 5.585, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600278240.0, "price": 5.605, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600278240.0, "volume": 500.0, "price": 5.605, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600278720.0, "price": 5.59, "volume": 700.0, "taker_order": {"id": 0, "timestamp": 1600278720.0, "volume": 700.0, "price": 5.59, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600279320.0, "price": 5.535, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600279320.0, "volume": 300.0, "price": 5.535, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280580.0, "price": 5.52, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600280580.0, "volume": 200.0, "price": 5.52, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600280940.0, "price": 5.525, "volume": 1400.0, "taker_order": {"id": 0, "timestamp": 1600280940.0, "volume": 1400.0, "price": 5.525, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283520.0, "price": 5.648, "volume": 46900.0, "taker_order": {"id": 0, "timestamp": 1600283520.0, "volume": 46900.0, "price": 5.648, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 46900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 15, "timestamp": 1600269120.0, "price": 5.648, "volume": 1770.0, "taker_order": {"id": 15, "timestamp": 1600269120.0, "volume": 1770.0, "price": 5.648, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283580.0, "price": 5.645, "volume": 9055.0, "taker_order": {"id": 0, "timestamp": 1600283580.0, "volume": 9055.0, "price": 5.645, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 9055.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283640.0, "price": 5.635, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600283640.0, "volume": 2500.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600283700.0, "price": 5.655, "volume": 3400.0, "taker_order": {"id": 0, "timestamp": 1600283700.0, "volume": 3400.0, "price": 5.655, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284120.0, "price": 5.635, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600284120.0, "volume": 2500.0, "price": 5.635, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600284660.0, "price": 5.665, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600284660.0, "volume": 100.0, "price": 5.665, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 16, "timestamp": 1600270260.0, "price": 5.665, "volume": 1770.0, "taker_order": {"id": 16, "timestamp": 1600270260.0, "volume": 1770.0, "price": 5.665, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1770.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285260.0, "price": 5.685, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600285260.0, "volume": 500.0, "price": 5.685, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285500.0, "price": 5.655, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600285500.0, "volume": 300.0, "price": 5.655, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285680.0, "price": 5.615, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600285680.0, "volume": 500.0, "price": 5.615, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285740.0, "price": 5.625, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600285740.0, "volume": 600.0, "price": 5.625, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285800.0, "price": 5.63, "volume": 4700.0, "taker_order": {"id": 0, "timestamp": 1600285800.0, "volume": 4700.0, "price": 5.63, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 4700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285920.0, "price": 5.675, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600285920.0, "volume": 1000.0, "price": 5.675, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600285980.0, "price": 5.67, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600285980.0, "volume": 200.0, "price": 5.67, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286040.0, "price": 5.675, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600286040.0, "volume": 2500.0, "price": 5.675, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286100.0, "price": 5.695, "volume": 1300.0, "taker_order": {"id": 0, "timestamp": 1600286100.0, "volume": 1300.0, "price": 5.695, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286220.0, "price": 5.69, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600286220.0, "volume": 100.0, "price": 5.69, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600286340.0, "price": 5.705, "volume": 2800.0, "taker_order": {"id": 0, "timestamp": 1600286340.0, "volume": 2800.0, "price": 5.705, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349700.0, "price": 5.94, "volume": 13200.0, "taker_order": {"id": 0, "timestamp": 1600349700.0, "volume": 13200.0, "price": 5.94, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 13200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349820.0, "price": 5.928, "volume": 10200.0, "taker_order": {"id": 0, "timestamp": 1600349820.0, "volume": 10200.0, "price": 5.928, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 10200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600349880.0, "price": 5.915, "volume": 3201.0, "taker_order": {"id": 0, "timestamp": 1600349880.0, "volume": 3201.0, "price": 5.915, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3201.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350000.0, "price": 5.945, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600350000.0, "volume": 100.0, "price": 5.945, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350420.0, "price": 5.92, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600350420.0, "volume": 400.0, "price": 5.92, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350480.0, "price": 5.93, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600350480.0, "volume": 100.0, "price": 5.93, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350600.0, "price": 5.91, "volume": 3086.0, "taker_order": {"id": 0, "timestamp": 1600350600.0, "volume": 3086.0, "price": 5.91, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3086.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350660.0, "price": 5.88, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600350660.0, "volume": 1000.0, "price": 5.88, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350720.0, "price": 5.87, "volume": 1300.0, "taker_order": {"id": 0, "timestamp": 1600350720.0, "volume": 1300.0, "price": 5.87, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350780.0, "price": 5.88, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600350780.0, "volume": 100.0, "price": 5.88, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600350840.0, "price": 5.875, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600350840.0, "volume": 500.0, "price": 5.875, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351560.0, "price": 5.83, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600351560.0, "volume": 7.0, "price": 5.83, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351680.0, "price": 5.83, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600351680.0, "volume": 1100.0, "price": 5.83, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600351920.0, "price": 5.81, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600351920.0, "volume": 400.0, "price": 5.81, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352100.0, "price": 5.825, "volume": 1500.0, "taker_order": {"id": 0, "timestamp": 1600352100.0, "volume": 1500.0, "price": 5.825, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352700.0, "price": 5.88, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600352700.0, "volume": 1000.0, "price": 5.88, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600352760.0, "price": 5.88, "volume": 4000.0, "taker_order": {"id": 0, "timestamp": 1600352760.0, "volume": 4000.0, "price": 5.88, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 4000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354320.0, "price": 5.79, "volume": 4000.0, "taker_order": {"id": 0, "timestamp": 1600354320.0, "volume": 4000.0, "price": 5.79, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 4000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354440.0, "price": 5.79, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600354440.0, "volume": 1100.0, "price": 5.79, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354560.0, "price": 5.805, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600354560.0, "volume": 300.0, "price": 5.805, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354680.0, "price": 5.805, "volume": 105.0, "taker_order": {"id": 0, "timestamp": 1600354680.0, "volume": 105.0, "price": 5.805, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 105.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600354860.0, "price": 5.78, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600354860.0, "volume": 300.0, "price": 5.78, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600355760.0, "price": 5.76, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600355760.0, "volume": 1000.0, "price": 5.76, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600358700.0, "price": 5.865, "volume": 3000.0, "taker_order": {"id": 0, "timestamp": 1600358700.0, "volume": 3000.0, "price": 5.865, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359000.0, "price": 5.91, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600359000.0, "volume": 800.0, "price": 5.91, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359240.0, "price": 5.944, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600359240.0, "volume": 1100.0, "price": 5.944, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600359540.0, "price": 5.965, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600359540.0, "volume": 500.0, "price": 5.965, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360380.0, "price": 5.95, "volume": 700.0, "taker_order": {"id": 0, "timestamp": 1600360380.0, "volume": 700.0, "price": 5.95, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360920.0, "price": 5.945, "volume": 2500.0, "taker_order": {"id": 0, "timestamp": 1600360920.0, "volume": 2500.0, "price": 5.945, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600360980.0, "price": 5.955, "volume": 7500.0, "taker_order": {"id": 0, "timestamp": 1600360980.0, "volume": 7500.0, "price": 5.955, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600361700.0, "price": 5.925, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600361700.0, "volume": 100.0, "price": 5.925, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600362120.0, "price": 5.92, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600362120.0, "volume": 500.0, "price": 5.92, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600368180.0, "price": 5.945, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600368180.0, "volume": 1000.0, "price": 5.945, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600368540.0, "price": 5.93, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600368540.0, "volume": 1000.0, "price": 5.93, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369140.0, "price": 5.935, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600369140.0, "volume": 200.0, "price": 5.935, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369680.0, "price": 5.96, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600369680.0, "volume": 1000.0, "price": 5.96, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369740.0, "price": 5.96, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600369740.0, "volume": 300.0, "price": 5.96, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600369860.0, "price": 5.94, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600369860.0, "volume": 100.0, "price": 5.94, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371900.0, "price": 5.883, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600371900.0, "volume": 300.0, "price": 5.883, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600371960.0, "price": 5.89, "volume": 1100.0, "taker_order": {"id": 0, "timestamp": 1600371960.0, "volume": 1100.0, "price": 5.89, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372260.0, "price": 5.855, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600372260.0, "volume": 200.0, "price": 5.855, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372380.0, "price": 5.859, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600372380.0, "volume": 800.0, "price": 5.859, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372500.0, "price": 5.85, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600372500.0, "volume": 100.0, "price": 5.85, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372620.0, "price": 5.87, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600372620.0, "volume": 100.0, "price": 5.87, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372680.0, "price": 5.86, "volume": 25.0, "taker_order": {"id": 0, "timestamp": 1600372680.0, "volume": 25.0, "price": 5.86, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 25.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600372740.0, "price": 5.853, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600372740.0, "volume": 500.0, "price": 5.853, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600436700.0, "price": 5.855, "volume": 24.0, "taker_order": {"id": 0, "timestamp": 1600436700.0, "volume": 24.0, "price": 5.855, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 24.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437180.0, "price": 5.88, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600437180.0, "volume": 500.0, "price": 5.88, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437660.0, "price": 5.855, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600437660.0, "volume": 7.0, "price": 5.855, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600437900.0, "price": 5.857, "volume": 1900.0, "taker_order": {"id": 0, "timestamp": 1600437900.0, "volume": 1900.0, "price": 5.857, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1900.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600439580.0, "price": 5.865, "volume": 105.0, "taker_order": {"id": 0, "timestamp": 1600439580.0, "volume": 105.0, "price": 5.865, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 105.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600440480.0, "price": 5.9, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600440480.0, "volume": 100.0, "price": 5.9, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 25, "timestamp": 1600426080.0, "price": 5.9, "volume": 1694.0, "taker_order": {"id": 25, "timestamp": 1600426080.0, "volume": 1694.0, "price": 5.9, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600441260.0, "price": 5.945, "volume": 500.0, "taker_order": {"id": 0, "timestamp": 1600441260.0, "volume": 500.0, "price": 5.945, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 26, "timestamp": 1600426860.0, "price": 5.945, "volume": 1694.0, "taker_order": {"id": 26, "timestamp": 1600426860.0, "volume": 1694.0, "price": 5.945, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1694.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600441320.0, "price": 5.945, "volume": 400.0, "taker_order": {"id": 0, "timestamp": 1600441320.0, "volume": 400.0, "price": 5.945, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600441980.0, "price": 5.94, "volume": 1.0, "taker_order": {"id": 0, "timestamp": 1600441980.0, "volume": 1.0, "price": 5.94, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600443000.0, "price": 5.93, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600443000.0, "volume": 7.0, "price": 5.93, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600443420.0, "price": 5.975, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600443420.0, "volume": 1000.0, "price": 5.975, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600444140.0, "price": 5.915, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600444140.0, "volume": 1000.0, "price": 5.915, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600446960.0, "price": 6.0, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600446960.0, "volume": 300.0, "price": 6.0, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 27, "timestamp": 1600432560.0, "price": 6.0, "volume": 1666.0, "taker_order": {"id": 27, "timestamp": 1600432560.0, "volume": 1666.0, "price": 6.0, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447680.0, "price": 6.025, "volume": 2400.0, "taker_order": {"id": 0, "timestamp": 1600447680.0, "volume": 2400.0, "price": 6.025, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 28, "timestamp": 1600433280.0, "price": 6.025, "volume": 1666.0, "taker_order": {"id": 28, "timestamp": 1600433280.0, "volume": 1666.0, "price": 6.025, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1666.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600447800.0, "price": 6.045, "volume": 1000.0, "taker_order": {"id": 0, "timestamp": 1600447800.0, "volume": 1000.0, "price": 6.045, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448220.0, "price": 6.04, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600448220.0, "volume": 200.0, "price": 6.04, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600448760.0, "price": 6.05, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600448760.0, "volume": 100.0, "price": 6.05, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449120.0, "price": 6.05, "volume": 41.0, "taker_order": {"id": 0, "timestamp": 1600449120.0, "volume": 41.0, "price": 6.05, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 41.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600449420.0, "price": 6.06, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600449420.0, "volume": 200.0, "price": 6.06, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450020.0, "price": 6.091, "volume": 1600.0, "taker_order": {"id": 0, "timestamp": 1600450020.0, "volume": 1600.0, "price": 6.091, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 29, "timestamp": 1600435620.0, "price": 6.091, "volume": 1641.0, "taker_order": {"id": 29, "timestamp": 1600435620.0, "volume": 1641.0, "price": 6.091, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600450080.0, "price": 6.105, "volume": 1500.0, "taker_order": {"id": 0, "timestamp": 1600450080.0, "volume": 1500.0, "price": 6.105, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1500.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": 30, "timestamp": 1600435680.0, "price": 6.105, "volume": 1641.0, "taker_order": {"id": 30, "timestamp": 1600435680.0, "volume": 1641.0, "price": 6.105, "side": "SELL", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 1641.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451220.0, "price": 6.12, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600451220.0, "volume": 100.0, "price": 6.12, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451340.0, "price": 6.105, "volume": 2000.0, "taker_order": {"id": 0, "timestamp": 1600451340.0, "volume": 2000.0, "price": 6.105, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2000.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600451580.0, "price": 6.115, "volume": 2400.0, "taker_order": {"id": 0, "timestamp": 1600451580.0, "volume": 2400.0, "price": 6.115, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2400.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600453920.0, "price": 6.075, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600453920.0, "volume": 100.0, "price": 6.075, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600454040.0, "price": 6.065, "volume": 7.0, "taker_order": {"id": 0, "timestamp": 1600454040.0, "volume": 7.0, "price": 6.065, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 7.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600455300.0, "price": 6.085, "volume": 17.0, "taker_order": {"id": 0, "timestamp": 1600455300.0, "volume": 17.0, "price": 6.085, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 17.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457160.0, "price": 6.03, "volume": 700.0, "taker_order": {"id": 0, "timestamp": 1600457160.0, "volume": 700.0, "price": 6.03, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 700.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457880.0, "price": 6.005, "volume": 200.0, "taker_order": {"id": 0, "timestamp": 1600457880.0, "volume": 200.0, "price": 6.005, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 200.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600457940.0, "price": 6.01, "volume": 600.0, "taker_order": {"id": 0, "timestamp": 1600457940.0, "volume": 600.0, "price": 6.01, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 600.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458660.0, "price": 6.03, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600458660.0, "volume": 100.0, "price": 6.03, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458720.0, "price": 6.045, "volume": 100.0, "taker_order": {"id": 0, "timestamp": 1600458720.0, "volume": 100.0, "price": 6.045, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458840.0, "price": 6.04, "volume": 300.0, "taker_order": {"id": 0, "timestamp": 1600458840.0, "volume": 300.0, "price": 6.04, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 300.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600458960.0, "price": 6.026, "volume": 2355.0, "taker_order": {"id": 0, "timestamp": 1600458960.0, "volume": 2355.0, "price": 6.026, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 2355.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600459080.0, "price": 6.035, "volume": 3100.0, "taker_order": {"id": 0, "timestamp": 1600459080.0, "volume": 3100.0, "price": 6.035, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 3100.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}, {"id": -1, "timestamp": 1600459140.0, "price": 6.031, "volume": 800.0, "taker_order": {"id": 0, "timestamp": 1600459140.0, "volume": 800.0, "price": 6.031, "side": "BUY", "instrument": {"name": "SPXS", "type": "EQUITY", "exchanges": [{"name": "iex"}], "brokerExchange": "PSE", "brokerId": null, "currency": {"name": "USD", "type": "CURRENCY", "exchanges": [], "brokerExchange": null, "brokerId": null, "currency": "", "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "underlying": "", "leg1": "", "leg2": "", "leg1_side": "", "leg2_side": "", "expiration": "", "price_increment": "", "unit_value": "", "option_type": ""}, "exchange": {"name": "iex"}, "notional": 0.0, "filled": 800.0, "order_type": "MARKET", "flag": "NONE", "stop_target": ""}, "maker_orders": []}]}
\ No newline at end of file
diff --git a/.clang-format b/old/.clang-format
similarity index 100%
rename from .clang-format
rename to old/.clang-format
diff --git a/old/.github/workflows/build.yml b/old/.github/workflows/build.yml
new file mode 100644
index 00000000..79201c0f
--- /dev/null
+++ b/old/.github/workflows/build.yml
@@ -0,0 +1,87 @@
+name: Build Status
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ python-version: [3.9]
+ node-version: [14.x]
+ event-name: [push]
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install system dependencies
+ run: |
+ sudo apt-get install libboost-dev
+ wget https://github.com/pybind/pybind11/archive/v2.5.0.tar.gz && tar xfz v2.5.0.tar.gz && cd pybind11-2.5.0 && mkdir build && cd build && cmake .. -DPYBIND11_TEST=OFF && sudo make -j4 install
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+
+ - name: Install system dependencies
+ run: |
+ brew install boost cmake pybind11
+ if: ${{ matrix.os == 'macos-latest' }}
+
+ - name: Install dependencies
+ run: |
+ python -m pip install -U cpplint numpy pip pyarrow pyEX setuptools tqdm twine wheel
+ python -m pip install -e .[dev]
+
+ - name: Lint Python
+ run: |
+ make lintpy
+
+ - name: Lint C++
+ run: |
+ make lintcpp
+
+ - name: Type Annotate
+ run: |
+ make annotate
+
+ - name: Test
+ run: |
+ make tests
+ if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
+
+ - name: Test C++
+ run: |
+ make testpycpp
+ if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
+
+ - name: Live tests
+ run: |
+ make testruns
+ if: ${{ github.event_name == matrix.event-name || matrix.os == 'ubuntu-latest' }}
+
+ - name: Twine check
+ run: |
+ make dist
+
+ - name: Upload test results
+ uses: actions/upload-artifact@v3
+ with:
+ name: pytest-results-${{ matrix.os }}-${{ matrix.python-version }}
+ path: python_junit.xml
+ if: ${{ always() }}
+
+ - name: Upload coverage
+ uses: codecov/codecov-action@v3
diff --git a/CONTRIBUTING.md b/old/CONTRIBUTING.md
similarity index 100%
rename from CONTRIBUTING.md
rename to old/CONTRIBUTING.md
diff --git a/GETTING_STARTED.md b/old/GETTING_STARTED.md
similarity index 100%
rename from GETTING_STARTED.md
rename to old/GETTING_STARTED.md
diff --git a/MANIFEST.in b/old/MANIFEST.in
similarity index 100%
rename from MANIFEST.in
rename to old/MANIFEST.in
diff --git a/old/Makefile b/old/Makefile
new file mode 100644
index 00000000..d1722205
--- /dev/null
+++ b/old/Makefile
@@ -0,0 +1,108 @@
+PYTHON=python
+CONFIG=./config/synthetic.cfg
+
+
+run: ## Clean and make target, run target
+ $(PYTHON) -m aat --config $(CONFIG)
+
+runcpp: build ## Clean and make target, run target
+ AAT_USE_CPP=1 $(PYTHON) -m aat --config $(CONFIG)
+
+rundebug: debug ## Clean and make debug target, run target
+ $(PYTHON) -m aat --config $(CONFIG)
+
+stratres: ## View strategy results offline
+ $(PYTHON) -m aat.strategy.calculations
+
+buildextf: ## build the package extensions
+ $(PYTHON) setup.py build_ext -j8 --inplace -f
+
+buildext: ## build the package extensions
+ $(PYTHON) setup.py build_ext -j8 --inplace
+
+build: buildext ## build the package
+ $(PYTHON) setup.py build
+
+debug: ## build debug build of the package
+ DEBUG=1 $(PYTHON) setup.py build
+
+install: ## install the package
+ $(PYTHON) -m pip install .
+
+tests: build testpy ## Make unit tests
+
+testpy: ## Make unit tests
+ $(PYTHON) -m pytest -vvv ./aat/tests --cov=aat --junitxml=python_junit.xml --cov-report=xml --cov-branch
+
+testpycpp: ## Make unit tests
+ # AAT_USE_CPP=1 $(PYTHON) -m pytest -vvv ./aat/tests --cov=aat --junitxml=python_junit.xml --cov-report=xml --cov-branch --capture=no
+ AAT_USE_CPP=1 $(PYTHON) -m pytest -vs ./aat/tests
+
+testruns: testrunscsv testrunsiex ## Run a few examples as a live end-to-end test
+
+testrunscsv:
+ $(PYTHON) -m aat.strategy.sample.csv.readonly
+ $(PYTHON) -m aat.strategy.sample.csv.readonly_periodic
+ $(PYTHON) -m aat.strategy.sample.csv.received
+
+testrunsiex:
+ $(PYTHON) -m aat.strategy.sample.iex.readonly
+ TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.buy_and_hold
+ TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.momentum
+ TESTING=1 $(PYTHON) -m aat.strategy.sample.iex.golden_death
+
+lint: lintpy lintcpp ## run all linters
+
+lintpy: ## run python linter
+ $(PYTHON) -m flake8 aat setup.py
+
+lintcpp: ## run cpp linter
+ cpplint --linelength=120 --recursive aat/cpp/{src,include}
+
+fix: fixpy fixcpp ## run all fixers
+
+fixpy: ## run autopep8 fix
+ $(PYTHON) -m black aat/ setup.py
+
+fixcpp: ## run clang-format
+ clang-format -i -style=file `find ./aat/cpp/{src,include} -name "*.*pp"`
+
+annotate: ## MyPy type annotation check
+ $(PYTHON) -m mypy aat
+
+type_ignore: ## Count type ignores
+ grep -rin "type: ignore" ./aat | wc -l
+
+type_ignore_list: ## List all type ignores
+ grep -rin "type: ignore" ./aat
+
+docs: ## Build the sphinx docs
+ make -C docs html
+ open ./docs/_build/html/index.html
+
+dist: ## create dists
+ rm -rf dist build
+ python setup.py sdist bdist_wheel
+ python -m twine check dist/*
+
+publish: dist ## dist to pypi and npm
+ python -m twine upload dist/* --skip-existing
+
+clean: ## clean the repository
+ find . -name "__pycache__" | xargs rm -rf
+ find . -name "*.pyc" | xargs rm -rf
+ rm -rf .coverage coverage cover htmlcov logs build dist *.egg-info coverage.xml .mypy_cache
+ find . -name "*.so" | xargs rm -rf
+ make -C ./docs clean
+ rm -rf _aat_BACKTEST_*
+
+# Thanks to Francoise at marmelab.com for this
+.DEFAULT_GOAL := help
+help:
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+print-%:
+ @echo '$*=$($*)'
+
+.PHONY: run buildext build install tests lint fix docs dist clean help fixcpp
+
diff --git a/old/README.md b/old/README.md
new file mode 100644
index 00000000..70947a17
--- /dev/null
+++ b/old/README.md
@@ -0,0 +1,61 @@
+
+
+
+[](https://github.com/AsyncAlgoTrading/aat/actions?query=workflow%3A%22Build+Status%22)
+[](https://codecov.io/gh/AsyncAlgoTrading/aat)
+[](https://pypi.python.org/pypi/aat)
+[](https://pypi.python.org/pypi/aat)
+[](http://aat.readthedocs.io/en/latest/)
+
+`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in C++. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
+
+Like [Zipline](https://github.com/quantopian/zipline) and [Lean](https://github.com/QuantConnect/Lean), `aat` exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.
+
+`aat` is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.
+
+## Overview
+A complete overview of the core components of `aat` is provided in the [GETTING_STARTED](GETTING_STARTED.md) file.
+
+### Internals
+`aat`'s engine is composed of 4 major parts.
+
+- trading engine
+- risk management engine
+- execution engine
+- backtest engine
+
+
+#### Trading Engine
+The trading engine initializes all exchanges and strategies, then martials data, trade requests, and trade responses between the strategy, risk, execution, and exchange objects, while keeping track of high-level statistics on the system
+
+#### Risk Management Engine
+The risk management engine enforces trading limits, making sure that stategies are limited to certain risk profiles. It can modify or remove trade requests prior to execution depending on user preferences and outstanding positions and orders.
+
+#### Execution engine
+The execution engine is a simple passthrough to the underlying exchanges. It provides a unified interface for creating various types of orders.
+
+#### Backtest engine
+The backtest engine provides the ability to run the same stragegy offline against historical data.
+
+### Core Components
+`aat` has a variety of core classes and data structures, the most important of which are the `Strategy` and `Exchange` classes.
+
+#### Trading Strategy
+The core element of `aat` is the trading strategy interface. It includes both data processing and order management functionality. Users subclass this class in order to implement their strategies. Methods of the form `onNoun` are used to handle market data events, while methods of the form `onVerb` are used to handle order entry events. There are also a variety of order management and data subscription methods available.
+
+The only method that is required to be implemented is the `onTrade` method. The full specification of a strategy is given in [GETTING_STARTED](GETTING_STARTED.md).
+
+
+#### Other Components
+`aat` also provides a complete limit-order book implementation, including flags like `fill-or-kill` and `all-or-nothing`, which is used to power the synthetic testing exchange.
+
+
+## Support / Contributors
+Thanks to the following organizations for providing code or financial support.
+
+
+
+Nemoulous
+
+## License
+This software is licensed under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.
diff --git a/aat/__init__.py b/old/aat/__init__.py
similarity index 100%
rename from aat/__init__.py
rename to old/aat/__init__.py
diff --git a/aat/__main__.py b/old/aat/__main__.py
similarity index 100%
rename from aat/__main__.py
rename to old/aat/__main__.py
diff --git a/old/aat/_version.py b/old/aat/_version.py
new file mode 100644
index 00000000..9e9fcd38
--- /dev/null
+++ b/old/aat/_version.py
@@ -0,0 +1,21 @@
+from collections import namedtuple
+
+VersionInfo = namedtuple(
+ "VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"]
+)
+
+# DO NOT EDIT THIS DIRECTLY! It is managed by bumpversion
+version_info = VersionInfo(0, 1, 0, "final", 0)
+
+_specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
+
+__version__ = "{}.{}.{}{}".format(
+ version_info.major,
+ version_info.minor,
+ version_info.micro,
+ (
+ ""
+ if version_info.releaselevel == "final"
+ else _specifier_[version_info.releaselevel] + "." + str(version_info.serial)
+ ),
+)
diff --git a/aat/common.py b/old/aat/common.py
similarity index 100%
rename from aat/common.py
rename to old/aat/common.py
diff --git a/aat/config/__init__.py b/old/aat/config/__init__.py
similarity index 100%
rename from aat/config/__init__.py
rename to old/aat/config/__init__.py
diff --git a/aat/config/enums.py b/old/aat/config/enums.py
similarity index 100%
rename from aat/config/enums.py
rename to old/aat/config/enums.py
diff --git a/aat/config/parser.py b/old/aat/config/parser.py
similarity index 100%
rename from aat/config/parser.py
rename to old/aat/config/parser.py
diff --git a/aat/core/__init__.py b/old/aat/core/__init__.py
similarity index 100%
rename from aat/core/__init__.py
rename to old/aat/core/__init__.py
diff --git a/aat/core/data/__init__.py b/old/aat/core/data/__init__.py
similarity index 100%
rename from aat/core/data/__init__.py
rename to old/aat/core/data/__init__.py
diff --git a/aat/core/data/cpp.py b/old/aat/core/data/cpp.py
similarity index 100%
rename from aat/core/data/cpp.py
rename to old/aat/core/data/cpp.py
diff --git a/aat/core/data/data.py b/old/aat/core/data/data.py
similarity index 100%
rename from aat/core/data/data.py
rename to old/aat/core/data/data.py
diff --git a/aat/core/data/error.py b/old/aat/core/data/error.py
similarity index 100%
rename from aat/core/data/error.py
rename to old/aat/core/data/error.py
diff --git a/aat/core/data/event.py b/old/aat/core/data/event.py
similarity index 100%
rename from aat/core/data/event.py
rename to old/aat/core/data/event.py
diff --git a/aat/core/data/order.py b/old/aat/core/data/order.py
similarity index 100%
rename from aat/core/data/order.py
rename to old/aat/core/data/order.py
diff --git a/aat/core/data/trade.py b/old/aat/core/data/trade.py
similarity index 100%
rename from aat/core/data/trade.py
rename to old/aat/core/data/trade.py
diff --git a/aat/core/exchange/__init__.py b/old/aat/core/exchange/__init__.py
similarity index 100%
rename from aat/core/exchange/__init__.py
rename to old/aat/core/exchange/__init__.py
diff --git a/aat/core/exchange/cpp.py b/old/aat/core/exchange/cpp.py
similarity index 100%
rename from aat/core/exchange/cpp.py
rename to old/aat/core/exchange/cpp.py
diff --git a/aat/core/exchange/db.py b/old/aat/core/exchange/db.py
similarity index 100%
rename from aat/core/exchange/db.py
rename to old/aat/core/exchange/db.py
diff --git a/aat/core/exchange/exchange.py b/old/aat/core/exchange/exchange.py
similarity index 100%
rename from aat/core/exchange/exchange.py
rename to old/aat/core/exchange/exchange.py
diff --git a/aat/core/handler/__init__.py b/old/aat/core/handler/__init__.py
similarity index 100%
rename from aat/core/handler/__init__.py
rename to old/aat/core/handler/__init__.py
diff --git a/aat/core/handler/handler.py b/old/aat/core/handler/handler.py
similarity index 100%
rename from aat/core/handler/handler.py
rename to old/aat/core/handler/handler.py
diff --git a/aat/core/handler/print.py b/old/aat/core/handler/print.py
similarity index 100%
rename from aat/core/handler/print.py
rename to old/aat/core/handler/print.py
diff --git a/aat/core/instrument/__init__.py b/old/aat/core/instrument/__init__.py
similarity index 100%
rename from aat/core/instrument/__init__.py
rename to old/aat/core/instrument/__init__.py
diff --git a/aat/core/instrument/calendar.py b/old/aat/core/instrument/calendar.py
similarity index 100%
rename from aat/core/instrument/calendar.py
rename to old/aat/core/instrument/calendar.py
diff --git a/aat/core/instrument/cpp.py b/old/aat/core/instrument/cpp.py
similarity index 100%
rename from aat/core/instrument/cpp.py
rename to old/aat/core/instrument/cpp.py
diff --git a/aat/core/instrument/db.py b/old/aat/core/instrument/db.py
similarity index 100%
rename from aat/core/instrument/db.py
rename to old/aat/core/instrument/db.py
diff --git a/aat/core/instrument/instrument.py b/old/aat/core/instrument/instrument.py
similarity index 100%
rename from aat/core/instrument/instrument.py
rename to old/aat/core/instrument/instrument.py
diff --git a/aat/core/order_book/__init__.py b/old/aat/core/order_book/__init__.py
similarity index 100%
rename from aat/core/order_book/__init__.py
rename to old/aat/core/order_book/__init__.py
diff --git a/aat/core/order_book/base.py b/old/aat/core/order_book/base.py
similarity index 100%
rename from aat/core/order_book/base.py
rename to old/aat/core/order_book/base.py
diff --git a/aat/core/order_book/collector/__init__.py b/old/aat/core/order_book/collector/__init__.py
similarity index 100%
rename from aat/core/order_book/collector/__init__.py
rename to old/aat/core/order_book/collector/__init__.py
diff --git a/aat/core/order_book/collector/collector.py b/old/aat/core/order_book/collector/collector.py
similarity index 100%
rename from aat/core/order_book/collector/collector.py
rename to old/aat/core/order_book/collector/collector.py
diff --git a/aat/core/order_book/cpp.py b/old/aat/core/order_book/cpp.py
similarity index 100%
rename from aat/core/order_book/cpp.py
rename to old/aat/core/order_book/cpp.py
diff --git a/aat/core/order_book/order_book/__init__.py b/old/aat/core/order_book/order_book/__init__.py
similarity index 100%
rename from aat/core/order_book/order_book/__init__.py
rename to old/aat/core/order_book/order_book/__init__.py
diff --git a/aat/core/order_book/order_book/accessors.py b/old/aat/core/order_book/order_book/accessors.py
similarity index 100%
rename from aat/core/order_book/order_book/accessors.py
rename to old/aat/core/order_book/order_book/accessors.py
diff --git a/aat/core/order_book/order_book/lite.py b/old/aat/core/order_book/order_book/lite.py
similarity index 100%
rename from aat/core/order_book/order_book/lite.py
rename to old/aat/core/order_book/order_book/lite.py
diff --git a/aat/core/order_book/order_book/order_book.py b/old/aat/core/order_book/order_book/order_book.py
similarity index 100%
rename from aat/core/order_book/order_book/order_book.py
rename to old/aat/core/order_book/order_book/order_book.py
diff --git a/aat/core/order_book/price_level/__init__.py b/old/aat/core/order_book/price_level/__init__.py
similarity index 100%
rename from aat/core/order_book/price_level/__init__.py
rename to old/aat/core/order_book/price_level/__init__.py
diff --git a/aat/core/order_book/price_level/price_level.py b/old/aat/core/order_book/price_level/price_level.py
similarity index 100%
rename from aat/core/order_book/price_level/price_level.py
rename to old/aat/core/order_book/price_level/price_level.py
diff --git a/aat/core/order_book/price_level/ro.py b/old/aat/core/order_book/price_level/ro.py
similarity index 100%
rename from aat/core/order_book/price_level/ro.py
rename to old/aat/core/order_book/price_level/ro.py
diff --git a/aat/core/order_book/utils.py b/old/aat/core/order_book/utils.py
similarity index 100%
rename from aat/core/order_book/utils.py
rename to old/aat/core/order_book/utils.py
diff --git a/aat/core/position/__init__.py b/old/aat/core/position/__init__.py
similarity index 100%
rename from aat/core/position/__init__.py
rename to old/aat/core/position/__init__.py
diff --git a/aat/core/position/account.py b/old/aat/core/position/account.py
similarity index 100%
rename from aat/core/position/account.py
rename to old/aat/core/position/account.py
diff --git a/aat/core/position/cash.py b/old/aat/core/position/cash.py
similarity index 100%
rename from aat/core/position/cash.py
rename to old/aat/core/position/cash.py
diff --git a/aat/core/position/cpp.py b/old/aat/core/position/cpp.py
similarity index 100%
rename from aat/core/position/cpp.py
rename to old/aat/core/position/cpp.py
diff --git a/aat/core/position/db.py b/old/aat/core/position/db.py
similarity index 100%
rename from aat/core/position/db.py
rename to old/aat/core/position/db.py
diff --git a/aat/core/position/position.py b/old/aat/core/position/position.py
similarity index 100%
rename from aat/core/position/position.py
rename to old/aat/core/position/position.py
diff --git a/aat/core/table.py b/old/aat/core/table.py
similarity index 100%
rename from aat/core/table.py
rename to old/aat/core/table.py
diff --git a/aat/cpp/CMakeLists.txt b/old/aat/cpp/CMakeLists.txt
similarity index 100%
rename from aat/cpp/CMakeLists.txt
rename to old/aat/cpp/CMakeLists.txt
diff --git a/aat/cpp/include/aat/common.hpp b/old/aat/cpp/include/aat/common.hpp
similarity index 100%
rename from aat/cpp/include/aat/common.hpp
rename to old/aat/cpp/include/aat/common.hpp
diff --git a/aat/cpp/include/aat/config/enums.hpp b/old/aat/cpp/include/aat/config/enums.hpp
similarity index 100%
rename from aat/cpp/include/aat/config/enums.hpp
rename to old/aat/cpp/include/aat/config/enums.hpp
diff --git a/aat/cpp/include/aat/config/parser.hpp b/old/aat/cpp/include/aat/config/parser.hpp
similarity index 100%
rename from aat/cpp/include/aat/config/parser.hpp
rename to old/aat/cpp/include/aat/config/parser.hpp
diff --git a/aat/cpp/include/aat/core/data/data.hpp b/old/aat/cpp/include/aat/core/data/data.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/data/data.hpp
rename to old/aat/cpp/include/aat/core/data/data.hpp
diff --git a/aat/cpp/include/aat/core/data/event.hpp b/old/aat/cpp/include/aat/core/data/event.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/data/event.hpp
rename to old/aat/cpp/include/aat/core/data/event.hpp
diff --git a/aat/cpp/include/aat/core/data/order.hpp b/old/aat/cpp/include/aat/core/data/order.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/data/order.hpp
rename to old/aat/cpp/include/aat/core/data/order.hpp
diff --git a/aat/cpp/include/aat/core/data/trade.hpp b/old/aat/cpp/include/aat/core/data/trade.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/data/trade.hpp
rename to old/aat/cpp/include/aat/core/data/trade.hpp
diff --git a/aat/cpp/include/aat/core/exchange/exchange.hpp b/old/aat/cpp/include/aat/core/exchange/exchange.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/exchange/exchange.hpp
rename to old/aat/cpp/include/aat/core/exchange/exchange.hpp
diff --git a/aat/cpp/include/aat/core/instrument/instrument.hpp b/old/aat/cpp/include/aat/core/instrument/instrument.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/instrument/instrument.hpp
rename to old/aat/cpp/include/aat/core/instrument/instrument.hpp
diff --git a/aat/cpp/include/aat/core/order_book/collector.hpp b/old/aat/cpp/include/aat/core/order_book/collector.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/order_book/collector.hpp
rename to old/aat/cpp/include/aat/core/order_book/collector.hpp
diff --git a/aat/cpp/include/aat/core/order_book/order_book.hpp b/old/aat/cpp/include/aat/core/order_book/order_book.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/order_book/order_book.hpp
rename to old/aat/cpp/include/aat/core/order_book/order_book.hpp
diff --git a/aat/cpp/include/aat/core/order_book/price_level.hpp b/old/aat/cpp/include/aat/core/order_book/price_level.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/order_book/price_level.hpp
rename to old/aat/cpp/include/aat/core/order_book/price_level.hpp
diff --git a/aat/cpp/include/aat/core/position/account.hpp b/old/aat/cpp/include/aat/core/position/account.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/position/account.hpp
rename to old/aat/cpp/include/aat/core/position/account.hpp
diff --git a/aat/cpp/include/aat/core/position/cash.hpp b/old/aat/cpp/include/aat/core/position/cash.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/position/cash.hpp
rename to old/aat/cpp/include/aat/core/position/cash.hpp
diff --git a/aat/cpp/include/aat/core/position/position.hpp b/old/aat/cpp/include/aat/core/position/position.hpp
similarity index 100%
rename from aat/cpp/include/aat/core/position/position.hpp
rename to old/aat/cpp/include/aat/core/position/position.hpp
diff --git a/aat/cpp/include/aat/python/binding.hpp b/old/aat/cpp/include/aat/python/binding.hpp
similarity index 100%
rename from aat/cpp/include/aat/python/binding.hpp
rename to old/aat/cpp/include/aat/python/binding.hpp
diff --git a/aat/cpp/src/config/enums.cpp b/old/aat/cpp/src/config/enums.cpp
similarity index 100%
rename from aat/cpp/src/config/enums.cpp
rename to old/aat/cpp/src/config/enums.cpp
diff --git a/aat/cpp/src/config/parser.cpp b/old/aat/cpp/src/config/parser.cpp
similarity index 100%
rename from aat/cpp/src/config/parser.cpp
rename to old/aat/cpp/src/config/parser.cpp
diff --git a/aat/cpp/src/core/data/data.cpp b/old/aat/cpp/src/core/data/data.cpp
similarity index 100%
rename from aat/cpp/src/core/data/data.cpp
rename to old/aat/cpp/src/core/data/data.cpp
diff --git a/aat/cpp/src/core/data/event.cpp b/old/aat/cpp/src/core/data/event.cpp
similarity index 100%
rename from aat/cpp/src/core/data/event.cpp
rename to old/aat/cpp/src/core/data/event.cpp
diff --git a/aat/cpp/src/core/data/order.cpp b/old/aat/cpp/src/core/data/order.cpp
similarity index 100%
rename from aat/cpp/src/core/data/order.cpp
rename to old/aat/cpp/src/core/data/order.cpp
diff --git a/aat/cpp/src/core/data/trade.cpp b/old/aat/cpp/src/core/data/trade.cpp
similarity index 100%
rename from aat/cpp/src/core/data/trade.cpp
rename to old/aat/cpp/src/core/data/trade.cpp
diff --git a/aat/cpp/src/core/exchange/exchange.cpp b/old/aat/cpp/src/core/exchange/exchange.cpp
similarity index 100%
rename from aat/cpp/src/core/exchange/exchange.cpp
rename to old/aat/cpp/src/core/exchange/exchange.cpp
diff --git a/aat/cpp/src/core/instrument/instrument.cpp b/old/aat/cpp/src/core/instrument/instrument.cpp
similarity index 100%
rename from aat/cpp/src/core/instrument/instrument.cpp
rename to old/aat/cpp/src/core/instrument/instrument.cpp
diff --git a/aat/cpp/src/core/order_book/collector.cpp b/old/aat/cpp/src/core/order_book/collector.cpp
similarity index 100%
rename from aat/cpp/src/core/order_book/collector.cpp
rename to old/aat/cpp/src/core/order_book/collector.cpp
diff --git a/aat/cpp/src/core/order_book/order_book.cpp b/old/aat/cpp/src/core/order_book/order_book.cpp
similarity index 100%
rename from aat/cpp/src/core/order_book/order_book.cpp
rename to old/aat/cpp/src/core/order_book/order_book.cpp
diff --git a/aat/cpp/src/core/order_book/price_level.cpp b/old/aat/cpp/src/core/order_book/price_level.cpp
similarity index 100%
rename from aat/cpp/src/core/order_book/price_level.cpp
rename to old/aat/cpp/src/core/order_book/price_level.cpp
diff --git a/aat/cpp/src/core/position/account.cpp b/old/aat/cpp/src/core/position/account.cpp
similarity index 100%
rename from aat/cpp/src/core/position/account.cpp
rename to old/aat/cpp/src/core/position/account.cpp
diff --git a/aat/cpp/src/core/position/cash.cpp b/old/aat/cpp/src/core/position/cash.cpp
similarity index 100%
rename from aat/cpp/src/core/position/cash.cpp
rename to old/aat/cpp/src/core/position/cash.cpp
diff --git a/aat/cpp/src/core/position/position.cpp b/old/aat/cpp/src/core/position/position.cpp
similarity index 100%
rename from aat/cpp/src/core/position/position.cpp
rename to old/aat/cpp/src/core/position/position.cpp
diff --git a/aat/cpp/src/python/binding.cpp b/old/aat/cpp/src/python/binding.cpp
similarity index 100%
rename from aat/cpp/src/python/binding.cpp
rename to old/aat/cpp/src/python/binding.cpp
diff --git a/aat/cpp/third/date/chrono_io.h b/old/aat/cpp/third/date/chrono_io.h
similarity index 100%
rename from aat/cpp/third/date/chrono_io.h
rename to old/aat/cpp/third/date/chrono_io.h
diff --git a/aat/cpp/third/date/date.h b/old/aat/cpp/third/date/date.h
similarity index 100%
rename from aat/cpp/third/date/date.h
rename to old/aat/cpp/third/date/date.h
diff --git a/aat/cpp/third/date/ios.h b/old/aat/cpp/third/date/ios.h
similarity index 100%
rename from aat/cpp/third/date/ios.h
rename to old/aat/cpp/third/date/ios.h
diff --git a/aat/cpp/third/date/islamic.h b/old/aat/cpp/third/date/islamic.h
similarity index 100%
rename from aat/cpp/third/date/islamic.h
rename to old/aat/cpp/third/date/islamic.h
diff --git a/aat/cpp/third/date/iso_week.h b/old/aat/cpp/third/date/iso_week.h
similarity index 100%
rename from aat/cpp/third/date/iso_week.h
rename to old/aat/cpp/third/date/iso_week.h
diff --git a/aat/cpp/third/date/julian.h b/old/aat/cpp/third/date/julian.h
similarity index 100%
rename from aat/cpp/third/date/julian.h
rename to old/aat/cpp/third/date/julian.h
diff --git a/aat/cpp/third/date/ptz.h b/old/aat/cpp/third/date/ptz.h
similarity index 100%
rename from aat/cpp/third/date/ptz.h
rename to old/aat/cpp/third/date/ptz.h
diff --git a/aat/cpp/third/date/solar_hijri.h b/old/aat/cpp/third/date/solar_hijri.h
similarity index 100%
rename from aat/cpp/third/date/solar_hijri.h
rename to old/aat/cpp/third/date/solar_hijri.h
diff --git a/aat/cpp/third/date/tz.h b/old/aat/cpp/third/date/tz.h
similarity index 100%
rename from aat/cpp/third/date/tz.h
rename to old/aat/cpp/third/date/tz.h
diff --git a/aat/cpp/third/date/tz_private.h b/old/aat/cpp/third/date/tz_private.h
similarity index 100%
rename from aat/cpp/third/date/tz_private.h
rename to old/aat/cpp/third/date/tz_private.h
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/adl_serializer.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/adl_serializer.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/adl_serializer.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/adl_serializer.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/from_json.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/from_json.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/from_json.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/from_json.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_chars.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_chars.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_chars.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_chars.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_json.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_json.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_json.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/conversions/to_json.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/exceptions.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/exceptions.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/exceptions.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/exceptions.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/binary_reader.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/binary_reader.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/binary_reader.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/binary_reader.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/input_adapters.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/input_adapters.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/input_adapters.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/input_adapters.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/json_sax.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/json_sax.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/json_sax.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/json_sax.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/lexer.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/lexer.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/lexer.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/lexer.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/parser.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/parser.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/parser.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/parser.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/input/position_t.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/position_t.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/input/position_t.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/input/position_t.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/internal_iterator.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/internal_iterator.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/internal_iterator.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/internal_iterator.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iter_impl.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iter_impl.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iter_impl.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iter_impl.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iteration_proxy.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iteration_proxy.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iteration_proxy.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iteration_proxy.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iterator_traits.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iterator_traits.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iterator_traits.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/iterator_traits.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/json_reverse_iterator.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/json_reverse_iterator.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/json_reverse_iterator.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/json_reverse_iterator.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/primitive_iterator.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/primitive_iterator.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/primitive_iterator.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/iterators/primitive_iterator.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/json_pointer.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/json_pointer.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/json_pointer.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/json_pointer.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/json_ref.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/json_ref.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/json_ref.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/json_ref.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_scope.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_scope.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/macro_scope.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_scope.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_unscope.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_unscope.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/macro_unscope.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/macro_unscope.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/cpp_future.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/cpp_future.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/meta/cpp_future.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/cpp_future.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/detected.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/detected.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/meta/detected.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/detected.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/is_sax.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/is_sax.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/meta/is_sax.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/is_sax.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/type_traits.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/type_traits.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/meta/type_traits.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/type_traits.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/void_t.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/void_t.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/meta/void_t.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/meta/void_t.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/output/binary_writer.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/binary_writer.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/output/binary_writer.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/binary_writer.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/output/output_adapters.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/output_adapters.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/output/output_adapters.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/output_adapters.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/output/serializer.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/serializer.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/output/serializer.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/output/serializer.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/detail/value_t.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/detail/value_t.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/detail/value_t.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/detail/value_t.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/json.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/json.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/json.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/json.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/json_fwd.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/json_fwd.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/json_fwd.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/json_fwd.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley.hpp
diff --git a/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley_undef.hpp b/old/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley_undef.hpp
similarity index 100%
rename from aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley_undef.hpp
rename to old/aat/cpp/third/nlohmann_json/nlohmann/thirdparty/hedley/hedley_undef.hpp
diff --git a/aat/cpp/third/pybind11/pybind11/attr.h b/old/aat/cpp/third/pybind11/pybind11/attr.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/attr.h
rename to old/aat/cpp/third/pybind11/pybind11/attr.h
diff --git a/aat/cpp/third/pybind11/pybind11/buffer_info.h b/old/aat/cpp/third/pybind11/pybind11/buffer_info.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/buffer_info.h
rename to old/aat/cpp/third/pybind11/pybind11/buffer_info.h
diff --git a/aat/cpp/third/pybind11/pybind11/cast.h b/old/aat/cpp/third/pybind11/pybind11/cast.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/cast.h
rename to old/aat/cpp/third/pybind11/pybind11/cast.h
diff --git a/aat/cpp/third/pybind11/pybind11/chrono.h b/old/aat/cpp/third/pybind11/pybind11/chrono.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/chrono.h
rename to old/aat/cpp/third/pybind11/pybind11/chrono.h
diff --git a/aat/cpp/third/pybind11/pybind11/common.h b/old/aat/cpp/third/pybind11/pybind11/common.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/common.h
rename to old/aat/cpp/third/pybind11/pybind11/common.h
diff --git a/aat/cpp/third/pybind11/pybind11/complex.h b/old/aat/cpp/third/pybind11/pybind11/complex.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/complex.h
rename to old/aat/cpp/third/pybind11/pybind11/complex.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/class.h b/old/aat/cpp/third/pybind11/pybind11/detail/class.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/class.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/class.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/common.h b/old/aat/cpp/third/pybind11/pybind11/detail/common.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/common.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/common.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/descr.h b/old/aat/cpp/third/pybind11/pybind11/detail/descr.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/descr.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/descr.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/init.h b/old/aat/cpp/third/pybind11/pybind11/detail/init.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/init.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/init.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/internals.h b/old/aat/cpp/third/pybind11/pybind11/detail/internals.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/internals.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/internals.h
diff --git a/aat/cpp/third/pybind11/pybind11/detail/typeid.h b/old/aat/cpp/third/pybind11/pybind11/detail/typeid.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/detail/typeid.h
rename to old/aat/cpp/third/pybind11/pybind11/detail/typeid.h
diff --git a/aat/cpp/third/pybind11/pybind11/eigen.h b/old/aat/cpp/third/pybind11/pybind11/eigen.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/eigen.h
rename to old/aat/cpp/third/pybind11/pybind11/eigen.h
diff --git a/aat/cpp/third/pybind11/pybind11/embed.h b/old/aat/cpp/third/pybind11/pybind11/embed.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/embed.h
rename to old/aat/cpp/third/pybind11/pybind11/embed.h
diff --git a/aat/cpp/third/pybind11/pybind11/eval.h b/old/aat/cpp/third/pybind11/pybind11/eval.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/eval.h
rename to old/aat/cpp/third/pybind11/pybind11/eval.h
diff --git a/aat/cpp/third/pybind11/pybind11/functional.h b/old/aat/cpp/third/pybind11/pybind11/functional.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/functional.h
rename to old/aat/cpp/third/pybind11/pybind11/functional.h
diff --git a/aat/cpp/third/pybind11/pybind11/iostream.h b/old/aat/cpp/third/pybind11/pybind11/iostream.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/iostream.h
rename to old/aat/cpp/third/pybind11/pybind11/iostream.h
diff --git a/aat/cpp/third/pybind11/pybind11/numpy.h b/old/aat/cpp/third/pybind11/pybind11/numpy.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/numpy.h
rename to old/aat/cpp/third/pybind11/pybind11/numpy.h
diff --git a/aat/cpp/third/pybind11/pybind11/operators.h b/old/aat/cpp/third/pybind11/pybind11/operators.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/operators.h
rename to old/aat/cpp/third/pybind11/pybind11/operators.h
diff --git a/aat/cpp/third/pybind11/pybind11/options.h b/old/aat/cpp/third/pybind11/pybind11/options.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/options.h
rename to old/aat/cpp/third/pybind11/pybind11/options.h
diff --git a/aat/cpp/third/pybind11/pybind11/pybind11.h b/old/aat/cpp/third/pybind11/pybind11/pybind11.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/pybind11.h
rename to old/aat/cpp/third/pybind11/pybind11/pybind11.h
diff --git a/aat/cpp/third/pybind11/pybind11/pytypes.h b/old/aat/cpp/third/pybind11/pybind11/pytypes.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/pytypes.h
rename to old/aat/cpp/third/pybind11/pybind11/pytypes.h
diff --git a/aat/cpp/third/pybind11/pybind11/stl.h b/old/aat/cpp/third/pybind11/pybind11/stl.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/stl.h
rename to old/aat/cpp/third/pybind11/pybind11/stl.h
diff --git a/aat/cpp/third/pybind11/pybind11/stl_bind.h b/old/aat/cpp/third/pybind11/pybind11/stl_bind.h
similarity index 100%
rename from aat/cpp/third/pybind11/pybind11/stl_bind.h
rename to old/aat/cpp/third/pybind11/pybind11/stl_bind.h
diff --git a/aat/cpp/third/pybind11_json/pybind11_json/pybind11_json.hpp b/old/aat/cpp/third/pybind11_json/pybind11_json/pybind11_json.hpp
similarity index 100%
rename from aat/cpp/third/pybind11_json/pybind11_json/pybind11_json.hpp
rename to old/aat/cpp/third/pybind11_json/pybind11_json/pybind11_json.hpp
diff --git a/aat/engine/__init__.py b/old/aat/engine/__init__.py
similarity index 100%
rename from aat/engine/__init__.py
rename to old/aat/engine/__init__.py
diff --git a/aat/engine/dispatch/__init__.py b/old/aat/engine/dispatch/__init__.py
similarity index 100%
rename from aat/engine/dispatch/__init__.py
rename to old/aat/engine/dispatch/__init__.py
diff --git a/aat/engine/dispatch/base.py b/old/aat/engine/dispatch/base.py
similarity index 100%
rename from aat/engine/dispatch/base.py
rename to old/aat/engine/dispatch/base.py
diff --git a/aat/engine/dispatch/execution/__init__.py b/old/aat/engine/dispatch/execution/__init__.py
similarity index 100%
rename from aat/engine/dispatch/execution/__init__.py
rename to old/aat/engine/dispatch/execution/__init__.py
diff --git a/aat/engine/dispatch/execution/execution.py b/old/aat/engine/dispatch/execution/execution.py
similarity index 100%
rename from aat/engine/dispatch/execution/execution.py
rename to old/aat/engine/dispatch/execution/execution.py
diff --git a/aat/engine/dispatch/manager.py b/old/aat/engine/dispatch/manager.py
similarity index 100%
rename from aat/engine/dispatch/manager.py
rename to old/aat/engine/dispatch/manager.py
diff --git a/aat/engine/dispatch/order_entry.py b/old/aat/engine/dispatch/order_entry.py
similarity index 100%
rename from aat/engine/dispatch/order_entry.py
rename to old/aat/engine/dispatch/order_entry.py
diff --git a/aat/engine/dispatch/periodic.py b/old/aat/engine/dispatch/periodic.py
similarity index 100%
rename from aat/engine/dispatch/periodic.py
rename to old/aat/engine/dispatch/periodic.py
diff --git a/aat/engine/dispatch/portfolio/__init__.py b/old/aat/engine/dispatch/portfolio/__init__.py
similarity index 100%
rename from aat/engine/dispatch/portfolio/__init__.py
rename to old/aat/engine/dispatch/portfolio/__init__.py
diff --git a/aat/engine/dispatch/portfolio/manager.py b/old/aat/engine/dispatch/portfolio/manager.py
similarity index 100%
rename from aat/engine/dispatch/portfolio/manager.py
rename to old/aat/engine/dispatch/portfolio/manager.py
diff --git a/aat/engine/dispatch/portfolio/mixin.py b/old/aat/engine/dispatch/portfolio/mixin.py
similarity index 100%
rename from aat/engine/dispatch/portfolio/mixin.py
rename to old/aat/engine/dispatch/portfolio/mixin.py
diff --git a/aat/engine/dispatch/portfolio/portfolio.py b/old/aat/engine/dispatch/portfolio/portfolio.py
similarity index 100%
rename from aat/engine/dispatch/portfolio/portfolio.py
rename to old/aat/engine/dispatch/portfolio/portfolio.py
diff --git a/aat/engine/dispatch/risk/__init__.py b/old/aat/engine/dispatch/risk/__init__.py
similarity index 100%
rename from aat/engine/dispatch/risk/__init__.py
rename to old/aat/engine/dispatch/risk/__init__.py
diff --git a/aat/engine/dispatch/risk/mixin.py b/old/aat/engine/dispatch/risk/mixin.py
similarity index 100%
rename from aat/engine/dispatch/risk/mixin.py
rename to old/aat/engine/dispatch/risk/mixin.py
diff --git a/aat/engine/dispatch/risk/risk.py b/old/aat/engine/dispatch/risk/risk.py
similarity index 100%
rename from aat/engine/dispatch/risk/risk.py
rename to old/aat/engine/dispatch/risk/risk.py
diff --git a/aat/engine/dispatch/utils.py b/old/aat/engine/dispatch/utils.py
similarity index 100%
rename from aat/engine/dispatch/utils.py
rename to old/aat/engine/dispatch/utils.py
diff --git a/aat/engine/engine.py b/old/aat/engine/engine.py
similarity index 100%
rename from aat/engine/engine.py
rename to old/aat/engine/engine.py
diff --git a/aat/exchange/__init__.py b/old/aat/exchange/__init__.py
similarity index 100%
rename from aat/exchange/__init__.py
rename to old/aat/exchange/__init__.py
diff --git a/aat/exchange/base/__init__.py b/old/aat/exchange/base/__init__.py
similarity index 100%
rename from aat/exchange/base/__init__.py
rename to old/aat/exchange/base/__init__.py
diff --git a/aat/exchange/base/market_data.py b/old/aat/exchange/base/market_data.py
similarity index 100%
rename from aat/exchange/base/market_data.py
rename to old/aat/exchange/base/market_data.py
diff --git a/aat/exchange/base/order_entry.py b/old/aat/exchange/base/order_entry.py
similarity index 100%
rename from aat/exchange/base/order_entry.py
rename to old/aat/exchange/base/order_entry.py
diff --git a/aat/exchange/crypto/__init__.py b/old/aat/exchange/crypto/__init__.py
similarity index 100%
rename from aat/exchange/crypto/__init__.py
rename to old/aat/exchange/crypto/__init__.py
diff --git a/aat/exchange/crypto/coinbase/__init__.py b/old/aat/exchange/crypto/coinbase/__init__.py
similarity index 100%
rename from aat/exchange/crypto/coinbase/__init__.py
rename to old/aat/exchange/crypto/coinbase/__init__.py
diff --git a/aat/exchange/crypto/coinbase/client.py b/old/aat/exchange/crypto/coinbase/client.py
similarity index 100%
rename from aat/exchange/crypto/coinbase/client.py
rename to old/aat/exchange/crypto/coinbase/client.py
diff --git a/aat/exchange/crypto/coinbase/coinbase.py b/old/aat/exchange/crypto/coinbase/coinbase.py
similarity index 100%
rename from aat/exchange/crypto/coinbase/coinbase.py
rename to old/aat/exchange/crypto/coinbase/coinbase.py
diff --git a/aat/exchange/exchange.py b/old/aat/exchange/exchange.py
similarity index 100%
rename from aat/exchange/exchange.py
rename to old/aat/exchange/exchange.py
diff --git a/aat/exchange/generic/__init__.py b/old/aat/exchange/generic/__init__.py
similarity index 100%
rename from aat/exchange/generic/__init__.py
rename to old/aat/exchange/generic/__init__.py
diff --git a/aat/exchange/generic/csv.py b/old/aat/exchange/generic/csv.py
similarity index 100%
rename from aat/exchange/generic/csv.py
rename to old/aat/exchange/generic/csv.py
diff --git a/aat/exchange/generic/kafka.py b/old/aat/exchange/generic/kafka.py
similarity index 100%
rename from aat/exchange/generic/kafka.py
rename to old/aat/exchange/generic/kafka.py
diff --git a/aat/exchange/public/__init__.py b/old/aat/exchange/public/__init__.py
similarity index 100%
rename from aat/exchange/public/__init__.py
rename to old/aat/exchange/public/__init__.py
diff --git a/aat/exchange/public/ib/__init__.py b/old/aat/exchange/public/ib/__init__.py
similarity index 100%
rename from aat/exchange/public/ib/__init__.py
rename to old/aat/exchange/public/ib/__init__.py
diff --git a/aat/exchange/public/ib/ib.py b/old/aat/exchange/public/ib/ib.py
similarity index 100%
rename from aat/exchange/public/ib/ib.py
rename to old/aat/exchange/public/ib/ib.py
diff --git a/aat/exchange/public/ib/utils.py b/old/aat/exchange/public/ib/utils.py
similarity index 100%
rename from aat/exchange/public/ib/utils.py
rename to old/aat/exchange/public/ib/utils.py
diff --git a/aat/exchange/public/iex.py b/old/aat/exchange/public/iex.py
similarity index 100%
rename from aat/exchange/public/iex.py
rename to old/aat/exchange/public/iex.py
diff --git a/aat/exchange/public/tda.py b/old/aat/exchange/public/tda.py
similarity index 100%
rename from aat/exchange/public/tda.py
rename to old/aat/exchange/public/tda.py
diff --git a/aat/exchange/synthetic/__init__.py b/old/aat/exchange/synthetic/__init__.py
similarity index 100%
rename from aat/exchange/synthetic/__init__.py
rename to old/aat/exchange/synthetic/__init__.py
diff --git a/aat/exchange/synthetic/__main__.py b/old/aat/exchange/synthetic/__main__.py
similarity index 100%
rename from aat/exchange/synthetic/__main__.py
rename to old/aat/exchange/synthetic/__main__.py
diff --git a/aat/exchange/synthetic/server.py b/old/aat/exchange/synthetic/server.py
similarity index 100%
rename from aat/exchange/synthetic/server.py
rename to old/aat/exchange/synthetic/server.py
diff --git a/aat/exchange/test/__init__.py b/old/aat/exchange/test/__init__.py
similarity index 100%
rename from aat/exchange/test/__init__.py
rename to old/aat/exchange/test/__init__.py
diff --git a/aat/exchange/test/harness.py b/old/aat/exchange/test/harness.py
similarity index 100%
rename from aat/exchange/test/harness.py
rename to old/aat/exchange/test/harness.py
diff --git a/aat/strategy/__init__.py b/old/aat/strategy/__init__.py
similarity index 100%
rename from aat/strategy/__init__.py
rename to old/aat/strategy/__init__.py
diff --git a/aat/strategy/calculations.py b/old/aat/strategy/calculations.py
similarity index 100%
rename from aat/strategy/calculations.py
rename to old/aat/strategy/calculations.py
diff --git a/aat/strategy/portfolio.py b/old/aat/strategy/portfolio.py
similarity index 100%
rename from aat/strategy/portfolio.py
rename to old/aat/strategy/portfolio.py
diff --git a/aat/strategy/risk.py b/old/aat/strategy/risk.py
similarity index 100%
rename from aat/strategy/risk.py
rename to old/aat/strategy/risk.py
diff --git a/aat/strategy/sample/__init__.py b/old/aat/strategy/sample/__init__.py
similarity index 100%
rename from aat/strategy/sample/__init__.py
rename to old/aat/strategy/sample/__init__.py
diff --git a/aat/strategy/sample/coinbase/__init__.py b/old/aat/strategy/sample/coinbase/__init__.py
similarity index 100%
rename from aat/strategy/sample/coinbase/__init__.py
rename to old/aat/strategy/sample/coinbase/__init__.py
diff --git a/aat/strategy/sample/coinbase/buy_and_hold.py b/old/aat/strategy/sample/coinbase/buy_and_hold.py
similarity index 100%
rename from aat/strategy/sample/coinbase/buy_and_hold.py
rename to old/aat/strategy/sample/coinbase/buy_and_hold.py
diff --git a/aat/strategy/sample/coinbase/readonly.py b/old/aat/strategy/sample/coinbase/readonly.py
similarity index 100%
rename from aat/strategy/sample/coinbase/readonly.py
rename to old/aat/strategy/sample/coinbase/readonly.py
diff --git a/aat/strategy/sample/csv/__init__.py b/old/aat/strategy/sample/csv/__init__.py
similarity index 100%
rename from aat/strategy/sample/csv/__init__.py
rename to old/aat/strategy/sample/csv/__init__.py
diff --git a/aat/strategy/sample/csv/data/aapl.csv b/old/aat/strategy/sample/csv/data/aapl.csv
similarity index 100%
rename from aat/strategy/sample/csv/data/aapl.csv
rename to old/aat/strategy/sample/csv/data/aapl.csv
diff --git a/aat/strategy/sample/csv/readonly.py b/old/aat/strategy/sample/csv/readonly.py
similarity index 100%
rename from aat/strategy/sample/csv/readonly.py
rename to old/aat/strategy/sample/csv/readonly.py
diff --git a/aat/strategy/sample/csv/readonly_periodic.py b/old/aat/strategy/sample/csv/readonly_periodic.py
similarity index 100%
rename from aat/strategy/sample/csv/readonly_periodic.py
rename to old/aat/strategy/sample/csv/readonly_periodic.py
diff --git a/aat/strategy/sample/csv/received.py b/old/aat/strategy/sample/csv/received.py
similarity index 100%
rename from aat/strategy/sample/csv/received.py
rename to old/aat/strategy/sample/csv/received.py
diff --git a/aat/strategy/sample/ib/__init__.py b/old/aat/strategy/sample/ib/__init__.py
similarity index 100%
rename from aat/strategy/sample/ib/__init__.py
rename to old/aat/strategy/sample/ib/__init__.py
diff --git a/aat/strategy/sample/ib/buy_and_hold.py b/old/aat/strategy/sample/ib/buy_and_hold.py
similarity index 100%
rename from aat/strategy/sample/ib/buy_and_hold.py
rename to old/aat/strategy/sample/ib/buy_and_hold.py
diff --git a/aat/strategy/sample/ib/readonly.py b/old/aat/strategy/sample/ib/readonly.py
similarity index 100%
rename from aat/strategy/sample/ib/readonly.py
rename to old/aat/strategy/sample/ib/readonly.py
diff --git a/aat/strategy/sample/iex/__init__.py b/old/aat/strategy/sample/iex/__init__.py
similarity index 100%
rename from aat/strategy/sample/iex/__init__.py
rename to old/aat/strategy/sample/iex/__init__.py
diff --git a/aat/strategy/sample/iex/buy_and_hold.py b/old/aat/strategy/sample/iex/buy_and_hold.py
similarity index 100%
rename from aat/strategy/sample/iex/buy_and_hold.py
rename to old/aat/strategy/sample/iex/buy_and_hold.py
diff --git a/aat/strategy/sample/iex/golden_death.py b/old/aat/strategy/sample/iex/golden_death.py
similarity index 100%
rename from aat/strategy/sample/iex/golden_death.py
rename to old/aat/strategy/sample/iex/golden_death.py
diff --git a/aat/strategy/sample/iex/momentum.py b/old/aat/strategy/sample/iex/momentum.py
similarity index 100%
rename from aat/strategy/sample/iex/momentum.py
rename to old/aat/strategy/sample/iex/momentum.py
diff --git a/aat/strategy/sample/iex/readonly.py b/old/aat/strategy/sample/iex/readonly.py
similarity index 100%
rename from aat/strategy/sample/iex/readonly.py
rename to old/aat/strategy/sample/iex/readonly.py
diff --git a/aat/strategy/sample/readonly.py b/old/aat/strategy/sample/readonly.py
similarity index 100%
rename from aat/strategy/sample/readonly.py
rename to old/aat/strategy/sample/readonly.py
diff --git a/aat/strategy/sample/sell_plus_percent.py b/old/aat/strategy/sample/sell_plus_percent.py
similarity index 100%
rename from aat/strategy/sample/sell_plus_percent.py
rename to old/aat/strategy/sample/sell_plus_percent.py
diff --git a/aat/strategy/strategy.py b/old/aat/strategy/strategy.py
similarity index 100%
rename from aat/strategy/strategy.py
rename to old/aat/strategy/strategy.py
diff --git a/aat/strategy/utils.py b/old/aat/strategy/utils.py
similarity index 100%
rename from aat/strategy/utils.py
rename to old/aat/strategy/utils.py
diff --git a/aat/tests/__init__.py b/old/aat/tests/__init__.py
similarity index 100%
rename from aat/tests/__init__.py
rename to old/aat/tests/__init__.py
diff --git a/aat/tests/config/__init__.py b/old/aat/tests/config/__init__.py
similarity index 100%
rename from aat/tests/config/__init__.py
rename to old/aat/tests/config/__init__.py
diff --git a/aat/tests/config/test_enums.py b/old/aat/tests/config/test_enums.py
similarity index 100%
rename from aat/tests/config/test_enums.py
rename to old/aat/tests/config/test_enums.py
diff --git a/aat/tests/core/__init__.py b/old/aat/tests/core/__init__.py
similarity index 100%
rename from aat/tests/core/__init__.py
rename to old/aat/tests/core/__init__.py
diff --git a/aat/tests/core/instrument/__init__.py b/old/aat/tests/core/instrument/__init__.py
similarity index 100%
rename from aat/tests/core/instrument/__init__.py
rename to old/aat/tests/core/instrument/__init__.py
diff --git a/aat/tests/core/instrument/test_calendar.py b/old/aat/tests/core/instrument/test_calendar.py
similarity index 100%
rename from aat/tests/core/instrument/test_calendar.py
rename to old/aat/tests/core/instrument/test_calendar.py
diff --git a/aat/tests/core/instrument/test_instrument.py b/old/aat/tests/core/instrument/test_instrument.py
similarity index 100%
rename from aat/tests/core/instrument/test_instrument.py
rename to old/aat/tests/core/instrument/test_instrument.py
diff --git a/aat/tests/core/models/__init__.py b/old/aat/tests/core/models/__init__.py
similarity index 100%
rename from aat/tests/core/models/__init__.py
rename to old/aat/tests/core/models/__init__.py
diff --git a/aat/tests/core/models/test_order.py b/old/aat/tests/core/models/test_order.py
similarity index 100%
rename from aat/tests/core/models/test_order.py
rename to old/aat/tests/core/models/test_order.py
diff --git a/aat/tests/core/models/test_trade.py b/old/aat/tests/core/models/test_trade.py
similarity index 100%
rename from aat/tests/core/models/test_trade.py
rename to old/aat/tests/core/models/test_trade.py
diff --git a/aat/tests/core/order_book/__init__.py b/old/aat/tests/core/order_book/__init__.py
similarity index 100%
rename from aat/tests/core/order_book/__init__.py
rename to old/aat/tests/core/order_book/__init__.py
diff --git a/aat/tests/core/order_book/helpers.py b/old/aat/tests/core/order_book/helpers.py
similarity index 100%
rename from aat/tests/core/order_book/helpers.py
rename to old/aat/tests/core/order_book/helpers.py
diff --git a/aat/tests/core/order_book/test_collector.py b/old/aat/tests/core/order_book/test_collector.py
similarity index 100%
rename from aat/tests/core/order_book/test_collector.py
rename to old/aat/tests/core/order_book/test_collector.py
diff --git a/aat/tests/core/order_book/test_order_book.py b/old/aat/tests/core/order_book/test_order_book.py
similarity index 100%
rename from aat/tests/core/order_book/test_order_book.py
rename to old/aat/tests/core/order_book/test_order_book.py
diff --git a/aat/tests/core/order_book/test_order_flags.py b/old/aat/tests/core/order_book/test_order_flags.py
similarity index 100%
rename from aat/tests/core/order_book/test_order_flags.py
rename to old/aat/tests/core/order_book/test_order_flags.py
diff --git a/aat/tests/core/order_book/test_order_types.py b/old/aat/tests/core/order_book/test_order_types.py
similarity index 100%
rename from aat/tests/core/order_book/test_order_types.py
rename to old/aat/tests/core/order_book/test_order_types.py
diff --git a/aat/tests/core/order_book/test_price_level.py b/old/aat/tests/core/order_book/test_price_level.py
similarity index 100%
rename from aat/tests/core/order_book/test_price_level.py
rename to old/aat/tests/core/order_book/test_price_level.py
diff --git a/aat/tests/core/order_book/test_utils.py b/old/aat/tests/core/order_book/test_utils.py
similarity index 100%
rename from aat/tests/core/order_book/test_utils.py
rename to old/aat/tests/core/order_book/test_utils.py
diff --git a/aat/tests/engine/__init__.py b/old/aat/tests/engine/__init__.py
similarity index 100%
rename from aat/tests/engine/__init__.py
rename to old/aat/tests/engine/__init__.py
diff --git a/aat/tests/engine/test_periodic.py b/old/aat/tests/engine/test_periodic.py
similarity index 100%
rename from aat/tests/engine/test_periodic.py
rename to old/aat/tests/engine/test_periodic.py
diff --git a/aat/tests/exchange/__init__.py b/old/aat/tests/exchange/__init__.py
similarity index 100%
rename from aat/tests/exchange/__init__.py
rename to old/aat/tests/exchange/__init__.py
diff --git a/aat/tests/strategy/__init__.py b/old/aat/tests/strategy/__init__.py
similarity index 100%
rename from aat/tests/strategy/__init__.py
rename to old/aat/tests/strategy/__init__.py
diff --git a/aat/tests/strategy/test_offline_calculations.py b/old/aat/tests/strategy/test_offline_calculations.py
similarity index 100%
rename from aat/tests/strategy/test_offline_calculations.py
rename to old/aat/tests/strategy/test_offline_calculations.py
diff --git a/aat/tests/strategy/test_strategies/__init__.py b/old/aat/tests/strategy/test_strategies/__init__.py
similarity index 100%
rename from aat/tests/strategy/test_strategies/__init__.py
rename to old/aat/tests/strategy/test_strategies/__init__.py
diff --git a/aat/tests/strategy/test_strategies/test_cancel_all.py b/old/aat/tests/strategy/test_strategies/test_cancel_all.py
similarity index 100%
rename from aat/tests/strategy/test_strategies/test_cancel_all.py
rename to old/aat/tests/strategy/test_strategies/test_cancel_all.py
diff --git a/aat/tests/test_common.py b/old/aat/tests/test_common.py
similarity index 100%
rename from aat/tests/test_common.py
rename to old/aat/tests/test_common.py
diff --git a/aat/ui/__init__.py b/old/aat/ui/__init__.py
similarity index 100%
rename from aat/ui/__init__.py
rename to old/aat/ui/__init__.py
diff --git a/aat/ui/application.py b/old/aat/ui/application.py
similarity index 100%
rename from aat/ui/application.py
rename to old/aat/ui/application.py
diff --git a/aat/ui/handlers/__init__.py b/old/aat/ui/handlers/__init__.py
similarity index 100%
rename from aat/ui/handlers/__init__.py
rename to old/aat/ui/handlers/__init__.py
diff --git a/config/synthetic.cfg b/old/config/synthetic.cfg
similarity index 100%
rename from config/synthetic.cfg
rename to old/config/synthetic.cfg
diff --git a/cpplint.cfg b/old/cpplint.cfg
similarity index 100%
rename from cpplint.cfg
rename to old/cpplint.cfg
diff --git a/docs/Makefile b/old/docs/Makefile
similarity index 100%
rename from docs/Makefile
rename to old/docs/Makefile
diff --git a/docs/api.md b/old/docs/api.md
similarity index 100%
rename from docs/api.md
rename to old/docs/api.md
diff --git a/docs/conf.py b/old/docs/conf.py
similarity index 100%
rename from docs/conf.py
rename to old/docs/conf.py
diff --git a/docs/doxygen.conf b/old/docs/doxygen.conf
similarity index 100%
rename from docs/doxygen.conf
rename to old/docs/doxygen.conf
diff --git a/docs/img/icon.png b/old/docs/img/icon.png
similarity index 100%
rename from docs/img/icon.png
rename to old/docs/img/icon.png
diff --git a/docs/img/nem.png b/old/docs/img/nem.png
similarity index 100%
rename from docs/img/nem.png
rename to old/docs/img/nem.png
diff --git a/docs/img/orderbook.gif b/old/docs/img/orderbook.gif
similarity index 100%
rename from docs/img/orderbook.gif
rename to old/docs/img/orderbook.gif
diff --git a/docs/img/orderbook2.gif b/old/docs/img/orderbook2.gif
similarity index 100%
rename from docs/img/orderbook2.gif
rename to old/docs/img/orderbook2.gif
diff --git a/docs/img/rethist.png b/old/docs/img/rethist.png
similarity index 100%
rename from docs/img/rethist.png
rename to old/docs/img/rethist.png
diff --git a/docs/img/tearsheet.png b/old/docs/img/tearsheet.png
similarity index 100%
rename from docs/img/tearsheet.png
rename to old/docs/img/tearsheet.png
diff --git a/docs/make.bat b/old/docs/make.bat
similarity index 100%
rename from docs/make.bat
rename to old/docs/make.bat
diff --git a/setup.cfg b/old/setup.cfg
similarity index 100%
rename from setup.cfg
rename to old/setup.cfg
diff --git a/setup.py b/old/setup.py
similarity index 100%
rename from setup.py
rename to old/setup.py
diff --git a/pyproject.toml b/pyproject.toml
deleted file mode 100644
index 5a6213c6..00000000
--- a/pyproject.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-[build-system]
-# Minimum requirements for the build system to execute.
-requires = ["setuptools", "wheel", "numpy"]
diff --git a/python/aat/Cargo.lock b/python/aat/Cargo.lock
new file mode 100644
index 00000000..e9c88e3a
--- /dev/null
+++ b/python/aat/Cargo.lock
@@ -0,0 +1,582 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aat"
+version = "0.1.0"
+dependencies = [
+ "chrono",
+ "num",
+ "ordered-float",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "aat_rs"
+version = "0.1.0"
+dependencies = [
+ "aat",
+ "pyo3",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "serde",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "ctor"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "ghost"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "indoc"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3"
+
+[[package]]
+name = "inventory"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84344c6e0b90a9e2b6f3f9abe5cc74402684e348df7b32adca28747e0cef091a"
+dependencies = [
+ "ctor",
+ "ghost",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+
+[[package]]
+name = "js-sys"
+version = "0.3.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+
+[[package]]
+name = "lock_api"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
+
+[[package]]
+name = "ordered-float"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98ffdb14730ed2ef599c65810c15b000896e21e8776b512de0db0c3d7335cc2a"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0220c44442c9b239dd4357aa856ac468a4f5e1f0df19ddb89b2522952eb4c6ca"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "inventory",
+ "libc",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c819d397859445928609d0ec5afc2da5204e0d0f73d6bf9e153b04e83c9cdc2"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca882703ab55f54702d7bfe1189b41b0af10272389f04cae38fe4cd56c65f75f"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "568749402955ad7be7bad9a09b8593851cd36e549ac90bfd44079cea500f3f21"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.16.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "611f64e82d98f447787e82b8e7b0ebc681e1eb78fc1252668b2c605ffb4e1eb8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "serde"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+
+[[package]]
+name = "syn"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1"
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
+
+[[package]]
+name = "unindent"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+dependencies = [
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
diff --git a/python/aat/Cargo.toml b/python/aat/Cargo.toml
new file mode 100644
index 00000000..63917b5b
--- /dev/null
+++ b/python/aat/Cargo.toml
@@ -0,0 +1,25 @@
+[package]
+# Name this aat_rs so as to not conflict with the rust library
+name = "aat_rs"
+version = "0.1.0"
+edition = "2021"
+publish = false
+
+[lib]
+# Name this aat to match the python library
+name = "aat"
+path = "src/lib.rs"
+crate-type = ["cdylib"]
+
+[dependencies]
+aat = { path = "../../rust/aat", version = "*" }
+pyo3 = { version = "0.16", features = ["abi3-py37", "extension-module", "multiple-pymethods"] }
+# pyo3-asyncio = { version = "0.16", features = ["attributes", "tokio-runtime"] }
+# tokio = { version = "1", features = ["full"] }
+
+[profile.release]
+panic = 'abort'
+lto = true
+
+[package.metadata.maturin]
+# python-source = "python"
diff --git a/python/aat/LICENSE b/python/aat/LICENSE
new file mode 120000
index 00000000..30cff740
--- /dev/null
+++ b/python/aat/LICENSE
@@ -0,0 +1 @@
+../../LICENSE
\ No newline at end of file
diff --git a/python/aat/Makefile b/python/aat/Makefile
new file mode 100644
index 00000000..5e881736
--- /dev/null
+++ b/python/aat/Makefile
@@ -0,0 +1,21 @@
+PYTHON=python
+CONFIG=./config/synthetic.cfg
+
+.DEFAULT_GOAL := help
+.PHONY: build develop clean help
+
+build: ## build the library
+ maturin build
+
+develop: ## build the library for development
+ pip install --no-deps -e .[develop]
+
+clean: ## clean the project
+ git clean -fdx
+
+# Thanks to Francoise at marmelab.com for this
+help:
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+print-%:
+ @echo '$*=$($*)'
diff --git a/python/aat/README.md b/python/aat/README.md
new file mode 120000
index 00000000..fe840054
--- /dev/null
+++ b/python/aat/README.md
@@ -0,0 +1 @@
+../../README.md
\ No newline at end of file
diff --git a/python/aat/aat/__init__.py b/python/aat/aat/__init__.py
new file mode 100644
index 00000000..1ff8e07c
--- /dev/null
+++ b/python/aat/aat/__init__.py
@@ -0,0 +1 @@
+print("test")
diff --git a/python/aat/pyproject.toml b/python/aat/pyproject.toml
new file mode 100644
index 00000000..d629396a
--- /dev/null
+++ b/python/aat/pyproject.toml
@@ -0,0 +1,28 @@
+[build-system]
+requires = ["maturin>=0.13,<0.14"]
+build-backend = "maturin"
+
+[project]
+name = "aat"
+authors = [{name = "Tim Paine"}]
+description="Algorithmic Trading Library"
+readme = "README.md"
+version = "0.1.0"
+requires-python = ">=3.7"
+dependencies = [
+ "pyarrow"
+]
+classifiers = [
+ "Programming Language :: Rust",
+ "Programming Language :: Python :: Implementation :: CPython",
+ "Programming Language :: Python :: Implementation :: PyPy",
+]
+
+[project.license]
+file = "LICENSE"
+
+[project.optional-dependencies]
+test = ["pytest < 8.0.0"]
+
+[project.urls]
+repository = "https://github.com/asyncalgotrading/aat"
diff --git a/python/aat/src/lib.rs b/python/aat/src/lib.rs
new file mode 100644
index 00000000..36f2b295
--- /dev/null
+++ b/python/aat/src/lib.rs
@@ -0,0 +1,13 @@
+use aat::common::Float;
+use pyo3::prelude::*;
+
+#[pyfunction]
+fn double(x: usize) -> usize {
+ x * 2
+}
+
+#[pymodule]
+fn aat(_py: Python, m: &PyModule) -> PyResult<()> {
+ m.add_function(wrap_pyfunction!(double, m)?)?;
+ Ok(())
+}
diff --git a/rust/Cargo.lock b/rust/Cargo.lock
new file mode 100644
index 00000000..88b7aad9
--- /dev/null
+++ b/rust/Cargo.lock
@@ -0,0 +1,425 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aat"
+version = "0.1.0"
+dependencies = [
+ "aat-core",
+ "aat-orderbook",
+]
+
+[[package]]
+name = "aat-core"
+version = "0.1.0"
+dependencies = [
+ "chrono",
+ "num",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "aat-orderbook"
+version = "0.1.0"
+dependencies = [
+ "aat-core",
+ "chrono",
+ "num",
+ "rand",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "serde",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "getrandom"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.133"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd7356a8122b6c4a24a82b278680c73357984ca2fc79a0f9fa6dea7dced7c58"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "serde"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi 0.10.0+wasi-snapshot-preview1",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
new file mode 100644
index 00000000..6d2bb0dd
--- /dev/null
+++ b/rust/Cargo.toml
@@ -0,0 +1,16 @@
+[workspace]
+members = [
+ "aat",
+ "aat-core",
+ "aat-orderbook",
+]
+
+[workspace.package]
+version = "0.1.0"
+
+[workspace.dependencies]
+chrono = { version = "0.4", features = ["serde"] }
+num = "0.4"
+serde = { version = "1.0", features = ["derive"] }
+serde_json = "1"
+# tokio = { version = "1", features = ["full"] }
diff --git a/rust/Makefile b/rust/Makefile
new file mode 100644
index 00000000..0095ac8a
--- /dev/null
+++ b/rust/Makefile
@@ -0,0 +1,65 @@
+.DEFAULT_GOAL := help
+.PHONY: dev build lint fix check tests tests-ci-run tests-ci-gha tests-ci-jenkins develop test format checks help
+
+dev: ## Install required dev dependencies
+ rustup component add rustfmt
+ rustup component add clippy
+ cargo install cargo2junit
+ cargo install grcov
+ rustup component add llvm-tools-preview
+
+build: ## Build release
+ cargo build --release --all-features \
+ -p aat \
+ -p aat-core \
+ -p aat-orderbook
+
+lint: ## Run Clippy for linting, rustfmt for autoformat checks
+ cargo clippy --all-features \
+ -p aat \
+ -p aat-core \
+ -p aat-orderbook
+ cargo fmt --all -- --check
+
+fix: ## Fix code with rustfmt
+ cargo fmt --all \
+ -p aat \
+ -p aat-core \
+ -p aat-orderbook
+
+check:
+ cargo check --all-features \
+ -p aat \
+ -p aat-core \
+ -p aat-orderbook
+
+tests: ## Run the tests
+ cargo test -- --show-output
+ # cargo test -- -Z unstable-options --format json | cargo2junit > results.xml
+
+tests-ci-run: $(eval SHELL:=/bin/bash)
+ { \
+ export CARGO_INCREMENTAL=0;\
+ export RUSTDOCFLAGS="-Cpanic=abort";\
+ export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort";\
+ cargo test -- -Z unstable-options --format json | cargo2junit > results.xml;\
+ }
+
+tests-ci-gha: tests-ci-run
+ grcov . --llvm -s . -t lcov --branch --ignore-not-existing -o ./coverage.info;\
+
+tests-ci-jenkins: tests-ci-run
+ grcov . --llvm -s . -t cobertura --branch --ignore-not-existing -o ./coverage.xml;\
+
+# aliases
+develop: dev
+test: tests
+format: fix
+checks: check
+
+# Thanks to Francoise at marmelab.com for this
+help:
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+print-%:
+ @echo '$*=$($*)'
diff --git a/rust/aat-core/Cargo.lock b/rust/aat-core/Cargo.lock
new file mode 100644
index 00000000..33b28918
--- /dev/null
+++ b/rust/aat-core/Cargo.lock
@@ -0,0 +1,353 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aat-core"
+version = "0.1.0"
+dependencies = [
+ "chrono",
+ "num",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "serde",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "once_cell",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+
+[[package]]
+name = "js-sys"
+version = "0.3.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.132"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "serde"
+version = "1.0.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.99"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/rust/aat-core/Cargo.toml b/rust/aat-core/Cargo.toml
new file mode 100644
index 00000000..73c72d9d
--- /dev/null
+++ b/rust/aat-core/Cargo.toml
@@ -0,0 +1,23 @@
+[package]
+name = "aat-core"
+version.workspace = true
+license = "Apache-2.0"
+edition = "2021"
+
+# TODO publish
+publish = false
+
+[lib]
+name = "aat_core"
+path = "src/lib.rs"
+crate-type = ["rlib"]
+
+[dependencies]
+chrono.workspace = true
+num.workspace = true
+serde.workspace = true
+serde_json.workspace = true
+
+[profile.release]
+panic = 'abort'
+lto = true
diff --git a/rust/aat-core/LICENSE b/rust/aat-core/LICENSE
new file mode 100644
index 00000000..261eeb9e
--- /dev/null
+++ b/rust/aat-core/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/rust/aat-core/Makefile b/rust/aat-core/Makefile
new file mode 120000
index 00000000..2b3ecd73
--- /dev/null
+++ b/rust/aat-core/Makefile
@@ -0,0 +1 @@
+../aat/Makefile
\ No newline at end of file
diff --git a/rust/aat-core/README.md b/rust/aat-core/README.md
new file mode 100644
index 00000000..f1cf6420
--- /dev/null
+++ b/rust/aat-core/README.md
@@ -0,0 +1,13 @@
+
+
+[](https://github.com/AsyncAlgoTrading/aat/actions?query=workflow%3A%22Build+Status%22)
+[](https://codecov.io/gh/AsyncAlgoTrading/aat)
+[](https://pypi.python.org/pypi/aat)
+[](https://pypi.python.org/pypi/aat)
+[](http://aat.readthedocs.io/en/latest/)
+
+`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in rust. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
+
+Like [Zipline](https://github.com/quantopian/zipline) and [Lean](https://github.com/QuantConnect/Lean), `aat` exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.
+
+`aat` is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.
diff --git a/rust/aat-core/src/common/float.rs b/rust/aat-core/src/common/float.rs
new file mode 100644
index 00000000..bfe95930
--- /dev/null
+++ b/rust/aat-core/src/common/float.rs
@@ -0,0 +1,150 @@
+use num::cast;
+use serde::{Deserialize, Serialize};
+use std::cmp::Ordering;
+use std::fmt::{Display, Formatter, Result};
+use std::iter::Sum;
+use std::ops::{Add, AddAssign, Sub};
+
+#[allow(clippy::derive_hash_xor_eq)]
+#[derive(Clone, Copy, Debug, Default, Hash, PartialOrd, Serialize, Deserialize)]
+pub struct FloatAsLong {
+ value: i64,
+}
+
+impl PartialEq for FloatAsLong {
+ #[inline]
+ fn eq(&self, other: &Self) -> bool {
+ self.value == other.value
+ }
+}
+
+impl Eq for FloatAsLong {}
+
+impl Sum for FloatAsLong {
+ #[inline]
+ fn sum(iter: I) -> Self
+ where
+ I: Iterator- ,
+ {
+ iter.fold(Self { value: 0 }, |a, b| Self {
+ value: a.value + b.value,
+ })
+ }
+}
+
+impl Sub for FloatAsLong {
+ type Output = FloatAsLong;
+
+ #[inline]
+ fn sub(self, rhs: FloatAsLong) -> FloatAsLong {
+ FloatAsLong {
+ value: self.value - rhs.value,
+ }
+ }
+}
+
+#[allow(clippy::derive_ord_xor_partial_ord)]
+impl Ord for FloatAsLong {
+ #[inline]
+ fn cmp(&self, other: &Self) -> Ordering {
+ self.value.cmp(&other.value)
+ }
+}
+
+impl Add for FloatAsLong {
+ type Output = FloatAsLong;
+
+ #[inline]
+ fn add(self, rhs: Self) -> Self {
+ Self {
+ value: self.value + rhs.value,
+ }
+ }
+}
+
+impl AddAssign for FloatAsLong {
+ #[inline]
+ fn add_assign(&mut self, other: Self) {
+ *self = Self {
+ value: self.value + other.value,
+ };
+ }
+}
+
+impl Display for FloatAsLong {
+ fn fmt(&self, f: &mut Formatter<'_>) -> Result {
+ write!(f, "{}", self.to_float())
+ }
+}
+
+impl FloatAsLong {
+ pub const ZERO: FloatAsLong = FloatAsLong { value: 0 };
+ pub const INFINITY: FloatAsLong = FloatAsLong { value: i64::MAX };
+
+ pub fn to_float(&self) -> f64 {
+ cast::(self.value).unwrap() / cast::(FLOAT_MULTIPLIER).unwrap()
+ }
+
+ pub fn from_int(val: i64) -> FloatAsLong {
+ FloatAsLong {
+ value: val * FLOAT_MULTIPLIER,
+ }
+ }
+
+ pub fn from_float(val: f64) -> FloatAsLong {
+ FloatAsLong {
+ value: cast::(val * cast::(FLOAT_MULTIPLIER).unwrap()).unwrap(),
+ }
+ }
+}
+
+// NOTE: use signed for negative prices
+pub type Float = FloatAsLong;
+
+// i64 isL -9223372036854775808 to 9223372036854775807
+// so we'll do -9223372036854.775808 to 9223372036854.775807
+pub const FLOAT_MULTIPLIER: i64 = 1000000;
+
+/**********************************/
+#[cfg(test)]
+mod float_tests {
+ use super::*;
+
+ #[test]
+ fn test_eq_from_int() {
+ let f1 = Float::from_int(5);
+ let f2 = Float::from_int(5);
+ assert_eq!(f1, f2);
+ }
+
+ #[test]
+ fn test_eq_from_float() {
+ let f1 = Float::from_float(1.23456);
+ let f2 = Float::from_float(1.23456);
+ assert_eq!(f1, f2);
+ }
+
+ #[test]
+ fn test_add() {
+ let f1 = Float::from_float(1.2);
+ let f2 = Float::from_float(3.4);
+ let f3 = Float::from_float(4.6);
+ assert_eq!(f1 + f2, f3);
+ }
+
+ #[test]
+ fn test_cmp() {
+ let f1 = Float::from_float(1.2);
+ let f2 = Float::from_float(3.4);
+ assert_eq!(f1 < f2, true);
+ assert_eq!(f2 > f1, true);
+ }
+
+ #[test]
+ fn test_assign() {
+ let mut f1 = Float::from_float(1.2);
+ let f2 = Float::from_float(4.6);
+ f1 += Float::from_float(3.4);
+ assert_eq!(f1, f2);
+ }
+}
diff --git a/rust/aat-core/src/common/mod.rs b/rust/aat-core/src/common/mod.rs
new file mode 100644
index 00000000..ebef537d
--- /dev/null
+++ b/rust/aat-core/src/common/mod.rs
@@ -0,0 +1,7 @@
+mod float;
+pub use float::*;
+
+pub type Id = i64;
+
+// pls
+pub type Optional = Option;
diff --git a/rust/aat-core/src/core/data/account.rs b/rust/aat-core/src/core/data/account.rs
new file mode 100644
index 00000000..d130ca47
--- /dev/null
+++ b/rust/aat-core/src/core/data/account.rs
@@ -0,0 +1,45 @@
+use crate::common::{Float, Id, Optional};
+
+use serde::{Deserialize, Serialize};
+
+#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize)]
+pub struct Account {
+ id: Id,
+ instrument_id: Id,
+ balance: Float,
+}
+
+impl PartialEq for Account {
+ fn eq(&self, other: &Self) -> bool {
+ self.get_id() == other.get_id()
+ }
+}
+
+impl Eq for Account {}
+
+impl Account {
+ // TODO expose all base
+ pub fn new(id: Id, instrument_id: Id, balance: Optional) -> Account {
+ Account {
+ id,
+ instrument_id,
+ balance: balance.unwrap_or(Float::from_float(0.0)),
+ }
+ }
+
+ pub fn get_id(&self) -> Id {
+ self.id
+ }
+
+ pub fn get_instrument_id(&self) -> Id {
+ self.instrument_id
+ }
+
+ pub fn get_balance(&self) -> Float {
+ self.balance
+ }
+
+ pub fn set_balance(&mut self, balance: Float) {
+ self.balance = balance;
+ }
+}
diff --git a/rust/aat-core/src/core/data/base.rs b/rust/aat-core/src/core/data/base.rs
new file mode 100644
index 00000000..4d6dc2df
--- /dev/null
+++ b/rust/aat-core/src/core/data/base.rs
@@ -0,0 +1,95 @@
+use super::exchange::ExchangeType;
+
+use crate::common::{Id, Optional};
+
+use chrono::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize)]
+pub struct BaseData {
+ id: Id,
+ timestamp: DateTime,
+ instrument_id: Id,
+ exchange: ExchangeType,
+}
+
+impl BaseData {
+ // TODO expose all
+ pub fn new(
+ id: Id,
+ timestamp: Optional>,
+ instrument_id: Optional,
+ exchange: Optional,
+ ) -> BaseData {
+ BaseData {
+ id,
+ timestamp: timestamp.unwrap_or(Utc::now()),
+ instrument_id: instrument_id.unwrap_or(0),
+ exchange: exchange.unwrap_or(ExchangeType {}),
+ }
+ }
+}
+
+pub trait EventTarget {
+ fn get_id(&self) -> Id;
+}
+
+pub trait HasBaseData {
+ fn get_base(&self) -> &BaseData;
+}
+
+pub trait BaseDataGetters {
+ fn get_timestamp(&self) -> DateTime;
+ fn get_instrument_id(&self) -> Id;
+ fn get_exchange(&self) -> ExchangeType;
+}
+
+impl EventTarget for T {
+ fn get_id(&self) -> Id {
+ self.get_base().id
+ }
+}
+
+impl BaseDataGetters for T {
+ fn get_timestamp(&self) -> DateTime {
+ self.get_base().timestamp
+ }
+
+ fn get_instrument_id(&self) -> Id {
+ self.get_base().instrument_id
+ }
+
+ fn get_exchange(&self) -> ExchangeType {
+ self.get_base().exchange
+ }
+}
+
+impl PartialEq for BaseData {
+ fn eq(&self, other: &Self) -> bool {
+ self.id == other.id
+ }
+}
+
+impl Eq for BaseData {}
+
+/**********************************/
+#[cfg(test)]
+use std::default::default;
+
+#[cfg(test)]
+mod base_data_tests {
+ use super::*;
+
+ #[test]
+ fn test_eq() {
+ let d1 = BaseData { id: 1, ..default() };
+
+ let d2 = BaseData { id: 1, ..default() };
+
+ let d3 = BaseData { id: 2, ..default() };
+
+ assert_eq!(d1, d2);
+ assert_eq!((d1 == d3), false);
+ assert_eq!((d2 == d3), false);
+ }
+}
diff --git a/rust/aat-core/src/core/data/data.rs b/rust/aat-core/src/core/data/data.rs
new file mode 100644
index 00000000..7bcf2f21
--- /dev/null
+++ b/rust/aat-core/src/core/data/data.rs
@@ -0,0 +1,63 @@
+use super::{BaseData, EventTarget, HasBaseData};
+
+use crate::common::{Id, Optional};
+use crate::core::ExchangeType;
+
+use chrono::prelude::*;
+use serde::{Deserialize, Serialize};
+use serde_json::Value;
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize)]
+pub struct Data {
+ base: BaseData,
+ pub data: Optional,
+}
+
+impl HasBaseData for Data {
+ fn get_base(&self) -> &BaseData {
+ &self.base
+ }
+}
+
+impl PartialEq for Data {
+ fn eq(&self, other: &Self) -> bool {
+ self.get_id() == other.get_id()
+ }
+}
+
+impl Eq for Data {}
+
+impl Data {
+ // TODO expose all base
+ pub fn new(
+ id: Id,
+ timestamp: Optional>,
+ instrument_id: Optional,
+ exchange: Optional,
+ data: Optional,
+ ) -> Data {
+ Data {
+ base: BaseData::new(id, timestamp, instrument_id, exchange),
+ data,
+ }
+ }
+}
+
+/**********************************/
+#[cfg(test)]
+use serde_json::json;
+
+#[cfg(test)]
+mod data_tests {
+ use super::*;
+
+ #[test]
+ fn test_eq() {
+ let d1 = Data::new(1, None, None, None, Some(json!(null)));
+ let d2 = Data::new(1, None, None, None, Some(json!(null)));
+ let d3 = Data::new(2, None, None, None, Some(json!(null)));
+ assert_eq!(d1, d2);
+ assert_ne!(d1, d3);
+ assert_ne!(d2, d3);
+ }
+}
diff --git a/rust/aat-core/src/core/data/event.rs b/rust/aat-core/src/core/data/event.rs
new file mode 100644
index 00000000..e73b1a62
--- /dev/null
+++ b/rust/aat-core/src/core/data/event.rs
@@ -0,0 +1,46 @@
+// NOTE: see note below
+use crate::common::Id;
+use crate::core::{Data, Order, Trade};
+use crate::core::{EventTarget, EventType};
+
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub enum EventData {
+ Data(Data),
+ Order(Order),
+ Trade(Trade),
+}
+
+impl EventData {
+ pub fn get_id(&self) -> Id {
+ match self {
+ EventData::Data(d) => d.get_id(),
+ EventData::Order(o) => o.get_id(),
+ EventData::Trade(t) => t.get_id(),
+ }
+ }
+}
+
+// #[derive(Debug, Serialize, Deserialize)]
+#[derive(Clone, Debug)]
+pub struct Event {
+ pub event_type: EventType,
+ pub target: EventData,
+}
+
+impl PartialEq for Event {
+ fn eq(&self, other: &Self) -> bool {
+ self.target().get_id() == other.target().get_id()
+ }
+}
+
+impl Event {
+ pub fn event_type(self) -> EventType {
+ self.event_type
+ }
+
+ pub fn target(&self) -> &EventData {
+ &self.target
+ }
+}
diff --git a/rust/aat-core/src/core/data/exchange.rs b/rust/aat-core/src/core/data/exchange.rs
new file mode 100644
index 00000000..62d124ee
--- /dev/null
+++ b/rust/aat-core/src/core/data/exchange.rs
@@ -0,0 +1,38 @@
+use crate::common::Id;
+
+use serde::{Deserialize, Serialize};
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct ExchangeType {}
+
+impl Default for ExchangeType {
+ fn default() -> Self {
+ // TODO
+ ExchangeType {}
+ }
+}
+
+impl ExchangeType {
+ pub fn new(_id: Id) -> ExchangeType {
+ ExchangeType {}
+ }
+}
+
+// explicit ExchangeType(str_t name)
+// : name(name) {}
+
+// str_t toString() const;
+// virtual json toJson() const;
+
+// bool
+// operator==(const ExchangeType& other) const {
+// return name == other.name;
+// }
+// explicit operator bool() const { return name != ""; }
+// str_t name;
+// };
+
+// static ExchangeType NullExchange = ExchangeType("");
+
+// } // namespace core
+// } // namespace aat
diff --git a/rust/aat-core/src/core/data/mod.rs b/rust/aat-core/src/core/data/mod.rs
new file mode 100644
index 00000000..402b3872
--- /dev/null
+++ b/rust/aat-core/src/core/data/mod.rs
@@ -0,0 +1,17 @@
+#[allow(clippy::module_inception)]
+mod data;
+
+mod account;
+mod base;
+mod event;
+mod exchange;
+mod order;
+mod trade;
+
+pub use account::*;
+pub use base::*;
+pub use data::*;
+pub use event::*;
+pub use exchange::*;
+pub use order::*;
+pub use trade::*;
diff --git a/rust/aat-core/src/core/data/order.rs b/rust/aat-core/src/core/data/order.rs
new file mode 100644
index 00000000..6b2efcf4
--- /dev/null
+++ b/rust/aat-core/src/core/data/order.rs
@@ -0,0 +1,370 @@
+use super::{BaseData, EventTarget, HasBaseData};
+
+use crate::common::{Float, Id, Optional};
+use crate::core::{ExchangeType, OrderFlag, OrderType, Side};
+
+use chrono::prelude::*;
+use serde::{Deserialize, Serialize};
+use std::fmt;
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct Order {
+ base: BaseData,
+
+ volume: Float,
+ price: Float,
+ notional: Float,
+
+ side: Side,
+ order_type: OrderType,
+ order_flag: OrderFlag,
+
+ participant_id: Optional,
+ exchange_id: Optional,
+ received_timestamp: Optional>,
+ update_timestamp: Optional>,
+ dispatch_timestamp: Optional>,
+
+ conditional_target_id: Optional,
+
+ // internal
+ filled: Float,
+ force_done: bool,
+}
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct OrderArgs {
+ id: Id,
+ timestamp: DateTime,
+ instrument_id: Id,
+ exchange: ExchangeType,
+
+ volume: Optional,
+ price: Optional,
+ notional: Optional,
+
+ side: Side,
+ order_type: OrderType,
+ order_flag: OrderFlag,
+
+ participant_id: Optional,
+ exchange_id: Optional,
+ received_timestamp: Optional>,
+ update_timestamp: Optional>,
+ dispatch_timestamp: Optional>,
+
+ conditional_target_id: Optional,
+}
+
+impl Default for OrderArgs {
+ fn default() -> Self {
+ Self {
+ id: 0,
+ timestamp: Utc::now(),
+ instrument_id: 0,
+ exchange: ExchangeType {},
+ volume: None,
+ price: None,
+ notional: None,
+ side: Side::BUY,
+ order_type: OrderType::LIMIT,
+ order_flag: OrderFlag::NONE,
+ participant_id: None,
+ exchange_id: None,
+ received_timestamp: None,
+ update_timestamp: None,
+ dispatch_timestamp: None,
+ conditional_target_id: None,
+ }
+ }
+}
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct LimitOrderArgs {
+ volume: Float,
+ price: Float,
+ side: Side,
+ order_flag: OrderFlag,
+}
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct MarketOrderArgs {
+ volume: Float,
+ notional: Float,
+ side: Side,
+}
+
+impl HasBaseData for Order {
+ fn get_base(&self) -> &BaseData {
+ &self.base
+ }
+}
+
+impl PartialEq for Order {
+ fn eq(&self, other: &Self) -> bool {
+ self.get_id() == other.get_id()
+ }
+}
+
+impl Order {
+ pub fn new(
+ id: Id,
+ timestamp: Optional>,
+ instrument_id: Optional,
+ exchange: Optional,
+ volume: Float,
+ price: Optional,
+ notional: Optional,
+ side: Side,
+ order_type: OrderType,
+ order_flag: Optional,
+ participant_id: Optional,
+ exchange_id: Optional,
+ received_timestamp: Optional>,
+ update_timestamp: Optional>,
+ dispatch_timestamp: Optional>,
+ conditional_target_id: Optional,
+ ) -> Order {
+ // Checks
+
+ match order_type {
+ OrderType::MARKET => {
+ // Market order should not have price,
+ match price {
+ Some(_) => {
+ panic!("No price on market orders")
+ }
+ None => {}
+ }
+
+ // Market orders can't be immediate or cancel
+ match order_flag {
+ None => {}
+ Some(o) => match o {
+ OrderFlag::ALL_OR_NONE | OrderFlag::FILL_OR_KILL => {}
+ OrderFlag::IMMEDIATE_OR_CANCEL => {
+ panic!("Market orders are IOC by default")
+ }
+ _ => {}
+ },
+ }
+ }
+ OrderType::LIMIT => {
+ // limit order should have price
+ match price {
+ Some(_) => {}
+ None => {
+ panic!("Must set price for market orders");
+ }
+ }
+ }
+ _ => {}
+ }
+
+ Order {
+ base: BaseData::new(id, timestamp, instrument_id, exchange),
+ volume,
+ price: price.unwrap_or(Float::from_float(0.0)),
+ notional: notional.unwrap_or(Float::from_float(0.0)),
+ side,
+ order_type,
+ order_flag: order_flag.unwrap_or(OrderFlag::NONE),
+ participant_id,
+ exchange_id,
+ received_timestamp,
+ update_timestamp,
+ dispatch_timestamp,
+ conditional_target_id,
+ filled: Float::from_float(0.0),
+ force_done: false,
+ }
+ }
+
+ pub fn new_limit(
+ id: Id,
+ instrument_id: Id,
+ exchange: ExchangeType,
+ args: LimitOrderArgs,
+ ) -> Order {
+ Order::new(
+ id,
+ Some(Utc::now()),
+ Some(instrument_id),
+ Some(exchange),
+ args.volume,
+ Some(args.price),
+ None,
+ args.side,
+ OrderType::LIMIT,
+ Some(args.order_flag),
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ )
+ }
+
+ pub fn new_market(
+ id: Id,
+ instrument_id: Id,
+ exchange: ExchangeType,
+ args: MarketOrderArgs,
+ ) -> Order {
+ Order::new(
+ id,
+ Some(Utc::now()),
+ Some(instrument_id),
+ Some(exchange),
+ args.volume,
+ None,
+ Some(args.notional),
+ args.side,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ )
+ }
+
+ /* Getters */
+ pub fn get_volume(&self) -> Float {
+ self.volume
+ }
+
+ pub fn set_volume(&mut self, volume: Float) {
+ self.volume = volume
+ }
+
+ pub fn get_price(&self) -> Float {
+ self.price
+ }
+
+ pub fn set_price(&mut self, price: Float) {
+ self.price = price;
+ }
+
+ pub fn get_notional(&self) -> Float {
+ self.notional
+ }
+
+ pub fn get_side(&self) -> Side {
+ self.side
+ }
+
+ pub fn get_order_type(&self) -> OrderType {
+ self.order_type
+ }
+
+ pub fn get_order_flag(&self) -> OrderFlag {
+ self.order_flag
+ }
+
+ pub fn get_filled(&self) -> Float {
+ self.filled
+ }
+
+ pub fn set_filled(&mut self, value: Float) {
+ self.filled = value;
+ }
+
+ /* Other */
+ pub fn get_volume_left(&self) -> Float {
+ self.volume - self.filled
+ }
+
+ pub fn finished() -> bool {
+ // TODO
+ false
+ }
+ pub fn finish() {}
+}
+
+impl fmt::Display for Order {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "O({}@{})", self.get_volume_left(), self.get_price())
+ }
+}
+
+/**********************************/
+#[cfg(test)]
+mod order_tests {
+ use super::*;
+
+ #[test]
+ fn test_eq() {
+ let o1 = Order::new(
+ 1,
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ None, // price
+ // Some(Float::from_int(10)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::MARKET,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ let o2 = Order::new(
+ 1,
+ None,
+ None,
+ None,
+ Float::from_int(20), // volume
+ None, // price
+ // Some(Float::from_int(10)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::MARKET,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ assert_eq!(o1, o2);
+ }
+
+ #[test]
+ fn test_fill_volume() {
+ let mut o1 = Order::new(
+ 1,
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ None, // price
+ // Some(Float::from_int(10)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::MARKET,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ o1.set_filled(Float::from_int(5));
+
+ assert_eq!(o1.get_volume_left(), Float::from_int(5));
+ }
+}
diff --git a/rust/aat-core/src/core/data/trade.rs b/rust/aat-core/src/core/data/trade.rs
new file mode 100644
index 00000000..45303902
--- /dev/null
+++ b/rust/aat-core/src/core/data/trade.rs
@@ -0,0 +1,88 @@
+use super::{BaseData, EventTarget, HasBaseData};
+
+use crate::common::{Float, Id, Optional};
+use crate::core::ExchangeType;
+
+use chrono::prelude::*;
+
+use serde::{Deserialize, Serialize};
+use std::collections::VecDeque;
+
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub struct Trade {
+ base: BaseData,
+
+ exchange_id: Optional,
+ exchange_timestamp: Optional>,
+
+ volume: Float,
+ price: Float,
+
+ maker_orders: VecDeque,
+ taker_order: Id,
+
+ // internal
+ my_order: Optional,
+ slippage: Optional,
+ transaction_cost: Optional,
+}
+
+impl HasBaseData for Trade {
+ fn get_base(&self) -> &BaseData {
+ &self.base
+ }
+}
+
+impl PartialEq for Trade {
+ fn eq(&self, other: &Self) -> bool {
+ self.get_id() == other.get_id()
+ }
+}
+
+impl Trade {
+ // TODO expose all base
+ pub fn new(
+ id: Id,
+ timestamp: Optional>,
+ instrument_id: Optional,
+ exchange: Optional,
+ exchange_id: Optional,
+ exchange_timestamp: Optional>,
+ volume: Float,
+ price: Float,
+ maker_orders: VecDeque,
+ taker_order: Id,
+ ) -> Trade {
+ Trade {
+ base: BaseData::new(id, timestamp, instrument_id, exchange),
+ exchange_id,
+ exchange_timestamp,
+ volume,
+ price,
+ maker_orders,
+ taker_order,
+ my_order: None, // TODO
+ slippage: Some(Float::from_float(0.0)), // TODO
+ transaction_cost: Some(Float::from_float(0.0)), // TODO
+ }
+ }
+
+ /* Getters */
+ pub fn get_exchange_id(&self) -> Optional {
+ self.exchange_id
+ }
+
+ pub fn get_exchange_timestamp(&self) -> Optional> {
+ self.exchange_timestamp
+ }
+
+ pub fn get_volume(&self) -> Float {
+ self.volume
+ }
+
+ pub fn get_price(&self) -> Float {
+ self.price
+ }
+
+ /* Other */
+}
diff --git a/rust/aat-core/src/core/enums.rs b/rust/aat-core/src/core/enums.rs
new file mode 100644
index 00000000..98062c49
--- /dev/null
+++ b/rust/aat-core/src/core/enums.rs
@@ -0,0 +1,129 @@
+use serde::{Deserialize, Serialize};
+
+macro_rules! all_enum_derivs{
+ (
+ $vis:vis enum $enum_name:ident {
+ $(
+ $field_vis:vis $field_name:ident
+ ),*$(,)+
+ }
+ ) => {
+ #[allow(non_camel_case_types)]
+ #[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq)]
+ pub enum $enum_name{
+ $($field_name,)*
+ }
+ }
+}
+
+all_enum_derivs! {
+ pub enum TradingType {
+ LIVE,
+ SIMULATION,
+ SANDBOX,
+ BACKTEST,
+ }
+}
+
+all_enum_derivs! {
+ pub enum Side {
+ BUY,
+ SELL,
+ }
+}
+
+all_enum_derivs! {
+ pub enum OptionType {
+ CALL,
+ PUT,
+ }
+}
+
+all_enum_derivs! {
+ pub enum EventType {
+ // Heartbeat events
+ HEARTBEAT,
+
+ // Trade events
+ TRADE,
+
+ // Order events
+ OPEN,
+ CANCEL,
+ CHANGE,
+ FILL,
+
+ // Other data events
+ DATA,
+
+ // System events
+ HALT,
+ CONTINUE,
+
+ // Engine events
+ ERROR,
+ START,
+ EXIT,
+
+ // Order Events
+ BOUGHT,
+ SOLD,
+ RECEIVED,
+ REJECTED,
+ CANCELED,
+ }
+}
+
+all_enum_derivs! {
+ pub enum InstrumentType {
+ OTHER,
+ EQUITY,
+ BOND,
+ OPTION,
+ FUTURE,
+ SPREAD,
+ FUTURESOPTION,
+ PERPETUALFUTURE,
+ MUTUALFUND,
+ COMMODITY,
+ CURRENCY,
+ PAIR,
+ INDEX,
+ }
+}
+
+impl Default for InstrumentType {
+ fn default() -> Self {
+ InstrumentType::EQUITY
+ }
+}
+
+all_enum_derivs! {
+ pub enum OrderType {
+ LIMIT,
+ MARKET,
+ STOP,
+ }
+}
+
+all_enum_derivs! {
+ pub enum OrderFlag {
+ NONE,
+ FILL_OR_KILL,
+ ALL_OR_NONE,
+ IMMEDIATE_OR_CANCEL,
+ }
+}
+
+impl Default for OrderFlag {
+ fn default() -> Self {
+ OrderFlag::NONE
+ }
+}
+
+all_enum_derivs! {
+ pub enum ExitRoutine {
+ NONE,
+ CLOSE_ALL,
+ }
+}
diff --git a/rust/aat-core/src/core/instrument/base.rs b/rust/aat-core/src/core/instrument/base.rs
new file mode 100644
index 00000000..65e59dd7
--- /dev/null
+++ b/rust/aat-core/src/core/instrument/base.rs
@@ -0,0 +1,238 @@
+use crate::common::{Id, Optional};
+use crate::core::{ExchangeType, InstrumentType, OptionType, Side};
+
+use chrono::prelude::*;
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize)]
+pub struct InstrumentBaseData {
+ id: Id,
+ exchange: ExchangeType,
+ instrument_type: InstrumentType,
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub struct InstrumentExtraData {
+ currency: Optional,
+ underlying: Optional,
+
+ // trading_day: TradingDay,
+ broker_exchange: Optional,
+ broker_id: Optional,
+
+ price_increment: Optional,
+ unit_value: Optional,
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub struct InstrumentLegData {
+ leg1: Optional,
+ leg2: Optional,
+ leg1_side: Optional,
+ leg2_side: Optional,
+}
+
+#[derive(Clone, Debug, Serialize, Deserialize)]
+pub struct InstrumentDerivativeData {
+ expiration: Optional>,
+ contract_month: Optional,
+ option_type: Optional,
+}
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize)]
+pub struct InstrumentData {
+ // TODO enum out with the supported real types
+ base: InstrumentBaseData,
+ extra: InstrumentExtraData,
+ legs: InstrumentLegData,
+ derivative: InstrumentDerivativeData,
+}
+
+pub trait Instrument {
+ fn get_id(&self) -> Id;
+ fn get_type(&self) -> InstrumentType;
+ fn get_instrument_type(&self) -> InstrumentType;
+ fn get_exchange(&self) -> ExchangeType;
+}
+
+pub trait InstrumentExtra {
+ fn get_currency(&self) -> Optional;
+ fn get_underlying(&self) -> Optional;
+ // trading_day: TradingDay,
+ fn get_broker_exchange(&self) -> Optional;
+ fn get_broker_id(&self) -> Optional;
+ fn get_price_increment(&self) -> Optional;
+ fn get_unit_value(&self) -> Optional;
+}
+
+pub trait InstrumentLeg {
+ fn get_leg1(&self) -> Optional;
+ fn get_leg2(&self) -> Optional;
+ fn get_leg1_side(&self) -> Optional;
+ fn get_leg2_side(&self) -> Optional;
+}
+
+pub trait InstrumentDerivative {
+ fn get_expiration(&self) -> Optional>;
+ fn get_contract_month(&self) -> Optional;
+ fn get_option_type(&self) -> Optional;
+}
+
+pub trait HasInstrumentBaseData {
+ fn get_base(&self) -> &InstrumentBaseData;
+}
+
+pub trait HasInstrumentExtraData {
+ fn get_extra(&self) -> &InstrumentExtraData;
+}
+
+pub trait HasInstrumentLegData {
+ fn get_legs(&self) -> &InstrumentLegData;
+}
+
+pub trait HasInstrumentDerivativeData {
+ fn get_derivative(&self) -> &InstrumentDerivativeData;
+}
+
+impl Instrument for T {
+ fn get_id(&self) -> Id {
+ self.get_base().id
+ }
+
+ fn get_type(&self) -> InstrumentType {
+ self.get_base().instrument_type
+ }
+
+ fn get_instrument_type(&self) -> InstrumentType {
+ self.get_type()
+ }
+
+ fn get_exchange(&self) -> ExchangeType {
+ self.get_base().exchange
+ }
+}
+
+impl InstrumentExtra for T {
+ fn get_currency(&self) -> Optional {
+ self.get_extra().currency
+ }
+
+ fn get_underlying(&self) -> Optional {
+ self.get_extra().underlying
+ }
+
+ fn get_broker_exchange(&self) -> Optional {
+ self.get_extra().broker_exchange
+ }
+
+ fn get_broker_id(&self) -> Optional {
+ self.get_extra().broker_id.clone()
+ // let extra = self.get_extra();
+ // match &extra.broker_id {
+ // Some(s) => Some(*s.clne),
+ // _ => None,
+
+ // }
+ }
+
+ fn get_price_increment(&self) -> Optional {
+ self.get_extra().price_increment
+ }
+
+ fn get_unit_value(&self) -> Optional {
+ self.get_extra().unit_value
+ }
+}
+
+impl InstrumentLeg for T {
+ fn get_leg1(&self) -> Optional {
+ self.get_legs().leg1
+ }
+
+ fn get_leg2(&self) -> Optional {
+ self.get_legs().leg2
+ }
+
+ fn get_leg1_side(&self) -> Optional {
+ self.get_legs().leg1_side
+ }
+
+ fn get_leg2_side(&self) -> Optional {
+ self.get_legs().leg2_side
+ }
+}
+
+impl InstrumentDerivative for T {
+ fn get_expiration(&self) -> Optional> {
+ self.get_derivative().expiration
+ }
+
+ fn get_contract_month(&self) -> Optional {
+ self.get_derivative().contract_month
+ }
+
+ fn get_option_type(&self) -> Optional {
+ self.get_derivative().option_type
+ }
+}
+
+impl PartialEq for InstrumentBaseData {
+ fn eq(&self, other: &Self) -> bool {
+ self.id == other.id
+ }
+}
+
+impl Eq for InstrumentBaseData {}
+
+impl Default for InstrumentExtraData {
+ fn default() -> Self {
+ Self {
+ currency: None,
+ underlying: None,
+ broker_exchange: None,
+ broker_id: None,
+ price_increment: None,
+ unit_value: None,
+ }
+ }
+}
+
+impl Default for InstrumentLegData {
+ fn default() -> Self {
+ Self {
+ leg1: None,
+ leg2: None,
+ leg1_side: None,
+ leg2_side: None,
+ }
+ }
+}
+
+impl Default for InstrumentDerivativeData {
+ fn default() -> Self {
+ Self {
+ contract_month: None,
+ expiration: None,
+ option_type: None,
+ }
+ }
+}
+
+/**********************************/
+#[cfg(test)]
+use std::default::default;
+
+#[cfg(test)]
+mod base_instrument_data_tests {
+ use super::*;
+
+ #[test]
+ fn test_eq() {
+ let d1 = InstrumentBaseData { id: 1, ..default() };
+ let d2 = InstrumentBaseData { id: 1, ..default() };
+ let d3 = InstrumentBaseData { id: 2, ..default() };
+ assert_eq!(d1, d2);
+ assert_eq!((d1 == d3), false);
+ assert_eq!((d2 == d3), false);
+ }
+}
diff --git a/rust/aat-core/src/core/instrument/bond.rs b/rust/aat-core/src/core/instrument/bond.rs
new file mode 100644
index 00000000..4564cb7f
--- /dev/null
+++ b/rust/aat-core/src/core/instrument/bond.rs
@@ -0,0 +1,38 @@
+use super::{
+ HasInstrumentBaseData, HasInstrumentDerivativeData, HasInstrumentExtraData,
+ HasInstrumentLegData, InstrumentBaseData, InstrumentDerivativeData, InstrumentExtraData,
+ InstrumentLegData,
+};
+use serde::{Deserialize, Serialize};
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize)]
+struct Bond {
+ base: InstrumentBaseData,
+ extra: InstrumentExtraData,
+ legs: InstrumentLegData,
+ derivative: InstrumentDerivativeData,
+}
+
+impl HasInstrumentBaseData for Bond {
+ fn get_base(&self) -> &InstrumentBaseData {
+ &self.base
+ }
+}
+
+impl HasInstrumentExtraData for Bond {
+ fn get_extra(&self) -> &InstrumentExtraData {
+ &self.extra
+ }
+}
+
+impl HasInstrumentLegData for Bond {
+ fn get_legs(&self) -> &InstrumentLegData {
+ &self.legs
+ }
+}
+
+impl HasInstrumentDerivativeData for Bond {
+ fn get_derivative(&self) -> &InstrumentDerivativeData {
+ &self.derivative
+ }
+}
diff --git a/rust/aat-core/src/core/instrument/commodity.rs b/rust/aat-core/src/core/instrument/commodity.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/currency.rs b/rust/aat-core/src/core/instrument/currency.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/equity.rs b/rust/aat-core/src/core/instrument/equity.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/future.rs b/rust/aat-core/src/core/instrument/future.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/futuresoption.rs b/rust/aat-core/src/core/instrument/futuresoption.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/index.rs b/rust/aat-core/src/core/instrument/index.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/mod.rs b/rust/aat-core/src/core/instrument/mod.rs
new file mode 100644
index 00000000..a645b13f
--- /dev/null
+++ b/rust/aat-core/src/core/instrument/mod.rs
@@ -0,0 +1,5 @@
+mod base;
+mod bond;
+
+pub use base::*;
+pub use bond::*;
diff --git a/rust/aat-core/src/core/instrument/mutualfund.rs b/rust/aat-core/src/core/instrument/mutualfund.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/option.rs b/rust/aat-core/src/core/instrument/option.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/pair.rs b/rust/aat-core/src/core/instrument/pair.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/perpetualfuture.rs b/rust/aat-core/src/core/instrument/perpetualfuture.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/instrument/spread.rs b/rust/aat-core/src/core/instrument/spread.rs
new file mode 100644
index 00000000..e69de29b
diff --git a/rust/aat-core/src/core/mod.rs b/rust/aat-core/src/core/mod.rs
new file mode 100644
index 00000000..2bb81100
--- /dev/null
+++ b/rust/aat-core/src/core/mod.rs
@@ -0,0 +1,9 @@
+mod data;
+mod enums;
+mod instrument;
+mod registry;
+
+pub use data::*;
+pub use enums::*;
+pub use instrument::*;
+pub use registry::*;
diff --git a/rust/aat-core/src/core/registry/account.rs b/rust/aat-core/src/core/registry/account.rs
new file mode 100644
index 00000000..aa1d7394
--- /dev/null
+++ b/rust/aat-core/src/core/registry/account.rs
@@ -0,0 +1,53 @@
+use super::{Registry, Tracker};
+use crate::common::{Float, Id};
+use crate::core::Account;
+
+use std::sync::{Arc, Mutex};
+
+#[derive(Clone, Debug)]
+pub struct AccountRegistry {
+ tracker: Arc>>,
+}
+
+impl AccountRegistry {
+ pub fn new() -> Self {
+ AccountRegistry {
+ tracker: Arc::new(Mutex::new(Tracker::new())),
+ }
+ }
+
+ pub fn create(&self, balance: Float, instrument_id: Id) -> Account {
+ let id = (*self.tracker.lock().unwrap()).next();
+ let account = Account::new(id, instrument_id, Some(balance));
+ *self.tracker.lock().unwrap().create(account)
+ }
+
+ pub fn set_balance(&self, account_id: Id, balance: Float) {
+ let account = self.get(account_id);
+
+ // Clone the old account into a new account
+ let mut replacement_account = account;
+
+ // update the volume
+ replacement_account.set_balance(balance);
+
+ // replace it in the Registry
+ self.replace(account_id, replacement_account);
+ }
+}
+
+impl Registry for AccountRegistry {
+ type Item = Account;
+
+ fn get(&self, id: Id) -> Self::Item {
+ *self.tracker.lock().unwrap().get(id)
+ }
+
+ fn remove(&self, id: Id) -> Self::Item {
+ self.tracker.lock().unwrap().remove(id)
+ }
+
+ fn replace(&self, id: Id, item: Self::Item) {
+ self.tracker.lock().unwrap().replace(id, item)
+ }
+}
diff --git a/rust/aat-core/src/core/registry/base.rs b/rust/aat-core/src/core/registry/base.rs
new file mode 100644
index 00000000..e8a5446d
--- /dev/null
+++ b/rust/aat-core/src/core/registry/base.rs
@@ -0,0 +1,49 @@
+use crate::common::Id;
+use std::collections::HashMap;
+
+#[derive(Clone, Debug)]
+pub struct Tracker {
+ next_id: Id,
+ map: HashMap,
+}
+
+impl Tracker {
+ pub fn new() -> Self {
+ Tracker {
+ // NOTE: id `0` is used as invalid
+ next_id: 1,
+ map: HashMap::new(),
+ }
+ }
+
+ pub fn next(&self) -> Id {
+ self.next_id
+ }
+
+ pub fn create(&mut self, item: T) -> &mut T {
+ let id = self.next_id;
+ self.map.insert(id, item);
+ self.next_id += 1;
+ return self.map.get_mut(&id).unwrap();
+ }
+
+ pub fn get(&mut self, id: Id) -> &T {
+ return self.map.get(&id).unwrap();
+ }
+
+ pub fn remove(&mut self, id: Id) -> T {
+ return self.map.remove(&id).unwrap();
+ }
+
+ pub fn replace(&mut self, id: Id, item: T) {
+ self.map.insert(id, item);
+ }
+}
+
+pub trait Registry {
+ type Item;
+ fn get(&self, id: Id) -> Self::Item;
+ fn remove(&self, id: Id) -> Self::Item;
+ fn replace(&self, id: Id, item: Self::Item);
+ // fn create(&mut self) -> &mut Self::Item;
+}
diff --git a/rust/aat-core/src/core/registry/instrument.rs b/rust/aat-core/src/core/registry/instrument.rs
new file mode 100644
index 00000000..114ba587
--- /dev/null
+++ b/rust/aat-core/src/core/registry/instrument.rs
@@ -0,0 +1,41 @@
+use super::{Registry, Tracker};
+use crate::core::{HasInstrumentBaseData, Instrument};
+use crate::Id;
+
+use std::sync::{Arc, Mutex};
+
+#[derive(Clone, Debug)]
+pub struct InstrumentRegistry {
+ tracker: Arc>>,
+}
+
+impl InstrumentRegistry {
+ pub fn new() -> Self {
+ InstrumentRegistry {
+ tracker: Arc::new(Mutex::new(Tracker::new())),
+ }
+ }
+
+ // TODO
+ // pub fn create(&self) -> T {
+ // let id = (*self.tracker.lock().unwrap()).next();
+ // let instrument = Instrument::new(id);
+ // *self.tracker.lock().unwrap().create(instrument)
+ // }
+}
+
+impl Registry for InstrumentRegistry {
+ type Item = T;
+
+ fn get(&self, id: Id) -> Self::Item {
+ *self.tracker.lock().unwrap().get(id)
+ }
+
+ fn remove(&self, id: Id) -> Self::Item {
+ self.tracker.lock().unwrap().remove(id)
+ }
+
+ fn replace(&self, id: Id, item: Self::Item) {
+ self.tracker.lock().unwrap().replace(id, item)
+ }
+}
diff --git a/rust/aat-core/src/core/registry/mod.rs b/rust/aat-core/src/core/registry/mod.rs
new file mode 100644
index 00000000..132e49bb
--- /dev/null
+++ b/rust/aat-core/src/core/registry/mod.rs
@@ -0,0 +1,9 @@
+mod account;
+mod base;
+mod instrument;
+mod order;
+
+pub use account::*;
+pub use base::*;
+pub use instrument::*;
+pub use order::*;
diff --git a/rust/aat-core/src/core/registry/order.rs b/rust/aat-core/src/core/registry/order.rs
new file mode 100644
index 00000000..dca2eac5
--- /dev/null
+++ b/rust/aat-core/src/core/registry/order.rs
@@ -0,0 +1,156 @@
+use super::{Registry, Tracker};
+use crate::common::{Float, Id, Optional};
+use crate::core::{ExchangeType, Order, OrderFlag, OrderType, Side};
+
+use chrono::prelude::*;
+use std::sync::{Arc, Mutex};
+
+#[derive(Clone, Debug)]
+pub struct OrderRegistry {
+ tracker: Arc>>,
+}
+
+impl OrderRegistry {
+ pub fn new() -> Self {
+ OrderRegistry {
+ tracker: Arc::new(Mutex::new(Tracker::new())),
+ }
+ }
+
+ pub fn create(
+ &self,
+ timestamp: Optional>,
+ instrument_id: Optional,
+ exchange: Optional,
+ volume: Float,
+ price: Optional,
+ notional: Optional,
+ side: Side,
+ order_type: OrderType,
+ order_flag: Optional,
+ participant_id: Optional,
+ exchange_id: Optional,
+ received_timestamp: Optional>,
+ update_timestamp: Optional>,
+ dispatch_timestamp: Optional>,
+ conditional_target_id: Optional,
+ ) -> Order {
+ let id = (*self.tracker.lock().unwrap()).next();
+ let order = Order::new(
+ id,
+ timestamp,
+ instrument_id,
+ exchange,
+ volume,
+ price,
+ notional,
+ side,
+ order_type,
+ order_flag,
+ participant_id,
+ exchange_id,
+ received_timestamp,
+ update_timestamp,
+ dispatch_timestamp,
+ conditional_target_id,
+ );
+ *self.tracker.lock().unwrap().create(order)
+ }
+
+ pub fn new_limit(
+ &self,
+ instrument_id: Id,
+ exchange: ExchangeType,
+ volume: Float,
+ price: Float,
+ side: Side,
+ order_flag: Optional,
+ ) -> Order {
+ let id = (*self.tracker.lock().unwrap()).next();
+ let order = Order::new(
+ id,
+ Some(Utc::now()),
+ Some(instrument_id),
+ Some(exchange),
+ volume,
+ Some(price),
+ None,
+ side,
+ OrderType::LIMIT,
+ order_flag,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+ *self.tracker.lock().unwrap().create(order)
+ }
+
+ pub fn new_market(
+ &self,
+ instrument_id: Id,
+ exchange: ExchangeType,
+ volume: Float,
+ notional: Float,
+ side: Side,
+ ) -> Order {
+ let id = (*self.tracker.lock().unwrap()).next();
+ let order = Order::new(
+ id,
+ Some(Utc::now()),
+ Some(instrument_id),
+ Some(exchange),
+ volume,
+ None,
+ Some(notional),
+ side,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+ *self.tracker.lock().unwrap().create(order)
+ }
+
+ pub fn set_filled(&self, order_id: Id, to_add_to_fill: Float) {
+ let order = self.get(order_id);
+ let filled = order.get_filled();
+ let volume = order.get_volume();
+
+ // Clone the old order into a new order
+ let mut replacement_order = order;
+
+ // update the volume
+ replacement_order.set_filled(filled + to_add_to_fill);
+
+ // assertion
+ if replacement_order.get_filled() > volume {
+ panic!("Filled > volume, corruption occured!");
+ }
+
+ // replace it in the Registry
+ self.replace(order_id, replacement_order);
+ }
+}
+
+impl Registry for OrderRegistry {
+ type Item = Order;
+
+ fn get(&self, id: Id) -> Self::Item {
+ *self.tracker.lock().unwrap().get(id)
+ }
+
+ fn remove(&self, id: Id) -> Self::Item {
+ self.tracker.lock().unwrap().remove(id)
+ }
+
+ fn replace(&self, id: Id, item: Self::Item) {
+ self.tracker.lock().unwrap().replace(id, item)
+ }
+}
diff --git a/rust/aat-core/src/lib.rs b/rust/aat-core/src/lib.rs
new file mode 100644
index 00000000..614452ff
--- /dev/null
+++ b/rust/aat-core/src/lib.rs
@@ -0,0 +1,13 @@
+#![feature(default_free_fn)]
+#![feature(map_first_last)]
+
+pub mod common;
+pub mod core;
+pub use ::core::*;
+pub use common::*;
+
+// use common::*;
+// use core::*;
+pub fn sum_as_string(a: usize, b: usize) -> usize {
+ a + b
+}
diff --git a/rust/aat-orderbook/Cargo.lock b/rust/aat-orderbook/Cargo.lock
new file mode 100644
index 00000000..7c096ed6
--- /dev/null
+++ b/rust/aat-orderbook/Cargo.lock
@@ -0,0 +1,429 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aat-core"
+version = "0.1.0"
+dependencies = [
+ "chrono",
+ "num",
+ "ordered-float",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "aat-orderbook"
+version = "0.1.0"
+dependencies = [
+ "aat-core",
+ "chrono",
+ "num",
+ "ordered-float",
+ "rand",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "serde",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "getrandom"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "once_cell",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+
+[[package]]
+name = "js-sys"
+version = "0.3.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.132"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
+
+[[package]]
+name = "ordered-float"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96bcbab4bfea7a59c2c0fe47211a1ac4e3e96bea6eb446d704f310bc5c732ae2"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "serde"
+version = "1.0.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.99"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi 0.10.0+wasi-snapshot-preview1",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/rust/aat-orderbook/Cargo.toml b/rust/aat-orderbook/Cargo.toml
new file mode 100644
index 00000000..70608419
--- /dev/null
+++ b/rust/aat-orderbook/Cargo.toml
@@ -0,0 +1,27 @@
+[package]
+name = "aat-orderbook"
+version.workspace = true
+license = "Apache-2.0"
+edition = "2021"
+
+# TODO publish
+publish = false
+
+[lib]
+name = "aat_orderbook"
+path = "src/lib.rs"
+crate-type = ["rlib"]
+
+[dependencies]
+aat-core = { path = "../aat-core", version = "*" }
+chrono.workspace = true
+num.workspace = true
+serde.workspace = true
+serde_json.workspace = true
+
+[dev-dependencies]
+rand = "0.8"
+
+[profile.release]
+panic = 'abort'
+lto = true
diff --git a/rust/aat-orderbook/LICENSE b/rust/aat-orderbook/LICENSE
new file mode 100644
index 00000000..261eeb9e
--- /dev/null
+++ b/rust/aat-orderbook/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/rust/aat-orderbook/Makefile b/rust/aat-orderbook/Makefile
new file mode 120000
index 00000000..2b3ecd73
--- /dev/null
+++ b/rust/aat-orderbook/Makefile
@@ -0,0 +1 @@
+../aat/Makefile
\ No newline at end of file
diff --git a/rust/aat-orderbook/README.md b/rust/aat-orderbook/README.md
new file mode 100644
index 00000000..f1cf6420
--- /dev/null
+++ b/rust/aat-orderbook/README.md
@@ -0,0 +1,13 @@
+
+
+[](https://github.com/AsyncAlgoTrading/aat/actions?query=workflow%3A%22Build+Status%22)
+[](https://codecov.io/gh/AsyncAlgoTrading/aat)
+[](https://pypi.python.org/pypi/aat)
+[](https://pypi.python.org/pypi/aat)
+[](http://aat.readthedocs.io/en/latest/)
+
+`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in rust. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
+
+Like [Zipline](https://github.com/quantopian/zipline) and [Lean](https://github.com/QuantConnect/Lean), `aat` exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.
+
+`aat` is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.
diff --git a/rust/aat-orderbook/src/lib.rs b/rust/aat-orderbook/src/lib.rs
new file mode 100644
index 00000000..f5450af9
--- /dev/null
+++ b/rust/aat-orderbook/src/lib.rs
@@ -0,0 +1,8 @@
+// #![feature(default_free_fn)]
+// #![feature(map_first_last)]
+
+mod order_book;
+pub use order_book::*;
+
+#[cfg(test)]
+mod tests;
diff --git a/rust/aat-orderbook/src/order_book.rs b/rust/aat-orderbook/src/order_book.rs
new file mode 100644
index 00000000..0d71d2c7
--- /dev/null
+++ b/rust/aat-orderbook/src/order_book.rs
@@ -0,0 +1,527 @@
+use aat_core::common::{Float, Id, Optional};
+use aat_core::core::{
+ BaseDataGetters, Event, EventData, EventType, ExchangeType, OrderFlag, OrderRegistry,
+ OrderType, Registry, Side, Trade,
+};
+
+use chrono::prelude::*;
+use serde::{Deserialize, Serialize};
+use std::collections::{HashMap, HashSet, VecDeque};
+use std::fmt::{Display, Formatter, Result};
+
+pub struct LimitOrderBook<'a> {
+ // static data
+ instrument_id: Id,
+ exchange: ExchangeType,
+ order_flags: HashSet,
+
+ order_registry: &'a OrderRegistry,
+
+ // Top to bottom
+ // e.g. [5, ..., 1]
+ buys: VecDeque,
+
+ // Bottom to top
+ // e.g. [6, ..., 10]
+ sells: VecDeque,
+
+ levels: HashMap>,
+}
+
+pub struct TopOfBook {
+ pub bid: PriceLevelView,
+ pub ask: PriceLevelView,
+}
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub struct PriceLevelView {
+ pub price: Float,
+ pub volume: Float,
+ pub count: usize,
+}
+
+impl Display for PriceLevelView {
+ fn fmt(&self, f: &mut Formatter<'_>) -> Result {
+ write!(f, "({}, {}, {})", self.price, self.volume, self.count)
+ }
+}
+
+impl PriceLevelView {
+ pub fn new(price: Float, volume: Float, count: usize) -> Self {
+ PriceLevelView {
+ price,
+ volume,
+ count,
+ }
+ }
+}
+
+pub trait OrderBook<'a> {
+ type Item;
+ fn new(
+ instrument_id: Id,
+ exchange: ExchangeType,
+ order_flags: Optional>,
+ order_registry: &'a OrderRegistry,
+ ) -> Self::Item;
+
+ fn get_instrument(&self) -> Id;
+ fn get_instrument_id(&self) -> Id;
+ fn get_exchange(&self) -> ExchangeType;
+ fn get_order_flags(&self) -> HashSet;
+
+ fn get_level(&self, level: usize) -> (PriceLevelView, PriceLevelView);
+
+ fn add(&mut self, order_id: Id) -> VecDeque;
+ // fn add_order(&mut self, order: &mut Order) -> VecDeque;
+
+ fn modify(&mut self, order_id: Id, volume: Float) -> VecDeque;
+ // fn modify_order(&mut self, order: &mut Order) -> VecDeque;
+
+ fn replace(&mut self, existing_order_id: Id, replacement_order_id: Id) -> VecDeque;
+ // fn replace_order(&mut self, existing_order: &mut Order, replacement_order_id: &mut Order) -> VecDeque;
+
+ fn cancel(&mut self, order_id: Id) -> VecDeque;
+ // fn cancel_order(&mut self, order: &mut Order) -> VecDeque;
+}
+
+impl<'a> OrderBook<'a> for LimitOrderBook<'a> {
+ type Item = LimitOrderBook<'a>;
+
+ fn new(
+ instrument_id: Id,
+ exchange: ExchangeType,
+ order_flags: Optional>,
+ order_registry: &'a OrderRegistry,
+ ) -> LimitOrderBook<'a> {
+ LimitOrderBook {
+ instrument_id,
+ exchange,
+ order_flags: order_flags.unwrap_or_default(),
+ order_registry,
+ buys: VecDeque::new(),
+ sells: VecDeque::new(),
+ levels: HashMap::new(),
+ }
+ }
+
+ fn get_instrument(&self) -> Id {
+ self.instrument_id
+ }
+
+ fn get_instrument_id(&self) -> Id {
+ self.instrument_id
+ }
+
+ fn get_exchange(&self) -> ExchangeType {
+ self.exchange
+ }
+
+ fn get_order_flags(&self) -> HashSet {
+ self.order_flags.clone()
+ }
+
+ fn add(&mut self, order_id: Id) -> VecDeque {
+ let mut events = VecDeque::new();
+ events.extend(self.add_internal(order_id).iter().cloned());
+ events
+ }
+
+ fn modify(&mut self, order_id: Id, volume: Float) -> VecDeque {
+ // Note: you cannot modify price, only volume
+ let mut events = VecDeque::new();
+ let existing_order = self.order_registry.get(order_id);
+ let price = existing_order.get_price();
+
+ // TODO do here?
+ // if existing_order.get_price() != replacement_order.get_price() {
+ // // nothing to do, not allowed
+ // return events;
+ // }
+
+ // Clone the old order into a new order
+ let mut replacement_order = existing_order;
+
+ // update the volume
+ replacement_order.set_volume(volume);
+
+ // replace it in the Registry
+ self.order_registry.replace(order_id, replacement_order);
+
+ // update the volume of the price level
+ let price_level = self.levels.get_mut(&price).unwrap();
+ price_level.push_back(order_id); // TODO opt: push a tuple with volume?
+
+ // Create the change event
+ events.push_back(Event {
+ event_type: EventType::CHANGE,
+ target: EventData::Order(replacement_order),
+ });
+
+ // Return the events
+ events
+ }
+
+ fn replace(&mut self, existing_order_id: Id, replacement_order_id: Id) -> VecDeque {
+ let mut events = VecDeque::new();
+
+ // Cancel and replace
+ events.extend(self.cancel(existing_order_id).iter().cloned());
+ events.extend(self.add(replacement_order_id).iter().cloned());
+
+ // Return the events
+ events
+ }
+
+ fn cancel(&mut self, order_id: Id) -> VecDeque {
+ let mut events = VecDeque::new();
+ let order = self.order_registry.get(order_id);
+ let price = order.get_price();
+
+ // Remove from price level
+ let price_level = self.levels.get_mut(&price).unwrap();
+ price_level.retain(|&id| id != order_id);
+
+ if price_level.is_empty() {
+ // remove level from vec
+ match order.get_side() {
+ Side::BUY => self.buys.retain(|&f| f != price),
+ Side::SELL => self.sells.retain(|&f| f != price),
+ }
+ }
+
+ // Construct event
+ events.push_back(Event {
+ event_type: EventType::CANCEL,
+ target: EventData::Order(order),
+ });
+
+ // And return teh events
+ events
+ }
+
+ fn get_level(&self, level: usize) -> (PriceLevelView, PriceLevelView) {
+ let buy_price = self.buys.get(level);
+ let sell_price = self.sells.get(level);
+
+ (
+ match buy_price {
+ None => PriceLevelView::new(Float::ZERO, Float::ZERO, 0),
+ Some(&bp) => {
+ PriceLevelView::new(bp, self.volume_at_level(bp), self.count_at_level(bp))
+ }
+ },
+ match sell_price {
+ None => PriceLevelView::new(Float::ZERO, Float::ZERO, 0),
+ Some(&sp) => {
+ PriceLevelView::new(sp, self.volume_at_level(sp), self.count_at_level(sp))
+ }
+ },
+ )
+ }
+}
+
+impl LimitOrderBook<'_> {
+ fn volume_at_level(&self, level: Float) -> Float {
+ self.levels
+ .get(&level)
+ .unwrap()
+ .iter()
+ .map(|&order_id| self.order_registry.get(order_id).get_volume_left())
+ .sum()
+ }
+
+ fn count_at_level(&self, level: Float) -> usize {
+ self.levels[&level].len()
+ }
+
+ fn add_internal(&mut self, taker_order_id: Id) -> VecDeque {
+ let mut events: VecDeque = VecDeque::new();
+
+ // For any cross, some orders will be:
+ // - filled completely
+ // - resting orders
+ // - taker order itself
+ // - partially filled
+ // - last resting order touched by taker order
+ // - taker order itself after exhausting available liquidity
+ // - cancelled
+ // - resting order (if fill-or-kill)
+ // - taker order itself (if fill-or-kill)
+ // - new
+ // - conditional orders
+ let mut filled: VecDeque<(Id, Float)> = VecDeque::new();
+ let mut partial: VecDeque<(Id, Float, Float)> = VecDeque::new();
+ // let mut new: VecDeque = VecDeque::new();
+
+ // TODO only used when flags and conditional orders are enabled
+ // let mut _cancelled: VecDeque = VecDeque::new();
+
+ let order = self.order_registry.get(taker_order_id);
+ let price: Float = order.get_price();
+ let side: Side = order.get_side();
+
+ let order_type: OrderType = order.get_order_type();
+ let order_flag: OrderFlag = order.get_order_flag();
+
+ let mut filled_so_far_in_txn = Float::from_int(0);
+ let volume_left_to_fill = order.get_volume_left();
+
+ // whether or not to apply the changes
+ // of the given order, or reverse them
+ let mut undo = false;
+
+ loop {
+ if filled_so_far_in_txn == volume_left_to_fill {
+ // done filling, taker was filled completely
+ break;
+ }
+
+ let top_of_buys = *self.buys.get(0).unwrap_or(&Float::ZERO);
+ let bottom_of_sells = *self.sells.get(0).unwrap_or(&Float::INFINITY);
+
+ let side_of_book_to_cross: &mut VecDeque = match side {
+ Side::BUY => &mut self.sells,
+ Side::SELL => &mut self.buys,
+ };
+
+ let crossing = match side {
+ Side::BUY => price >= bottom_of_sells && side_of_book_to_cross.len() > 0,
+ Side::SELL => price <= top_of_buys && side_of_book_to_cross.len() > 0,
+ };
+
+ if crossing {
+ // cross
+ let price_level_price = side_of_book_to_cross[0];
+ let orders_at_price_level = self.levels.get_mut(&price_level_price).unwrap();
+
+ // Grab the first order in line
+ let maker_order_id = orders_at_price_level.pop_front().unwrap();
+ let maker_order = self.order_registry.get(maker_order_id);
+ let maker_order_volume = maker_order.get_volume_left();
+
+ let available_liquidity = maker_order_volume;
+ let remaining_to_fill = volume_left_to_fill - filled_so_far_in_txn;
+
+ assert!(remaining_to_fill >= Float::from_int(0));
+
+ match maker_order.get_order_flag() {
+ OrderFlag::NONE => {
+ if available_liquidity > remaining_to_fill {
+ // add the modify to the partial vec
+ partial.push_back((
+ maker_order_id,
+ maker_order_volume - remaining_to_fill,
+ price_level_price,
+ ));
+
+ // add volume to running
+ filled_so_far_in_txn += remaining_to_fill;
+ } else {
+ // modify the maker order
+ filled.push_back((maker_order_id, available_liquidity));
+
+ // add volume to running
+ filled_so_far_in_txn += available_liquidity;
+ }
+ }
+ _ => {
+ // TODO cancel and move on if FOK
+ panic!("Not implemented yet");
+ }
+ }
+
+ // remove price level if empty now
+ if orders_at_price_level.is_empty() {
+ // clear level
+ side_of_book_to_cross.pop_front();
+ continue;
+ }
+ } else {
+ // stop looping
+ break;
+ }
+ }
+
+ // after any crossing, handle the after effects
+ if filled_so_far_in_txn < volume_left_to_fill {
+ // TODO if fill or kill, cancel whole txn
+ match order_type {
+ OrderType::LIMIT => {
+ match order_flag {
+ OrderFlag::NONE => {
+ // update order filled amount
+ self.order_registry
+ .set_filled(taker_order_id, filled_so_far_in_txn);
+
+ // emplace
+ match side {
+ Side::BUY => {
+ match self.buys.binary_search_by(|e| e.cmp(&price).reverse()) {
+ Ok(_pos) => {
+ self.levels
+ .get_mut(&price)
+ .unwrap()
+ .push_back(taker_order_id);
+ }
+ Err(pos) => {
+ self.buys.insert(pos, price);
+ self.levels.insert(price, VecDeque::new());
+ self.levels
+ .get_mut(&price)
+ .unwrap()
+ .push_back(taker_order_id);
+ }
+ }
+ }
+ Side::SELL => match self.sells.binary_search(&price) {
+ Ok(_pos) => {
+ self.levels
+ .get_mut(&price)
+ .unwrap()
+ .push_back(taker_order_id);
+ }
+ Err(pos) => {
+ self.sells.insert(pos, price);
+ self.levels.insert(price, VecDeque::new());
+ self.levels
+ .get_mut(&price)
+ .unwrap()
+ .push_back(taker_order_id);
+ }
+ },
+ }
+ }
+ _ => {
+ panic!("Not implemented");
+ }
+ }
+ }
+ OrderType::MARKET => match order_flag {
+ OrderFlag::IMMEDIATE_OR_CANCEL => {
+ // flag not supported
+ panic!("Not implemented;");
+ }
+ OrderFlag::ALL_OR_NONE | OrderFlag::FILL_OR_KILL => {
+ // undo the action
+ undo = true;
+ }
+ _ => {
+ // nothing else to do
+ }
+ },
+ _ => {
+ panic!("Not implemented");
+ }
+ }
+ }
+
+ // sanity check
+ if partial.len() > 1 {
+ println!("{partial:?}");
+ panic!("Partial should only be length 1");
+ }
+
+ if undo {
+ panic!("not implemented yet");
+ } else {
+ if filled_so_far_in_txn > Float::from_int(0) {
+ let mut maker_orders: VecDeque = VecDeque::new();
+ // Handle the fills
+ filled.iter().for_each(|&(order_id, to_add_to_fill)| {
+ maker_orders.push_back(order_id);
+ self.order_registry.set_filled(order_id, to_add_to_fill)
+ });
+ partial
+ .iter()
+ .for_each(|&(order_id, to_add_to_fill, price_level_price)| {
+ maker_orders.push_back(order_id);
+
+ self.order_registry.set_filled(order_id, to_add_to_fill);
+
+ // readd to level
+ let orders_at_price_level =
+ self.levels.get_mut(&price_level_price).unwrap();
+ orders_at_price_level.push_front(order_id);
+
+ let side_of_book_to_cross: &mut VecDeque = match side {
+ Side::BUY => &mut self.sells,
+ Side::SELL => &mut self.buys,
+ };
+
+ if orders_at_price_level.len() == 1 {
+ side_of_book_to_cross.push_front(price_level_price);
+ }
+ });
+
+ let trade = Trade::new(
+ 0, // TODO
+ Some(Utc::now()),
+ Some(order.get_instrument_id()),
+ Some(order.get_exchange()),
+ None,
+ None,
+ filled_so_far_in_txn,
+ Float::from_float(0.0), // TODO calc avg price
+ maker_orders,
+ taker_order_id,
+ );
+
+ // trade events
+ events.push_back(Event {
+ event_type: EventType::TRADE,
+ target: EventData::Trade(trade),
+ });
+ }
+
+ // TODO
+ // new.iter()
+ // .for_each(|&order_id| events.extend(self.add_internal(order_id)));
+ }
+
+ // return the events generated
+ events
+ }
+}
+
+impl Display for LimitOrderBook<'_> {
+ fn fmt(&self, f: &mut Formatter<'_>) -> Result {
+ let mut ret = "".to_string();
+ ret += "OrderBook {\n";
+
+ self.sells.iter().rev().for_each(|level| {
+ let price = level.to_float().to_string();
+ let volume = self.volume_at_level(*level).to_float();
+ let volume_str = volume.to_string();
+ let count = self.count_at_level(*level);
+
+ if volume > 0.0 {
+ ret += "\t\t";
+ ret += &price;
+ ret += "\t";
+ ret += &volume_str;
+ ret += "\t";
+ ret += &count.to_string();
+ ret += "\n";
+ }
+ });
+ ret += "====================================\n";
+ self.buys.iter().for_each(|level| {
+ let price = level.to_float().to_string();
+ let volume = self.volume_at_level(*level).to_float();
+ let volume_str = volume.to_string();
+ let count = self.count_at_level(*level);
+ if volume > 0.0 {
+ ret += "\t";
+ ret += &volume_str;
+ ret += "\t";
+ ret += &price;
+ ret += "\t\t";
+ ret += &count.to_string();
+ ret += "\n";
+ }
+ });
+ ret += "}";
+ write!(f, "{}", ret)
+ }
+}
diff --git a/rust/aat-orderbook/src/tests/basic.rs b/rust/aat-orderbook/src/tests/basic.rs
new file mode 100644
index 00000000..255f32be
--- /dev/null
+++ b/rust/aat-orderbook/src/tests/basic.rs
@@ -0,0 +1,188 @@
+use super::common::check_top_ob_book;
+use crate::{LimitOrderBook, OrderBook};
+
+use aat_core::common::{Float, Id};
+use aat_core::core::*;
+
+use rand::Rng;
+
+#[cfg(test)]
+mod order_book_simple_tests {
+ use super::*;
+
+ static INST: Id = 0;
+ static EXCH: ExchangeType = ExchangeType {};
+
+ #[test]
+ fn test_new() {
+ let om = OrderRegistry::new();
+ let ob = LimitOrderBook::new(INST, EXCH, None, &om);
+ check_top_ob_book(&ob, 0, 0.0, 0.0, 0, 0.0, 0.0, 0);
+ }
+
+ #[test]
+ fn test_basics() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ let o1 = om.create(
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ Some(Float::from_int(10)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ let o2 = om.create(
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ Some(Float::from_int(20)), // price
+ None, // Notional
+ Side::SELL,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ ob.add(o1.get_id());
+ ob.add(o2.get_id());
+
+ println!("{ob}");
+ check_top_ob_book(&ob, 0, 10.0, 10.0, 1, 20.0, 10.0, 1);
+ }
+
+ #[test]
+ fn test_add() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ let o1 = om.create(
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ Some(Float::from_int(10)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ let o2 = om.create(
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ Some(Float::from_int(20)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ let o3 = om.create(
+ None,
+ None,
+ None,
+ Float::from_int(10), // volume
+ Some(Float::from_int(20)), // price
+ None, // Notional
+ Side::BUY,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+
+ ob.add(o1.get_id());
+ println!("{ob}");
+
+ check_top_ob_book(&ob, 0, 10.0, 10.0, 1, 0.0, 0.0, 0);
+
+ ob.add(o2.get_id());
+ println!("{ob}");
+
+ check_top_ob_book(&ob, 0, 20.0, 10.0, 1, 0.0, 0.0, 0);
+
+ check_top_ob_book(&ob, 1, 10.0, 10.0, 1, 0.0, 0.0, 0);
+
+ ob.add(o3.get_id());
+ println!("{ob}");
+
+ check_top_ob_book(&ob, 0, 20.0, 20.0, 2, 0.0, 0.0, 0);
+ }
+
+ #[test]
+ fn test_print() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+ let mut rng = rand::thread_rng();
+
+ for x in 1..20 {
+ let side = if x > 10 { Side::SELL } else { Side::BUY };
+ let price = Float::from_float((x as f64 / 2.0).ceil());
+ let volume = Float::from_int(rng.gen_range(10..100));
+
+ om.create(
+ None,
+ None,
+ None,
+ volume,
+ Some(price),
+ None, // Notional
+ side,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+ ob.add(x);
+ }
+ println!("{ob}");
+
+ let (bid, ask) = ob.get_level(0);
+ assert_eq!(bid.price.to_float(), 5.0);
+ assert_eq!(bid.volume.to_float() < 200.0, true);
+ assert_eq!(bid.count, 2);
+ assert_eq!(ask.price.to_float(), 6.0);
+ assert_eq!(ask.volume.to_float() < 200.0, true);
+ assert_eq!(ask.count, 2);
+ }
+}
diff --git a/rust/aat-orderbook/src/tests/behavior.rs b/rust/aat-orderbook/src/tests/behavior.rs
new file mode 100644
index 00000000..c76e5475
--- /dev/null
+++ b/rust/aat-orderbook/src/tests/behavior.rs
@@ -0,0 +1,262 @@
+use super::common::check_top_ob_book;
+use crate::{LimitOrderBook, OrderBook};
+
+use aat_core::common::{Float, Id};
+use aat_core::core::*;
+
+#[cfg(test)]
+mod order_book_behavior_tests {
+ use super::*;
+
+ static SEP: &'static str = "***********************************************************";
+ static INST: Id = 0;
+ static EXCH: ExchangeType = ExchangeType {};
+
+ fn build_basic_order_book(om: &OrderRegistry, ob: &mut LimitOrderBook) {
+ // buy 10@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(10),
+ Side::BUY,
+ None,
+ );
+ ob.add(1);
+
+ // buy 10@9
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(9),
+ Side::BUY,
+ None,
+ );
+ ob.add(2);
+
+ // buy 10@8
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(8),
+ Side::BUY,
+ None,
+ );
+ ob.add(3);
+
+ // sell 10@11
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(11),
+ Side::SELL,
+ None,
+ );
+ ob.add(4);
+
+ // sell 10@12
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(12),
+ Side::SELL,
+ None,
+ );
+ ob.add(5);
+
+ // sell 10@13
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(10),
+ Float::from_int(13),
+ Side::SELL,
+ None,
+ );
+ ob.add(6);
+ }
+
+ #[test]
+ fn test_simple_cross_buy() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(5),
+ Float::from_int(10),
+ Side::SELL,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 10.0, 5.0, 1, 11.0, 10.0, 1);
+
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(5),
+ Float::from_int(10),
+ Side::SELL,
+ None,
+ );
+ ob.add(8);
+
+ println!("{SEP}\nPOST2\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 9.0, 10.0, 1, 11.0, 10.0, 1);
+ }
+
+ #[test]
+ fn test_simple_cross_sell() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(5),
+ Float::from_int(11),
+ Side::BUY,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 10.0, 10.0, 1, 11.0, 5.0, 1);
+
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(5),
+ Float::from_int(11),
+ Side::BUY,
+ None,
+ );
+ ob.add(8);
+
+ println!("{SEP}\nPOST2\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 10.0, 10.0, 1, 12.0, 10.0, 1);
+ }
+
+ #[test]
+ fn test_simple_clear_buy() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(15),
+ Float::from_int(10),
+ Side::SELL,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 9.0, 10.0, 1, 10.0, 5.0, 1);
+ }
+
+ #[test]
+ fn test_simple_clear_sell() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(15),
+ Float::from_int(12),
+ Side::BUY,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 10.0, 10.0, 1, 12.0, 5.0, 1);
+ }
+
+ #[test]
+ fn test_simple_exhaust_buy() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(50),
+ Float::from_int(5),
+ Side::SELL,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 0.0, 0.0, 0, 5.0, 20.0, 1);
+ }
+
+ #[test]
+ fn test_simple_exhaust_sell() {
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(INST, EXCH, None, &om);
+
+ build_basic_order_book(&om, &mut ob);
+ println!("{SEP}\nPRE\n{ob}\n{SEP}");
+
+ // CROSS
+ // sell 5@10
+ om.new_limit(
+ INST,
+ EXCH,
+ Float::from_int(50),
+ Float::from_int(15),
+ Side::BUY,
+ None,
+ );
+ ob.add(7);
+
+ println!("{SEP}\nPOST\n{ob}\n{SEP}");
+
+ check_top_ob_book(&ob, 0, 15.0, 20.0, 1, 0.0, 0.0, 0);
+ }
+}
diff --git a/rust/aat-orderbook/src/tests/common.rs b/rust/aat-orderbook/src/tests/common.rs
new file mode 100644
index 00000000..cf620397
--- /dev/null
+++ b/rust/aat-orderbook/src/tests/common.rs
@@ -0,0 +1,21 @@
+use crate::{LimitOrderBook, OrderBook};
+
+pub fn check_top_ob_book(
+ ob: &LimitOrderBook,
+ level: usize,
+ bid_price: f64,
+ bid_volume: f64,
+ bid_count: usize,
+ ask_price: f64,
+ ask_volume: f64,
+ ask_count: usize,
+) {
+ let (bid, ask) = ob.get_level(level);
+ println!("Bid: {}\nAsk: {}", bid, ask);
+ assert_eq!(bid.price.to_float(), bid_price);
+ assert_eq!(bid.volume.to_float(), bid_volume);
+ assert_eq!(bid.count, bid_count);
+ assert_eq!(ask.price.to_float(), ask_price);
+ assert_eq!(ask.volume.to_float(), ask_volume);
+ assert_eq!(ask.count, ask_count);
+}
diff --git a/rust/aat-orderbook/src/tests/mod.rs b/rust/aat-orderbook/src/tests/mod.rs
new file mode 100644
index 00000000..d34145ac
--- /dev/null
+++ b/rust/aat-orderbook/src/tests/mod.rs
@@ -0,0 +1,11 @@
+#[cfg(test)]
+mod basic;
+
+#[cfg(test)]
+mod behavior;
+
+#[cfg(test)]
+mod common;
+
+#[cfg(test)]
+mod stress;
diff --git a/rust/aat-orderbook/src/tests/stress.rs b/rust/aat-orderbook/src/tests/stress.rs
new file mode 100644
index 00000000..fcb94efe
--- /dev/null
+++ b/rust/aat-orderbook/src/tests/stress.rs
@@ -0,0 +1,55 @@
+use crate::{LimitOrderBook, OrderBook};
+
+use aat_core::common::Float;
+use aat_core::core::*;
+
+use rand::Rng;
+use std::time::{Duration, Instant};
+
+#[cfg(test)]
+mod order_book_simple_tests {
+ use super::*;
+
+ #[test]
+ fn test_stress() {
+ let count: u32 = 100_000;
+ let om = OrderRegistry::new();
+ let mut ob = LimitOrderBook::new(0, ExchangeType {}, None, &om);
+ let mut rng = rand::thread_rng();
+
+ let now = Instant::now();
+ for x in 1..count {
+ let side = if x % 2 == 0 { Side::SELL } else { Side::BUY };
+ let price = Float::from_int(rng.gen_range(10..100));
+ let volume = Float::from_int(rng.gen_range(10..100));
+
+ om.create(
+ None,
+ None,
+ None,
+ volume,
+ Some(price),
+ None, // Notional
+ side,
+ OrderType::LIMIT,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ None,
+ );
+ ob.add(x.into());
+ }
+
+ let elapsed = now.elapsed();
+ println!("Elapsed: {:.2?}", elapsed);
+ let time = elapsed.as_secs() as f64 + elapsed.subsec_nanos() as f64 / 1_000_000_000.0;
+ println!("OPS: {:.2?}", count as f64 / time);
+ println!("SPO: {:.2?}", elapsed / count);
+ assert!(elapsed < Duration::new(1, 300_000_000));
+
+ // println!("{ob}");
+ }
+}
diff --git a/rust/aat/Cargo.toml b/rust/aat/Cargo.toml
new file mode 100644
index 00000000..911ddded
--- /dev/null
+++ b/rust/aat/Cargo.toml
@@ -0,0 +1,18 @@
+[package]
+name = "aat"
+version = "0.1.0"
+authors = ["timkpaine "]
+edition = "2021"
+license = "Apache-2.0"
+readme = "../README.md"
+repository = "https://github.com/asyncalgotrading/aat"
+description = "Async algorithmic trading library"
+
+[lib]
+name = "aat"
+path = "src/lib.rs"
+crate-type = ["rlib"]
+
+[dependencies]
+aat-core = { version = "0.1.0", path = "../aat-core", optional = false }
+aat-orderbook = { version = "0.1.0", path = "../aat-orderbook", optional = false }
diff --git a/rust/aat/LICENSE b/rust/aat/LICENSE
new file mode 100644
index 00000000..261eeb9e
--- /dev/null
+++ b/rust/aat/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/rust/aat/Makefile b/rust/aat/Makefile
new file mode 100644
index 00000000..8888c784
--- /dev/null
+++ b/rust/aat/Makefile
@@ -0,0 +1,55 @@
+.DEFAULT_GOAL := help
+.PHONY: dev build lint fix check tests tests-ci-run tests-ci-gha tests-ci-jenkins test format checks help
+
+dev: ## Install required dev dependencies
+ rustup component add rustfmt
+ rustup component add clippy
+ cargo install cargo2junit
+ cargo install grcov
+ rustup component add llvm-tools-preview
+
+build: ## Build release
+ cargo build --release --all-features
+
+build-dev: ## Build dev
+ cargo build --all-features
+
+lint: ## Run Clippy for linting, rustfmt for autoformat checks
+ cargo clippy --all-features
+ cargo fmt --all -- --check
+
+fix: ## Fix code with rustfmt
+ cargo fmt --all
+
+check: ## Check the code with cargo check
+ cargo check --all-features
+
+tests: ## Run the tests
+ cargo test -- --show-output
+ # cargo test -- -Z unstable-options --format json | cargo2junit > results.xml
+
+tests-ci-run: $(eval SHELL:=/bin/bash)
+ { \
+ export CARGO_INCREMENTAL=0;\
+ export RUSTDOCFLAGS="-Cpanic=abort";\
+ export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort";\
+ cargo test -- -Z unstable-options --format json | cargo2junit > results.xml;\
+ }
+
+
+tests-ci-gha: tests-ci-run
+ grcov . --llvm -s . -t lcov --branch --ignore-not-existing -o ./coverage.info;\
+
+tests-ci-jenkins: tests-ci-run
+ grcov . --llvm -s . -t cobertura --branch --ignore-not-existing -o ./coverage.xml;\
+
+# aliases
+test: tests
+format: fix
+
+# Thanks to Francoise at marmelab.com for this
+help:
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
+
+print-%:
+ @echo '$*=$($*)'
diff --git a/rust/aat/README.md b/rust/aat/README.md
new file mode 100644
index 00000000..f1cf6420
--- /dev/null
+++ b/rust/aat/README.md
@@ -0,0 +1,13 @@
+
+
+[](https://github.com/AsyncAlgoTrading/aat/actions?query=workflow%3A%22Build+Status%22)
+[](https://codecov.io/gh/AsyncAlgoTrading/aat)
+[](https://pypi.python.org/pypi/aat)
+[](https://pypi.python.org/pypi/aat)
+[](http://aat.readthedocs.io/en/latest/)
+
+`aat` is an asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in rust. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges, fully integrated backtesting support, slippage and transaction cost modeling, and robust reporting and risk mitigation through manual and programatic algorithm controls.
+
+Like [Zipline](https://github.com/quantopian/zipline) and [Lean](https://github.com/QuantConnect/Lean), `aat` exposes a single strategy class which is utilized for both live trading and backtesting. The strategy class is simple enough to write and test algorithms quickly, but extensible enough to allow for complex slippage and transaction cost modeling, as well as mid- and post- trade analysis.
+
+`aat` is in active use for live algorithmic trading on equities, commodity futures contracts, and commodity futures spreads by undisclosed funds.
diff --git a/rust/aat/src/lib.rs b/rust/aat/src/lib.rs
new file mode 100644
index 00000000..d6c0df7a
--- /dev/null
+++ b/rust/aat/src/lib.rs
@@ -0,0 +1,2 @@
+pub use aat_core::*;
+pub use aat_orderbook::*;