Changeset 1420 in algoquant
- Timestamp:
- 5/3/2013 11:21:33 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
core/src/main/java/com/numericalmethod/algoquant/model/factormodel/famafrench1992/portfolio/FactorRanking.java
r1366 r1420 31 31 import com.numericalmethod.algoquant.model.factormodel.famafrench1992.portfolio.FactorRanking.FactorRanks; 32 32 import static com.numericalmethod.nmutils.collection.CollectionUtils.*; 33 import com.numericalmethod.suanshu.misc.algorithm.C ombination;33 import com.numericalmethod.suanshu.misc.algorithm.CartesianProduct; 34 34 import com.numericalmethod.suanshu.number.DoubleUtils; 35 35 import java.util.*; … … 110 110 public int[] computeBucketSizes(int nItems, int nBuckets); 111 111 } 112 112 113 private final List<Factor> factors; 113 114 private final Map<Factor, Integer> factor2nBuckets; … … 116 117 117 118 public FactorRanking(List<Factor> factors, Map<Factor, Integer> factor2nBuckets, 118 FactorValueLookup factorValueLookup) {119 FactorValueLookup factorValueLookup) { 119 120 this(factors, factor2nBuckets, factorValueLookup, new MoreOnMiddleBucketsAllocation()); 120 121 } … … 131 132 */ 132 133 public FactorRanking( 133 List<Factor> factors,134 Map<Factor, Integer> factor2nBuckets,135 FactorValueLookup factorValueLookup,136 BucketSizeAllocation allocation) {134 List<Factor> factors, 135 Map<Factor, Integer> factor2nBuckets, 136 FactorValueLookup factorValueLookup, 137 BucketSizeAllocation allocation) { 137 138 this.factors = factors; 138 139 this.factor2nBuckets = factor2nBuckets; … … 169 170 public int compare(Equity o1, Equity o2) { 170 171 return Double.compare( 171 factorValueLookup.getValue(o1, factor),172 factorValueLookup.getValue(o2, factor));172 factorValueLookup.getValue(o1, factor), 173 factorValueLookup.getValue(o2, factor)); 173 174 } 174 175 }); … … 189 190 190 191 private Map<FactorRanks, Set<Equity>> assignEquitiesToSets(Set<Equity> equities, 191 Map<Equity, List<Integer>> equity2Ranks) {192 Map<Equity, List<Integer>> equity2Ranks) { 192 193 Map<FactorRanks, Set<Equity>> ranks2Equities = newHashMap(); 193 for (List<Integer> ranks : computeRank Combination(factors, factor2nBuckets)) {194 for (List<Integer> ranks : computeRankProduct(factors, factor2nBuckets)) { 194 195 ranks2Equities.put(new FactorRanks(ranks), new HashSet<Equity>()); 195 196 } … … 201 202 } 202 203 203 private static C ombination<Integer> computeRankCombination(List<Factor> factors,204 Map<Factor, Integer> factor2nBuckets) {204 private static CartesianProduct<Integer> computeRankProduct(List<Factor> factors, 205 Map<Factor, Integer> factor2nBuckets) { 205 206 Integer[][] sets = new Integer[factors.size()][]; 206 207 for (int i = 0; i < sets.length; ++i) { … … 211 212 } 212 213 213 C ombination<Integer> combination = new Combination<Integer>(sets);214 return combination;214 CartesianProduct<Integer> product = new CartesianProduct<Integer>(sets); 215 return product; 215 216 } 216 217 }
Note: See TracChangeset
for help on using the changeset viewer.
