Schreiben eines zufÀlligen Aktiengenerators von Mosbirzhe in JavaScript

Die Idee entstand, nachdem ich versehentlich einen Ă€hnlichen Generator fĂŒr die US-Börse NASDAQ gesehen hatte , bei dem das Bash-Skript eine zusammenfassende Liste amerikanischer Artikel von einem FTP-Server herunterlĂ€dt und in JSON umwandelt, das nur aus Tickern besteht, und dann das Bootstrap-Framework und reines JavaScript auf dem Bildschirm anzeigt ein zufĂ€lliger Börsenticker beim VerknĂŒpfen mit dem beliebten Yahoo! Finanzen


Die "Magie" der CodePen-Plattform fĂŒr die Moskauer Börse

Der Kodex wurde an die russischen Gegebenheiten angepasst, und zusĂ€tzlich zum Erhalt einer Liste von Wertpapieren von der Moskauer Börse wurde eine RentabilitĂ€tsberechnung fĂŒr die letzten n Jahre durchgefĂŒhrt.

Ein zusĂ€tzlicher Server war nicht erforderlich, da die Mosbirzh-API die Ausgabe sofort im JSON-Format durchfĂŒhren kann.

Was wird fĂŒr den Betrieb des Zufallsgenerators benötigt?


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

Es gab keine großen Anforderungen an den Code, es war wichtig, dass er funktioniert und seine Aufgabe erfĂŒllt.


GIF mit einer Demonstration des Mosbirzi-Zufallsgeneratorgenerators in JavaScript

Aus irgendeinem Grund gibt die Mosbirzi-API erst seit Juni 2014 historische Daten aus, dh es ist nicht möglich, frĂŒhere Daten ĂŒber eine Anforderung abzurufen.

VollstÀndiger Code auf GitHub und CodePen .

Gesamt


Der Zufallsgenerator der Moskauer Börse arbeitet und gibt nicht nur zufĂ€llige Papiere aus, sondern berĂŒcksichtigt auch die Rendite fĂŒr ein benutzerdefiniertes Zeitintervall.

Ich möchte auch darauf hinweisen, dass es in keiner Weise mit der Moskauer Börse verbunden ist und ich die ISS Mosbirzhy nur fĂŒr persönliche Interessen benutze.

Verfasser: Mikhail Shardin .
Code: Alexander Palachev .

3. April 2020

All Articles