add rebalance doc

This commit is contained in:
narumi 2024-03-22 14:48:02 +08:00
parent 693b641612
commit 0466f0d237
2 changed files with 32 additions and 0 deletions

View File

@ -412,6 +412,7 @@ Check out the strategy directory [strategy](pkg/strategy) for all built-in strat
- `irr` - return rate strategy.
- `drift` - drift strategy.
- `grid2` - the second-generation grid strategy.
- `rebalance` - rebalances your portfolio based on target weights. [rebalance](pkg/strategy/rebalance). See [document](./doc/strategy/rebalance.md).
To run these built-in strategies, just modify the config file to make the configuration suitable for you, for example, if
you want to run

31
doc/strategy/rebalance.md Normal file
View File

@ -0,0 +1,31 @@
### Rebalance Strategy
This strategy automatically rebalances your portfolio based on target weights.
#### Parameters
- `schedule`
- The CRON expression used to schedule rebalance executions, for example: `@every 5m`, `@every 1h`, `0 0 * * * *`.
- [CRON Expression Format](https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format)
- `quoteCurrency`
- The quote currency in trading markets, e.g., `USDT`, `TWD`.
- `targetWeights`
- A map defining the desired target weights for each base currency in the portfolio.
- `threshold`
- The threshold represents the maximum allowable difference between the current weight and the target weight that will initiate rebalancing. For instance, with a threshold set at `1%`, if the current weight of `BTC` is `52%` and the target weight is `50%`, the strategy will sell `BTC` until it reaches `50%`.
- `maxAmount`
- The highest allowable value for each order in the quote currency.
- `orderType`
- The type of order to be placed, e.g., `LIMIT`, `LIMIT_MAKER`, `MARKET`
- `priceType`
- The method used to determine the price for buying or selling the currency, for example, `MAKER`, `TAKER`, `MID`, `LAST`
- `balanceType`
- Determines how the current weights are calculated. If set to `TOTAL`, the weights will include locked funds. e.g. `TOTAL`, `AVAILABLE`.
- `dryRun`
- If set to `true`, the strategy will simulate rebalancing without actually placing orders.
- `onStart`
- Indicates whether to rebalance the portfolio when the strategy starts.
#### Examples
See [rebalance.yaml](../../config/rebalance.yaml)