본문 바로가기

MySTATA/활용팁

대용량 자료 처리 팁(1)

* 10.3. 퇴직연기시 최대 기대효용과 현재 퇴직시 기대효용의 차이 

  loc mygamma = int(`Gamma'*100)   // 정수화: 감마는 1보다 작고 소수점 두 자리..

  loc mykappa = int(`Kappa'*100)   // 정수화: 카파는 1보다 크고 소수점 두 자리 


  gen opv_g`mygamma'_k`mykappa' = . 

  lab var opv_g`mygamma'_k`mykappa' "Option Value[G=`Gamma',K=`Kappa']"


   su yr

   loc YrMin = r(min)

   loc YrMax = r(max)


forvalues myval = `YrMin'(1)`YrMax'  {  

      by sn: gen TempMax = Vh_y`myval' if yr == `myval'

      by sn: replace TempMax = max(TempMax[_n-1], Vh_y`myval') if yr >= `myval'

      by sn: replace TempMax = TempMax[_N] if yr >= `myval'



** 퇴직연기를 통해 얻을 수 있는 최대기대자산의 효용 

      by sn: gen Vh_max_y`myval' = TempMax - Vh_y`myval' if  yr == `myval'  // 


** Option Value 

// 퇴직연기에 따른 최대기대자산에서 현재 퇴직하는 경우의 기대자산의 차이 


  by sn: replace opv_g`mygamma'_k`mykappa' = Vh_max_y`myval' - Va_0 if yr == `myval' 

  

  drop TempMax Vh_y`myval' Vh_max_y`myval' 


}

   drop Va_0 Wt_gamma