Escrevendo um gerador aleatório de ações do Mosbirzhe em JavaScript

A ideia surgiu depois que vi acidentalmente um gerador semelhante para a bolsa americana NASDAQ , onde o script bash baixa uma lista resumida de documentos americanos de um servidor FTP e a transforma em JSON, consistindo apenas de tickers, e exibe a estrutura de inicialização e o JavaScript puro na tela um ticker de ações aleatório enquanto vincula ao popular Yahoo! Finança


A "mágica" da plataforma CodePen para a Bolsa de Moscou

O código foi adaptado às realidades russas e, além de receber uma lista de valores mobiliários da Bolsa de Moscou, foi feito um cálculo de rentabilidade nos últimos n anos.

Não foi necessário um servidor adicional, porque a API Mosbirzh pode fazer a emissão imediatamente no formato JSON.

O que é necessário para a operação do gerador de compartilhamento aleatório?


  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;
    }

Não havia grandes requisitos para o código, era importante que funcionasse e cumprisse sua tarefa.


GIF com uma demonstração do gerador de gerador aleatório Mosbirzi em JavaScript

Por algum motivo, a API Mosbirzi emite dados históricos apenas desde junho de 2014, ou seja, não é possível obter dados anteriores por meio de uma solicitação.

Código completo no GitHub e CodePen .

Total


O gerador de estoque aleatório da Bolsa de Moscou trabalha e emite não apenas documentos aleatórios, mas também considera o rendimento para um intervalo de tempo personalizado.

Quero também observar que não está de forma alguma relacionado à Bolsa de Moscou e uso a ISS Mosbirzhy apenas para interesses pessoais.

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

3 de abril de 2020

All Articles