/gas-tinkoff-trades

Google Apps Script that imports your operations from Tinkoff Investments into Google Spreadsheets

Primary LanguageJavaScriptMIT LicenseMIT

GAS Tinkoff Trades

GAS Tinkoff Trades main image

Данный Google Apps Script предназначен для импорта сделок из Тинькофф Инвестиций прямо в Google таблицы, для последующего анализа.

Я сделал этот скрипт для автоматизации ручного вбивания данных из приложения тинькофф, и надеюсь он окажется полезен кому-нибудь ещё :)

Установка

  • Создать или открыть документ Google Spreadsheets http://drive.google.com
  • В меню "Tools" выбрать "Script Editor"
  • Дать проекту имя, например TinkoffTrades
  • Скопировать код из Code.gs
  • Получить OpenApi-токен тинькофф
  • Добавить свойство OPENAPI_TOKEN в разделе File -> Project properties -> Script properties равным токену, полученному выше.
  • Сохранить скрипт 💾

На этом всё. Теперь при работе с этим документом на всех листах будут доступны 2 новые функции getPriceByTicker и getTrades

Функции

  • =getPriceByTicker(ticker, dummy) - требует на вход тикер, и опциональный параметр dummy. Для автоматичекого обновления необходимо указать в качестве dummy ячейку Z1.

  • =getTrades(ticker, from, to) - требует на вход тикер, и опционально фильтрацию по времени. Параметры from и to являются строками и должны быть в ISO 8601 формате

Особенности

  • Скрипт резервирует ячейку Z1 (самая правая ячейка первой строки), в которую вставляет случайное число на каждое изменении листа. Данная ячейка используется в функции getPriceByTicker, - она позволяет автоматически обновлять текущую стоимость тикера при обновлении листа.

  • Среди настроек скрипта есть TRADING_START_AT - дефолтная дата, начиная с которой фильтруются операции getTrades. По умолчанию это Apr 01, 2020 10:00:00, но данную константу можно в любой момент поменять в исходном коде.

Пример использования

=getPriceByTicker("V", Z1)  # Возвращает текущую цену акции Visa
=getPriceByTicker("FXMM", Z1)  # Возвращает текущую цену фонда казначейских облигаций США

=getTrades("V") 
# Вернёт все операции с акцией Visa, которые произошли начиная с TRADING_START_AT и по текущий момент.
=getTrades("V", "2020-05-01T00:00:00.000Z") 
# Вернёт все операции с акцией Visa, которые произошли начиная с 1 мая и по текущий моментs.
=getTrades("V", "2020-05-01T00:00:00.000Z", "2020-05-05T23:59:59.999Z") 
# Вернёт все операции с акцией Visa, которые произошли в период с 1 и по 5 мая.

Пример работы

=getTrades()

getTrades in action

=getPriceByTicker()

Get price by ticker in action