Retorno de cartera acumulativo dinámico: con archivos

Un usuario Pregunto ✅

Power_BI_Help

Hola, comunidades de Power BI:

Estoy tratando de crear un gráfico de retorno acumulativo para múltiples carteras (dividido a través de una leyenda) frente a un eje de serie de tiempo. Quiero poder profundizar en un año / mes / trimestre / etc. específico de y restablecer el rendimiento acumulativo para el período de tiempo visto en el gráfico o poder usar una cortadora / filtro para recortar el área que estoy mirando y aún tener el rendimiento acumulativo para los datos visibles que comienzan en 0%.

El rendimiento acumulativo se define aquí: https://www.investopedia.com/terms/c/cumulativereturn.asp

Puedo calcular la suma del cambio diario para el período que estoy viendo. Donde me encuentro con dificultades es encontrar una manera de hacer referencia al valor inicial de la cartera (fijo) en toda la serie de tiempo. Históricamente, para el rendimiento anual o similar, puedo usar FIRSTDATE y extraer el valor inicial de la cartera para esa unidad de tiempo. La acumulación es un poco más desafiante porque necesita que ese valor se fije en las unidades de tiempo. Cualquier fórmula que incorpore o calcule se repetirá durante el período de tiempo en el que estoy (es decir, si quiero usar el valor de la cartera para el 1/1/2015 en todas las series de tiempo, las fórmulas están usando 1/1/2015, 1/2 / 2015, 1/3/2015, etc., no es una columna rellenada con el valor de la cartera al 1/1/2015). Estoy pensando que esto podría ser posible con las funciones FIRSTNONBLANK, ALLSELECTED, FILTER, EARLIEST, pero parece que no puedo juntarlo.

Adjunté un archivo de Power BI de ejemplo que tiene datos de cartera de ejemplo tratando de ilustrar lo que estoy buscando. Además, adjunté un archivo de Excel que tiene el cálculo apropiado para el retorno acumulativo comenzando en diferentes puntos de tiempo (que en Power BI se calcularía correctamente a través de un segmentador o filtro).

Aquí hay un enlace a los archivos de Onedrive: https://1drv.ms/u/s!AqA0zdOdqkphhUrRMiu9lSWhkFez?e=2edupu

Power_BI_Help

En respuesta a Power_BI_Help

Para cualquiera que lea esto … debería haber pensado en el problema de una manera diferente, una tontería para mantenerlo en dólares sin procesar.

Terminé calculando el cambio diario ($); luego convertir eso en un cambio porcentual diario (%); 1 + cambio porcentual diario (%). Eso elimina la necesidad de poder dividir por la primera parte porque puede mantener sus unidades en porcentajes. Luego ejecute un Productx (Table, Table[PercChg]). El acumulado comenzará al 100% y se ajustará en función de las ganancias / pérdidas en el futuro.

Hola @Power_BI_Help,

Suena como una analítica de registro general en varios campos de fecha que no es compatible con el lado de Power Bi Desktop.
Me gustaría sugerirle que eche un vistazo al siguiente enlace sobre cómo crear una tabla calculada con expandir los registros del rango de fechas y usarla como tabla puente para vincular tablas sin procesar.
Después de estos pasos, puede usar el campo de fecha puente y los campos de tabla sin procesar para simplemente analizar los registros entre dos rangos de fechas.

Distribuya los ingresos a lo largo del período según la fecha de inicio y finalización, divida y divida esto usando diferentes fechas

Saludos,

Xiaoxin Sheng

Power_BI_Help

En respuesta a v-shex-msft

Oye Xiaoxin Sheng / @ v-shex-msft,

El concepto aquí es crear una tabla independiente donde cada uno de los rangos de visualización deseados sea una fila independiente. Cada fila contendrá un valor de cartera singular. De esa manera, cada vez que haga referencia a esa fila, una función obtendrá el valor singular que no está vinculado a una fecha.

Gracias por su respuesta, es lamentable que una variable global /el registro general no está disponible.

Power_BI_Help

En respuesta a Power_BI_Help

Para cualquiera que lea esto … debería haber pensado en el problema de una manera diferente, una tontería para mantenerlo en dólares sin procesar.

Terminé calculando el cambio diario ($); luego convertir eso en un cambio porcentual diario (%); 1 + cambio porcentual diario (%). Eso elimina la necesidad de poder dividir por la primera parte porque puede mantener sus unidades en porcentajes. Luego ejecute un Productx (Table, Table[PercChg]). El acumulado comenzará al 100% y se ajustará en función de las ganancias / pérdidas en el futuro.

@Power_BI_Help, no he comprobado el archivo. Pero si desea diferenciar entre la primera y la última fecha seleccionada, puede hacer como

medida =
var _max = maxx (allselected (Date), Date[Date])
var _min = minx (allselected (Date), Date[Date])
regreso
calcular (max (Tabla[price]), filtro (Tabla, Tabla[date]= _max)) -calculate (max (Tabla[price]), filtro (Tabla, Tabla[date]= _min))

Power_BI_Help

En respuesta a Amitchandak

Hola Amitchandak, agradezco la respuesta,

Esa es una forma inteligente de calcular el acumulado desde una perspectiva de KPI, pero estoy tratando de encontrar una manera de tener un gráfico de líneas que muestre todos los valores intermedios. En la fórmula escrita, filtra a las fechas _max y _min (por lo que filtra todos los puntos de datos intermedios.

Quiero que este sea un valor fijo (estático) en la totalidad del cálculo para todos los puntos de tiempo:

var _min = Calcular (Max (Tabla[Price]), minx (allselected (Date), Date[Date]))

// el problema es que cuando aplica esa expresión como filtro, limita los datos solo a la fecha mínima y nada intermedio

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *