I shutdown FluxRobot about two years ago, but the software that was investing in various loans is still running. Mostly. I noticed something was odd when I hadn’t received any notifications about new investments in a few weeks. The logs I kept on my virtual private server informed me that the API I was calling was getting blocked after the first investment attempt. Then I spoke to support and they said I had a limit of one investment per second. Easy fix. After stepping away from it for a couple of years, I noticed a few flaws existed:
- Loans were reinvested in if they were available each data pull
- All loans in the algorithm were invested with the same dollar amount
- LendingClub disabled rate ranks E-G. This score determined your bucket of interest based off many factors including the FICO score, so obviously an A received a lower interest.
It was time for some updates. However, I honestly struggled for almost a full week trying to figure out why in the world the loans I attempted to invest in were a “NOT IN A FUNDING STATE”, as in, they were either completed loans or cancelled loans. It hit me suddenly that the data I was downloading from the LendingClub server was not the same data I was reading. Oops.
I started to keep a tab on loans that were invested in by creating a new list. Once a loan was invested in, that loan number was saved so the system would automatically avoid investing more than once in the same loan. Diversifying is important!
Digging through the data once again, I researched on a decade of data now that LendingClub has been established for a longer period of time. Generally, the factors I already determined were key to a positive ROI were still true. I wanted to take it a step further than the risk modules I setup (low-risk, medium-risk, and high-risk). Low-risk has a better rate of loans being completely paid off, while high-risk had higher ROI returns, but more chance of charged off loans. This had its advantages and disadvantages, but the high-risk produced the higher ROI overall despite the charged off loans. But, it left the other two risk modules undesirable.
The new strategy route I went was to invest different dollar amounts based on multiple factors while examining trends in the data:
- Which factors would produce the highest ROI with over 80% chance it will be paid off?
- Which factors had a decent chance of paying off loans while providing a stronger ROI and still account for at least 30% of all loans?
- Which factors were most likely to pay off the loans?
That last point is particularly important because item # 1 had basically one loan per month that would meet its criteria. It wouldn’t be advantageous to have money essentially waiting for hopes that a high-producing ROI would come around. Meanwhile, # 2 also had around a 15% chance of showing up. Once again, having money sitting around is considered a loss.
When reviewing the dataset and exploring many different factors, I discovered that a 8.74% return was a high-producing ROI and it gets the largest bucket of cash when they become available. Item # 2 rests at a comfortable 5.79% and receives the second most invested per loan. The most likely to pay off loans had a rate about 5.54%, which is still relatively decent and they get a small investment each.
I won’t talk much about the actualization of return since this was just implemented in the past couple of months and I only have 54 active investments. Accounting for fees and everything else, my initial account before the first version of the investing robot was about 3.2% ROI per year. Afterwards, it sneaks in at a comfortable 5.01%.