package com.activequant.combination;
import java.util.ArrayList;
import java.util.List;
public class SingleMaxValueCombiner {
public List<OutputDataRow> combine(String valueSeriesKey, String denominatorSeriesKey, String[] instrumentIds) {
return null;
}
public List<OutputDataRow> combine(List<InputDataRow> valSeries) {
List<OutputDataRow> ret = new ArrayList<OutputDataRow>();
for (InputDataRow dr : valSeries)
ret.add(combine(dr));
return ret;
}
private OutputDataRow combine(InputDataRow row) {
double val = Double.MIN_VALUE;
Integer index = null;
for (int i = 0; i < row.denominators.length; i++) {
if (row.denominators[i] != null && row.denominators[i] > val) {
val = row.values[i];
index = i;
}
}
OutputDataRow ret = new OutputDataRow();
if (index != null) {
ret.value = val;
ret.usedInstrument = row.instruments[index];
}
return ret;
}
}