warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 11, 2014 10:18:08 GMT
Here's an annoying(*) thing.
If I set a floor rate for reinvestments, that's the rate at and above which I'm happy. RS blurb says if my floor is lower than the market rate at the time the reinvestment is offered, it'll be offered at "market rate" instead, so that I don't lose out. Let's say my floor is 10%, and market rate happens to be 13% (yes, I know!). My money goes on offer at 13%
All well and good.
Now, "market rate" is recalculated every day, to give a reasonable expectation of lending quickly, and rises or falls accordingly.
Also good.
So, I would expect that my offering will rise and fall with market rate, though never falling below my floor. But this doesn't happen. If I don't lend on the first day, and market then falls to 11% (still a rate I'd be happy with), I won't lend, because my offer is now stuck at 13% (not a figure of my choosing), until I get a polite email from RS, log in, and manually change it.
In short, the daily calculation of a reinvestment's offer rate seems to be:
IFF LenderSetNoFloor then Rate = TodaysMarketRate
whereas I think it ought to be
Rate = max(TodaysMarketRate, LenderFloor)
(*) Well, it annoys me, anyway.
|
|
pikestaff
Member of DD Central
Posts: 2,140
Likes: 1,486
|
Post by pikestaff on Mar 11, 2014 15:02:14 GMT
I think that:
(1) the rate for each reinvestment offer is indeed set at Rate = max(TodaysMarketRate, LenderFloor), but
(2) the rate for that offer is then fixed and does not change unless you go back and do so manually.
If anyone knows better, please shout.
I am not sure exactly when in the day the rate is set.
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 11, 2014 20:12:46 GMT
(1) the rate for each reinvestment offer is indeed set at Rate = max(TodaysMarketRate, LenderFloor), but (my emphasis -- warn)(2) the rate for that offer is then fixed and does not change unless you go back and do so manually. Well, precisely. And it's the "but" that I'm kvetching about. There ought to be a way of reinvesting at what is advertised as "market rate" (i.e. floating) but with a lender-defined lower limit. I suspect that might have been the original intention of the "floor" facility, but it wasn't coded right. As it is now, it doesn't really make any sense at all.
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 13, 2014 8:14:13 GMT
...saw an opportunity to hassle the IT team.... Many thanks. My breath is bated.
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 14, 2014 18:24:30 GMT
You have asked that " There ought to be a way of reinvesting at what is advertised as "market rate" (i.e. floating) but with a lender-defined lower limit.". This is actually what happens, as reassured by our IT and Customer Services team. They [think] that: The lender has chosen the “Your Rate” optionWell yes, of course I've chosen the "Your Rate" option. How else do I specify a permanent floor, while allowing for market fluctuations to come into play above that figure? That's what the tin tells me to do. I can't enter a value in "Your Rate" and also leave "Market" ticked. Sorry, Kevin, but I'm here to tell you it is true. It's not me who set the rate to 13% (I chose a "Your Rate" of 10%), it's the fact that the reinvestment got offered at 13% because that was the market rate at the time it was first offered. I have actually raised this in the past by email with Customer Services, and the answer boiled down to "That's the way it is, buddy -- suck on it" (only infinitely more elegantly and courteously phrased, of course). Obviously, I can't recreate the situation at will, because it depends on external factors over which I have no control. I'll try to increase the likelihood of a recurrence by watching the "volume" stats, etc, and PM you as soon as it happens. And look. If (when?) it turns out that I'm wrong, and you're prepared to swear that the system hasn't been recoded in the meanwhile, I promise that I will debase myself and grovel publicly in the most abject and self-loathing manner that I can possibly summon.
|
|
|
Post by westonkevRS on Mar 14, 2014 18:47:47 GMT
It's a deal. And if my response was wrong and the Customer Services answer incorrect then I will hoist my own petard. And start a fight with the IT team for their arrogance.
That said, this is a very popular and frequent choice of the RS functionality (it isn't some obscure setting, but quite central) and you are the first over the parapet. So as a gambling man.... I think the code is correct.
|
|
|
Post by uncletone on Mar 14, 2014 22:37:04 GMT
I never take sides. But my money's on Kev.... I hope universal understanding and love is restored, whether i am right or wrong.
|
|
pikestaff
Member of DD Central
Posts: 2,140
Likes: 1,486
|
Post by pikestaff on Mar 14, 2014 23:20:58 GMT
It's a deal. And if my response was wrong and the Customer Services answer incorrect then I will hoist my own petard. And start a fight with the IT team for their arrogance. That said, this is a very popular and frequent choice of the RS functionality (it isn't some obscure setting, but quite central) and you are the first over the parapet. So as a gambling man.... I think the code is correct. Westonkev, the Customer Services answer is rather confusing, but it may have missed the point. I believe my post of 11 March to be correct. Warn's complaint is about behaviour (2). Perhaps you could put that to them and see if they agree with what I have said?
|
|
|
Post by aloanatlast on Mar 20, 2014 19:47:30 GMT
Warn and pikestaff are right. Once your money has been added to the back of a queue at a certain rate, it stays in that queue at that rate. Orders once placed do not get their rates adjusted later.
The official blurb fails to make the distinction between queuing and lending, but it's a crucial distinction, because money queued doesn't always get lent - and the auto system is supposed to get the money lent, without requiring personal supervision and intervention.
Point is, if your money gets queued during a rate spike, it's quite likely that rates will drift down again before it gets from the back of the queue to the front, with the result that it then doesn't get lent until the next spike, if then.
I've got a 3-year floor at 4.5%. At this moment I've got money in the 4.7% queue, a long long way back, put there by the auto-relender early this morning, when that was the going rate. There's also a borrower offering at 4.6%. So far as I'm concerned, my money could now be matched to that borrower. But it won't be. Tonight's money might be (though actually I suspect not), but last night's money that's queued at 4.7% will now wait for 4.7% even if 4.7% never happens again. This isn't auto-relending at market rate.
Actually, the floor is irrelevant here. Obviously too high a floor could prevent my repayments getting re-lent, but that's not the problem. The same problem can arise without a floor.
I wouldn't call it a coding error though. It would need a more complex mechanism to do it better. Money offered at market rate really needs to track market rate on an ongoing basis until it gets lent, maintaining queue position against money offered later at market rate. (As things stand, money offered at market rate later, when market rate is lower, may get lent first.)
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 20, 2014 21:03:16 GMT
Warn and pikestaff are right.... It would need a more complex mechanism to do it better. Designing the system to perform how I think of as "properly" is actually very simple, I believe. Each Offer record needs one rate field, and one "VM" binary switch to denote whether the rate is subject to Variable Market drops. If the switch is on, the rate field is a floor for the global TodaysMarketRate, and the offer hits the market at Max(RateField, TodaysMarketRate), recomputed daily -- if it's off, the rate was set explicitly by the user and doesn't take part in the daily repricing pass (offer is marketed at RateField). Offers or repayments that are supposed to be at "Market Rate" have their RateField initialised to zero, of course. Leastways, that's how I'd have coded it back in the day, E&OE.
|
|
|
Post by aloanatlast on Mar 23, 2014 16:51:19 GMT
Warn and pikestaff are right.... It would need a more complex mechanism to do it better. Designing the system to perform how I think of as "properly" is actually very simple, I believe. Each Offer record needs one rate field, and one "VM" binary switch to denote whether the rate is subject to Variable Market drops. If the switch is on, the rate field is a floor for the global TodaysMarketRate, and the offer hits the market at Max(RateField, TodaysMarketRate), recomputed daily -- if it's off, the rate was set explicitly by the user and doesn't take part in the daily repricing pass (offer is marketed at RateField). Offers or repayments that are supposed to be at "Market Rate" have their RateField initialised to zero, of course. Leastways, that's how I'd have coded it back in the day, E&OE. Well as it happens my money queued at 4.7% did go out at 4.7% soon enough, so it wouldn't have been to my advantage to take the offered 4.6%. But that was auto-gambling.
What was at least as likely is that rates would have slipped straight back down below 4.5%. Then, even if my money had been requeued at my 4.5% floor the following night as per your suggestion, it would have missed the only boat and could then be marooned for weeks.
But at least your way would work if no floor is set, where the present system doesn't.
What I think I want though is for queue position to be favoured over interest, rather than passing up an available opportunity to lend in favour of hanging on for an extra 0.1% that might not be achieved.
What I think this means is that "market rate" would need to be calculated per-lender whenever matching is done or potentially done, i.e. a request filled or queued, and would be the highest rate that would actually get the lender into the loan. If that's below my floor, I'll wait, but if it's at or above, I'll take it.
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 23, 2014 18:22:12 GMT
What was at least as likely is that rates would have slipped straight back down below 4.5%. Then, even if my money had been requeued at my 4.5% floor the following night as per your suggestion, it would have missed the only boat and could then be marooned for weeks. But at least your way would work if no floor is set, where the present system doesn't. Possibly due to my having had a splendid lunch, I'm not following you. You seem to be saying that you have consciously set a floor of 4.5%, and were the present market to be operating at below that figure, then you wouldn't lend, and that would be a symptom of the system "not working". But surely that's exactly what your floor has prescribed. Have I misunderstood?
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 25, 2014 7:46:36 GMT
westonkevRS - By the way, Kevin, I now have screenshots which demonstrate the behaviour I'm whingeing about, if the guys round the water-cooler still don't believe it. Let me know if you need them.
|
|
|
Post by westonkevRS on Mar 25, 2014 8:04:03 GMT
I gotta say, I think it's working as it is meant to. Although I'm happy to keep an open mind and will buy you a drink at the lender's evening (date to be announced shortly) if I'm wrong. In the meantime, email me at RS. Either on the customer services email or Kevin.Allen@ (no spam please from any trolls!). Our tech team are gonna love you. Kevin.
|
|
warn
Member of DD Central
Curmudgeon
Posts: 606
Likes: 632
|
Post by warn on Mar 25, 2014 15:08:18 GMT
Kevin, have emailed you at K.A. Please reassure your tech team that I am indeed eminently lovable
|
|