private void calculateChanges() {
		// Collection pcs = prices.values();
		TreeSet<Float> dates = new TreeSet<Float>(PRICES.keySet());
		// float[][] asArray = new float[dates.size()][dbSet.length];
		// allocate variables
		float[] startPrices = null;
		float[] endPrices;
		Iterator<Float> datadays = dates.iterator();
		float startDate = 0;
		// get initial prices array and timekey
		if (datadays.hasNext()) {
			startDate = datadays.next();
			startPrices = PRICES.get(startDate);
		}
		// cycle through the rest calculating changes
		while (datadays.hasNext()) {
			float endDate = datadays.next();
			endPrices = PRICES.get(endDate);
			// calculates price change array and adds it to UNFORESEEN
			// System.out.println("start: " + Arrays.toString(startPrices));
			// System.out.println("end  : " + Arrays.toString(endPrices));
			calculateAllChangesForInterval(startDate, startPrices, endPrices);
			startDate = endDate;
			startPrices = endPrices;
		}
	}