Как вести учет криптовалютного портфеля в Гугл Таблицах
Введение
«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.
На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения учета и контроля своего инвестиционного криптопортфеля.
Также существуют инструменты для работы в Google Sheets. В таблицах есть функция GOOGLEFINANCE("BTCUSD"), которая позволяет учитывать курс биржи в паре доллара к биткоину. А в аддонах к таблицам можно найти CRYPTOFINANCE. Эта функция опирается на данные CoinMarketCap и подтягивает их по API. Данные обновляются всякий раз, как вы открываете или перезагружаете документ.
У вышеуказанных функций есть свои недостатки, например GOOGLEFINANCE имеет сильно ограниченное число криптовалютных пар. У CRYPTOFINANCE есть большинство криптовалютных пар имеющихся на различных биржах, но есть свои ограничения по количеству запросов. Поначалу я сам пользовался сервисом CRYPTOFINANCE на платной основе. Но в процессе эксплуатации понял что нужно делать что-то своё. Чтобы было максимально гибко, просто и доступно каждому.
В этой статье я покажу как в гугл таблицах простым способом и бесплатно можно получать информацию по криптовалютным парам.
Бесплатный скрипт
Для учёта инвестиций я написал свой собственный скрипт. Скрипт циклично собирает нужную информацию с криптовалютных бирж посредством API которые они предоставляют. Сейчас скрипт поддерживает 7 криптобирж:
- Binance;
- Gateio;
- Bitfinex;
- Poloniex;
- Hotbit;
- Bittrex;
- Kucoin;
- FTX;
- Bybit;
- Huobi;
- OKX.
Логика и пример
Логика здесь предельно простая. Скрипт каждые 5 минут собирает информацию с криптовалютных бирж и обновляет данные в гугл таблице, которую я выложил в открытый доступ - crypto-fans.club coinstat. Таким образом любой желающий может получать актуальную информацию по интересующим его криптовалютам простым копированием данных.
Например, нас интересуют данные с биржи Binance.
Мы создадим новую вкладку в нашей таблице и с помощью формулы перенесём данные из общей таблицы в свою.
- В гугл таблице, где будет наш криптопортфель, создадим новую вкладку под названием cryptodataBinance (название на свое усмотрение).
- В ячейке А1 вводим формулу которая скопирует данные по бирже Binance, из вкладки общего файла, в наш файл с криптопортфелем
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ/edit?usp=sharing"; "cryptodataBinance!A1:Z5000")
Теперь при обновлении скриптом общего файла гугл таблиц, данные будут обновляться и в нашей вкладке в гугл таблице с портфелем. Это как я уже писал выше будет происходить каждые 5 минут.
- Теперь, допустим в нашем криптопортфеле мы хотим вывести значение торгового курса пары BTCBUSD. Для этого, в ячейку где хотите отображать значение курса btcbusd, вносим следующую формулу:
=INDEX(cryptodataBinance!$A$1:$Z, MATCH("btcusdt",cryptodataBinance!$B$1:$B,0), 3)
Данная формула ищет во вкладке cryptodataBinance, которую мы создали в нашем файле, торговую пару btcusdt по всему столбцу B. Если торговая пара в столбце найдена, то берутся данные в той же строке только из третьего столбца C, а это именно цена данной торговой пары. Очень просто. Закрепим двумя примерами, так будут выглядеть формулы для Harmony к Binance USD и Ankr к Bitcoin.
=INDEX(cryptodataBinance!$A$1:$Z, MATCH("onebusd",cryptodataBinance!$B$1:$B,0), 3)
=INDEX(cryptodataBinance!$A$1:$Z, MATCH("ankrbtc",cryptodataBinance!$B$1:$B,0), 3)
Таким образом, с помощью данной формулы мы можем выводить значение курса любой торговой пары, которая есть на Бинансе, нужно только менять в формуле торговые пары.
Пример портфеля
Вот так примерно я оформил свой портфель:
Кстати, если Вас раздражают лишние вкладки в гугл таблицах, то их можно скрыть. Кликаем правой кнопкой по вкладке cryptodataBinance и выбираем Скрыть лист.
Теперь данную вкладку можно будет найти кликнув на кнопку в левом нижнем углу.
Заключение
Данный способ хорош тем, что он требует от пользователя минимальных навыков и знаний, нет лимитов и ограничений, а главное он абсолютно бесплатен. Спасибо за внимание, всем профита.
Почему у меня не получается? "Мы создадим новую вкладку в нашей таблице и с помощью формулы перенесём данные из общей таблицы в свою."- я создаю новую таблицу у себя в Гугл бокс и копирую в нее вашу ссылку в ячейку A1 "=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1msTYPGzh33IRwAvLRIj7sbbZdWO1FxPuVAz9lcExwJg/edit?usp=sharing", "cryptodataBinance!A1:Z5000")" пишет "ОшибкаСинтаксическая ошибка в формуле." пробовал по разному уже, запарился)
Добрый день! писал в комментариях выше)
Изза последних событий, решил перенести основные файлы на яндекс диск. Не все пошло так как надо. Вобщем ссылка на файл изменилась, на следующую: https://docs.google.com/spreadsheets/d/1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ/edit?usp=sharing
соответственно формула будет такой:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ/edit?usp=sharing", "cryptodataBinance!A1:Z5000")
Также Ваш файл, где вы прописываете формулы сам должен быть доступен по ссылке, иначе формулы не работают. Это правило гугл таблиц.
также рабочий шаблон доступен тут:
https://docs.google.com/spreadsheets/d/1bxISMBsmbPeqzYeLLbErYlZnCrSneU_KTZCMfC0wego/edit?usp=sharing
берите формулы с него
В каком смысле "Также Ваш файл, где вы прописываете формулы сам должен быть доступен по ссылке, иначе формулы не работают. Это правило гугл таблиц." ? Я в настройках доступа указываю что документ доступен для всех у кого есть ссылка. Потом вставляю вашу в самую первую ячейку.
Сделал скрин! Простите если я что не так делаю, просто может я еще джун в Гугл таблицах
попробуйте вместо запятой поставить точку с запятой, после ссылки на файл ";", пример ниже
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PLLq6YTmFFMklDHedBb_tVR7NVjsQrSVqiUJW2TeuHQ/edit?usp=sharing"; "cryptodataBinance!A1:Z5000")
по идее в обоих случаях должно работать (как в шаблоне), но тем не менее. Странно, VC.ru некорректно формулы отображает, знаки добавляет. В общем один знак ";"
Получилось, спасибо!
Еще было бы интересно прочитать как научиться работать с api. Например как у вас получилось сделать такую таблицу. Из каких этапов состоит процесс создания подобной таблицы. Ну и мб получится okx добавить. Спасибо!!!
Okx добавлю чуть позже. На счёт статьи как парсить данные бирж через api надо подумать
Как думаете в чем тут ошибка? мб в том что файл .xlsx
думаю вы правы. в файле xlsx будут другие формулы.
Что я сделал, я взял шаблон криптопортфеля и сохранил его в .xlsx, при этом все формулы автоматом были переделаны под этот формат. Можете посмотреть, ссылка на файл ниже:
https://docs.google.com/spreadsheets/d/1jgGuecFzOO-9UUPz1u6F7c4F9WnQXQh9/edit?usp=sharing&ouid=100899323150764759458&rtpof=true&sd=true
формулы работают кривовато, поэтому я все же советую использовать родной формат гугл таблиц.
Благодарю, совсем другая формула получается.
Нашел тут еще одну тему. SLPUSDT есть в вашей базе binance, но формула не находит (не вставляет значение). По другим парам которые добавлял данные подставляются на ура, а вот по SLP нет.
Разобрался! Там диапазон нужно поменять просто