구글스프레드를 활용한 암호화폐 포트폴리오 설계 #2

in #kr6 years ago (edited)

안녕하세요, Aiyren입니다.

암호화폐 포트폴리오 설계 시리즈를 시작한다고 1편을 끄적거린지 얼마되지 않은 것 같은데 벌써 1주일이 흘렀네요. 2편 잘 써보려 구상은 열심히 했는데 게으름 때문인지 손에 잘 안잡혔네요.

주말동안 스팀 가격이 많이 올라 룰루랄라 게임기(닌텐도 스위치)나 붙잡고 뒹굴거리다, 비트코인이 다시 주저앉는 걸 보고 부랴부랴 컴퓨터 앞에 앉아봅니다.

오늘은 예고했던 대로 추출한 데이터를 가공하고 보기쉽게 기초 통계를 만들어볼까 합니다.

자.. 구글 스프레드를 열어볼까요?

#2. 데이터 전처리

1) 분석대상 정의

저번 시간에 예제로 비트코인의 1년간 Historical Data 추출까지 작업했었죠?
다른 코인도 똑같은 작업을 반복해야 하는데, 노가다 작업을 조금이라도 줄이기 위해 머리를 좀 써야겠네요.

분석대상은 샘플로 다음과 같이 정의합니다.

시가총액 1위~25위까지의 코인

먼저 분석하고자 하는 대상 코인을 관리하기 위해 "List" 시트를 만들어보도록 하겠습니다.

새 시트를 만들고 이름을 List로 변경한 다음, https://coinmarketcap.com/ 의 첫 페이지를 저번 시간에 배운 방법으로 불러와 봅니다.

A1 셀에 주소를 입력하고 A3 셀에 "=importhtml(A1, "table", 1)"을 입력하면, 다음과 같이 시가총액 1~100위의 코인리스트가 생성됩니다.

CC2_01.PNG

동일한 방식으로 주소만 https://coinmarketcap.com/2 로 바꾸면 101~200위 리스트가 생성되고, 이후 목록도 뒤에 숫자만 3,4,5.. 로 바꾸면 불러올 수 있어요.

https://coinmarketcap.com/all/views/all/ 에서 한꺼번에 전체 리스트(1,469개)를 제공하긴 하는데, 속도 문제로 일단 1~100위 기준으로 작업하겠습니다.

불러온 List 자료를 보기 좋게 정리해봅시다.

  1. 데이터 영역은 그대로 두기 위해 회색 처리
  2. 분석시작일자, 종료일자 입력칸 만들기
  3. 24시간 변동값에 조건부서식으로 색 표시

CC2_02.PNG

한 눈에도 보기 좋아졌죠?
현재 (18.1.21@20시) 상위 코인들 중에선 QTUM이 (왜인지는 모르지만) 눈에 띄게 오르고 있네요.

이제 해당코인의 Historical Data를 불러오기 위해 URL 주소를 설정해야 하는데, 사이트에서 제공해주는 주소를 자동으로 알 수 없어 그냥 노가다로 붙여넣어야 겠네요.. ㅠㅠ

랭킹이 실시간으로 바뀔 수 있어 URL 시트를 별도로 만들어 다음과 같이 입력합니다.

CC2_03.PNG

그 다음 vlookup 함수로 자동으로 불러오게 만들면, 그럴듯한 첫 페이지가 완성됩니다.

CC2_04.PNG

2) 데이터 추출 자동화

방금 만든 List를 활용해 상위 코인들의 데이터 추출을 자동화 해봅시다.

1편에서 작업한 데이터 추출 시트를 List 시트의 URL과 시작일자, 종료일자로 다음과 같이 고쳐볼까요?

CC2_05.PNG

이제 노란셀의 숫자만 바꾸면 해당 랭킹의 데이터를 가져오게 바뀌었네요.
이걸 옆으로 랭킹이 증가하게 25개를 복사하면 아래와 같이 TOP 1~25위의 Historical Data가 빼곡하게 입력 되겠지요?

CC2_06.PNG

3) 기초 통계 생성

생성한 데이터를 그냥 보면 뭐가 뭔지 알 수 없으므로, 간단한 통계를 분석해보는 예제를 만들어 봅시다.
(데이터 가공 수식은 복잡해서 간단하게 설명하고 넘어갈까 합니다. 관심있으신 분은 포스팅 끝에서 공유해드리는 예제 파일 참고하시기 바랍니다.)

이제 불러온 Historical Data로 다음과 같은 기초 통계를 만들어 봅시다.

일별 수익률 (최근 30일)
수익률 평균/표준편차 (최근 30일)

일별 수익률은 다음의 일별 종가(Close) 기준으로 계산합니다.

1월 20일 비트코인 수익률 = 당일 종가(12,899.2) / 전일 종가(11,607.4) - 1 = 1.2%

CC2_07.PNG

List 시트에서 offset 함수를 통해서 URL옆 J열부터 오른쪽 방향으로 다음과 같이 일별 수익률을 계산합니다.
(아래로 한칸씩 밀면서 위의 일별 수익률 공식을 적용한다고 보시면 됩니다)

CC2_08.PNG

코인별 30일간의 일별 수익률을 만들었으면, 왼쪽에 2칸을 더 만들어 평균/표준편차를 계산합니다.

CC2_09.PNG

보기 좋은 떡이 먹기도 좋다고, 계산한 수익률에 조건부 서식을 아래와 같이 만들어 꾸며 봅시다.

CC2_10.PNG

그럼.. 요렇게 깔끔하게 완성!
4일전 폭락장이 한눈에 들어오네요.. ㅎㅎ

CC2_11.PNG

아이고.. 오늘은 여기까지 하겠습니다.
엑셀파일 만들면서 포스팅하니 한나절 걸리는군요.

작업 파일 공유해드리니, 관심있으신 분은 고쳐쓰셔도 좋습니다 ^^
(https://docs.google.com/spreadsheets/d/1xlkVN6fdyfrMH-V5fJkMP_ZNIC52o4fTlBpsm-ciMOQ/edit?usp=sharing)

다음 시간부터는 제가 ETF 분석할 때 자주 보는 통계(변동성/모멘텀/상관관계)를 산출해 암호화폐에 적용해서 포트폴리오 설계하는 작업을 진행해 보도록 하겠습니다.

그럼.. 이번 주도 즐겁고 행복한 투자 하시길 바랍니다.

Sort:  

좋은 자료 공유해주셔서 감사합니다ㅎ 포트폴리오 설계하시는 내용 기대됩니다ㅎ

기대해주셔서 감사합니다 ㅎㅎ 다음편도 되도록이면 빨리 올려볼게요~

After reading your post, I realized that you are a professional in your business, you can write such texts, I am pleased to read. Thank you. You can please me, I will be very grateful to you.

Thank you :)

앞으로 기대많이되네요ㅎㅎ 파이팅~

감사합니다 @sangyun님도 파이팅~

잘 읽었습니다. 저는 이 비슷한 것을 이용하여 변동성 순위로 정렬 후 투자하는 것을 구글 스프레드시트로 만들어 시험중 인데요. 많이 참고하도록 하겠습니다.

오 변동성 순위를 감안해 투자하시는군요 반갑습니다! ㅎㅎ 앞으로도 의견 많이 주세요 (제 맘대로 해서 뭐가 틀렸는지 잘 몰라요)

정성스런 포스팅 잘 봤습니다.
리스팀!
앞으로도 좋은 내용 기대하겠습니다!

유럽여행중에 리스팀까지 해주시다니! 감사합니다! ㅎㅎ

@aiyren님의 포스팅은 하나하나 믿을 수 없는 고퀄리티군요. 오늘 포스팅도 감동입니다. 작지만 풀보팅하고 갑니다.

아직 모자라고 틀린 부분이 많아요 ㅎㅎ 응원 감사드립니다!

잘 보고 갑니다. 따라하면서 공부해봐야겠네요 ㅎㅎ.

감사합니다 :) 분석해보고 싶은건 많은데 손이 잘 안가네요 ㅎㅎ

이렇게 귀중한 지식과 노하우를 공유해주시다니, 감사할 따름입니다. 기술적 투자에 대해서 많은 관심이 있었는데 앞으로 이 블로그 많이 보면 되는건가요? ㅎㅎ 많이 배우겠습니다!

감사합니다. 저도 여기저기서 주워들은거 가지고 시도만 해보고 있는 수준입니다 :) 많은 조언 부탁드립니다!

감사합니다. 퍼가용

와우, 앞으로의 포스팅이 기대됩니다.

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64400.33
ETH 3140.71
USDT 1.00
SBD 3.93