구글 스프레드시트에 코인원 API 등 활용한 크립토 포트폴리오 "CryptoFolio" 공개

CryptoFolio

구글 스프레드시트에 코인원 API 등 활용한 크립토 포트폴리오

사용예시



사용방법

1. 배포용 스프레드시트를 본인의 구글 드라이브로 복제합니다. (파일 - 사본만들기...)


링크주소: https://docs.google.com/spreadsheets/d/1J9bChV38mGQt22HmxLc3q8U963D9D6MPAIL7lllr5c4/edit?usp=sharing
주의! 반드시 [사본만들기]를 해주세요. 공유요청하시면 안됩니다.


2. 시트는 [WebApp], [Table], [Ticker]으로 구성됩니다.

시트별 설명

WebApp

WebApp은 최종 디스플레이되는 시트입니다.

여기 표시되는 값은 모두 [Table]의 값을 계산하여 표시하게 되어있기 때문에, 임의로 편집하면 안됩니다. 사용자가 할 수 있는 부분은 'unique' 함수로 인해 값을 자동으로 표시할 행이 부족할 경우 늘려주거나, 불필요한 행을 지워주는 정도의 액션만 취할 수 있습니다.

이 화면에서 확인 가능한 내용은 다음과 같습니다.

  • 투자주체별 지분율 및 평가금액
  • 포트폴리오별(봇, 트레이딩, 펀딩, 지갑 등) 평가금액 및 지분율
  • 봇 트레이더를 위한 봇의 지분율 중 봇별 지분율 및 평가금액
  • 커런시별 지분율 및 평가금액
  • 피아트 / 크립토의 비중도 확인 가능

이 시트가 바로 표시되게 스마트폰에 공유링크로 단축 아이콘을 빼두면 매우 편하게 포트폴리오를 확인할 수 있습니다.


Table

종목별/포트폴리오별 잔고(수량) 값을 기록해두는 데이터베이스 테이블입니다.
(시세 값은 [Ticker] 시트에서 받아오게 되기 때문에 시세는 별도로 건들지 말기 바랍니다.)

각 행은 하나의 포트폴리오의 종목을 의미하며, 여러 설정 값을 지니게 됩니다.

  • 포트폴리오타입(봇, 거래, 펀딩, 지갑 등)
  • 봇 이름(봇일 경우)
  • 커런시타입(피아트인지 크립토인지)
  • 커런시(BTC, KRW, ETH 등 고유 심볼이며, 해당 심볼은 [Ticker] 시트와 일치하는 것을 사용해야함)
  • 거래소 등 서비스명
  • 계정(여러 계정을 이용하는 경우 구분할 수 있게)
  • 링크 / 어드레스 / TXID(메모를 위해)
  • 수량(각 수량을 직접 또는 API로 입력)*
  • 가격([Ticker] 시트에서 커런시 값을 통해 자동 받아옴, KRW, BTC값이 존재)
  • 평가금액(수량*시세)

(색상음영이 있는 1, 2, 3 부분은 투자주체가 여럿일 때 지분율을 각 포트폴리오별로 다르게 설정할 수 있습니다.)

  • 지분별 투자주체 명(1, 2, 3에 해당하는 부분)
  • 지분율(Share%, 각 포트폴리오 행 별로 다르게 지정할 수 있음)
  • 지분율에 따른 수량, 투자원금, 수익금, 수익률 등이 수식으로 계산되어 표시됨

(최종적으로 모든 포트폴리오 행 별 합산된 지분율/평가금액으로 최종 투자주체별 지분율이 계산되며 해당 값은 [WebApp] 시트의 최상단에 표시됩니다.)


*잔고 등의 값은 직접 입력하거나 API로 받아와서 표시할 수 있습니다. 본 배포용 문서에서는 직접 제작한 CoinoneBalance.gs 스크립트를 통해 코인원 API로 잔고를 불러올 수 있습니다.
[도구 - 스크립트 편집기] 에서 스크립트 편집기로 이동한 다음, '이곳에 엑세스토큰, 시크릿키를 붙여넣으세요' 부분에 코인원 API(V2)값을 붙여넣으면, 자동으로 각 코인별 잔고를 받아올 수 있습니다.


CoinoneBalance.gs 스크립트 관련 안내사항

  • 코인원에서 API를 만드실 때 반드시 개인용 API V2로 만드시고, 잔고 확인 기능만 체크하시기 바랍니다.
  • 코인이 추가 상장되면 수정해줘야 새로운 종목을 표시할 수 있으며, 해당 부분은 아래쪽 코드를 보시면 쉽게 아실 수 있을겁니다.(대소문자 주의)
  • 본 스크립트는 개발자 지인의 도움을 받아 제작한 코드이며 자유롭게 활용할 수 있습니다. 단 꼭 이 문서에 Upvote를 해주시고 활용하시기 바랍니다.

그 외 본 문서에서는 ImportJson.gs 라는 스크립트를 활용하고 있는데, json 으로 불러올 수 있는 API 결과값을 쉽게 얻어올 수 있습니다. 해당 수식 내용은 [Ticker] 시트의 코인별 시세 수식을 참고하시면 이해하시기 쉽습니다.
(ImportJson.gs 스크립트는 구글 시트(Google Sheet)로 가상화폐(비트코인/이더리움/리플) 관리 https://medium.com/@sgwanlee/구글-시트-google-sheet-로-가상화폐-비트코인-이더리움-리플-관리-95b0038de4d8 에서 가져왔습니다.)


Ticker

Ticker는 [Table] 시트에서 활용하는 암호화폐별 시세를 관리하는 시트입니다.
또한, 이 시트에서 [WebApp]에 표시될 암호화폐를 디스플레이 값을 통해 지정할 수 있습니다.
(본 시트의 목적은 API 콜 수를 줄이기 위한 용도입니다.)

포트폴리오로 관리하고자하는 암호화폐가 추가되거나, 기준시세를 다른 거래소로 쓸려면 이 시트에서 수정하면 됩니다.
앞서 설명한대로, ImportJson를 활용하면 API로 시세를 쉽게 받아올 수 있을것입니다.

암호화폐별로 Display열에 1을 입력하면 [WebApp] 시트의 커런시 항목에 표시됩니다. 디스플레이되지 않는 암호화폐는 [WebApp] 시트 최하단의 Other로 모아서 표시되게 됩니다.


3. 스마트폰에서 확인하기

시트를 본인의 계정에 복사해서 포트폴리오 구성을 마쳤다면, 해당 문서의 우측 상단 [공유] 버튼을 클릭합니다.

링크가 있는 사용자만 볼 수 있게 링크를 만듭니다. 그리고 복사한 링크를 스마트폰 모바일 브라우저에서 엽니다.
[WebApp] 시트가 제대로 표시되면, 그 페이지를 홈화면에 아이콘으로 추가해둡니다. (공유버튼 - 홈화면에 추가)

이제 수시로 홈화면에 빼놓은 아이콘을 통해 포트폴리오를 확인할 수 있습니다.


장점 및 단점

장점

  • 다양한 서비스나 블록체인상의 포트폴리오를 한 곳에 모아서 확인할 수 있다는 점에서 매우 혁신적인 잔고 관리 방법이 될 수 있습니다.
  • 관심있는 암호화폐의 시세를 수시로 한번에 확인할 수 있어 편리합니다.(코인원, 빗피넥스, OKEX 티커 API 예제 지원, 다른 거래소도 조금만 시간 투자하면 쉽게 추가할 수 있습니다.)
  • 여러 투자주체의 자본(ex: 부모님 돈 등)을 끌어다 같이 운용중이라면 투자주체별 지분 관리가 가능해서 좋습니다.
  • 로그인하지 않고도 잔고를 확인할 수 있습니다.(현재 코인원 거래소만 지원)
  • 개인 지갑의 잔고도 API로 받아올 수 있습니다.(현재 비트코인, 이더리움만 지원)

단점

  • 제대로 활용하려면 API에 대한 기본 지식이 필요하고, 세팅하는게 시간이 꽤 소모됩니다.
  • 포트폴리오가 복잡해질수록 로딩이 길어질 수 있습니다.
  • 공유 링크가 털리면 잔고를 외부사람이 볼 가능성이 있습니다.(따라서 절대 개인정보를 문서상에 입력하지 마세요)

이 문서는 암호화폐를 다년간 관리하면서 필요에 의해 제작한 문서이며, 노력의 산물입니다.
부디 잘 활용해주시고 많은 Upvote 부탁드립니다.
(이 문서에서 발생한 스팀 및 스팀$는 전액 API 개발을 도와준 개발자 지인에게 전달될 예정입니다.)

감사합니다.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now