"CryptoFolio" V2 공개 - 구글 스프레드시트에 코인원 등 각종 API 활용한 포트폴리오

in #kr4 years ago (edited)

CryptoFolio v2

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

사용예시

image.png



사용방법

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

링크주소: https://docs.google.com/spreadsheets/d/1kSeY6dsymsSf8MF3zGHH5bwmNHO0O7lUWkVjWXnzUog/edit?usp=sharing

주의! 반드시 [사본만들기]를 해주세요. 공유요청하시면 안됩니다.


2. 시트별 설명을 확인하고, 포트폴리오를 구성하세요.

  • Dashboard: 포트폴리오 전반이 정리되어 한 화면에 표시됩니다.
  • Data: 개별 자산에 대한 목록을 데이터로 입력하는 시트입니다.
  • Future: Earning의 값을 근거로 미래의 자산을 예측해볼 수 있습니다.
  • Ticker: 종목별 가격을 지정하고, 자산의 성격을 정합니다.
  • var: 각종 변수를 관리합니다.
  • **(Exchange)TickerAPI: 거래소별 티커 API를 받아오는 시트

시트별 상세 설명

Dashboard

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

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

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

  • 투자주체별 지분율 및 평가금액
  • 미래 수익에 대한 예상 금액
  • 자산의 회수가능 시간에 대한 종합적 표시
  • 포트폴리오 종류별(봇, 트레이딩, 펀딩, 지갑 등) 평가금액 및 지분율
  • 봇 트레이더를 위한 봇의 지분율 중 봇별 지분율 및 평가금액
  • 자산의 큰 분류에 따른 지분율 및 평가금액
  • 종목별 지분율 및 평가금액

Data

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

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

  • Name: 자산에 대한 이름으로 자동입력됨
  • Holder: 자산에 대한 홀더 비중별 표시(홀더는 총 A, B, C 3개를 지원합니다.)
  • PotfolioType: 포트폴리오 타입(봇, 거래, 펀딩, 지갑 등 - 변수 시트 [var]에서 관리)
  • CurrencyType: 자산에 대한 성격을 규정함 - 크립토인지 피아트인지, 스테이블인지
  • Currency: BTC, KRW, ETH 등 고유 심볼을 적음. 해당 심볼은 [Ticker] 시트와 일치하는 것을 사용해야함
  • ServiceName: 거래소 등 서비스명
  • Account: 계정명(여러 계정을 이용하는 경우 구분할 수 있게)
  • Time-tire: 회수가능 시간, 드롭다운을 클릭해 선택(값 변경은 [var]에서)
  • Link1,2, Address, Add-Contract/Tag/Memo, Variable1,2: 지갑주소 메모 또는 수식에 활용하는 정량적인 칸(API활용)
  • Note, Action: 정성적인 메모 칸수량
  • APR %: 년 수익률 기재. Earning 계산에 사용함
  • period: 기간제 락업물 진입시 사용, 날짜수로 입력(예를들면 15%에 30일짜리 락업물이면, APR %에 15%, period에 30 입력)
  • Limit: 플랙서블 포트폴리오에 개수 제한이 있는경우 메모 용도로 입력. 예를 들어 A서비스에서 USDT 플랙서블에는 5만개 제한이면, 5만을 입력함. 계산에 적용하지 않음. 자산배분에 있어 수익이 누락되지 않게하려고 만든 칸
  • Amount: 자산의 수량 입력. 배포용 샘플에 자동으로 받아오는 수식이 있는 경우 노트에 적힌 설명 참고.
  • Price ₩: 원 단위 가격([Ticker] 시트에서 커런시 값을 통해 자동 받아옴, KRW, BTC값이 존재)
  • ₩: 원 단위 평가금액
  • BTC: BTC 단위 평가금액
  • EPS ₩, EPD ₩, EPM ₩, EPY ₩: 원 단위 초(sec.), 일(day), 월(monthly), 년(year) 당 예상 수익(APR과 period 값으로 자동 계산됨)
  • 이후 A, B, C 포트폴리오 홀더별 Share %와 나머지 동일한 값이 계산됨

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


API 활용 안내

*잔고 등의 값은 직접 입력하거나 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는 [Data] 시트에서 활용하는 암호화폐별 시세를 관리하는 시트입니다.
또한, 이 시트에서 [Dashboard]에 표시될 암호화폐를 디스플레이 값을 통해 지정할 수 있습니다.

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

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


사용 TIP

  • 회사 급여와 퇴직금도 데이터 시트에 포함되어 있습니다. 노트에 적힌 내용을 참고해 내가 매 순간 얼마나 벌고 있는지, 퇴직금은 실시간으로 얼마나 쌓이고 있는지 확인해보세요.
  • ETH DeFi가 핫하죠. 데이터 시트에 ETH 지갑과 ERC까지 준비해뒀습니다. ETH 주소와 ERC20 토큰 주소, 변수1에 Decimals을 입력하면 자동으로 자산을 받아와 표시해줍니다. 다만, API 콜 수 제한이 있으므로 이더스캔에 가입해 API 키를 발급받아 더 자유롭게 사용하시기 바랍니다. (해당 자산 칸에 적어둔 노트를 참고하세요)
  • 코인원 자산을 실시간으로 받아오게 API를 잘 만들어뒀으니 이용해보시기 바랍니다. 혹시 가입하지 않았다면 해당 자산의 링크1에 제 레퍼럴 코드가 있으니 거래 많이해서 저한테 수수료 일부를 나눔 부탁드립니다. 참고로 레퍼럴로 가입하시면 그냥 가입하시는것보다 리워드 혜택이 있습니다.
  • 채권과 채무도 예시로 넣어뒀습니다. 마이너스 자산을 다양하게 활용해보세요.
  • 지분을 섞은 포트폴리오도 만들 수 있습니다. 홀더별 지분을 섞은 자산도 예제로 넣어뒀으니 참고하시기 바랍니다.
  • 국내주식가 미국주식도 추가할 수 있게 해 만들었으니 잘 활용해보세요.

장점 및 단점

장점

  • 다양한 서비스나 블록체인상의 포트폴리오를 한 곳에 모아서 확인할 수 있다는 점에서 매우 혁신적인 잔고 관리 방법이 될 수 있습니다.
  • 관심있는 암호화폐의 시세를 수시로 한번에 확인할 수 있어 편리합니다.
  • 여러 투자주체의 자본(ex: 본인 돈, 배우자의 돈, 가족의 공금 등)을 끌어다 같이 운용중이라면 투자주체별 지분 관리가 가능해서 좋습니다. 최대 3개까지 지원합니다.
  • 로그인하지 않고도 잔고를 확인할 수 있습니다.(현재 코인원 거래소만 지원)
  • 개인 지갑의 잔고도 API로 받아올 수 있습니다.(현재 비트코인, 이더리움만 지원) 공개된 시트에는 API 키가 누락되어 있으므로, API 콜 수의 제한이 있습니다. ETH는 이더스캔에서 쉽게 API키를 발급받아 API 콜 수를 늘려 쓸 수 있습니다. BTC는 블록체인info의 API 키 발급받는 절차가 다소 복잡하니 참고바랍니다.

단점

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

이 문서는 암호화폐를 다년간 관리하면서 필요에 의해 제작한 문서이며, 노력의 산물입니다.
부디 잘 활용해주시고 많은 Upvote 부탁드립니다.

*배포용 포트폴리오에 포함된 자산은 제 돈이 아니고 가상의 돈과 유명한 주소에서 따온 자산입니다.

감사합니다.