skfolio.descriptor.ReturnOnAssets#

class skfolio.descriptor.ReturnOnAssets[source]#

Return on assets (ROA) descriptor.

Computes the ratio of trailing twelve-month net income to total assets:

\[\text{ROA}(t) = \frac{\text{net\_income\_ttm}(t)}{\text{total\_assets}(t)}\]

Return on assets measures how efficiently a firm converts its asset base into earnings. Higher values indicate greater profitability per unit of capital deployed [1].

Parameters:
None
Attributes:
n_assets_int

Number of assets seen during fitting.

asset_names_ndarray of shape (n_assets,)

Asset names seen during fitting.

Methods

fit_transform(X[, y])

Compute return on assets.

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

partial_fit_transform(X[, y])

Stateless class delegation to fit_transform.

set_params(**params)

Set the parameters of this estimator.

See also

ReturnOnEquity

Profitability per unit of equity.

AssetTurnover

Sales generated per unit of total assets.

Notes

Net income can be negative, so \(ROA\) can be negative. Negative values distinguish profitable from unprofitable firms.

References

[1]

“A five-factor asset pricing model” Journal of Financial Economics. Fama, E. F., & French, K. R. (2015).

Examples

>>> from skfolio.datasets import make_synthetic_characteristics
>>> from skfolio.descriptor import ReturnOnAssets
>>>
>>> X = make_synthetic_characteristics()
>>>
>>> descriptor = ReturnOnAssets()
>>> return_on_assets = descriptor.fit_transform(X)
fit_transform(X, y=None, **fit_params)[source]#

Compute return on assets.

Parameters:
XAssetPanel

Input panel containing net_income_ttm and total_assets.

yNone

Ignored. Present for compatibility with scikit-learn’s API.

**fit_paramsdict

Additional fit parameters. Ignored.

Returns:
return_on_assetsndarray of shape (n_observations, n_assets)

Net income divided by total assets for each observation and asset.

get_metadata_routing()#

Get metadata routing of this object.

Please check User Guide on how the routing mechanism works.

Returns:
routingMetadataRequest

A MetadataRequest encapsulating routing information.

get_params(deep=True)#

Get parameters for this estimator.

Parameters:
deepbool, default=True

If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:
paramsdict

Parameter names mapped to their values.

partial_fit_transform(X, y=None, **fit_params)#

Stateless class delegation to fit_transform.

set_params(**params)#

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as Pipeline). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Parameters:
**paramsdict

Estimator parameters.

Returns:
selfestimator instance

Estimator instance.