Robowise discussion


I had a few conversations with the Wisealpha staff (who were excellent as always!) and have now been been experimenting with Robowise (RW) over the last month - has anyone else has been using it?

Positives so far:

  • It aims to hold an equal £ weighting of all bonds in the market (unless you de-select specific bonds), which minimises admin, and snaps up any bonds that have limited liquidity and might otherwise be hard to buy.
  • Automatic rebalancing is a great feature and may give a slight boost to returns (buy low, sell high, triggered by price changes)
  • When a new bond is added to the market it’s automatically incorporated into the portfolio.
  • I really like that it’s possible to have multiple RW portfolios AND manual bond purchases in one wisealpha account.

Some other thoughts:

  • RW tries to hold all bonds equally at the target level, and will adjust a holding if any bond is more than £5 away from the target. A great objective.
  • My main frustration is that getting to this position take AGES, at least weeks, and possibly months. In the meantime there is random overexposure and underexposure to certain bonds. Some could be double or half the target value.
  • As I understand it (although please correct me if wrong): RW will look for underweight bonds to top up, and ONLY THEN place some overweight bonds up for sale. Once these bonds are sold (it might take some time), it will go back and try and buy the underweight bonds, if they’re still available.
  • My sense is that this is a drag on liquidity (RW’s default position is not to offer bonds for sale) and really slows down the rebalancing.

Potential solution:

  • Could we have an option to hold a small amount of cash in RW? e.g. a tick-box in the list along with all the other bonds? This would only need to be a minimal amount (e.g. 1% of portfolio, or a £ value) and would have a negligible impact on returns.
  • The order of execution is then reversed: RW FIRSTLY offers overweight bonds for sale. This increases liquidity in the market. That sale goes into cash.
  • As soon as a bond becomes available to buy, RW has cash on hand to execute immediately.
  • This allows RW to IMMEDIATELY place new overweight bonds up for sale, further adding to liquidity.


In general I’m a big fan of wiseakpha and love to see the company progressing. I think the more transparently we can be about RW, the more confident people will be about putting more of their hard-earned savings into its hands :slight_smile:



Hi Mark,

My name is Rufus and I wrote most of the algorithms that back Robowise.

Your description of Robowise is very good - it captures the essence of what is going on behind the scenes.

Your concerns about the time it takes to rebalance is indeed an issue with the way Robowise works. And I should point out that sometimes Robowise can never achieve a perfect balance as a popular investment may never become available. Having said that, we do have certain measures in place to improve the situation:

  • We maintain a ‘badness’ measure for each Robowise portfolio. This is basically a measure of how far away the portfolio is from its ideal holding. Trades from portfolios with a high badness score are moved to the front of the trading queue and are preferentially executed.

  • We also monitor the state of Robowise’s composite holding. If it is too far out, we can manually inject liquidity by e.g., issuing buy orders for things Robowise is overweight in. We often do this when putting new investments on the market to ensure Robowise will have enough cash to buy that investment.

Your idea of allowing Robowise to hold some cash is a good one - I have contemplated it myself. Before we could implement it, we’d need to do some modelling to see if it would be effective and would not have a significant impact on the portfolio’s return. There are also lots of subtleties to consider: How long should Robowise maintain the cash float? What should we do if it appears the portfolio just can’t achieve perfect balance? If the float is set manually, what feedback should we give to the investor?

We have also considered allowing Robowise portfolios to exchange investments with each other without going via the market. These trades would not be subject to “liquidity” constraints - if two portfolios were out of balance in complementary ways, they could immediately rebalance with each other. Again we’d have to do some modelling to see if this would measurably improve things.

We try to continue to improve Robowise, but we have to be careful. As we often discovered during development, Robowise is a complex dynamical system (in the chaos theory sense of the phrase). Apparently simple changes can have unpredictable and unfortunate side effects. So we have to be very careful when making any change.

Anyway I’m glad you generally approve of the way Robowise works. It’s always good to get feedback and hear new ideas.



Hi Rufus,

Thanks for your thoughtful and detail response, and congratulations on robowise so far - I’m sure there’s been a lot of work behind the scenes to get it to its current state.

It’s comforting to hear you’re also considering the cash/rebalancing issue, and I’m mindful of your point about system complexity and unintended consequences and take that on board.

To pick up on your points:

  • Complimentary out-of-balance portfolios - if there are RW portfolios in this position I would have thought they should be using the market to rebalance. This is in effect the same thing as rebalancing directly with each other, but without having to build additional functionality into the trading platform. So if it’s not currently happening then could it be down to the way RW is interacting with the market?
    Possibly the point about the order of execution could address this: if the overweight portfolio FIRST offers bonds to the market, and the underweight portfolio has cash already on hand, then the trade could execute very quickly. The only remaining issue would be overall liquidity in a particular bond which I’m aware you manage at a higher level.

  • Impact on returns - I accept there will be a small drag on returns, maybe proportionate to the cash holding? So a 1% cash holding could reduce returns from (say) 10.1% to 10.0%, but with a benefit (quicker rebalancing, with less over-exposure to certain bonds).

  • Manual tickbox and Timing - Not all users will be bothered about rebalancing speed so a manual tickbox could be the answer, in which case it’s down to the user how long they keep this enabled for, and to be responsible for switching it off again. Perhaps you could send them a monthly email reminding them that it’s enabled? I currently monitor how far the portfolio is out of balance by downloading the gain/loss report periodically.

  • Automated cash holding - Another other option could be to enable the cash holding if the ‘badness’ score is above a certain threshold. This would allow the worst portfolios to rebalance quicker, then swap back into a fully-invested position when the ‘badness’ score was reduced below the threshold.

The key point about the out-of-balance-ness is really a risk issue - I would be happy to accept the (minimal) reduction in returns in order to avoid random over and under-exposures.

I’m sure you probably have test portfolios to try these things on, but I’d be happy if you want to enabling cash holdings in my portfolio for live beta testing.

Keep up the good work!

Kind regards,

Hi Rufus,

Minor suggestion for RW, it would be helpful to show the weighted average current yield for the portfolio overall. At the moment, you can only see the YTM (which by the way, I am assuming is weighted average as well).

Thank you

I think there is a bug when using Robowise desktop. When I click “today” then it takes me to when I opened the portfolio and not to today. Using Chrome.

Steps to reproduce:
Navigate to Robowise account
Select Activity
Select “today” button
Feed moves to date portfolio was opened

Expected behaviour:
Navigate to Robowise account
Select Activity
Select “today” button
Feed moves to today

Another useful tool would be to see more details on each company when changing to companies view rather than industry view under composition. At the moment, I can only see the company name and amount invested. But let’s say I would like to modify my Robowise allocation to exclude bonds with specific seniority or minimum yield. At the moment there is no way to find out other than going back to the market page to check one by one. Maybe adding CY and Seniority next to the allocation would be helpful.

Thank you