Идея появилась, после того как случайно увидел подобный генератор для американской биржи NASDAQ, где автор bash скриптом скачивает с FTP сервера сводный список американских бумаг и трансформирует его в JSON, состоящий из одних тикеров, а затем при помощи фреймворка bootstrap и чистого JavaScript выводит на экран рандомный биржевой тикер, одновременно давая ссылку на популярный ресурс Yahoo! Finance.
«Магия» платформы CodePen для Московской биржи
Код был адаптирован для российских реалий и помимо получения списка бумаг с Мосбиржи был сделан расчет доходности за последние n лет.
Дополнительный сервер не потребовался, потому что API Мосбиржи может делать выдачу сразу в формате JSON.
К коду не предъявлялось больших требований, важно было то, что он работает и выполняет свою задачу.
Гифка с демонстрацией работы генератора рандомных акций Мосбиржи на JavaScript
Почему-то API Мосбиржи выдает исторические данные только начиная с июня 2014 года, то есть не удается получить более ранние данные через запрос.
Полный код на GitHub и CodePen.
Генератор случайных акций с Московской биржи работает и выдает не только случайные бумаги, но и считает доходность за настраиваемый интервал времени.
Также хочу отметить, что никак не связан с Московской биржей и использую ИСС Мосбиржи только в личных интересах.
Автор: Михаил Шардин.
Код: Александр Палачёв.
3 апреля 2020 г.
«Магия» платформы CodePen для Московской биржи
Код был адаптирован для российских реалий и помимо получения списка бумаг с Мосбиржи был сделан расчет доходности за последние n лет.
Дополнительный сервер не потребовался, потому что API Мосбиржи может делать выдачу сразу в формате JSON.
Что нужно для работы генератора случайных акций?
- Брать информацию с биржи о существующих «идентификаторах режима торгов» (boardid) Мосбиржи.
//информация о торгуемых акциях на Московской бирже url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/'
- Брать полный список бумаг для некоторых 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'
- Сверяться со сводной статистикой бумаг на Московской бирже.
- Узнавать текущую цену для конкретной ценной бумаги.
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'
- Получать цену 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
- Сравнивать вчерашнюю цену актива и цену 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; }
К коду не предъявлялось больших требований, важно было то, что он работает и выполняет свою задачу.
Гифка с демонстрацией работы генератора рандомных акций Мосбиржи на JavaScript
Почему-то API Мосбиржи выдает исторические данные только начиная с июня 2014 года, то есть не удается получить более ранние данные через запрос.
Полный код на GitHub и CodePen.
Итог
Генератор случайных акций с Московской биржи работает и выдает не только случайные бумаги, но и считает доходность за настраиваемый интервал времени.
Также хочу отметить, что никак не связан с Московской биржей и использую ИСС Мосбиржи только в личных интересах.
Автор: Михаил Шардин.
Код: Александр Палачёв.
3 апреля 2020 г.
xFFFF
Не пойму, в чем польза от этого генератора?
empenoso Автор
Польза в том, что если потребуется обращаться к API Мосбиржи и получать данные, то это уже готовый работающий пример для JavaScript и Google Apps Script.
Документация ИИС не идеальна и некоторые моменты просто не задокументированы, а этот генератор действующий пример.
LinearLeopard
Ну, во-первых, это красиво :)
empenoso Автор
Я неистово плюсую (как автор).