|Two bugs found in version 1.03
One is embarrassing, the other is merely unfortunate. Both bugs are fixed in the development version, and there are workarounds for both. Neither bug affects random portfolios.
Bug 1: risk fractions and existing
If the risk.fraction argument is used in trade.optimizer with an existing portfolio, then the results are wrongly reported -- often claiming that a trade has not been found that meets all the constraints.
The problem is actually done right but at the last instant the portfolio variance that is reported is calculated incorrectly.
There is a workaround -- fortunately if the last instant is also the first instant, then it does it correctly. If your command is:
opt <- trade.optimizer(existing=smthing, risk.fraction=smthing.else, ...)
then revise that result with:
opt <- update(opt, start.sol=opt, funev=0)
Bug 2: calling function with three-dots construct
If trade.optimizer is called from another function and that function uses the three-dots construct in its definition, then an error happens (complaining about multiple argument names). If you don't get an error, then you can't have hit this bug.
If you run into this problem, then contact us to discuss the best workaround for your instance.