주식에서 보조지표나 이평선같은 기술적분석에 쓰이는 것을 계산해주는 모듈인 TA-lib를 설치할 때 파이썬 버전과 64비트인지 32비트인지를 알고 있는게 중요합니다.무작정 pip install ta_lib 를 하면 거부를 해서 설치를 안 합니다.이건 Ta-lib의 최신버전에 맞는 파이썬과 비트가 달라서 일어나는 현상인데요.이런 이유 때문에 각각 버전에 맞는 설치파일을 .whl 파일로 제공하고 있습니다.https://github.com/cgohlke/talib-build/releases/tag/v0.4.28 Release v0.4.28 · cgohlke/talib-build github.com TA_lib 설치하기TA_lib를 설치는 간단합니다.요약해서 얘기하면 필요한 모듈을 파이썬 버전에 맞는 .whl..
datetime 모듈을 이용한 시간 날짜 구하는 방법입니다. 현재시간,날짜 구하기 현재시간 구하는 방법입니다. 연도부터 마이크로초까지 나옵니다. 메쏘드는 today() 를 쓰거나 now() 를 쓰면 됩니다. 둘다 같은 결과가 나옵니다. from datetime import datetime today = datetime.today() #현재 시간 now = datetime.now() #현재 시간 print(today) print(now) 마이크로초에서 시간 차이가 있었지만 아무튼 둘다 같은 결과가 나옵니다. 현재날짜에서 추출하기(심플) 현재 날짜에서 연이나 일, 시간 추출하는 간단한 메쏘드입니다. 정말 간단하게 시간 추출할 때 유용합니다. print(now.year) #연 print(now.month) #..
판다스가 어느 포맷들을 불러올 수 있는지 정리합니다. 불러올 수 있다는 것이 의미하는 건 일종의 변환이라 판다스로 펼쳐놓으면 판다스처럼 쓸수 있는 것을 의미합니다. 판다스를 잘 쓰는 사람들에게는 판다스가 많은 확장자 파일을 다룰 수 있으면 여러모로 편리하게 쓸수 있지 않을까 싶습니다. 저장과 불러오는 방법을 엑셀 파일로 들면 df를 저장할 데이터프레임이라 하면(이름 정의를 꼭 df로 할 필요는 없습니다) 저장할 때는 df.to_excel('경로'/'파일이름.xlsx') 불러올 때는 df = pd.read_exel('경로/파일이름.xlsx') 입니다. 다른 확장자인 경우는 아래 표에 적어놓았습니다. Format Input Output CSV pd.read_csv() .to_csv() xls/xlsx pd...
파이참을 처음 실행하거나 새로운 프로젝트를 새로운 폴더에서 실행하게 되면 'Windows Defender might impact performance' 가 메세지로 뜹니다. 말인 즉슨, 윈도우 디펜더에서 해당폴더를 스캔하는걸 제외하라는 얘기입니다. Exclude directories를 눌러도 파이참을 켤 때마다 다시 메세지가 나옵니다. Don't show again을 누르면 메세지는 안 나오긴 하지만 뭔가 꺼림직해서 파이참에서 요구한대로 해보겠습니다. 메세지에 나온 폴더를 일일히 제외 항목으로 넣어주면 됩니다. 제외 사항 추가하기 1. 디펜더를 가기 위해 windows 검색에서 windows 보안으로 들어갑니다. 2. 바이러스 및 위협 방지로 이동합니다. 3. 바이러스 및 위협 방지 설정에서 설정관리를 ..
파이썬 편집기인 파이참 설치방법입니다. 파이참 설치파일 다운로드 아래 링크에서 설치파일을 받습니다. Professional은 유료버전이고 Community는 무료버전입니다. 유료버전을 하면 파이썬과 HTML, JS,SQL 을 같이 쓸 수 있습니다. https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE www.jetbrains.com 설치 설치파일을 실행하면 아래 그림처럼 뜹니다. Next를 눌러줍니다. 설치할 폴더를 정해줍니다. 꼭 C 드라이브일 필요는 없습니다. Create Desktop Shortcut : 바탕화면에 바로가기를 만듭니다. Update co..
ndarray를 저장하고 불러오는 방법입니다. 파이썬에서 데이터를 파일로 저장하는 방법은 굉장히 많은데 ndarray로 저장을 하면 많은 양의 데이터를 굉장히 빠르게 저장할 수 있습니다. 불러오는 것도 마찬가지로 굉장히 빠릅니다. 그래서 많은 양의 ndarray를 저장할때 SQL이나 pickle 보다 효율적일 수 있습니다. ndarray는 보통 숫자로 이루어져있기 때문에 본인이 어떤 형식으로 데이터를 저장할지는 생각하기는 해야합니다. 이게 만능키가 아니라서 PyTables 라는 패키지로 어느정도 SQL 같이 data 다루는것도 할 수 있습니다. 완벽하게 모든 것을 커버하고 편리하고 빠르게 저장,로드하는 것을 굳이 놔두고 SQL을 쓰지 않았을거라 뭔가 한계점이 있을거라 봅니다. 이런 얘기를 다 할 수는 없..
데이터프레임을 정렬하는 방법입니다. 데이터프레임은 인덱스(index)와 컬럼값(value)이 있는데 그에 맞게 정렬을 할 수 있습니다. 인덱스 정렬을 하려면 sort_index() 메쏘드를 컬럼의 값 정렬을 위해서는 sort_value() 메쏘드를 쓰면 됩니다. 분류기 머신러닝이나 인공지능 입문자들이 많이 쓰는 연습용 데이터셋인 아이리스 데이터셋으로 해보겠습니다. 아이리스 데이터셋을 다루는게 목적이 아니니 설명은 생략하겠습니다. 필요한 것만 하겠습니다. 데이터 셋팅 import pandas as pd from sklearn.datasets import load_iris iris = load_iris() df = pd.DataFrame(data=iris.data,columns = iris.feature_n..
파이썬이 32bit인지 64bit 인지 확인하는 방법입니다. cmd나 파워셸에서는 python에 들어가면 python의 정보를 알 수 있어서 64인지 32인지 나오기는 합니다. python을 요청하면 그림의 빨간 사각형처럼 64bit 임을 알려줍니다. 그런데 이미 파이썬에 들어가 있는 상태에서 확인하고 싶다면 platform 모듈을 사용합니다. 다음과 같은 코드를 써보면 바로 현재 파이썬이 몇 bit 인지 알 수 있습니다. import platform print(platform.artitecture()) 64bit인 걸 확인할 수 있습니다. 쥬피터에서는 print를 안 써도 바로 출력이 됩니다.
어느순간 jupyter의 Tap 기능이 안되서 애를 먹고 있었는데 어느 분께서 stackoverflow에 올린 질문글이 있더군요 덕분에 해결방법을 찾았습니다. https://stackoverflow.com/questions/40536560/ipython-and-jupyter-autocomplete-not-working IPython and Jupyter autocomplete not working I am very new to this and I have no idea why the autocomplete is not working. I tried modifying the ipython config file, installed readline, but still nothing. Help! stackove..
최근에 노트북을 새로 장만했습니다. 제 데스크탑에서 쓰던 개발환경 그대로 가져올 수 있는 방법이 있지 않을까 하는 마음에 찾아보니 여러 방법이 있더군요. 그 중에서 conda를 이용한 방법을 정리합니다. 설치방법은 간단합니다. conda로 기존의 개발환경 설치 패키지 목록을 .txt로 저장한 후 새로 설치할 곳에 목록대로 설치해달라고 요청하면 됩니다. 패키지 설치 목록 가져오기 내가 원하는 가상환경의 설치 목록을 가져오는 방법입니다. 설치 목록을 txt 파일로 저장하겠습니다. 파워쉘이나 cmd에서 실행을 할건데 자신이 복사할 가상환경이 액티브되어 있는지 반드시 확인하시고 실행하시기 바랍니다. 쥬피터에서도 물론 할 수 있습니다. 코드 앞에 !를 붙이고 실행하면 문제없이 돌아갑니다. 목록을 부르는 것이 co..
논문이 끝난 줄 알았는데 어디에 내야한다며 영어를 아주 제대로 해오라는 교수님의 말씀에 저의 모든 계획이 무너지고 있습니다. 더 잘 만들어서 포스팅을 하려고 했는데 좀 아쉽지만 어쨋든 이번 포스팅에서는 판다스의 rolling을 이용한 분석 예제을 할까 합니다. 영원히 안 올릴 수도 있을 것 같아서 준비가 덜 되었지만 맛보기로 올립니다. 이게 코딩이라기보다 금융 데이터 분석에 가까워서 카테고리에 안 맞을 수 있습니다. 어쨋든 앞선 포스팅에서 이동평균선을 rolling으로 구했었는데 이걸 가지고 다양한 각도에서 볼 수 있는 통계적 분석을 할까 합니다. CJ제일제당의 데이터를 가지고 해보겠습니다. 편의를 위해 날짜와 종가만 가지고 오겠습니다. df 통계 수치 window를 20으로 해서 할 수 있는 몇가지 통..
파이썬에서 해당폴더의 특정확장자 파일이 있는지 검색하는 방법입니다. 전체경로를 가지고 오는 것까지 하겠습니다. 두가지 방법만 설명하겠습니다. os 로 찾기 glob 로 찾기 OS 로 찾기 이전 포스팅 에서 한번 살짝 다루었는데 그때는 os를 이용해 파일 목록만 가져왔습니다. 이번에는 좀 더 업그레이드 되어서 해당 폴더에서 특정 확장자 파일목록만 가져오겠습니다. 이걸 하기 위해서는 endswith()라는 함수를 써야 하는데요. endswith()은 특정 문자열에서 제시한 것이 있는지 없는지 확인하는 함수인데 다음과 같이 쓸 수 있습니다. 'abcd'.endswith('cd') 특정 문자열 뒤에 함수를 넣어주고 확인할 문자열을 괄호안에 넣어주면 됩니다. endswith()를 이용해서 다음과 같이 진행을 합니..
파이썬 상에서 심플하게 주식차트를 만들어보겠습니다. matplotlib는 간단히 쓸때 단순한 통계적인 결과의 그래프를 많이 사용했다면 cufflinks를 사용하여 특히 금융 데이터를 다룬다면 좀 더 실제적인 그래프들을 그릴 수 있습니다. 주식종목의 과거데이터를 이용해 주식 데이터 분석을 할때 굉장히 유용하고 이를 활용해서 새로운 전략에 대한 영감을 받을 수 있지 않을까 싶습니다. 데이터는 Kosdaq 150 레버리지를 사용했습니다. 요즘 포스팅할때마다 쓰는 것 같아서 조금 그렇긴 하지만 쓰던 것 쓰는게 좋으니 또 쓰겠습니다. df 일단 plotly, cufflinks, pandas를 가져오겠습니다. import pandas as pd import cufflinks as cf import plotly.of..
데이터프레임의 타입을 바꾸는 방법입니다. 사용 데이터는 국내 etf인 kosdaq 150 레버리지의 가격입니다. df.head() 데이터프레임 타입 확인하기 데이터프레임 타입을 확인하려면 dtypes를 이용합니다. df.dtypes 각 컬럼의 타입이 나옵니다. 지금 df 같은 경우 날짜만 datatime64[ns] 이고 나머지는 int64 입니다. 데이터프레임 타입 전체 한꺼번에 바꾸기 모든 타입이 같을 때는 df.astype('타입')을 하면 바뀌기 때문에 간단합니다. 물론 무조건 되는 건 아니고 서로 바뀔 수 있는 타입이라는 가정에서 된다는 얘기입니다. astype이 만능키가 아님을 강조합니다. astype은 다루기 쉬우니깐 요령 하나를 알려드릴까 합니다. 타입이 다른게 섞여있을 때 데이터프레임을 분..
데이터프레임의 column의 이름을 바꾸는 방법입니다. column 이름바꾸기 df 국내 ETF인 kosdaq 150 레버리지입니다. df로 놓겠습니다. df의 column을 보면 한글로 되어있습니다. 작업을 편하게 하기 위해서 한글로 된 column 이름을 Date,Open,High,Low,Close로 바꾸려고 합니다. column 전체 이름 한꺼번에 바꾸기 전체 column의 이름을 바꾸고 싶다면 df.columns로 바로 할 수 있습니다. df.columns를 요청하면 다음과 같이 리스트형식 비슷하게 나옵니다. df.columns columns들을 바꾸기 위해서 다음과 같이 합니다. df.columns = ['Date','Open','High','Low','Close'] df 근데 이건 모든 걸 다..