개발을 주로 리눅스에서 하는 개발자들이 많을 것입니다. 여러모로 리눅스는 개발 편의성과 생산성을 높여 줍니다. 그러나 개발 외적으로는 리눅스가 불편한 점이 많아 윈도우를 포기할 수도 없습니다. 윈도우를 포기할 수 없는 이유 3가지를 들어 보겠습니다.
한국의 많은 사이트들(특히 공공기관 사이트들)이 윈도우에서만 사용가능하거나 윈도우에서 편리하다. (Ex. 연말정산)
윈도우에 최적화된 MS Office를 꼭 써야 한다.
게임…
다행히도 윈도우에서 리눅스를 사용할 수 있는 다양한 방법이 있습니다.
Virtual Machine: VMWare, Virtual Box 등
Docker Container
WSL (Windows Subsystem for Linux)
여기서 Virtual Machine을 이용한 방법은 많은 분들이 이미 알고 계실거라 생각합니다. 그러나 Virtual Machine에게 컴퓨터의 리소스를 나눠줌으로써 (정말 고사양 컴퓨터가 아니라면) 성능 문제가 생기기 쉽습니다.
Docker Container는 개발 환경을 독립적으로 유지하기에 좋지만 번거로운 감이 있습니다.
그래서 이 포스트에서는 WSL을 이용하여 윈도우에서 우분투를 쉽게 사용하는 방법을 소개하고자 합니다.
먼저 WSL을 활성화 시켜야 합니다. 윈도우 설정 > 앱 > 프로그램 및 기능 > Windows 기능 켜기/끄기로 갑니다. 아니면 윈도우 키 > "Windows 기능 켜기/끄기" 검색해도 됩니다.
이렇게 WSL을 설치하고 나면 Microsoft Store에서 Ubuntu를 설치할 수 있습니다.
Ubuntu는 가장 최신의 LTS 버전이므로 가장 왼쪽에 있는 Ubuntu를 설치하면 됩니다. 버전이 명시되어 있는 Ubuntu를 설치해도 됩니다.
Ubuntu를 설치하고 나면 다음과 같이 bash 터미널을 띄울 수 있습니다.
이제 윈도우에서도 우분투를 맘껏 사용하시면 됩니다. 글을 쓰는 시점에서 아직 하나 아쉬운 점은 WSL에서 tensorflow-gpu를 사용할 수 없다는 것입니다. 이 부분에 대해서는 MS에서 GPU 관련 개선을 진행중이라 하니 기다려보면 되겠습니다.
WSL 우분투의 파일시스템은 C:\Users\<사용자이름>\AppData\Local\Packages 아래에 CanonicalGroupLimited.Ubuntu로 시작하는 폴더를 찾아보면 됩니다. 이 폴더에서 LocalState\rootfs를 보면 우분투 bash에서 보던 파일 구조를 확인할 수 있습니다.
Django로 웹개발을 하다보면 Django의 ORM(Object-relational Mapping)을 자주 사용하게 됩니다. Django의 ORM 관련 문서는 여기를 참고해 주세요.
from django.db import models 모듈의 Model 클래스로 DB를 쉽게 구축할 수 있습니다. 그럼에도 DB 구축 과정에서 테스트성 작업도 필요하게 됩니다. 예를들어, 테스트 데이터를 생성해 보거나, 모델을 이용하여 질의(Query)를 만들어 보거나, 데이터를 수정해 보거나, 테스트로 입력한 데이터들을 삭제하거나 등입니다. 즉, 데이터 CRUD(Create, Retrieve, Update, Delete)를 테스트 해볼일이 많습니다.
Django 설정이 로딩된 상태에서만 모델들을 사용할 수 있습니다. 이들을 테스트하기 위해서 Django View에서 테스트 코드를 작성하고 GET 호출을 하는 번거롭고 비효율적인 방법으로 테스트할 수도 있습니다만, 보다 효과적인 방법을 소개합니다.
주식시장은 국내 사정 뿐만 아니라 해외 주요 국가들의 상황에 영향을 받습니다. 많은 투자자들이 특히 미국 주식시장 상황을 관심있게 지켜보는 이유가 미국 주식시장 상황에 우리나라 주식시장이 큰 영향을 받는다고 생각해서일 것입니다. 이번 포스트에서는 우리나라 주식시장과 주요국 주식시장들 간의 상관관계를 살펴보겠습니다.
주요 주식시장으로 한국의 KOSPI, 미국의 Dow Jones (DJI), Nasdaq (NAS), S&P 500 (SPI), 일본의 니케이 225 (NII), 중국의 상해종합 (SHS), 홍콩의 항셍 (HSI), 영국의 FTSE 100 (LNS), 프랑스의 CAC 40 (PAS), 독일의 DAX30 (XTR)를 들 수 있습니다. 괄호 안의 코드명은 네이버 금융을 참고했습니다. 각 해외 주식시장 지수들과 한국의 KOSPI 사이의 상관관계는 다음과 같습니다.
상관관계가 높은 순으로 정렬해 보면 다음과 같습니다.
Index
Correlation
HSI@HSI
0.6646677893714394
NII@NI225
0.39574631268446814
SHS@000001
0.26712766899597473
LNS@FTSE100
0.12171746103767508
DJI@DJI
0.09225215796116076
PAS@CAC40
0.047920317117435045
XTR@DAX30
0.03127491770767439
NAS@IXIC
0.019002467506360643
SPI@SPX
-0.011244728898221503
이렇게 일일이 상관관계를 살펴보기 전에는 코스피가 미국 증시와 가장 비슷한 흐름을 보일 것으로 생각했으나, 실제로는 홍콩 증시와 더 비슷한 것을 알 수 있습니다. 그리고 확실히 코스피는 홍콩, 일본, 중국 등의 증시와 관계가 깊다고 볼 수 있습니다.
기술적 분석(Technical Analysis)는 과거 축적된 주가와 거래량 등을 분석하여 미래 주가의 방향성을 예측하는 분석 방법입니다. 대표적인 보조지표(Indicator)로 이동평균(Moving Average), 볼린저밴드(Bollinger Band), Moving Average Convergence Divergence(MACD), Relative Strength Index(RSI) 등이 있습니다.
보조지표들 외에도 차트에서 패턴을 알아내기도 합니다. 대표적인 패턴으로 Three Line Strike, Two Black Gapping, Three Black Crows, Evening Star, Abandoned Baby 등이 있습니다.
이번 포스트에서는 기술적 분석 라이브러리인 TA-LIB의 Python Wrapper에 대해서 소개하고자 합니다. TA-LIB를 이용하면 이동평균, 볼린저밴드, MACD, RSI 등의 대표적인 기술적 분석 보조지표를 쉽게 계산할 수 있고 다양한 차트 패턴을 포착할 수 있습니다. 자세한 기능은 이 문서에서 확인할 수 있습니다.