Skip to content

Commit

Permalink
Merge pull request #1602 from c9s/narumi/rebalance/doc
Browse files Browse the repository at this point in the history
DOC: add rebalance doc
  • Loading branch information
c9s committed Mar 26, 2024
2 parents 6ac642b + 0466f0d commit 5769c67
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -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
Expand Down
31 changes: 31 additions & 0 deletions doc/strategy/rebalance.md
@@ -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)

0 comments on commit 5769c67

Please sign in to comment.