Closed Shoananas closed 7 years ago
The bot every time offers all available amount for lending . As soon as a loan is returned the bot offers the entire amount again at newly calculated best return rate
I'm not sure if I understand the aim of splitting the offered amount in multiple offers with smaller amounts. Regardless if it is one offer or multiple offers, Poloniex will take the amount it needs to borrow to other users, when the loan is returned it will return the amount regardless if it's part of one loan or multiple smaller loans. Hence I don't see the benefit in offering multiple split offers instead of one single offer.
However, if you keep the bot running continuously for a week or so, loan amounts will be naturally split into smaller and smaller amounts and these will eventually be somehow equally distributed over time. So the split into smaller amounts will happen if you keep the bot running continuously long enough.
Loan holding time and when people are returning the loans is largely given by the volatility and volume of the margin trading pairs. On Poloniex (as opposed to Bitfinex) people cannot choose to return their loans before the expiry time, unless they close the margin positions. Hence I believe we cannot assume that people are returning the loans based on their loan rates, but rather on the price action on the margin trading pairs.
As for your comment "Sometimes the bot lends 0.4 btc for 0.14% and 1 hour later, the bot lends 0.01 btc for 0.26%" - this is a perfectly possible situation. As explained in previous posts (https://github.com/dutu/poloLender/issues/32 and https://github.com/dutu/poloLender/issues/30), the average holding time is an important parameter when calculating the best rate and waiting time to offer at a higher rate. Example: let's assume the average loan holding time (alht) is 1 hour (which was the case lately) and the bot has 0.4 BTC available for lending. Let us take two scenarios 1) the bot lends 0.4 BTC at 0.14% immediately 2) the bots waits 1 hour to lend at 0.26%. Since the average loan holding time is 1 hour, it's clear that most probably option 1 is more profitable (since it's likely that our loan will be returned within 1 hour anyway. for option 2 we just wait for 1 hour without making profit). Now if, let's say average holding time is 12 hours, it would of course make mire sense to wait longer for higher rate (0.26%) much longer than hour, since the profit we'll make in one hour at a lower rate will not compensate the difference of lending for the rest of 11 hours at higher rate. This is an example to show that average loan holding time plays a critical role in determining the best lending rate. Other bots don't use the average holding time in calculations and this is why I believe the algorithm poloLender is using is more profitable, even if counter-intuitive at times and at first look.
Hope I have answered some of your questions and concerns.
I didn't know the margin trading was working like that. I went and searched for more info and now I think I get it and I understand why people are taking loans (it was pretty mysterious to me before).
I agree with your explanation about the average loan holding time and the natural splitting that will happen if I keep the bot running.
I'm not sure if I understand the aim of splitting the offered amount in multiple offers with smaller amounts. Regardless if it is one offer or multiple offers, Poloniex will take the amount it needs to borrow to other users, when the loan is returned it will return the amount regardless if it's part of one loan or multiple smaller loans. Hence I don't see the benefit in offering multiple split offers instead of one single offer.
Still, I saw my account running with a bot splitting the bitcoins a lot and there were a lot of trades during the day (the last trades (displayed by default in poloniex UI) within 1-2 hours, always), with this bot I have a 14 hours range at the moment. It would just speed up the process of having a lot of small amount loans by putting a maximum number of btc per trade imo (even if I don't know how it works in poloniex side, it is what I saw with another bot). For today though, this bot benefits me more than the old one I used because I didn't lend much during low spikes.
Thank you for your explanations!
Hello,
I am wondering how the amount to offer is determined. Because I often see big amounts in offer and I'm not sure if it's the most efficient thing to do. Sometimes the bot lends 0.4 btc for 0.14% and 1 hour later, the bot lends 0.01 btc for 0.26% (a recent example but I've seen it with bigger variance).
The reverse may also happen but people tend not to return the loans earlier when the rates are higher than when they took the loan (from what I saw with my account) The problem here is that if the big loans are not returned, we can't get the advantage of the spikes.
I am wondering if the best option here would be to split the offers into small amounts, even if we will also lend more often during the bad spikes.
If I'm not wrong in my thoughts and there is a need to test the behavior, maybe add a configuration var to set the maximum amount of btc per loan? so we can all test it the way we want and give you feedback. I don't know how much work it would be though.
Regards,