diff --git a/docs/wiki/Contribution-Guide.md b/docs/wiki/Contribution-Guide.md index eb34888f1d..2d2b95cd8a 100644 --- a/docs/wiki/Contribution-Guide.md +++ b/docs/wiki/Contribution-Guide.md @@ -50,7 +50,6 @@ should first only smaller jobs until you are comfortable navigating the code and have shown the ability to communicate and follow through. - --- -[⤴ Back to Top](#top) \ No newline at end of file +[⤴ Back to Top](#top) diff --git a/docs/wiki/Creating-a-DCRDEX-Server-Account.md b/docs/wiki/Creating-a-DCRDEX-Server-Account.md index d1e1bff27e..43fd49f682 100644 --- a/docs/wiki/Creating-a-DCRDEX-Server-Account.md +++ b/docs/wiki/Creating-a-DCRDEX-Server-Account.md @@ -21,19 +21,15 @@ The available markets on the connected DCRDEX servers are listed on the left sid -An account can be created with the respective server by clicking the `Create Account` button -on the top right of the screen. - +An account can be created with the respective server by clicking the `Create Account` button on the top right of the screen. - This will open the `Select Bond Asset` prompt. - @@ -69,7 +65,6 @@ Trading limits are also increased as you establish in normal trading activity and successfully completing matches. - @@ -87,7 +82,6 @@ with an equivalent amount plus fees in reserves. The remainder goes to your avai which can then be traded, sent, or simply held in the wallet. - @@ -95,7 +89,6 @@ Once the wallet has synchronized and sufficient funds are available, a prompt wi to confirm the selected bond options. - @@ -107,7 +100,6 @@ bond transaction will be indicated on the top right. The number of required conf depending on the selected bond asset. - @@ -115,7 +107,6 @@ Once the bond transaction has been confirmed, the order submission section will top right of the markets tab. - diff --git a/docs/wiki/Market-Making.md b/docs/wiki/Market-Making.md new file mode 100644 index 0000000000..ea031fb308 --- /dev/null +++ b/docs/wiki/Market-Making.md @@ -0,0 +1,162 @@ +# Market Making + + + +_Last updated for Bison Wallet v1.0.0._ + +**Contents** + + +This page is part of the [Using Bison Wallet](Using-Bison-Wallet) guide, it assumes you have already +set up a Bison Wallet using the [Getting Started Guide](Getting-Started). + +--- + +Bison Wallet offers integrated market-making bots that allow users to strategically place orders on both sides of the order book +and across supported centralized exchanges. This approach aims to capture potential profits through the spread and arbitrage opportunities, while also enhancing market stability. By providing liquidity and minimizing slippage, market makers help create +a healthier and more stable trading environment. + + +> [!CAUTION] +> Using market-making functionality involves risk to your capital. Market conditions can change rapidly, potentially leading to +losses from price fluctuations or market volatility. Ensure you understand these risks fully before participating in market making, +as there is no guarantee of profit, and you may incur losses. + +The market making functionality can be accessed from the header. + + + +# Bot Management + +Upon opening the market making screen, you can create a new bot, edit an existing bot, configure API access for centralized exchanges, or review previous run logs. + + + +When creating a new bot, you will be prompted to select the market you want it to trade in. If you have configured API access for supported centralized exchanges, an icon will highlight the markets that support arbitrage strategies. + + + +After selecting the desired market, a prompt will appear, allowing you to choose one of the supported bots. + + + +After configuring placements and other parameters, the bot can be created by clicking the `Create Bot` button. + + + +The Market Making Overview screen will appear, displaying all configured bots. + + + +To start the bot, click the `Allocate and Run` button. A prompt will appear, confirming whether you have sufficient funds to run the bot with the configured parameters. + + + +The bot can then be started by pressing the button. + +The market making screen will update to display the bot's status and key performance statistics. + + + +The bot can be stopped by pressing the `Stop` button, or deleted by pressing the button. + +If you lack sufficient funds to run the bot with the specified parameters, the allocation prompt will display a warning. + + + +You can still start the bot, but a warning will appear when orders cannot be placed. + + + +Clicking the button will open the orders report for the epoch, showing the available balances for the assets on the selected market and any deficits affecting the operation of the bot. + + + +## Bot Settings + +The market maker settings allow you to configure all the necessary parameters for your bot, it can be accessed by pressing the button. + + + + +The bot's parameters can be confirmed by pressing the `Save Settings` button. + +# Bot Types + +The following section details the bot types available in Bison Wallet and their configuration parameters. + +## Basic Market Maker + +The Basic Market Maker aims to profit from market volatility by placing buy and sell orders at predefined price intervals based +on the selected strategy. It works by creating a grid of orders around the basis market price. As the market fluctuates, +buy orders are matched when the price drops to a specific level, and corresponding sell orders are matched as the price rises. +The strategy continually adjusts by replenishing orders to maintain the grid, allowing traders to capture profits from price +oscillations without needing to predict the market's direction. + + +### Basis Price + +If oracles are available for a market, the basis price is calculated as the volume-weighted average of the prices returned by the oracles. The available oracles can be viewed on the market maker settings screen. If no oracles are available, the basis price is determined using the fiat rates of both assets, which are fetched from the sources specified on the [Settings Panel](Header#settings-panel). + +### Placements + +Placements refer to the settings and algorithm used by the market maker bot to strategically place buy and sell orders in the selected market. If the available balance is insufficient to place all orders, the bot will prioritize them accordingly. + +#### Quick Configuration + +Bison Wallet's market-making feature offers a Quick Configuration mode, allowing users to easily set up market maker placements and adjust key parameters. This mode utilizes the `Percent Plus` gap strategy, where the gap between buy and sell orders starts at the breakeven spread — the minimum spread required for a buy-sell pair to be profitable when accounting for network fees — and adds a user-defined profit threshold, calculated as a percentage of the basis price. Additionally, Quick Configuration mode includes an interactive visual aid, enabling users to fine-tune their settings with ease. + + + +The following placement settings are available in Quick Configuration mode: + +* **Price Levels Per Side:** The number of steps or levels at which the bot will place orders on each side of the order book. +* **Lots per Level:** Quantity to be placed at each price level. As orders are matched, new orders will be placed to maintain this quantity. +* **Profit Threshold:** Adjusts the spread by adding a margin to the breakeven spread, expressed as a percentage of the mid-gap price. +* **Price Increment:** The price difference between consecutive order levels in the order book. + + + + +#### Manual Configuration + +Manual placement configuration allows users to fine-tune their market-making strategy with greater precision while also providing access to various algorithms for order placement. + + + + +The following placement settings are available in the Manual Configuration mode: + +* **Gap Strategy:** Defines the algorithm used to calculate the distance from the basis price when placing orders. Some algorithms factor in the break-even spread, which is the price difference between a buy and sell order where, if one lot of each is matched, the resulting profit precisely covers the network fees for both swaps. The following strategies are available: + * **Percent Plus:** The distance from the basis price is calculated as the specified percentage of the price, plus half of the break-even spread. + * **Percent:** The distance from the basis price is determined by the specified percentage of the price. + * **Absolute Plus:** The distance from the basis price is exactly the specified rate in the placement, plus half of the break-even spread. + * **Absolute:** The distance from the basis price is exactly the specified rate in the placement. + * **Multiplier:** The distance from the basis price is a multiple of half the break-even spread. + +* **Buy Placements:** Defines the bot's buy order placements. + +* **Sell Placements:** Defines the bot's sell order placements. + +### Asset Settings + +The asset settings panel allows users to configure the amount of funds the bot will allocate and reserve while running in the specified market. + + + +* **Order Inventory:** The amount of funds required to initially place all specified orders. +* **Order Reserves:** Additional funds allocated for placing extra orders, specified as a multiple of the initial placements. +* **Commit Total:** The total amount of funds allocated for order placements. +* **Booking Fees:** The funds required to cover swap fee obligations for the initial placements. +* **Swap Fee Reserves:** Additional funds set aside for swap fees to accommodate extra orders, specified as the number of swaps. +* **Fee Reserves:** The total amount of funds allocated for swap fees.. +* **Slippage Buffer:** Extra funds reserved as a buffer to account for slippage.. + +### Knobs + +The knobs panel contains additional settings that are specific to the basic market maker bot. + + + +* **Drift Tolerance:** The allowable deviation from the ideal order price before the bot cancels and rebooks the order. + diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md index 4da4d4e49d..865e276463 100644 --- a/docs/wiki/_Sidebar.md +++ b/docs/wiki/_Sidebar.md @@ -1,4 +1,4 @@ - +# Navigation - [Home](Home) - [What is Bison Wallet](Home#what-is-bison-wallet) - [What is DCRDEX?](Home#what-is-dcrdex) @@ -68,4 +68,5 @@ - [Test App Server](Test-App-Server) - [Getting Started with Fuzzing](Getting-Started-With-Fuzzing) - [Localization and Translations](Localization-and-Translation) - - [Wiki Contribution Guide](Wiki-Contribution-Guide) \ No newline at end of file + - [Wiki Contribution Guide](Wiki-Contribution-Guide) + \ No newline at end of file diff --git a/docs/wiki/images/using-bison-wallet/header-mm.png b/docs/wiki/images/using-bison-wallet/header-mm.png new file mode 100644 index 0000000000..8f1b466587 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/header-mm.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-allocate-1.png b/docs/wiki/images/using-bison-wallet/mm-allocate-1.png new file mode 100644 index 0000000000..808919714d Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-allocate-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-allocate-2.png b/docs/wiki/images/using-bison-wallet/mm-allocate-2.png new file mode 100644 index 0000000000..cae9b475ea Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-allocate-2.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-allocate-3.png b/docs/wiki/images/using-bison-wallet/mm-allocate-3.png new file mode 100644 index 0000000000..52b793870f Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-allocate-3.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-basic-assetsettings.png b/docs/wiki/images/using-bison-wallet/mm-basic-assetsettings.png new file mode 100644 index 0000000000..426e61a42e Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-basic-assetsettings.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-basic-createbot.png b/docs/wiki/images/using-bison-wallet/mm-basic-createbot.png new file mode 100644 index 0000000000..40ab4ab300 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-basic-createbot.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-basic-createbot2.png b/docs/wiki/images/using-bison-wallet/mm-basic-createbot2.png new file mode 100644 index 0000000000..3f3bc84243 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-basic-createbot2.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-basic-knobs.png b/docs/wiki/images/using-bison-wallet/mm-basic-knobs.png new file mode 100644 index 0000000000..97d33b17e7 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-basic-knobs.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-basic-running.png b/docs/wiki/images/using-bison-wallet/mm-basic-running.png new file mode 100644 index 0000000000..ec78365fd8 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-basic-running.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-botconfig-button.png b/docs/wiki/images/using-bison-wallet/mm-botconfig-button.png new file mode 100644 index 0000000000..46c89b3f34 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-botconfig-button.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-choosebot.png b/docs/wiki/images/using-bison-wallet/mm-choosebot.png new file mode 100644 index 0000000000..07f5ea223a Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-choosebot.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-delete-button.png b/docs/wiki/images/using-bison-wallet/mm-delete-button.png new file mode 100644 index 0000000000..86cb43a0cd Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-delete-button.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-orders-report.png b/docs/wiki/images/using-bison-wallet/mm-orders-report.png new file mode 100644 index 0000000000..39f202fbae Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-orders-report.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-placements-manual.png b/docs/wiki/images/using-bison-wallet/mm-placements-manual.png new file mode 100644 index 0000000000..37ab0a0435 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-placements-manual.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-placements-quick-layout.png b/docs/wiki/images/using-bison-wallet/mm-placements-quick-layout.png new file mode 100644 index 0000000000..8b504d800c Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-placements-quick-layout.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-placements-quick.png b/docs/wiki/images/using-bison-wallet/mm-placements-quick.png new file mode 100644 index 0000000000..361ba441f6 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-placements-quick.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-selectmarket.png b/docs/wiki/images/using-bison-wallet/mm-selectmarket.png new file mode 100644 index 0000000000..d3eb3755c6 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-selectmarket.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-settings.png b/docs/wiki/images/using-bison-wallet/mm-settings.png new file mode 100644 index 0000000000..be188fb856 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-settings.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-start-button.png b/docs/wiki/images/using-bison-wallet/mm-start-button.png new file mode 100644 index 0000000000..8a9c3f58e5 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-start-button.png differ diff --git a/docs/wiki/images/using-bison-wallet/mm-start.png b/docs/wiki/images/using-bison-wallet/mm-start.png new file mode 100644 index 0000000000..532e4b1379 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/mm-start.png differ