Documentation
/// Log Returns
/// Using natural logarithm because it has nice mathematical properties
pub fn log_returns(series: &Vec<f64>, keep_len: bool) -> Vec<f64> {
  let mut returns = Vec::new();
  if keep_len { returns.push(0.0) };

  for i in 1..series.len() {
    let return_i: f64 = (series[i] / series[i - 1]).ln();
    returns.push(return_i);
  }
  returns
}

/// Returns
/// Returns for a time series
pub fn simple_returns(series: &Vec<f64>, keep_len: bool) -> Vec<f64> {
  let mut returns = Vec::new();
  if keep_len { returns.push(0.0) };

  for i in 1..series.len() {
    let return_i: f64 = series[i] / series[i - 1] - 1.0;
    returns.push(return_i);
  }
  returns
}