[Passed] A grant to make NuBot work with Liquidity Pools

oops. sorry I was incorrect. tks for telling me.
@henry how do you think the parametric order book is helping Nu reduce the liquidity provision costs?

Right, but incomplete - it’s used by me on hitBTC as well!
I run a NuBot instance on hitBTC to provide liquidity with modPuddle.
And you are right, I run two NuBots on Poloniex: one sell side only, one buy side only that can be used as gateways.
The grants to have a formal approval are up for voting.

The biggest trouble I have with NuBot is the vast amount of logs that is collected.
If not archived or purged frequently, that may crash NuBot, but for sure will crash nud.
This of course only play a role, because I run NuBot on RaspberryPi with an SD card of limited size :wink:
A RaspberryPi2 is capable of running nud and two instances of NuBot without trouble. NuBot causes some CPU load when shifting walls, etc. and I think 3 instances of NuBot might be too much for it. But 2 instances are not bad!
The space consumed by logging plays only a minor role for the gateway NuBots, because they sit more or less idle not having funds to put in the walls and don’t need to log much - and I hope it stays that way!

NuBot is a very sophisticated piece of software. The parametric orderbook allows configuration parameters to have only a limited amount of funds on a very tight spread. If these funds are consumed, only “more expensive” orders remain until the price moves and the orders get cancelled and placed anew.
So only a part of the funds are directly exposed to risks associated with hedging.
This is the reason why discussions about the definition of T1 and T2 have started - with NuBot and due to the parametric order book there can be funds in orders, at a spread that is wider than the tight peg Nu wants to ensure.

1 Like

or symbolic linked to /dev/null

That would be an idea, but for several reasons you might want to have logs.
I stop NuBot from time to time to compress the logs.
I already suggested some improvements to @desrever regarding the logging :wink:

should be fixed in 0.4.1

2 Likes

Stats from liquidity pools are implemented and tested both in front and back-end :


The orderbook design preview is now available right in the webpage, with no need to refresh the page or install java. This is good news for raspberry pi users, and in general users that want to install NuBot as a remote service.


All this tinkering with the front end and the positive comments received encouraged me to take some time to improve the configuration and dashboard page, using bootstrap responsive layouts and components. This should be an attractive point for this release, since we aim to attract as many providers as possible.

##Dashboard

##Configuration page


There is still huge room for improvement (wizard setups, advanced mode etc), but for this release I stop here with UI. There are still some issues with ALP server side for the order validation, will keep you posted on this thread.

:soon:

9 Likes

This looks powerful.

Indeed!

Impressive!

Update : the ALP server is still not ready for live testing.

I have completed the implementation of southxchange wrapper. I have also been in contact with their dev team since they had some issues they are now working to solve.

They also feature the only NBT-denominated market alive today, so I finally had a live environment to test the “swapped mode”, which is trickier than it might seem. I have most issues figured and I plan to close the ‘swapped market’ issue this week.

Sample swapped book below, where sell orders represent buy liquidity and viceversa :

Funds-wise, I’ll soon need to wrap up and release…

4 Likes

Good work.

Any chance this can be used for the current ALP software? I’m still waiting for a fix on that after testing failed. Would be great to run the wrapper while the new ALP is developed and tested.

I am not sure I understand the question correctly. If by ALP software you mean the phyton client, then yes, the whole point of this grant is replacing it.

While client side things are looking good, I am not responsible for the ALP developement server-side (v2) . So you won’t be able to use it on southxchange untill server is ready.

Cybnate’s asking if we can use the wrapper on PyBot. I think the answer is ‘no’.

1 Like

Quick update : ALP server is now ready.

I started live testing last week and encountered some minor bugs that needs to be fixed in the software.

I plan to close all the outstanding issues and start testing with 4 exchanges (bter, ccedk, poloniex and bittrex) before releasing.

I am currently on holiday for the christmas break. I expect to be able to release the 0.4.2 around January 14th, along with a proposal for the next steps in development (0.4.3) .

Stay tuned

4 Likes

Long awaited update : finally we have a release candidate (RC1) ready for open testing.


Download 0.4.1-RC1SourceChangelogIssue Tracker


The bot currently connects to the ALP server, submit requests and reads stats. There are two one open instances of ALP v2 that can be used for testing purposes @ http://alp.mj2p.co.uk:80/ .and http://alp-server.herokuapp.com:80. The first is the stable version, the second is the testing version and will always have the latest test code on it. (more on this :soon: @woolly_sammoth )

##Open testing phase

During 10 days I will be accepting bug reports and fix critical issues. Please report directly in this post : only severe bugs will be taken into account, not small fixes or feature requests.

Configuration should be quite straightforward for users that already know how to use the bot (otherwise :warning: readup the updated tutorial : SETUP.md) .

Download the RC, and create your config starting from one pre-esisting example in config/ , for instance sample-options-pool.json :

{
  "exchangename":"poloniex",
  "apikey": "xxx",    //For testing purposes please use an account with little funds in it.  
  "apisecret": "xxx",
  "pair":"nbt_btc",
  "dualside": true,

  "bookSellwall": 1000.0, //Tier1 funds size in USD
  "bookSellOffset": 0.01,  //offset from 1$, in USD - wide for testing

  "bookBuywall": 1000.0,
  "bookBuyOffset": 0.01,

  "poolModeActive" : true, 
  "poolURI" : "http://alp.mj2p.co.uk:80",
  "poolPayoutAddress" : "<NBTaddress>" //Your payout address
}

and run with

java -jar NuBot.jar -server -skipCredentials

Also notifying the HR department with a tag :wink: @masterOfDisaster, @woolly_sammoth @erasmospunk

and now, question time :

FAQ : Why on earth did you take so long to complete it? It was almost-ready at the end of December!

Many factor : In short, 2016 came with surprises both personally and professionally that prevented me from being able to work on the bot continuously for long hours. The fragmented hours (sometimes minutes) didn’t allowed me to properly get into NuBot and nail down the somehow odd and tricky issues. Other excuses I can bring to it : I also needed to interact with components out of my control. Then a bit of frustration and burn out made the rest. My apologies to all members of the community for the delay. Almost unacceptable.

PS: I used all the hours allocated for the grant.

But here is the software, ready for testing. :checkered_flag:

Lets get this officially out there!

7 Likes

the largest offset supported by the pool isn’t 0.01?

edit: first impression:
very impressive :slightly_smiling:
i guess ‘user rewards’ are not working yet.

1 Like

I am trying to test southX since it is the only exchange without LP support but i am getting an SSL error.

The offset of NuBot leans on this motion:

As far as I remember, you can configure values out of that corridor, but will receive a warning from NuBot at startup.

If you don’t want to provide liquidity for Nu and want to run NuBot as your private trading bot, you can configure whatever you want.

1 Like

Thanks. My question was in relation with the Nupool. I mean if i put an offset > 0.01 i will not get the reward from the pool.

1 Like

In general: if ALP clients place orders outside the range for which compensation is offered, they won’t receive compensation; that’s right.
The allowed SAF might differ depending on operation (pool, trading pair, etc.)