|Version 1.06 released
A new version of Portfolio Probe is now available. There's a little new functionality, a few minor bug fixes and some speed improvements.
There is a new constraint argument called min.weight.thresh which provides the minimum weight of any asset that is in a long-only portfolio. This is a convenient way of specifying a common threshold constraint.
Functionality has been added to update methods so that an optimization can be changed to generating random portfolios, and a random portfolio object can be updated to do an optimization.
There are two places where speed has been improved. The timings that are reported here use a random portfolio object that has 10,000 portfolios and the average number of names is about 80. The universe has about 450 assets in it.
randport.eval is faster because it sidesteps a bunch of redundant computation. randport.eval on the 10,000 portfolios took about 81 seconds in version 1.05 and about 29 seconds in version 1.06. Both timings are likely to be quite consistent across different problem specifications.
valuation on random portfolios is faster in some cases because computations have been moved to C. Timings for valuation will depend heavily on the portfolio sizes and so on.
The first test was getting portfolio values for 250 times. This took about 20 seconds with 1.05 and just over a second with 1.06.
The second test used the same 250 times but got log returns instead of values. This again took about 20 seconds in 1.05 and a little over 1.5 seconds in 1.06.
The third test got log returns but now on 2000 times. This took about 177 seconds with 1.05 and about 12 seconds with 1.06.
All timings are on a not-especially-fast machine.
The full extent of the changes can be seen in the change log http://www.portfolioprobe.com/user-area/change-log/
An installation quirk
The standard use of install.packages doesn't work using R version 2.15.2 (and perhaps 2.15.3). There's an option to set first that makes it go. Details are in the Support FAQ http://www.portfolioprobe.com/user-area/frequently-asked-support-questions/#installfail