Author Topic: btsbots reborn  (Read 10481 times)

0 Members and 1 Guest are viewing this topic.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
this is a market makeing bot, make bid/ask order at the current price with a spread.
nobody can make sure this is profitability.
if you need a marke maker to provide liquility, you can try this bot.

Offline monsterer

@alt how can you expect anyone to sign up for this when you don't provide even the slightest information about the profitability of this bot?

Losses from market making can be quadratic when profits are only linear, meaning losses can far, far outweigh profits.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Maximum drawdown percentage?

Ratio of winning trades to losing trades?

Average winning trade size vs average losing trade size?

General profitability / performance graphs / back / forward testing results?

What algorithm is this?
I have add a new command 'sim' for btsbots, can see how to got the trade price
Code: [Select]
btsbots --config config.json sim

============sim sell BTS for USD============
got BTS's price is 0.003 USD, with spread for sell: 0.0027
factor depend on weight is 1.0049
custom adition spread is 0.0050
custom price factor is 1.010
so the final factor for sell BTS is 1.0126, price is 0.0035

got USD's price is 1.000 USD, with spread for buy: 0.0000
factor depend on weight is 1.0163
custom adition spread is 0.0050
custom price factor is 1.070
so the final factor for buy USD is 0.9790, price is 1.0476

so the final spread sell BTS for USD is 0.0343, price is 0.00333074

============sim sell USD for BTS============
got USD's price is 1.000 USD, with spread for sell: 0.0000
factor depend on weight is 1.0163
custom adition spread is 0.0050
custom price factor is 1.070
so the final factor for sell USD is 1.0214, price is 1.0929

got BTS's price is 0.003 USD, with spread for buy: 0.0020
factor depend on weight is 1.0049
custom adition spread is 0.0050
custom price factor is 1.010
so the final factor for buy BTS is 0.9882, price is 0.0034

so the final spread sell USD for BTS is 0.0336, price is 320.95973122

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Good move +5%

Can you explain more about the "recharge" thing?
Quote
4. you need to recharge for the service,  now it's 1USD/per day for each market.
my plan is charge 1USD/per day for each market.
if you run the bot at two market, you need to pay double.

and when an order is filled, will charge 0.2% fee of the filled volume. (this is free for now)
The script will automatically transfer the fees to your account?
no, you need to recharge first, then server will take off the fees automaticly, and sent the bill info to client.

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
Good move +5%

Can you explain more about the "recharge" thing?
Quote
4. you need to recharge for the service,  now it's 1USD/per day for each market.
my plan is charge 1USD/per day for each market.
if you run the bot at two market, you need to pay double.

and when an order is filled, will charge 0.2% fee of the filled volume. (this is free for now)
The script will automatically transfer the fees to your account?
BitShares committee member: abit
BitShares witness: in.abit

Offline monsterer

Maximum drawdown percentage?

Ratio of winning trades to losing trades?

Average winning trade size vs average losing trade size?

General profitability / performance graphs / back / forward testing results?

What algorithm is this?
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Ben Mason

  • Hero Member
  • *****
  • Posts: 1070
  • Integrity & Innovation, powered by Bitshares
    • View Profile
  • BitShares: benjojo
Well done alt! Awesome!

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Good move +5%

Can you explain more about the "recharge" thing?
Quote
4. you need to recharge for the service,  now it's 1USD/per day for each market.
my plan is charge 1USD/per day for each market.
if you run the bot at two market, you need to pay double.

and when an order is filled, will charge 0.2% fee of the filled volume. (this is free for now)

Offline kenCode

  • Hero Member
  • *****
  • Posts: 2283
    • View Profile
    • Agorise

profile.json
Code: [Select]
{
    "quota_in_usd": 50,
    "market": [
        ["BTS", "BOTSCNY"]
        ],
    "asset": {
        "BTS": {
            "weight": 8.0,
            "spread": [0.007, 0.12]
        },
        "BOTSCNY": {
            "weight": 4.0,
            "spread": [0.005, 0.1]
        },
        "CNY": {
            "weight": 2.0,
            "spread": [0.005, 0.1]
        },
        "USD": {
            "weight": 2.0,
            "spread": [0.005, 0.1]
        },
        "GOLD": {
            "weight": 1.0,
            "spread": [0.005, 0.1]
        },
        "SILVER": {
            "weight": 1.0,
            "spread": [0.005, 0.1]
        }
    }
}

GREAT news GREAT job!! I have been begging for EUR liquidity for months, thank you! :)
kenCode - Decentraliser @ Agorise
Matrix/Keybase/Hive/Commun/Github: @Agorise
www.PalmPay.chat

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Very cool ...
I am working on something similar ...
Good to see tool available to provide liquidity!!

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
Good move +5%

Can you explain more about the "recharge" thing?
Quote
4. you need to recharge for the service,  now it's 1USD/per day for each market.
BitShares committee member: abit
BitShares witness: in.abit

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
https://bitsharestalk.org/index.php/topic,20835.msg269215.html#msg269215
I have redesign the whole architecture, now we can provide trading robot service
This trading robot is used to provide market making services.
1. get source from each exchange,  got a basic bid/ask price.
2. according to each asset's weights and some parameters, we got another premium.
3. Finally, according to the additional premium individual local settings, and the additional price peg parameter, we got the last price

During the test, it is suggested keep a small balance at the  account.

use it with follow step :
1. run a cli wallet, and import your trade account.
2. install the btsbots client
Code: [Select]
pip3 install btsbots --upgrade
edit config.json, reference:
https://github.com/pch957/btsbots/blob/master/config-example.json
3. run the trade bots, you can see some output from the console
Code: [Select]
btsbots --config config.json run_trade
4. you need to recharge for the service,  now it's 1USD/per day for each market.
we will not  charge  fees for filled order during test period.
accept all peg assets for recharge.
run command at a new console, and you can see infomation from last console
Code: [Select]
btsbots --config config.json recharge 1 USD
5. after recharge, you can upload your profile.json for the trade
reference:
https://github.com/pch957/btsbots/blob/master/profile-example.json
run command to upload profile
Code: [Select]
btsbots --config config.json --profile profile.json update_profile
after the profile upload success, you can see output from the 1st console, and the trade will begin.
we support all peg asset, and BOTSCNY,  TRADE.BTC, OPENBTC, METAEX.BTC now


for now, account exchange.btsbots is test this bots at market BOTSCNY/BTS
you can visit the bot's orders. and here is the config.json profile.json used now
config.json
Code: [Select]
{
    "account": "exchange.btsbots",
    "cli_wallet": {
        "host" : "localhost",
        "port" : 9092,
        "rpc_user" : "",
        "rpc_passwd" : "",
        "wallet_unlock" : ""
    },
    "addition_spread": 0.01,
    "threshold": 0.01,
    "price_factor": {
        "CNY": 1.0,
        "BTS": 1.00,
        "USD": 1.05
    }
}
profile.json
Code: [Select]
{
    "quota_in_usd": 50,
    "market": [
        ["BTS", "BOTSCNY"]
        ],
    "asset": {
        "BTS": {
            "weight": 8.0,
            "spread": [0.007, 0.12]
        },
        "BOTSCNY": {
            "weight": 4.0,
            "spread": [0.005, 0.1]
        },
        "CNY": {
            "weight": 2.0,
            "spread": [0.005, 0.1]
        },
        "USD": {
            "weight": 2.0,
            "spread": [0.005, 0.1]
        },
        "GOLD": {
            "weight": 1.0,
            "spread": [0.005, 0.1]
        },
        "SILVER": {
            "weight": 1.0,
            "spread": [0.005, 0.1]
        }
    }
}