Escribir un generador de existencias al azar de Mosbirzhe en JavaScript

La idea surgió después de que accidentalmente vi un generador similar para NASDAQ American Exchange , donde el script bash descarga una lista resumida de documentos estadounidenses desde un servidor FTP y lo transforma en JSON, que consta de solo tickers, y luego muestra el marco de arranque y JavaScript puro en la pantalla un ticker de acciones al azar mientras se vincula al popular Yahoo! Finanzas


La "magia" de la plataforma CodePen para el intercambio de Moscú

El código fue adaptado para las realidades rusas, y además de recibir una lista de valores de la Bolsa de Moscú, se realizó un cálculo de rentabilidad para los últimos n años.

No se requería un servidor adicional, porque la API de Mosbirzh puede realizar la emisión inmediatamente en formato JSON.

¿Qué se necesita para el funcionamiento del generador de acciones aleatorias?


  1. « » (boardid) .

    //      
    url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/'
  2. boardid .

    boardid = 'TQBR' //  
    url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/'+ boardid +'/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID,SECNAME'
  3. .
  4. .

    boardid = 'TQBR' //  
    url = 'http://iss.moex.com/iss/engines/stock/markets/shares/boards/'+ boardid +'/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID,PREVADMITTEDQUOTE'
  5. n . API boardid, SECID , :
    — boardid = TQBR
    — SECID = SBER
    — date = 2015-01-10
    .

    boardid = 'TQBR' //   
    SECID = 'SBER' // 
    date = '2015-01-10' // 
    url = 'http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/'+ boardid +'/securities/'+ SECID +'.json?iss.meta=off&iss.only=history&history.columns=SECID,TRADEDATE,CLOSE&limit=1&from=' + date
  6. 5 , .

    curStock = 'AFKS'
    dateNow = '2020-03-06'
    datePre = '2015-03-06'
    fetch(getCost(curStock, datePre)).then(result => {
        return (result.json())
    }).then(res => {
        let costPre = res.history.data[0][2];
        return (costPre)
    }).then(costPre => {
        fetch(getCost(curStock, dateNow)).then(result => {
            return (result.json())
        }).then(res => {
            let costNow = res.history.data[0][2];
            console.log(costPre);
            console.log(costNow);
            console.log(parseInt((costNow * 100) / costPre, 10) - 100)
        })
    })
    
    function getCost(id, date) {
        let url = `http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/${id}.json?iss.meta=off&iss.only=history&history.columns=SECID,TRADEDATE,CLOSE&limit=1&from=${date}`
        return url;
    }

No había grandes requisitos para el código, era importante que funcionara y realizara su tarea.


GIF con una demostración del generador de acciones generado aleatoriamente Mosbirzi en JavaScript

Por alguna razón, la API de Mosbirzi proporciona datos históricos solo desde junio de 2014, es decir, no es posible obtener datos anteriores a través de una solicitud.

Código completo en GitHub y CodePen .

Total


El generador de acciones al azar de la Bolsa de Moscú funciona y emite no solo documentos al azar, sino que también considera el rendimiento para un intervalo de tiempo personalizado.

También quiero señalar que no está relacionado de ninguna manera con la Bolsa de Moscú y uso ISS Mosbirzhy solo para intereses personales.

Autor: Mikhail Shardin .
Código: Alexander Palachev .

3 de abril de 2020

All Articles