Conceptos y métricas para el proyecto de estadísticas
El objetivo de este PR es definir un mecanismo que nos sirva para estandarizar los conceptos con los que trabajamos durante el proceso de análisis tal que sea posible construir estructuras como dataframes de pandas y registros de numpy con nombres de columnas estándar. De esta forma distintos componentes pueden compartir información más fácilmente, y distintas personas pueden implementar componentes distintos que trabajan con los mismos conceptos.
Por ejemplo, en este PR se definen en un módulo concepts varios conceptos como los siguientes:
"""
NET_INCOME (np.float64), equivalent to the XBRL US GAAP taxonomy concept us-gaap:NetIncomeLoss, defined as the
"portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
"""
NET_INCOME = 'net_income'
"""
RETURN_ON_EQUITY (np.float64) is net income divided by shareholder's equity. In terms of XBRL US GAAP taxonomy
elements, it can be defined as the ratio us-gaap:NetIncomeLoss / us-gaap:StockholdersEquity.
"""
RETURN_ON_EQUITY = 'return_on_equity'
"""
STOCKHOLDER_EQUITY (np.float64), equivalent to the XBRL US GAAP taxonomy concept us-gaap:StockholdersEquity, defined
as the "amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to
noncontrolling interest."
"""
STOCKHOLDER_EQUITY = 'stockholder_equity'
Luego, un desarrollador A escribir código que en base a alguna fuente de datos construye un dataframe como el siguiente:
Por otro lado, un desarrollador B puede implementar una función como la siguiente, que trabaja sobre un dataframe con columnas estándar:
import ge.finance.concept as concept
import pandas as pd
def return_on_equity(df: pd.DataFrame) -> pd.Series:
"""
Computes standard RETURN_ON_EQUITY given a dataframe with standard columns NET_INCOME and STOCKHOLDER_EQUITY.
The result is returned as a pandas series.
"""
return df[concept.NET_INCOME] / df[concept.STOCKHOLDER_EQUITY]
Otro desarrollador puede hacer uso de esta función, sabiendo por la documentación que calcula RETURN_ON_EQUITY, para extender el dataframe construido por el desarrollador A haciendo uso de la función definida por el desarrollador B:
import ge.finance.metrics as metrics
data[concept.RETURN_ON_EQUITY] = metrics.return_on_equity(data)
Conceptos y métricas para el proyecto de estadísticas
El objetivo de este PR es definir un mecanismo que nos sirva para estandarizar los conceptos con los que trabajamos durante el proceso de análisis tal que sea posible construir estructuras como dataframes de pandas y registros de numpy con nombres de columnas estándar. De esta forma distintos componentes pueden compartir información más fácilmente, y distintas personas pueden implementar componentes distintos que trabajan con los mismos conceptos.
Por ejemplo, en este PR se definen en un módulo
concepts
varios conceptos como los siguientes:Luego, un desarrollador A escribir código que en base a alguna fuente de datos construye un dataframe como el siguiente:
Por otro lado, un desarrollador B puede implementar una función como la siguiente, que trabaja sobre un dataframe con columnas estándar:
Otro desarrollador puede hacer uso de esta función, sabiendo por la documentación que calcula RETURN_ON_EQUITY, para extender el dataframe construido por el desarrollador A haciendo uso de la función definida por el desarrollador B: