[Google SpreadSheet] Función GOOGLEFINANCE(): Media móvil simple. Ⅲ

Поделиться
HTML-код
  • Опубликовано: 16 ноя 2024
  • Obtener la variación de precio. Variación porcentual. Respecto al precio de cierre del periodo anterior y media móvil simple del precio de cierre. De los periodos anteriores en datos históricos con función GOOGLEFINANCE(). Creando fórmulas formadas por combinaciones de Google Spreadsheet Functions.
    Celda A1: ✍escribe el ticker. Celda A2: 🖉 escribe dias. Celda I2: 🖌 escribe periodos.
    Sustituye la palabra Mayor por el signo (mayor que)
    Propuesta:
    ⒶTickerHistroy!A1: =GOOGLEFINANCE(Ticker!A1;"all";DATE(1930;1;1);TODAY();"DAILY")
    ⒷTicker!A3:
    =LET(getRangeDatasHistory;TickerHistory!A:F; getDays;Ticker!A2;
    getCountShowResults;QUERY(getRangeDatasHistory;"select count(Col1) where Col1 Mayor= date '"&TEXT(TODAY()-getDays;"yyyy-mm-dd")&"' label count(Col1)''");
    getDatasHistoryOperate;QUERY(getRangeDatasHistory;"order by Col1 desc limit "&getCountShowResults;1);
    getShowResults;QUERY(getDatasHistoryOperate;"order by Col1 desc label Col1 '📆Fecha', Col2 '🔓Apertura', Col3 '📈Máximo', Col4 '📉Mínimo', Col5 '🔒Cierre', Col6 '📊Volumen'
    format Col1 'dd/mm/yyyy', Col2 '#,##0.00', Col3 '#,##0.00', Col4 '#,##0.00', Col5 '#,##0.00', Col6 '[Mayor=1000000000000]#,##0.00,,,,"&CHAR(34)&"B"&CHAR(34)&";[Mayor=1000000]#,##0.00,,"&CHAR(34)&"M"&CHAR(34)&";#,##0.00,"&CHAR(34)&"K"&CHAR(34)&"'";1);HSTACK(getShowResults))
    ⒸTicker!G3:
    =LET(getRangeDatasHistory;TickerHistory!A:F; getDays;A2;
    getCountShowResults;QUERY(getRangeDatasHistory;"select count(Col1) where Col1 Mayor= date '"&TEXT(TODAY()-getDays;"yyyy-mm-dd")&"' label count(Col1) ''");
    getDatasHistoryOperate;QUERY(getRangeDatasHistory;"order by Col1 desc limit "&getCountShowResults+1;1);
    getPriceClose;QUERY(getDatasHistoryOperate;"select Col5";1);
    getPriceClosePrevious;QUERY(getDatasHistoryOperate;"select Col5 offset 1";1);
    getVar;QUERY(HSTACK(getPriceClose;getPriceClosePrevious);"select (Col1-Col2) ";1);
    getVarPercent;QUERY(HSTACK(getPriceClose;getPriceClosePrevious);"select (1-(Col2/Col1))";1);
    getShowResults;QUERY(HSTACK(getVar;getVarPercent);"limit "&getCountShowResults&" label Col1 '🧮Var', Col2 '🧮Var %' format Col1 '[blue]+#,##0.00;[red]-#,##0.00;0.00', Col2 '[blue]+#,##0.00%;[red]-#,##0.00%;0.00%'";1);HSTACK(getShowResults))
    ⒹTicker!I3:
    =LET(getRangeDatasHistory;TickerHistory!A:F; getDays;A2; getLengthSma;I2;
    getCountShowResults;QUERY(getRangeDatasHistory;""select count(Col1) where Col1 Mayor= date '""&TEXT(TODAY()-getDays;""yyyy-mm-dd"")&""' label count(Col1) ''"");
    getDatasHistoryOperate;QUERY(getRangeDatasHistory;""order by Col1 desc limit ""&getCountShowResults+getLengthSma;1);
    getSma;MAP(SEQUENCE(getCountShowResults+getLengthSma;1;1;1);LAMBDA(getOffsetNext;AVERAGE(QUERY(getDatasHistoryOperate;""select Col5 limit ""&getLengthSma&"" offset ""&getOffsetNext))));
    getShowResults;QUERY(VSTACK(""🧱Sma: ""&getLengthSma;getSma);""limit ""&getCountShowResults&"" format Col1 '#,##0.00'"";1);HSTACK(getShowResults))
    Propuesta detalle:
    ⒶCrear una hoja nombre «TickerHistory» Insertar fórmula A1. GOOGLEFINANCE(), muestra los datos históricos con el parámetro «all». El ticker se encuentra en otra hoja.DATE() convierte los valores en fecha. Empezado desde los principios hasta la fecha actual con TODAY(). Parámetro «DAILY» frecuencia diaria. Recuerda que puedes ocultar la hoja.
    ⒷInsertar la fórmula en la Celda Ticker!A3:
    Crea una hoja nombre «Ticker». Inmoviliza las tres primeras líneas. Reserva las celdas A1, A2 y I2.
    LET() nombres descriptivos para clarificar su cometido «getRangeDatasHistory» datos históricos. «getDay» intervalo de días a mostrar. «getCountShowResults» numero de periodos mediante QUERY(): Aggregation Function count(). La condición QUERY(): Clause where muestra los días el cálculo de la fecha actual TODAY() menos los días y convirtiendo el patrón de fecha para el lenguaje consulta con TEXT(). La QUERY(): Clause label elimina la etiqueta. «getDatasHistoryOperate» obtenemos los valores a operar en orden descendente mediante QUERY(): Clause order by y limitado los resultados a calcular con QUERY(): Clause limit. «getShowResults» obtenemos los resultados modificando los encabezados por QUERY(): Clause label y creando una patrón para el formato de fecha y número utilizando QUERY(): Clause format. Función HSTACK() resultados en una matriz con la condición si matriz no es cuadrada se muestran.
    Ⓒ Insertar fórmula en la Celda Ticker!G3:
    «getPriceClose» obtenemos los precios del cierre por QUERY(): Clause select «getPriceClosePrevious» Obtenemos los precios de cierre anterior mediante una desfase de un periodo con QUERY(): Clause offset. «getVar» resultado de la variación. «getVarPercent» resultado del porcentaje
    Ⓓ Insertar fórmula en la Celda Ticker!I3:
    «getSma» calcula la media móvil de los períodos anteriores según criterio. MAP() crea una matriz de número consecutivos con SEQUENCE() desde 1 para el desfase del periodo anterior. LAMBDA() «getOffsetNext» usando AVEGARE() obtiene los precios de cierre con el longitud QUERY(): Clause limit y el desfase por QUERY(): Clause offset.

Комментарии •