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

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

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

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

 

하모니카 리눅스에 R 설치하기

프로그래밍 2023. 9. 22. 23:31 Posted by UnHa Kim

대한민국 정부 지원으로 편의성을 높여서 개발된 하모니카 리눅스 6.0 (https://hamonikr.org/)에 개발 환경을 구성하면서 R 설치 시에 주의점이 있어서 기록해 놓는다.

 

리눅스에 R 패키지를 설치할 때는 (윈도우에서는 이미 컴파일 된 바이너리를 다운로드만 받는 데 비해서) 소스를 받아서  컴파일 하는 과정을 거치므로 (시간도 많이 걸리고) 컴파일에 필요한 시스템 패키지를 수동으로 미리 설치해 줘야 하는 주의점이 있다. (없으면 컴파일 중간에 에러가 발생함.)

 

R 설치

$ sudo apt install r-base r-base-dev

tidyverse 패키지 컴파일에 필요한 선행 패키지 설치

$ sudo apt install libssl-dev libxml2-dev libcurl4-openssl-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev

R에서 tidyverse 패키지 설치

$ R
> install.packages("tidyverse")

컴파일 하는 데 시간이 제법 걸린다.

 

R에서 arrow 패키지 설치 도중에 멈추면 NOT_CRAN 환경변수를 true로 설정해 준다.

$ R
> Sys.setenv("NOT_CRAN" = "true") # arrow 패키지 설치 도중 멈추면 설정해 준다.
> install.packges("arrow")

 

그 외...

 

R 패키지 업데이트

$ R
> update.packages(ask = FALSE)

R 패키지 삭제

$ R
> remove.packages("패키지 이름")

 

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

R언어 무료 IDE

데이터 분석 2023. 6. 28. 10:36 Posted by UnHa Kim

R언어 IDE는 RStudio가 가장 유명하지만, 써보면 한글 입력이 상당히 부자연스러운 문제가 있다.

 

Jetbrain사의 Intellij IDEA는 Google에 납품되어 제품명만 바꾼 안드로이드 스튜디오로도 알려져 있는 Java언어용 IDE이지만, 다른 여러 언어 IDE로 변형 제품들(Go언어용 GoLand라던가..)이 존재하고, R언어의 경우 전용 제품은 없지만, R언어 플러그인을 설치하면 R언어용 IDE로 상당히 쓸만한 것 같다.

 

노이즈에 대한 노출 줄이기

투자 이야기 2023. 6. 26. 12:59 Posted by UnHa Kim

1. 삼프로TV를 비롯한 거의 모든 투자 관련 유튜브 채널을 구독 해지.

 

2. 투자 관련 단톡방 탈퇴.

 

3. 장중 시간대에 HTS, MTS 켜지 않기. 

 

4. 주문은 주말 혹은 폐장 후 HTS의 '손절매 자동 주문'이나 '예약 주문' 혹은 시스템 트레이딩의 자동 매매로만.   (장중에 수동 주문을 내지 않는다.)

 

5. 학습은 되도록 책으로만. (유튜브나 블로그는 노이즈가 너무 많다.)

 

퀀트 투자가 맞는 유형

투자 이야기 2023. 6. 26. 12:42 Posted by UnHa Kim

1. 주식 투자 경험이 전무한 백지 상태.

   : 다른 방식의 투자 방법론을 모르고, 시도할 의사도 없는 경우에는 대안이 없어서 퀀트 전략을 유지하게 되거나, 중도 포기하더라도 아예 주식 투자 자체를 접어버려서 더 큰 손해를 입지는 않게 된다.

 

2. 본업이 바쁜 사람.

   : 퀀트는 매수, 손절매, 리밸런싱등의 해야할 일을 제때 하는 것만큼이나

     그 이외의 시간에는 개입하지 않고 가만히 놔 두는 것이 중요한 투자법이다.

     투자 관련 유튜브나 블로그에 넘쳐나는 핫한 업종과 종목등의 유혹과,

     매크로 경제 환경 변동성의 공포에 많이 노출되는 경우

     퀀트 전략을 원래 계획대로 가만히 놔두기 너무나 어렵게 되고,

     수동 개입을 하게 되면서 애초에 정한 전략에서 벗어나서 산으로 가게 된다.

     그런데, 본업이 바쁜 사람들은 그런 정보를 찾아볼 시간이 없어서,

     판단을 흐리고, 멘탈을 뒤흔드는 노이즈에 노출이 적어져서 퀀트 전략을 유지하기 편해진다.

 

3. 업종, 종목에 관심이 없거나, 조사하기 귀찮은 사람.

   : 미래 전망이 밝은 업종과 종목에 대한 이야기를 들을 때 가슴이 두근대는 사람은 퀀트 투자 전략을 유지하는 데 많은 애로사항이 꽃핀다.

    종목에 대해서 분석하거나 조사하는 게 귀찮고 업종과 종목 이야기 나오면 아예 듣기 귀찮아 하는 사람은 보유하는 종목들이 하나같이 미래 전망도 잘 모르겠고, 가슴 뛰는 스토리 따위는 전혀 없고, 태어나서 처음 들어보는 쌩 개잡주 종목들인데, 거기에 큰 돈을 걸고 세월아~ 네월아~ 기다리는 퀀트 투자를 한결 수월하게 견딜 수 있다.

 

4. 불확실성, 확률, 통계의 개념을 이해한 사람

  : 정답이 있는 한국 교육에 길들여지고, 흑백 논리에 익숙한 사람은 불확실한 환경에서 확률통계적으로 접근하는 퀀트 투자의 기법을 납득하기 힘들다.

   기대수익율이라는 통계값이 현실화 될 확률도 있는 만큼이나, 엇나갈 확률도 있다는 것을 이해하지 못하는 경우에 퀀트 전략이 부진한 구간을 견뎌내기 힘들다.

   그리고, 납득하지 못하는 전략은 오래 유지할 가능성이 낮다.

 

즉, 퀀트 투자의 목적을 이해하고 방치하다시피 기다릴 수 있는 사람에게 잘 맞다.

자기가 뭔가 조사를 하고 연구를 해서 종목을 발굴하려는 사람에게는 맞지 않다.

 

무료 R언어 강의 영상

데이터 분석 2023. 6. 26. 11:18 Posted by UnHa Kim

국가 평생 교육원에서 대학 기관에서 강의 동영상을 공급받아서 무료로 배포하는 K-MOOC라는 사이트에 R언어 강의가 무료로 공개되어 있다.

 

http://www.kmooc.kr/courses/course-v1:DKUK+DKUK0003+2019_T1/video 

 

video | K-MOOC

Video 시청

www.kmooc.kr

 

회원 가입 후 청강을 선택하면 강의 동영상을 무료로 시청할 수 있다.

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

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

Julia for Data Analysis

책 리뷰 2023. 5. 5. 20:25 Posted by UnHa Kim

 

https://www.amazon.com/dp/B0BPTK9Z37

파이썬, R과 더불어서 데이터 분석에 많이 사용되는 줄리아(Julia) 언어로 하는 데이터 분석 관련 서적이다.

 

책 저자가 Julia언어 DataFrame의 메인 개발자이라는 점이 타 서적과 차별점이다.

(찐 실력자가 각 잡고 쓴 책이다.)

 

1장은 소개이고,

2~7장으로 이루어진 '파트 1'은 데이터 분석을 위한 줄리아 언어 기초를 다루고,

8~14장으로 이루어진 '파트 2'는 DataFrame을 통한 실제 데이터 분석 사례를 다룬다.

파트 1은 잘 읽히고 유용하다.

파트 2의 경우 DataFrame의 내부와 세부사항에 대해서 자세하게 설명되어 있는 것을 넘어서 다른 기능과 연계하는 분석 프로세스를 보여준다.

장점은 전반적인 데이터 분석 과정을 보여준다는 점이고, 단점은 가장 관심이 가는 DataFrame에 대한 초점이 흐려진다는 점이다.

 

파트 1의 경우 입문하는 입장에서 비교적 잘 읽히지만,

파트 2의 경우 DataFrame에 대해서 잘 모르는 입장에서 (특히, 12/13장은) 상당히 난해하다.

Julia언어 홈페이지에서 DataFrame 관련 문서(https://dataframes.juliadata.org/ )을 읽으면 DataFrame에 대한 설명만을 평이한 언어로 읽을 수 있고, 이후에 12, 13장을 다시 읽으면 도움이 될 것 같다.

 

그럼에도 불구하고 DataFrame의 메인 개발자가 지은 책이라는 점에서 상당한 의미를 가진다.

'책 리뷰' 카테고리의 다른 글

장단기 투자의 비밀 (래리 윌리엄스)  (0) 2023.02.11
Successful Algorithm Trading  (0) 2022.12.19
가상화폐 투자마법 공식  (0) 2022.11.05
인플레이션에서 살아남기.  (0) 2022.10.14
행운에 속지 마라.  (0) 2021.10.18

윈저화 평균 (winsorized mean)

데이터 분석 2023. 4. 28. 22:34 Posted by UnHa Kim

데이터 분석 관련 책을 읽다가 윈저화 평균(winsorized mean)이라는 평활화 기법을 접했다.

 

극한값(가장 큰 값/가장 작은 값)을 인접한 값으로 대체해서 극소수의 '이상치'(outlier)로 인해서 평균값이 왜곡되는 것을 완화하는 평활화 기법이다.

 

예를 들면, [1,2,3,4,5,6,7,8]이 있고, 2차 윈저화 평균을 구한다면 가장 작은 값 2개 [1,2]를 인접값 3으로 대체하고, 가장 큰 [7,8]을 인접값 6으로 대체해서 [3,3,3,4,5,6,6,6]의 평균을 구하는 것이다.

이렇게 이상치로 인한 평균값의 왜곡이 많이 줄어들어서, 평균값과 중간값의 차이가 줄어든다는 것을 알 수 있다.

 

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

R언어 무료 IDE  (0) 2023.06.28
무료 R언어 강의 영상  (0) 2023.06.26
Julia 전용 Pluto 노트북 설치  (0) 2022.07.21
Go언어로 작성된 백테스트 프레임워크  (0) 2021.12.18
Julia용 JupyterLab 설치  (0) 2021.12.06

 

터틀 매매 기법은 원래 1회 매매 손실 한도를 총자산의 2%로 잡았는 데,

터틀 수강생들이 백테스트를 통해서 MDD가 예상보다 너무 높게 나온다는 것을 발견하게 됩니다.

 

데니스 리치는 이 소식을 접한 후, 뒤늦게나마 자신의 실수를 인정하고, 1회 매매 손실 한도를 절반인 1%로 바꾼다는 내용을 수강생들에게 알립니다.

 

(그런데, 데니스 리치가 수강생들에게 그렇게나 리스크 관리를 강조해 놓고, 본인이 리스크 관리를 제대로 안 해서 엄청난 손실을 입은 후 은퇴 했더랬죠. 세상 일은 참 모르는 거네요.)

'투자 이야기' 카테고리의 다른 글

노이즈에 대한 노출 줄이기  (0) 2023.06.26
퀀트 투자가 맞는 유형  (0) 2023.06.26
CA Afzal Lokhandwala (아프잘 로칸드왈라??)  (0) 2023.02.11
마크 미너비니  (0) 2023.02.11
데이비드 라이언  (0) 2023.02.11