지난 구글 독스 활용 시리즈를 모두 정독하신 분들이라면, 지금쯤 아쉬워하는 부분이 있을 수 있습니다. 바로 구글 스프레드 시트 상에서 현재 시점에서의 계좌의 현황을 보는 것은 가능하지만, 과거 기록을 모아서 보거나, 코스피나 코스닥 지수와의 성과를 비교한다던가 하는 작업은 불가능하다는 점이죠. 물론 매일 들어가서 노가다로 업데이트를 할 수도 있겠습니다만;; 편하게 살려고 시작한 일인데 불편을 더하면 안되겠죠? ^-^;;

오늘은 구글에서 지원하는 부가 기능을 이용해서 하루에 한번, 1시간에 한번과 같은 식으로 정기적으로 데이터를 저장할 수 있는 법을 소개하겠습니다. 🙂

 

지난번 6번째 시간에 만들었던 워크시트를 열어볼까요?

 

기록을 저장할 ‘History’라는 이름의 워크시트를 하나 만듭니다. 매수 금액과 평가액은 ‘Portfolio’ 시트에 있는 값을 가져오게 만들었기 때문에, 실시간으로 업데이트 되는 값들이 표시되게 되겠죠?

 

 

메뉴에서 도구 > 스크립트 편집기를 선택합니다.

 

 

새 창이 뜨면서 구글에서 지원하는 구글 앱 스크립트에 대한 메뉴가 위와 같이 나오게 됩니다. 이 중에서 왼쪽 상단에 있는 ‘빈 프로젝트‘를 클릭합니다.

 

그리고 아래의 코드를 붙여넣기 해주시면 됩니다. ^^

 

 

function recordHistory() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheetByName(“History”);

var source = sheet.getRange(“A2:D2”);

var values = source.getValues();

values[0][0] = new Date();

sheet.appendRow(values[0]);

};

 

저도 프로그래밍 전공자는 아닌지라, 정확하게 하나하나 설명드리기는 힘들고요 ^-^; 그냥 History 탭에 있는 A2:D2 레인지에 있는 data를 복사해다가 제일 아래 줄에다가 붙여넣기를 하는 간단한 코드다- 이렇게 이해하시면 됩니다. 혹시 자바스크립트에 대한 지식이 약간 있으신 분이라면, Google Apps Script 페이지를 참조하시면, 더 많은 함수를 참조하실 수 있습니다. ^^

 

 

프로젝트에 적당한 이름을 붙여주시고, 메뉴바에 있는 돋보기 시계모양(?)의 아이콘을 클릭하면 위와 같이 트리거를 설정할 수 있습니다. 위에서 만든 recordHistory 함수를 매일 3시에서 4시 사이에 실행되도록 설정해두는 것이죠.

 

트리거를 설정하고 저장을 하면, 구글 앱스에서 권한을 달라는 창이 하나 뜨는데, OK하시면 됩니다.

 

이런 방식으로 계좌의 평가손익을 장종료 시간에 맞춰서 매일 1회씩 기록을 해두고, 코스피/코스닥 지수도 함께 비교하면, 장기적인 상대적인 성과의 추이를 알아보는데 도움이 되겠죠?

 

저도 사실 프로그래머가 아닌지라, 스크립트와 직접적으로 관련된 질문은 대답 못해드릴 확률이 높긴 합니다만, 그래도 궁금한 것이 있으시면 언제든 답글로 남겨주세요. ^-^

 

이번 예제는 지난번에 만들었던 스프레드 시트에 추가만 해둔 것이니 같은 링크에서 확인하실 수 있습니다. 단, 마찬가지로 이 문서에는 여러가지 함수나 참조가 많이 걸려있어서, 수정은 안되도록 막아 두었습니다. 혹시 자신의 구글 독스에서 사용하고 싶다 하시면, 파일 > 사본만들기 메뉴를 통해 사본을 만들어서 사용하세요! 🙂

 

국내외통합 배당주 포트폴리오 자동화 시트 바로가기

 

질문은 댓글로 받습니다. ლ(´ڡ`ლ)

그리고 이건 간단하게 만들어본 예제2 입니다. 🙂

매일 기록하기 예제

 

 

Categories: 돈 굴리기

23 Comments

구글독스로 자동 주식 관리 툴을 만들어보자 (7) – 매일의 평가 손익을 자동으로 기록하기

    1. Lazy Koala님! 블로그 가서 댓글을 남기려고 했더니 그림 문자를 입력하는 절차가 있던데.. 그림 문자가 깨져서 나와서 입력을 할 수가 없더라구요. ^^; 한번 확인 해보세요~!

  1. http://m.blog.naver.com/lilo0202/220984798125
    처음 빈누님의 양식을 받아서 제 포트폴리오에 적용해본 글입니다.
    http://m.blog.naver.com/PostView.nhn?blogId=lilo0202&logNo=220993416572
    최근 저에게 필요한 부분을 수정, 보완한 스프레드입니다.
    빈누님의 구글 스프레드 시트를 수정해서 사용하고 있으며, 제 블로그에도 업로드 했습니다.

    소개해주신 방법으로 포트폴리오 구성해서 운용하고 있습니다.
    일부 필요한 기능을 추가했으며 이후 부동산 관리에도 유용하게 사용할 수 있을 것 같아서 기대됩니다.
    상해 주식도 구글로는 불러오지 못했는데 덕분에 일일 변화 그래프와 다양한 응용이 가능해졌네요!
    감사합니다.

    항상 좋은 정보 공유해주셔서 감사합니다.
    오늘도 좋은 하루 되세요~^^

    1. 안녕하세요 준수님. 유용하게 사용하고 계시는 분들을 보면 참 뿌듯합니다! ^_^ 앞으로 성공적인 투자 되시길 바라며 블로그에도 종종 놀러갈게요.

      1. 유용한 글을 포스팅해주시고 공유해주시는 덕에 많이 배워갑니다~
        제 블로그에 찾아주신다면 영광입니다~~ 가끔 놀러오세요!

        1. 스크립트는 수정하지 않고 그대로 사용하시는거죠? 어떤 곳에서 문제가 발생하는지 겉으로만 봐서는 알기가 힘들구요. 해당 파일을 복사하신 뒤에, history 남기는 함수에 trigger를 하루에 1번이 아니라 1시간에 1번 작동하도록 바꿔보신뒤에 어떤 식으로 값이 바뀌는지, 매시간의 data가 전부 이상하게 나오는지 한번 확인해보시겠어요?

          1. 아, 답변 주셔서 정말 감사합니다.
            너무 막막한 마음에 실례를 무릅쓰고 댓글로 질문드렸는데 댓글 남기고 나니 귀찮게 해드리는 것 같아 죄송했네요…

            1시간 단위로도 해보고 직접 실행을 눌러서 기록도 해봤는데 전부 이상하게 (실제보다 조금씩 높게)입력됩니다. 스크립트는 그대로 사용했고 범위를 A2에서 D2까지가 아닌 A2에서 J2까지로만 수정했습니다. 이게 문제는 아닌것 같습니다.(범위수정하고도 잘 기록되다가 9월 부터 갑자기 그러네요.) 이날 Portfolio Sheet의 함수를 조금 바꾸긴 했는데 그때부터 기록이 달라진것 같습니다. 그런데 기록은 A2부터 J2까지 연한 회색으로 실시간 기록만 하는 거라 포트폴리오 시트의 함수 식과는 관련 없지 않나요?

            번거롭게 해서 죄송합니다ㅠㅠ.

          2. 어디서 잘 못 되었는지 모르겠을 때 컴퓨터를 재부팅 하듯이 record code를 지웠다가 다시 입력하는 식으로 재부팅 비슷한 효과를 주는 방법이 있을까요??

          3. 아 직접 실행해도 안된다고 이미 말씀해주신걸 못봤네요. 괜찮으시면 제가 한번 직접 볼 수 있을까요? youngvin@gmail.com로 풀 권한 주시면 한번 확인해볼게요~

            건드려도 괜찮은 복사된 파일로 공유해주세요.

          4. 좀 살펴봤는데요. 준수님이 말씀하신 문제들이 이렇게 저렇게 바꿔서 해봐도 계속 반복되는데.. 검색을 좀 해보니 현재 스크립트에 쓰여있는 AppendRow 함수 자체가 약간 오류가 발생하는 것 같습니다.

            https://productforums.google.com/forum/#!topic/docs/y0E9PB_VTJw

            해당 discussion은 위 링크에서 보실 수 있는데.. 아마 코드를 전반적으로 수정해야할 것 같아요. 제가 오늘은 좀 그렇고 나중에 시간 될때 한번 수정해볼게요. ^_^

          5. 아, 그렇군요. 저도 웬만하면 혼자 해결하려고 노력했는데 잘 안되더라고요. 늦은시간인데 신경많이 써주셔서 감사하면서도 죄송하네요. 나중에 시간 괜찮으실때 봐주신다니 너무 감사합니다. 감사해서 그런데 기프티콘으로 커피 한 잔이라도 드려도 될까요..?

          6. 아 직접 실행해도 안된다고 이미 말씀해주신걸 못봤네요. 괜찮으시면 제가 한번 직접 볼 수 있을까요? youngvin@gmail.com로 풀 권한 주시면 한번 확인해볼게요~

            건드려도 괜찮은 복사된 파일로 공유해주세요.

          7. 좀 살펴봤는데요. 준수님이 말씀하신 문제들이 이렇게 저렇게 바꿔서 해봐도 계속 반복되는데.. 검색을 좀 해보니 현재 스크립트에 쓰여있는 AppendRow 함수 자체가 약간 오류가 발생하는 것 같습니다.

            https://productforums.google.com/forum/#!topic/docs/y0E9PB_VTJw

            해당 discussion은 위 링크에서 보실 수 있는데.. 아마 코드를 전반적으로 수정해야할 것 같아요. 제가 오늘은 좀 그렇고 나중에 시간 될때 한번 수정해볼게요. ^_^

          8. 아, 그렇군요. 저도 웬만하면 혼자 해결하려고 노력했는데 잘 안되더라고요. 늦은시간인데 신경많이 써주셔서 감사하면서도 죄송하네요. 나중에 시간 괜찮으실때 봐주신다니 너무 감사합니다. 감사해서 그런데 기프티콘으로 커피 한 잔이라도 드려도 될까요..?

  2. http://m.blog.naver.com/lilo0202/220984798125
    처음 빈누님의 양식을 받아서 제 포트폴리오에 적용해본 글입니다.
    http://m.blog.naver.com/PostView.nhn?blogId=lilo0202&logNo=220993416572
    최근 저에게 필요한 부분을 수정, 보완한 스프레드입니다.
    빈누님의 구글 스프레드 시트를 수정해서 사용하고 있으며, 제 블로그에도 업로드 했습니다.

    소개해주신 방법으로 포트폴리오 구성해서 운용하고 있습니다.
    일부 필요한 기능을 추가했으며 이후 부동산 관리에도 유용하게 사용할 수 있을 것 같아서 기대됩니다.
    상해 주식도 구글로는 불러오지 못했는데 덕분에 일일 변화 그래프와 다양한 응용이 가능해졌네요!
    감사합니다.

    항상 좋은 정보 공유해주셔서 감사합니다.
    오늘도 좋은 하루 되세요~^^

    1. 안녕하세요 준수님. 유용하게 사용하고 계시는 분들을 보면 참 뿌듯합니다! ^_^ 앞으로 성공적인 투자 되시길 바라며 블로그에도 종종 놀러갈게요.

      1. 유용한 글을 포스팅해주시고 공유해주시는 덕에 많이 배워갑니다~
        제 블로그에 찾아주신다면 영광입니다~~ 가끔 놀러오세요!

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다