protected ViewCalculationConfiguration createViewCalculationConfiguration(final ViewDefinition viewDefinition, final String calcConfigName) {
return new ViewCalculationConfiguration(viewDefinition, calcConfigName);
}
protected <T extends Comparable<? super T>> DoubleLabelledMatrix2D createCovarianceMatrix(DoubleTimeSeries<T>[] timeSeries, Object[] labels) {
final CovarianceMatrixCalculator calculator = new CovarianceMatrixCalculator(new HistoricalCovarianceCalculator());
int len = timeSeries.length;
// Any nulls or empty time series (missing data) will upset the calculator, so we'll remove them and produce a best efforts matrix with what is left
for (int i = 0; i < len; i++) {
if ((timeSeries[i] == null) || timeSeries[i].isEmpty()) {
len--;