<a id="distance"></a>

<a id="distance-estimator"></a>

# Distance Estimator

A [distance estimator](https://skfolio.org/api.html.md#distance-ref) estimates the codependence and distance
matrix of the assets.

It follows the same API as scikit-learn’s `estimator`: the `fit` method takes `X` as the
assets returns and stores the codependence and distance matrix in its `codependence_`
and `distance_` attributes.

`X` can be any array-like structure (numpy array, pandas DataFrame, etc.)

Available estimators are:
: * [`PearsonDistance`](https://skfolio.org/generated/skfolio.distance.PearsonDistance.html.md#skfolio.distance.PearsonDistance)
  * [`KendallDistance`](https://skfolio.org/generated/skfolio.distance.KendallDistance.html.md#skfolio.distance.KendallDistance)
  * [`SpearmanDistance`](https://skfolio.org/generated/skfolio.distance.SpearmanDistance.html.md#skfolio.distance.SpearmanDistance)
  * [`CovarianceDistance`](https://skfolio.org/generated/skfolio.distance.CovarianceDistance.html.md#skfolio.distance.CovarianceDistance)
  * [`DistanceCorrelation`](https://skfolio.org/generated/skfolio.distance.DistanceCorrelation.html.md#skfolio.distance.DistanceCorrelation)
  * [`MutualInformation`](https://skfolio.org/generated/skfolio.distance.MutualInformation.html.md#skfolio.distance.MutualInformation)

**Example:**

```python
from skfolio.datasets import load_sp500_dataset
from skfolio.distance import PearsonDistance
from skfolio.preprocessing import prices_to_returns

prices = load_sp500_dataset()
X = prices_to_returns(prices)

model = PearsonDistance()
model.fit(X)
print(model.codependence_)
print(model.distance_)
```
