I need a Multi Coin Buyer with Rebalancing based on Python - during the description and inside of the project it should be called Crypto Portfolio Manager or CPM.
The CPM needs to support Kraken, Bittrex and Bitfinex. The goal is to buy Multiple Coins with one script automatically. All coins supported by those 3 exchanges must be supported and may be setup in a config area of this script.
Inside of the configs you define how much money you plan to invest per interval. Let's assume 500 EUR per week.
Invest = 500
BaseCurrency = EUR
Interval = weekly
Steps = 2
This configuration means that we invest on weekly bases 500 EUR in 2 steps so per investment round it will be 250 EUR.
In a next step I define the percentages per currency. NOTE - I simplify here, it must be way more coins.
Bitcoin = 40%
IOTA = 30%
PAY = 10%
ETH = 10%
GAM = 10%
TransferCurrency = ETH
Now the script buys first on Kraken from the 250 EUR (remember 500 EUR in 2 steps) whatever can be bought on Kraken. For this example it is 40% or 250 EUR in Bitcoin and 10% of 250 EUR in Etherium. The other 50% must be transferred to the other two exchanges. In the given example 20% (PAY & GAM) to Bittrex and 30% to Bitfinex. In case one coin is available in two exchanges choose where to buy cheaper.
As the transfer & one investment coin is the same, we do not buy 10% ETH, we buy 60% ETH and than send it as above described to Bitfinex and Bittrex.
As soon as the ETH arrives there the buy actions above will be made.
Time of every transaction including it's fees and prices must be stored into the database. The price should be stored in both the base currency and the actual used coin (note - e.g. IOTA must be bought from EUR->ETH->IOTA) so I need the price EUR/IOTA & ETH/IOTA.
There is one last setting.
Rebalance = true / false
If Rebalance is false the script buys always the percentage of the investment budget. If rebalance is true than the script buys in a manner that the percentage inside of the configuration is the percentage of the overall value in base currency. The script may not do any sell orders in order to perform the rebalancing. Only the buy volume may be altered.
As I do not want to have place holder bids inside of my project, please open with the words "Hello Investor,"
Please describe how you plan to do the project. Please also describe how you plan to do the interface or what kind of functionalities will be done better from your side than from other devs.
Please also provide a ready to use installation how to get this installed on a local docker.