Initial Project Idea
Published on October 15, 2024
It has been a couple of weeks now that i have been building bits and pieces of the software that will eventually run coin-balancer.com.
Initially, i started out needing to replace a spreadsheet that was supposed to help me translate percentages of portfolio shares into actual sell/buy transactions that i would manually execute on an exchange. Having a portfolio with 16 different shares, this soon got very tiresome. In particular because the spreadsheet had to also be updated with the asset values. So there were multiple values to be juggled:
- the actual amount of asset units of a share (this is either a predetermined value based on the share’s linked exchange asset size, so initially zero and then later synced; or an arbitrary value if it’s a sandbox portfolio)
- the desired target percentage or weight of each share (that was the main info input i got from an external financial advisor)
- the asset’s unit value
These three values I had to input before having the spreadsheet calculate:
- the current share value,
- the overall portfolio value,
- the current share’s weight in the portfolio in percent
- the necessary sell/buy transactions in order to reach the desired weight
Once this was done, a rebalance meant:
- add the current value of the asset,
- optionally make adjustments to the desired target percentage
- sell or buy the asset based on the calculations as spot market orders
- adjust to the new actual amount of asset units per share
That is the daily procedure. Although some exchanges have an option to do something similar with trade bots, i have not been able to set something up like that. There are rebalancing tools and services out there, but nothing as simple and straight forward as the thing i have in mind.
Here is the list of features i currently am thinking about starting with:
- link exchanges or use a sandbox portfolio against coinmarketcap
Here is a list of constraints or tradeoffs.
- every portfolio has a base currency, at the beginning USD, EUR, and USDT will be offered.
- I consider transactions below a certain threshold to be not feasible, like 1 eur
Here’s the happy path using the application:
- Create a user account
- Link zero or more exchange accounts (different exchanges, or different accounts on one exchange, or a mix of this) to your profile
- Create a portfolio
- Add an asset to the portfolio that is represented by a share.
- Link the share to an exchange.
- Query the current share size and the unit value of the asset on the exchange site (could be done automatically when linking the share)
- Set the share’s target weight and see the proposed actions.
- Execute the orders based on the proposed actions (should automatically resync the account)
Here are the adjustments for the sanbox
- When creating a sandbox account, current values of assets are then taken from coinmarketcap.com.