Python mysqlclient 설치 오류 해결 방법 2가지(MySQLdb)

Python에서 MySQL 데이터베이스에 엑세스할 때 사용하는 라이브러리 중에 MySQLdb가 쉽게 설치되지 않는 경우가 있습니다. Ubuntu와 Windows에서 mysqlclient 설치시에 발생하는 문제와 해결하는 방법을 함께 알아보도록 하겠습니다. Ubuntu 환경에서 mysqlclient 설치 mysqlclient 설치 오류 상황 만약 Anaconda를 사용하면서 위와 같은 명령을 실행했는데 아래와 같은 오류가 발생하는 경우가 있습니다. Anaconda 사용시 설치 오류 해결 방법 아나콘다를 사용하는 경우에는 … Read more

파이썬 패키지 TA-Lib 설치 오류 원인 및 해결 방법(2개 운영체제: Linux, Windows)

기술적 분석을 위해서 우분투에서 TA-Lib를 사용하여 데이터 분석을 하려고, pip install TA-Lib로 설치하는데 패키지가 제대로 설치되지 않는 문제를 만날 수 있습니다. 그럼 TA-Lib 설치 방법을 확인하여 문제의 원인과 해결방법을 살펴보겠습니다. TA-Lib란? 기술적 분석을 위한 라이브러리입니다. Quant 투자 하시는 분들께 도움이 될 라이브러리입니다. TA-Lib 홈페이지의 제품 페이지에서 Open-Source Python 영역을 보면 TA-Lib가 Perl이나 Python으로 구현되지 않았으며, … Read more

Pandas DataFrame columns 순서 변경(Python)

Python에서 Pandas로 데이터 작업을 하다보면 컬럼의 순서를 변경해야 하는 경우가 생깁니다. 또는 필요한 칼럼만 추려서 새로운 DataFrame을 만들어야 할 때가 있습니다. Pandas DataFrame columns 순서 변경 방법을 알려드립니다. Pandas DataFrame columns 순서 변경 방법 df가 pandas.DataFrame의 인스턴스 객체라고 가정할 때, 아래의 예와 같이 추출할 컬럼명을 list로 넣어 주면 간단히 해결할 수 있습니다. 아래와 같이 새로운 … Read more

Python 날짜 포맷 변경 방법 및 strftime 활용법 3가지(yyyy-mm-dd)

datetime 그리고 타임스탬프를 활용한 Python 날짜 포맷 변경 방법을 알려드립니다. Python 날짜 포맷 변경 방법 현재 시간을 구해서 문자열로 변환하는 방법, timestamp를 변환하는 방법을 소개합니다. 현재 시간을 문자열로 변환 Python에서 현재 일시를 2009-11-23 12:32:17과 같은 형태의 문자열로 변환하려면 아래와 같이 하면 됩니다. 아래 그림과 같이 datetime 객체의 값을 문자열로 변환된 것을 확인할 수 있습니다. 타임스탬프를 … Read more

python에서 dictionary로 URL query string 처리하는 2가지 방법

Python에서 dictionary 형태의 데이터를 문자열 형태의 쿼리 스트링으로 처리해야 하는 경우가 생깁니다. urlencode를 사용하여 query string을 만드는 방법과, requests 패키지 사용시의 처리 방법을 알아보겠습니다. urllib.parse의 urlencode사용하여 query string 만들기 urllib.parse의 urlencode를 사용하면 dictionary 형태의 데이터를 간단히 쿼리 스트링 형태의 문자열로 만들 수 있습니다. 이 방식을 사용하려면 urllib.parse.urlencode를 import 해 주어야 합니다. 위와 같은 코드를 사용하면 … Read more

Python unittest 모든 테스트 한 번에 하는 방법

파이썬으로 유닛테스트 처음 해 보는 분들 계시죠.파일 하나씩은 실행시켜봤는데, 한 번에 모든 테스트 파일 실행하고 싶을 때 어떻게 해야 하는지 알려드릴게요. 테스트 실행하기 아래 명령어 한 줄이면 끝납니다. 프로젝트 루트에서 실행하도록 하세요. 실행했는데, 아래와 같은 결과가 나왔나요? 그렇다면 이렇게 된 2가지 가능성이 있는데, 그 두 가지 확인해 보겠습니다. 해결해야 할 이슈 2가지 파일이름 테스트 파일 … Read more

아나콘다 가상환경 삭제 방법

가상환경을 만드는 건 쉬웠는데 삭제해야 하는 상황인가요? 아나콘다 가상환경 삭제 방법을 살펴보겠습니다. 아나콘다 가상환경 삭제 아나콘다 가상환경을 만들어 사용하다가 불필요해서 삭제해야 하는 경우가 있습니다. Anaconda 가상환경 삭제에는 conda env remove 또는 conda-env remove 명령어를 사용하면 됩니다. -n 옵션을 이용해서 삭제하고자 하는 아나콘다 가상환경 이름을 적어주면 Anaconda 가상환경이 삭제됩니다. 아래와 같이 가상환경 삭제 명령어를 입력하면, 가상환경 … Read more

크레온 플러스 API 연동 IsConnect 확인 후 강제종료

크레온 플러스 API 연동시 IsConnect를 통해 연결상태를 확인하고 나면 잠시 후 실행한 파이썬 어플리케이션이 종료되는 현상이 있습니다. 크레온 플러스 API 연동시 강제종료되는 현상의 원인과 해결 방법을 알아보도록 하겠습니다. 크레온 플러스 API IsConnect 확인 후 강제종료되는 현상 VULTR 가상머신에서 크레온 플러스 API를 연동해서 사용하기 위해서 호스팅을 신청하고 이용했습니다. 그런데 분명 과거에는 아무 문제 없이 잘 실행했었는데, … Read more

Python numba guvectorize 활용 방법으로 속도 300배 높이기

파이썬에서 매우 긴 리스트의 값을 처리하는데 시간이 오래 걸려서 괴로우신가요? Python에서 numba guvectorize를 사용하면 array 형태의 값 처리의 속도를 매우 빠르게 할 수 있습니다. 개요: 성능 비교 우선 실행 결과를 먼저 보겠습니다. aaa는 guvectorize를 사용해서 연산한 경우이고, bbb는 그냥 python 단순 for loop을 실행한 결과입니다. 그리고 ccc는 numpy의 벡터 연산을 실시한 결과입니다. guvectorize를 적용하면 단순 … Read more

매매로직 재사용

빠른 배포가 중요하다는 포스팅에서 이야기 한 방법은 사실 안정적이지 않다. 더 좋은 방법은 백테스트할 때 활용한 매매 시스템의 로직을 트레이딩 시스템에서 동일하게 활용하는 방법이다. 1호 시스템을 만들고 나서, 앞으로 2호 이후의 시스템들을 만들 생각을 하니 매번 모든 코드를 작성해야 하는 것은 비효율적이라는 생각이 들었다. 매매로직을 모듈화해서 백테스트와 트레이딩 시스템에 모두 동일하게 활용할 수 있게 한다면, … Read more