@Override
    public int hashCode() {
        int result;
        long temp;
        temp = openPrice != +0.0d ? Double.doubleToLongBits(openPrice) : 0L;
        result = (int) (temp ^ (temp >>> 32));
        temp = closePrice != +0.0d ? Double.doubleToLongBits(closePrice) : 0L;
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        temp = highPrice != +0.0d ? Double.doubleToLongBits(highPrice) : 0L;
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        temp = lowPrice != +0.0d ? Double.doubleToLongBits(lowPrice) : 0L;
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        result = 31 * result + (periodType != null ? periodType.hashCode() : 0);
        result = 31 * result + (symbol != null ? symbol.hashCode() : 0);
        result = 31 * result + (int) (timestamp ^ (timestamp >>> 32));
        return result;
    }