5-10 지옥 구간에 신나게 놀다가 11-4 천국 구간을 맞이하여 뒤늦게 강환국 선생님(나보다 더 똑똑한 사람은 어려도 다 선생님.) 채널 영상을 보고 있는 데, 정적 자산 배분 전략에 대해서 약간은 상반된 내용의 동영상이 나란히 올라와 있다.

 

분산 효과를 제대로 보려면 장기적으로 손실을 내는 자산군을 끌어안고 가야 한다는 1063번 영상과

장기 손실 종목을 피하고, MDD도 낮추려면 추세 필터를 적용하면 된다는 1066번 영상은 언뜻 보면 상반된다.

 

사실 1063번 영상과 1066번 영상은 둘 다 맞는 말이다.

주식 시장은 복잡한 시스템이라서 서로 반대되는 개념인 추세와 역추세(혹은 평균 회귀)가 모두 통한다.

고통의 빈도와 강도가 다를 뿐이다.

 

추세 개념을 적용하면 작은 손실을 자주 입지만, 큰 손실은 피해간다.

역추세 개념을 적용하면 꾸준한 수익을 내지만 어쩌다 한 번씩 큰 손실을 입으며 회복에 긴 시간이 걸린다.

 

매일 작은 바늘에 콕콕 찔리면서 반창고를 달고 살 것인가? 

어쩌다 한 번 망치로 뒤통수를 맞고 장기 입원할 것인가?의 차이일 뿐이다.

무엇을 선택하든 심리적 고통은 따르고 이것을 버텨야 수익을 기대할 수 있다.

이게 힘들다면 은행 예금이나 단기 국채등 안전 자산에 투자해야 한다.

안전 자산만으로는 노후에 겪을 고통이 너무나 큰 것이 예상이 될 때,

미래의 확정된 불행을 피하기 위해서 현재의 불확실성과 고통을 감수하는 게 위험 자산 투자이다.

 

역추세 기법의 일종인 가치 투자를 하는 워렌 버핏은 '반토막 나는 것을 두려워 하는 사람은 주식 투자를 하지 말라'고 하는 데, 이건 역추세 기법의 특징일 뿐이다.

추세 기법을 쓰면 반토막까지 얻어맞지는 않고, 손절매를 통해서 깊고 큰 손실을 피해나간다.

다만, 조금만 더 기다리면 반등하는 게 눈에 뻔히 보이는 데도, 굳이 손실을 입어가면서 끝없이 손절매를 해야하는 지속적인 고통이 기다리고 있다.

 

인생에 정말 바닥을 치거나 나락에 내몰려 본 경험이 있는 사람이라면 아마도 일상의 고통을 감수하고서라도 두 번 다시 인생이 바닥을 치지 않을 추세 기법을 선호할 것이다.

그러나, 지속적인 고통을 이기지 못하고 역추세 기법을 섞어서 쓰게 된다.

 

2가지 기법을 동시에 운용하면 양극단이 중화되는 느낌이다.

추세 전략이 끝없는 손절매로 손실이 누적되고 있을 때, 역추세 전략이 작게나마 꾸준하게 수익을 내어주면 심리적으로 큰 도움이 된다.

그러다가, 역추세 전략에서 기나긴 손실 구간이 닥치면, 손절매를 통해서 이를 피해나간 추세 전략이 그나마 자산 일부를 보호해 주고 있다는 것에 감사하게 된다

 

50대 명예퇴직, 70세 은퇴, 평균 수명 80~90세, 다가오는 국민연금 고갈과 인구 감소가 정해져 있는 한국에서는 생존을 하려면 피할 수 없는 고통이다.

 

비슷한 내용을 이전에도 다룬 적이 있다.

(손절매 혹은 추세 지표의 심리적 장애 : https://ghts.tistory.com/81)

 

https://www.youtube.com/watch?v=sXmaUBnWkrs

 

https://www.youtube.com/watch?v=z86EPTmLN8g

 

R언어의 대입 기호 (다른 언어는 '='인데 비해서) '<-' 이다.

2개의 키를 필요로 하는 것도 모자라서, < 를 타이핑 하려면 쉬프트키까지 눌러야 하니, 다른 언어에 비해서 3배의 노력이 필요하다.

그런데, RStudio에서는 이 문제를 조금이나마 편하게 해 주는 팁이 있다.

ALT+'-' 가 바로 <-가 입력되게 하는 단축키이다.

 

'프로그래밍' 카테고리의 다른 글

Go언어 내장형 SQL 데이터베이스  (0) 2022.12.19
IntelliJ GoLand에서 한글 함수 이름 문제 해결.  (0) 2022.09.23
한국투자증권 REST API  (2) 2022.07.07
Go언어 에러처리  (0) 2016.11.02
Go언어 소개  (0) 2014.11.04

R언어 절사 평균 mean trim

데이터 분석 2023. 6. 28. 13:16 Posted by UnHa Kim

R언어에서 mean은 평균값을 구하는 함수이다.

mean함수에 trim이라는 인수를 0.0~0.5 사이의 값으로 설정할 수 있는 데, trim은 표본값 중에서 최저, 최대 극단값들을 잘라낸(절사) 후 남은 값으로만 평균을 구한다는 의미가 되고, trim은 그 절사 비율을 의미한다.

즉, 'mean(mydata, trim=0.2)'는 mydata의 값들 중 최저 20%, 최대 20% 극단값을 제외하고 남은 60%의 중간값들의 평균을 구한다는 의미이다.

trim을 잘 활용하면 극단값에 의해서 평균값이 왜곡되는 단점을 보완하는 데 유용할 것 같다.

'데이터 분석' 카테고리의 다른 글

R언어 무료 IDE  (0) 2023.06.28
무료 R언어 강의 영상  (0) 2023.06.26
윈저화 평균 (winsorized mean)  (0) 2023.04.28
Julia 전용 Pluto 노트북 설치  (0) 2022.07.21
Go언어로 작성된 백테스트 프레임워크  (0) 2021.12.18