Данный Google Apps Script предназначен для импорта сделок из Тинькофф Инвестиций прямо в Google таблицы, для последующего анализа.
Я сделал этот скрипт для автоматизации ручного вбивания данных из приложения тинькофф, и надеюсь он окажется полезен кому-нибудь ещё :)
- Создать или открыть документ Google Spreadsheets http://drive.google.com
- В меню "Tools" выбрать "Script Editor"
- Дать проекту имя, например
TinkoffTrades
- Скопировать код из Code.gs
- Получить OpenApi-токен тинькофф
- Добавить свойство
OPENAPI_TOKEN
в разделеFile -> Project properties -> Script properties
равным токену, полученному выше (для этого надо переключиться в старый редактор кода по кнопке "Use classic editor"). - Сохранить скрипт 💾
На этом всё. Теперь при работе с этим документом на всех листах будут доступны новые функции getPriceByTicker()
, getTrades()
, getPortfolio()
, getMaxBidByTicker()
, getMinAskByTicker()
и getBidAskSpread()
.
-
=getPriceByTicker(ticker, dummy)
- требует на вход тикер, и опциональный параметрdummy
. Для автоматичекого обновления необходимо указать в качествеdummy
ячейкуZ1
(которая будет обновлятся через меню TI). -
=getTrades(ticker, from, to)
- требует на вход тикер, и опционально фильтрацию по времени. Параметрыfrom
иto
являются строками и должны быть в ISO 8601 формате -
=getPortfolio()
- выводит портфель.
-
Скрипт резервирует ячейку
Z1
(самая правая ячейка первой строки), в которую по команде меню TI->Обновить вставляется текущая дата. Данная ячейка может используется в качестве необязательного параметра любой функции для принудительного обновления. -
Среди настроек скрипта есть
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 мая.