Блог им. Wolffrr

Импорт данных с Московской биржи в Google Sheets

Привет, друзья!

По мотивам поста от Тимофея о том, насколько полезен ChatGPT в нашей жизни. Все освоил за 5 минут! Далее статья с решением, которую я опубликовал на своем сайте https://osaengine.ru/2024/08/02/%D1%83%D1%87%D0%B8%D0%BC-smartlab-chatgpt.html

Импорт данных с Московской биржи в Google Sheets

Шаг 1: Создание нового документа в Google Sheets

Первым шагом необходимо создать новый документ Google Sheets. Перейдите на сайт Google Sheets и создайте новый документ или откройте существующий.

Шаг 2: Открытие редактора сценариев

В вашем документе Google Sheets перейдите в меню “Расширения” и выберите “Apps Script”. Это откроет редактор сценариев, где вы сможете написать и выполнить скрипт для импорта данных.

Шаг 3: Написание скрипта для импорта данных

В редакторе сценариев удалите все существующие скрипты и вставьте следующий код:

<code>function importMoexData() {
  var url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities.xml';
  try {
    var response = UrlFetchApp. <a name="cut"></a> fetch(url);
    var xml = response.getContentText();
    var document = XmlService.parse(xml);
    var root = document.getRootElement();
    var dataElements = root.getChildren('data');
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    sheet.clear();

    dataElements.forEach(function(dataElement) {
      var rows = dataElement.getChild('rows').getChildren('row');

      // Добавляем заголовки
      if (rows.length > 0) {
        var headers = rows[0].getAttributes().map(function(attr) {
          return attr.getName();
        });
        sheet.appendRow(headers);
      }

      // Добавляем данные
      rows.forEach(function(row) {
        var data = row.getAttributes().map(function(attr) {
          var value = attr.getValue();
          // Заменяем точки на запятые в значениях
          if (!isNaN(value.replace('.', '').replace(',', ''))) {
            value = value.replace('.', ',');
          }
          return value;
        });
        sheet.appendRow(data);
      });
    });
  } catch (e) {
    Logger.log('Error: ' + e.message);
  }
}
</code>

Этот скрипт извлекает данные с сайта Московской биржи в формате XML и импортирует их в ваш Google Sheet, заменяя точки на запятые в числовых значениях.

Шаг 4: Выполнение скрипта

Сохраните скрипт, нажав на значок диска в верхней части редактора. Затем выполните скрипт, нажав на значок треугольника (выполнить). Скрипт загрузит данные с указанного URL и импортирует их в ваш Google Sheet.

Заключение

Таким образом, всего за несколько минут вы можете настроить автоматический импорт данных с Московской биржи в Google Sheets, используя Google Apps Script. Этот метод позволяет экономить время и автоматизировать рутинные задачи, что особенно полезно для трейдеров и аналитиков.

Хотя вопрос был задан Тимофеем на Smart-Lab, этот метод может быть полезен многим, кто ищет эффективные способы работы с финансовыми данными. Надеюсь, эта статья поможет вам в ваших начинаниях!

6.5К | ★21
11 комментариев
Молодец!
avatar
Большое спасибо!
Круто! А если я хочу исторические данные за последние 30 дней по каждому тикеру импортнуть?
avatar
I II, надо поменять URL
Ришат Галиуллин, 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
Hepaботает

пишет это
ИнформацияError: Cannot read properties of null (reading 'getActiveSheet')

 
avatar
cern, не бери активную таблицу, а задай либо таблицу с айди либо с именем. Так же задай имя листа, а лучше номер (нумерация идет слева начиная с 0). У тебя же же получается дословно «возьми активную книгу.возьми активный лист.» а надо либо«возьми книгу с именем '...'.возьми лист с именем '...' » либо «возьми книгу с ID.возьми лист [0].
Ришат Галиуллин, как это выглядит в скрипте непойму, я тот вставил мне выдал ошибку
avatar
Можно поставить еще триггер, например, обновлять данные каждый день в 9.00-10.00
Спасибо, большое!

Скажите, пожалуйста, как импортировать котировки по отдельным компаниям (по списку)?
А как фьючерс получить таким же способом?

Читайте на SMART-LAB:
Фото
Обновление веб-терминала Альфа-Инвестиции
Веб-терминал Альфа-Инвестиции — это современный торговый терминал для инвесторов и трейдеров, который доступен в браузере с компьютера или...
Фото
Корпоративные облигации
Облигации федерального займа — актив не для всех. Короткие государственные бумаги предлагают невыразительную доходность даже относительно...
Фото
USD/CAD: Роковая звезда над каналом — канадский доллар готовит контрудар
«Канадец» закрыл торговый вторник классической «падающей звездой», которая филигранно оттолкнулась от линии тренда нисходящего канала и...
Фото
Интер РАО. МСФО 2025г. Тяжелые результаты, но дальше ещё тяжелее...
Компания Интер РАО опубликовала финансовые результаты за Q4 2025г. по МСФО: 👉Выручка — 518,4 млрд руб. (+13,2% г/г) 👉Операционные...

теги блога Gambler <osaengine.ru>

....все тэги



UPDONW
Новый дизайн