Данный Google Apps Script предназначен для импорта сделок из Тинькофф Инвестиций прямо в Google таблицы, для последующего анализа.
Я сделал этот скрипт для автоматизации ручного вбивания данных из приложения тинькофф, и надеюсь он окажется полезен кому-нибудь ещё :)
TinkoffTrades
OPENAPI_TOKEN
в разделе Project properties -> Script properties
со значением токена, полученным выше.UPDATE_DATE
с помощью меню Data
->Named ranges
->Add named range
. В эту ячейку по команде меню TI->Обновить вставляется текущая дата. Данная ячейка может использоваться в качестве необязательного параметра UPDATE_DATE
любой функции для принудительного обновления формул. Например, при использовании функции TI_GetLastPriceByFigi("BBG004730RP0",UPDATE_DATE)
можно реализовать обновление цены акции "Газпром" по команде меню TI->Обновить.На этом всё. Теперь при работе с этим документом на всех листах будут доступны функции:
TI_GetAccounts()
, TI_GetAccountID()
, TI_GetInstrumentsID()
, TI_GetLastPriceByFigi()
, TI_GetPortfolio()
, TI_GetOperations()
, TI_GetBidAskSpread()
и TI_GetLastPrice()
(использует API v1 и может перестать работать)getPriceByTicker()
, getTrades()
, getPortfolio()
, getMaxBidByTicker()
, getMinAskByTicker()
и getBidAskSpread()
TI_GetAccounts()
- получение информации по счетам (идентификатор, тип, название, статус, дата открытия, права доступа).
TI_GetAccountID(accountNum)
- возвращает идентификатор счета по его порядковому номеру (начиная с 0).
=TI_GetLastPriceByFigi(FIGI, UPDATE_DATE)
- требует на вход FIGI инструмента (может быть получен через =VLOOKUP()
по отдельной вкладке с информацией по всем инструментам, полученной вызовом TI_GetInstrumentsID()
) и опциональный параметр с именем ячейки UPDATE_DATE
, которая будет обновлятся через меню TI->Обновить).
=TI_GetInstrumentsID()
- выводит информацию по всем инструментам, включая их тикер, FIGI, класс, биржу, валюту и ISIN.
=TI_GetOperations(accountId, from, to)
- выводит операции по заданному идентификатору счета (можно получить через функцию TI_GetAccounts()
) и, опционально, фильтрацию по времени. Параметры from
и to
являются ссылками на ячейки с типом Дата.
=TI_GetPortfolio(accountId)
- выводит портфель по заданному идентификатору счета (можно получить через функцию TI_GetAccounts()
.
=getPriceByTicker(ticker, UPDATE_DATE)
- требует на вход тикер, и опциональный параметр с именем ячейки UPDATE_DATE
, которая будет обновлятся через меню TI->Обновить).
=getTrades(ticker, from, to)
- требует на вход тикер, и опционально фильтрацию по времени. Параметры from
и to
являются строками и должны быть в ISO 8601 формате
=getPortfolio()
- выводит портфель.
TRADING_START_AT
- дефолтная дата, начиная с которой фильтруются операции getTrades
. По умолчанию это Apr 01, 2020 10:00:00
, но данную константу можно в любой момент поменять в исходном коде.=getPriceByTicker("V", UPDATE_DATE) # Возвращает текущую цену акции Visa
=getPriceByTicker("FXMM", UPDATE_DATE) # Возвращает текущую цену фонда казначейских облигаций США
=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()
=getPriceByTicker()