Search

'데이터 분석'에 해당되는 글 5건

  1. 2019.08.28 과거 기업 재무정보
  2. 2019.08.01 R언어 POSIXct 형의 변환 코드
  3. 2019.08.01 Jupyter Notebook 셀 분할/병합 단축키
  4. 2019.07.27 R용 JupyterLab 설치
  5. 2015.10.01 R언어 사용기

과거 기업 재무정보

데이터 분석 2019. 8. 28. 11:49 Posted by 정직한 UnHa Kim

매매전략의 백테스트를 위해서 과거 재무정보가 필요할 경우 2가지 선택 사항이 있다.

 

1. 유료 데이터 가공 판매 업체.

 

- fnguide : 100만원이 넘는 연 이용료에 보기만 가능하고 DB화는 안 된다는 까다로운 조건을 내세운다.

 

- 세종데이터 : 30만원 이하의 비교적 저렴한 연 이용료에 사용하기 편리한 HTTP API를 제공한다.

 

https://sejongdata.co.kr/

 

세종기업데이터 - Sejong Data

기업정보 제공 서비스, 대한민국 모든 상장 기업의 20년간의 재무정보를 확인하세요.

sejongdata.co.kr

 

세종 데이터의 단점은 제공되는 데이터의 종류가 상장주식수/매출액/영업이익/순이익 단 4가지이라는 점.

그리고, 금융회사의 재무정보는 제공되지 않는다는 점도 유의해야 한다.

 

그러나, 연도별 데이터는 20년(!)치 데이터가 제공되고,

분기별 데이터는 6년치가 제공되는 데다가,

이메일로 문의를 하면 아주 빠르게 대응을 해 줘서

일반적인 백테스트 용도로는 상당히 쓸만하다.

 

 

2. 웹페이지 긁어오기

 

- fnguide, 다음넷, 네이버 각종 포탈, 매경 등등 홈페이지에 무료로 공개되어 있다.

- 자바스크립트를 이용하거나 iframe을 이용해서 긁어오기 까다롭긴 하지만,

  그 모든 장애물을 넘고 불러올 수 있다면 풍부한 재무 항목을 무료로 얻을 수 있다.

- 가장 큰 단점은 대략 2년 정도의 데이터만 존재하므로, 전략의 안정성을 확보하는 데 부족하다는 점이다.

 

2008년 서브프라임 모기지, 2011년 유럽 PIGS, 2020년 COVID-19등등

예전에는 10년마다 한 번씩 발생하던 대폭락이 최근 들어서 빈도가 높아지고 있기에

2년치 데이터로는 전략의 안정성 확보에 부족한 점이 있다.

 

세종 데이터의 20년치 데이터로 전략의 기본적인 안정성을 확보한 후 ,

2년치 무료 데이터로 수익율 향상을 위한 추가 작업을 하는 게 그나마 적절한 타협책인 듯 하다.

 

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

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 JupyterLab 설치  (0) 2019.07.27
R언어 사용기  (0) 2015.10.01

댓글을 달아 주세요

R언어 POSIXct 형의 변환 코드

데이터 분석 2019. 8. 1. 13:27 Posted by 정직한 UnHa Kim

R에서 시간을 나타내는 자료형 몇 가지 중 자주 사용되는 POSIXct의 경우

 

세부 정보를 추출할 때 사용되는 코드는 다음과 같다.

 

Code Meaning Code Meaning
%a Abbreviated weekday %A Full weekday
%b Abbreviated month %B Full month
%c Locale-specific date and time %d Decimal date
%H Decimal hours (24 hour) %I Decimal hours (12 hour)
%j Decimal day of the year %m Decimal month
%M Decimal minute %p Locale-specific AM/PM
%S Decimal second %U Decimal week of the year (starting on Sunday)
%w Decimal Weekday (0=Sunday) %W Decimal week of the year (starting on Monday)
%x Locale-specific Date %X Locale-specific Time
%y 2-digit year %Y 4-digit year
%z Offset from GMT %Z Time zone (character)

 

사용법

format(POSIXct값 , format='<변환코드>')

 

출처 : https://www.stat.berkeley.edu/~s133/dates.html

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

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 JupyterLab 설치  (0) 2019.07.27
R언어 사용기  (0) 2015.10.01

댓글을 달아 주세요

Jupyter Notebook 셀 분할/병합 단축키

데이터 분석 2019. 8. 1. 11:55 Posted by 정직한 UnHa Kim

셀 분할 : <Ctrl+Shift+'-'>

 

셀 병합

- 병합할 셀 다중선택 : <Shift+(화살표 위아래)>

- 선택된 셀 병합 : <Shift+M>

 

Jupyter는 1줄을 따로 실행하는 게 귀찮은 문제가 있는 반면,

RStudio는 코드 블록을 실행할 때마다 해당 코드 블록을 선택해줘야 하는 게 귀찮은 문제가 있다.

 

Jupyter로 1줄씩 별도의 셀로 분할한 후, 필요하면 병합하는 방법이 해결책이 될까??

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

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 JupyterLab 설치  (0) 2019.07.27
R언어 사용기  (0) 2015.10.01

댓글을 달아 주세요

R용 JupyterLab 설치

데이터 분석 2019. 7. 27. 09:56 Posted by 정직한 UnHa Kim

과거 데이터 통계 분석에 유용한 R언어의 개발환경인 JupyterLab의 설치법을 기록해 둔다.

 

R 설치

https://www.r-project.org/

 

Rtools 설치

https://cran.r-project.org/bin/windows/Rtools/

 

Python 설치

https://www.python.org/

 

Jupyter 설치

<cmd 창에서 실행>

python -m pip install --upgrade pip

python -m pip install jupyterlab

 

Jupyter용 R 패키지 설치

<R 커맨드 창에서 실행>

install_github('IRkernel/IRkernel')

IRkernel::installspec()

 

Jupyter 노트북 실행

<cmd 창에서 실행>

jupyterlab.exe

 

P.S> Jupyter Notebook 관련 내용을 새로운 JupyterLab 으로 업데이트

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

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 JupyterLab 설치  (0) 2019.07.27
R언어 사용기  (0) 2015.10.01

댓글을 달아 주세요

R언어 사용기

데이터 분석 2015. 10. 1. 12:37 Posted by 정직한 UnHa Kim


매매전략 수립을 위한 백테스팅을 위해서 R언어를 선택했다.
최근에는 Python의 pandas 라이브러리도 많이 쓰는 듯 했지만,
R언어는 각종 통계 관련 함수가 풍부하다는 강점이 있다.


각종 시스템 트레이딩 서적에 나오는 cointegration등을 계산할려면 R언어가 최고이다.

R언어는 기존의 프로그래밍 언어와 상당히 달라서 처음에 적응하는 데 무척 애를 먹었다.
(지금도 그다지 익숙하지는 않지만..)


1. 모든 자료형은 벡터 내지 행렬이다. (스칼라 자료형이 없다.)
    - 처음에는 무척 낯설게 느껴지고, 진입장벽으로 작용한다.
    - 익숙해지면 반복문이 확연히 줄어들고, 소스코드도 깔끔하고, 굉장히 간편하다.

2. 데이터 프레임
    -  다른 언어에서 데이터 분석용 라이브러리에서나 볼 수 있는 자료형인데,
       R언어에는 기본 자료형으로 제공된다.
    - GUI가 없는 엑셀 시트에 스크립트 언어로 VBA 대신 R언어가 제공되고,
       엑셀에는 없는 수많은 통계 관련 패키지가 제공된다고 생각하면 된다.
    -  GUI가 중요한 사람은 엑셀을 쓰고,
       통계 관련 기능이 중요한 사람은 R언어를 쓰면 된다.

3. 그래프 작성 기능 내장.
     - 이 또한 다른 프로그래밍 언어에서는 별도의 라이브러리로 독립된 기능이지만,
        R언어에서는 기본으로 제공된다.
     - 엑셀에 비해서 GUI가 부족한 부분은
       결국 그래프를 그려서 눈으로 확인해 보면서 보완한다고 보면 된다.


4. 아주 많은 추가 기능 패키지.
    - R언어를 선택한 가장 중요한 이유
    - 통계학 관련 '무료'로 사용할 수 있는 추가 패키지가 아주 아주 많다.
    - 예를 들면, cointegration 확인에 사용되는 UnitRoot기법만 4가지 넘게 있다.
    - 다중 선형 시계열 관련 패키지는 알고 있는 것만 3가지 넘게 있다.
    - 시계열 분석을 위한 시간(time)자료형 패키지(zoo, xts등)이 별도로 존재한다.

5. 모든 개발도구를 기본적으로 포함하고 있다.
    - 도움말. (?<함수명>, ??<키워드>로 도움말 즉시 볼 수 있다.)
    - 외부 패키지 관리. (install.packages("패키지명")으로 추가 기능을 간편하게 설치할 수 있다.
    - 개개의 도구는 그 자체로 기능이 부족한 면이 있지만, 여러 곳을 돌아다닐 필요없이
       R언어를 설치하는 즉시 모든 작업을 시작할 수 있다는 데 의의가 있다.
       즉, 초기 개발환경 구축의 진입장벽이 낮다.

6. 무료로 사용가능한 'JupyterLab'을 사용하면 웹브라우저에서 간편하게 작업할 수 있다.
    - JupyterLab은 원래 python용으로 나왔지만,
      지금은 R, Julia등 데이터 분석 언어의 공통 개발 환경으로 발전했다.


 

내가 느낀 단점


1. 인터프리터 언어답게 반복문 처리가 느리다.
    - 속도가 느리다고 알려진 Python보다도 더 느리다고 한다.
    - 그래서, 반복문 없는 벡터화 프로그래밍이 권장된다.

2. 스칼라 자료형이 없어서 초기 진입 장벽이 높다.


3. 관련 서적이 프로그래밍과 통계학이 뒤섞여 있다.
    - R이 통계학에 특화된 언어이다 보니,
      관련 서적을 읽고 있노라면 통계학 책을 읽고 있는 지,
      R언어 책을 읽고 있는 지 헷갈릴 정도이다.
   - 통계학에 익숙하지 않으면, R언어 초기 진입장벽이 높다고 느껴진다.

 



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

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 JupyterLab 설치  (0) 2019.07.27
R언어 사용기  (0) 2015.10.01

댓글을 달아 주세요