<a id="skfolio-measures-variance"></a>

# skfolio.measures.variance

<a id="skfolio.measures.variance"></a>

### skfolio.measures.variance(returns, biased=False, sample_weight=None)

Compute the variance (second moment).

* **Parameters:**
  **returns** *ndarray of shape (n_observations,) or (n_observations, n_assets)*
  : Array of return values.

  **biased** *bool, default=False*
  : If False (default), computes the sample variance (unbiased); otherwise,
    computes the population variance (biased).

  **sample_weight** *ndarray of shape (n_observations,), optional*
  : Sample weights for each observation. If None, equal weights are assumed.
* **Returns:**
  **value** *float or ndarray of shape (n_assets,)*
  : Variance.
    If `returns` is a 1D-array, the result is a float.
    If `returns` is a 2D-array, the result is a ndarray of shape (n_assets,).

### Notes

NaN handling:
- Unweighted: NaNs are ignored; all-NaN inputs yield NaN.
- Weighted: NaNs propagate.

