This is the first (alpha) release of the bot I have been working on with @linouxis9, the goal was to make a bot that could provide liquidity in the markets that are going to be used by the Smartcoins Point Of Sale (POS) systems of bitshares-munich. I am hoping to get some bug reports/feedback from people that are interested and want to try it.
https://github.com/linouxis9/bitshares2-liquiditybotsFeatures:- Creates an account
- Lends bitassets
- Maintains collateral ratio (@xeroc ’s work)
- Places and watches orders replacing them when needed
This account is running the bot currently:
http://cryptofresh.com/u/liquidity-bot-mauritsoHow it looks on an almost empty market:
(The bot has almost no CAD in this graph)
Output:
Requirements:- General linux/unix knowledge (alpha stages)
- docker
- docker-compose
How to setup:cli-wallet startup options in:
./cli-wallet-start.shbot config in:
./docker-exchangebot/exchangebot/config.py- git clone https://github.com/linouxis9/bitshares2-liquiditybots.git
- Change the account name in the config (this account will be created on startup. You can also put in an existing wallet in ./wallet/ and set account to the account in the wallet.
- Put a wallet_password in there.
- Tweak the bot parameters to your liking, pay attention to borrow, if you don’t want the bot to lend bit assets set it to False (and remove the MaintainCollateralRatio bot).
- docker-compose up
- send funds to the bot account
- ctrl+c
- docker-compose start
- check the output with: docker-compose logs
What does the bot do?The default config will create an account, tell you to send bts/funds to it and after a restart it start operating. It lends bit assets with the bts (this can be turned of in the config) and started placing/watching/replacing orders, as well as keeping the collateral ratio of the debt positions the bot made between certain bounds.
Strategy:Currently the bot places a buy and sell order on each configured markets if it has enough funds to place an order. The orders are placed at a specified spread percentage. After placing the orders the bot continuously watches the orders and replaces them if they drift more than allowed_spread_percentage.
Example:spread_percentage = 4
allowed_spread_percentage = 2
The bot will place orders at -2% (bids) and +2% (asks) and will replace those orders if they get outside the allowed_spread_percentage of 2. That means that the orders will be replaced at -3%/-1% (bids) and 1%/3% (asks).
Profitable?The bot costs less than 3 bts a day to run.
Currently I have no real data about bot performance, because there isn’t much happening on the markets.
Thanks to: