Networking, Nexus

Update OrderStatus:

Retrieve all the orders from the exchange. It is useful if for something we lost some info in db and we need to regenerate it. From a base asset, we will get the orders or all its pairs, example base asset BTC, will get ETHBTC, ADABTC,…

Also is needed to indicate the securities to use as parameters


Update Positions:

Takes all the order_status in db and with them it tries to generate all the positions and transaction, from the beginning to the end This command is useful in combination with updateOrderStatus in case that we need to populate all the data.
Historical Data:

Retrieve ticks or bars from coinapi, useful in combination with “simulation” command in other to test a strategy. All the info is same in Influx DB

example use:  -duration 1h -startDate=2019-01-01 -limit=100

Backtesting, will take a file from resources/data/ with a historical ticks and run a simulation. It will read the cvs and calculate the bars and ticks. To see the result of the simulation you would need to open the UI and visit the tab Statistics. BTCUSDT ...

Csv format

time_close, price_close, price, exchange, symbol
1496270100, 2192.000000000000, 0.000000000000, BNC, btcusdt

if you need to add a new column to the cvs here there is a small script that can help you out:

import csv

The actual format of the cvs is:


this script add a new column with the exchange from where is coming the data.

with open('data/btcusdt.csv', 'r') as csvinput:
    with open('data/btcusdt_new.csv', 'w') as csvoutput:
        writer = csv.writer(csvoutput)
        for row in csv.reader(csvinput):
            writer.writerow(row + ["BNC"])

find more scripts in this repository:


Will update the db to the last version, note that all the migrations are under core/src/main/resources/liquibase/changelog to run liquibase would be necesary to add:
Swagger Documentation

If you use this profile and swagger documentation will be generated, note that you will see this log while the platform is starting.

11:52:54.815 [main] INFO  springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator - Generating unique operation named: findAllUsingGET_1
11:52:54.835 [main] INFO  springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator - Generating unique operation named: findAllUsingGET_2

After platform loading is complete would be possible access to


Will enable a JavaScript compression for the UI and also a ssl, note that in application.yml there are the following properties:

  profiles: production
  port: 443
    key-store: /etc/letsencrypt/live/
    keyStoreType: PKCS12
    keyAlias: tomcat

key-store, would be the path where the certificates were generated, as example we use Let’s encrypt to generate all the certificates, check this entry