refactoring + property unit test for FundOptimizer