package com.smppw.core.reta.calc;


import com.smppw.common.pojo.dto.DateValue;
import com.smppw.core.reta.Rate;

import java.util.List;

/**
 * @author zhengsongliang
 * @datetime 2017年7月26日 下午4:47:12
 */
public class IntervalReturn extends Rate {

	@Override
	public Double calc(List<DateValue> dateValues) {
		if (dateValues == null || dateValues.size() < 2 || dateValues.get(0) == null) {
			return null;
		}
		double start = dateValues.get(0).getValue();
		double end = dateValues.get(dateValues.size() - 1).getValue();
		if (start == 0) {
			for (DateValue dateValue : dateValues) {
				if (dateValue.getValue() != null && dateValue.getValue().compareTo(0.0) != 0) {
					start = dateValue.getValue();
					break;
				}
			}
		}
		return start == 0 ? null : end / start - 1;
	}
}
