본문 바로가기

Google Suite

가상주식 투자 시스템 만들기 #7/7 (일단위 수익률 백업, 순위초기화하기)

이전글

2020/07/24 - [Google Suite] - 가상주식 투자 시스템 만들기 #6/7 (일단위 수익률 알람받기)

일일 단위로 회원들의 수익률정보를 공유하고 일별로 전체 참가 인원중 순위가 어떻게 바뀌는지 안내를 하는데 순위를 계산하기 위해서는 순위에 대한 초기화가 필요합니다.

 

일별 순위 계산은 '개인별리스트' 의 전날 순위별로 소팅되어 있는 B열을 G열로 복사를 해주면 match 함수를 이용하여 B열 과 G열 값의 위치를 계산하여 차이로 계산이 되게 식을 만들어 놓았습니다. 매일아침 한국장 시장하기전에 복사를 해주어야하는데 사람이 하기에는 귀찮고 바쁜일 생겼을때는 못할수도 있기 때문에 이것도 GAS 를 이용하여 자동으로 처리해주었습니다.

 

개인별 순위 계산 참고하기

2020/07/17 - [Google Suite] - 가상주식 투자 시스템 만들기 #5 (개인별, 종목별 순위보여주기)

 

가상주식 투자 시스템 만들기 #5 (개인별, 종목별 순위보여주기)

2020/07/16 - [Google Suite] - 가상주식 투자 시스템 만들기 #4 (주식종목별 수익률 계산하기) 가상주식 투자 시스템 만들기 #4 (주식종목별 수익률 계산하기) 2020/07/01 - [Google Suite] - 가상주식 투자 시스..

rpa-bot.tistory.com

수익률 역시 나중에 주간단위 통계와 일별 Trend 분석을 위해서 개인별 수익률 데이터를 일별로 저장을 해놓았는데 '개인별리스트'의 수익률 B열을 복사해서 '개인별일일수익률' 시트의 마지막 열로 복사해서 저장해놓았습니다. 이또한 GAS 로 자동으로 처리를 해주었습니다.

 

 

매일 7시에 DilayCopy 함수를 매일 실행하게 트리거를 설정해놓았습니다.

 

DailyCopy 함수는 Rank 를 계산하기 위해서 자동으로 처리해주는 DailyCopyRank 함수와 일일 수익률 백업을 만들어주기 위핸 DailyCopyRate 함수를 실행해줍니다.

function DailyCopy()
{
  DailyCopyRank();
  Logger.log ( "DailyCopyRank 실행완료");
  
  DailyCopyRate();
  Logger.log ( "DailyCopyRate 실행완료");
   SendMessage("랭크초기화");
  
}

DailyCopyRank 함수는 '개인별수익률' B2:C67값을 복사해서 G2:H67 셀로 붙여 넣어주고 G1의 셀에는 복사한 현재 날짜을 넣어 줍니다.

function DailyCopyRank()
{

  
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("개인별수익률");
  
  Logger.log ( "개인별 수익률 시트가져오기");
  var dataRange= ss.getDataRange();
  var range=ss.getRange('B2:C67');
  var data=range.getValues();
  Logger.log ( "복사");
  ss.getRange('G2:H67').setValues(data);
  
  ss.getRange('G1').setValue(new Date());
  
  Logger.log ( "붙여넣기");
  
}

DailyCopyRate 함수는 '개인별일일수익률' C2:C67 셀값을 복사해서 마지막 열을 찾아서 마지막 열 첫번째행에 붙여넣기를 해줍니다.

function DailyCopyRate()
{

  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("개인별일일수익률");
  var cols = ss.getLastColumn()+1;

  Logger.log ( "일일 수익률 시트가져오기");
  var dataRange= ss.getDataRange();
  var range=ss.getRange('C2:C67');
  var data=range.getValues();
  Logger.log ( "복사");
  
  ss.getRange(2,cols,data.length,1).setValues(data);
  ss.getRange(1,cols).setValue(new Date());
  
  Logger.log ( "붙여넣기");
  
}

 

처음으로가기

2020/06/02 - [Google Suite] - 가상주식 투자 시스템 만들기 #1/7 (프롤로그)

 

가상주식 투자 시스템 만들기 #1/7 (프롤로그)

참고로 이 시스템은 성균관 대학교 IMBA 투자동아리 (성투연)에서 가상 주식 투자 대회를 운영하기 위해 만들어진 시스템입니다. 2020/06/01 - [Google Suite] - 주식 봇 만들기 #1/2 주식정보가져오기 지��

rpa-bot.tistory.com