본문 바로가기
반응형

Python48

반응형
참조 그림 Python을 이용한 주식 및 가상화폐 분석 - MACD & Fibonacci 전략 이전 글에서 Fibonacci Retracement Level을 통해 주식 시세나 가상화폐 시세 분석을 하는 것에 대해 알아봤다. 그리고 그 이전에는 MFI와 OBV와 같은 보조 지표 분석을 통해 매수와 매도 시점을 알아내는 방법에 대해도 소개하였다. 이러한 보조 지표 등을 알아보면서 느낀 점은 한 가지 보조 지표만으로 매수와 매도 전략을 하는 것은 위험성이 클 수 있다는 것이었다. 그래서 이번에는 이전에 알아본 Fibonacci Retracement Level과 MACD 보조 지표를 결합한 분석방법을 주식과 가상화폐 시세에 적용하여 매수와 매도 시점을 알아내는 것에 대해 알아보겠다. Fibonacci Retracement Level을 통한 주식 분석에 대한 내용은 아래의 링크를 참조하기 바란다. 파이썬.. 2021. 5. 16. 15:24
참조 그림 파이썬을 이용한 주식, 가상 화폐 분석 - Fibonacci Retracement 이번에는 Fibonacci 수열을 통해 주식을 분석하는 파이썬 코드에 대해 알아보겠다. Fibonacci 수열과 이를 통한 주식 분석에 대해 간단히 알아보면 다음과 같다. 먼저 Fibonacci 수열은 13세기 수학자 레오나르도 피보나치가 발견한 수열로서 처음 두 항을 1과 1로 한 후, 그다음 항부터는 바로 앞의 두 개의 항을 더해 만드는 수열을 말한다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ….. 이 수열은 수학 뿐만 아니라 일상생활이나 자연현상 등 여러 곳에서 적용됨이 확인되었으며 이 수열의 비율이 황금비가 되어 미술과 건축, 음악 등의 분야에도 이용된다. 주식이나 가상 화폐 시세 분석에서 Fibonacci 비율을 이용하여 상승하는 시세에서는 저항 수준을 예측하고 하향하는 시.. 2021. 4. 25. 18:58
참조 그림 Python PyQt5의 Qt Platform plugin 에러 해결 최근 파이썬을 3.9 버전을 새로 설치하고 PyQt5를 이용하여 예전에 만든 프로그램을 실행시키려고 하는데 아래와 같은 에러가 발생하였다. qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "" 이에 대한 해결방법을 겨우 찾았는데 유사한 에러가 발생한다면 다음과 같은 방법으로 해보길 바란다. 간단히 말하면 프로그램 path가 정의되지 않아서 생긴 문제로 이 path를 정의해 주는 것이다. 먼저 “고급 시스템 설정”을 열어 밑쪽에 있는 “환경 변수”를 누른다. 아래의 환경변수 설정 화면에서 사용자 변수 새로 만들기를 누른다. 아래의 창에 변수 이름과 변수 값을 넣어 저장한다. 변수 이름은 “QT_PLUGIN_PATH” 이고, 변수 값은 “.. 2021. 4. 16. 22:32
참조 그림 MFI를 통한 주식 매수/매도 시점 분석 이번에는 주식을 분석하는 지표 중 지난번 OBV(On Balance Volume) 기법에 이어 MFI(Money Flow Index)를 통한 방법을 알아보겠다. 파이썬을 이용하여 원하는 주식 데이터를 다운받고 그 데이터를 활용하여 MFI를 계산하고 그 결과를 주식 데이터의 종가(Close Price)에 반영하여 매수와 매도 시점을 판단하는 데에 도움을 주도록 하는 것이 목적이다. 지난번에 OBV 기법을 통해 주식의 매도와 매수 시점을 판단해보았는데 하나의 기법으로만 주식의 흐름을 판단할 수 없으므로 MFI를 통해서도 매수와 매도 시점을 판단해봄으로써 주식 거래에 있어서 어느 정도의 도움이 되는지 확인해 보고자 했다. OBV 기법을 통한 주식 매도와 매수 시점 분석은 아래 링크에 있다. OBV를 통한 주식.. 2021. 4. 11. 12:30
참조 그림 파이썬을 이용한 가상화폐 시세 분석 이번에는 가상화폐 시세를 다운로드하여 분석하는 내용을 알아보겠다. 가상화폐 또는 암호화폐에 대해서 개인적으로 지식이 별로 없고 가상화폐를 가지고 있거나 거래를 해본 적도 없다. 가상화폐에 대해 잘 알지도 못하고 그동안 관심도 없었으면서 이 주제를 정한 이유는 가상화폐 이외에 데이터를 분석을 위한 파이썬 코드나 시각화와 관련된 코드에 대한 공부가 되기에 정리하게 되었다. 파이썬 코드를 공부하면서 자연스럽게 가상화폐에 대해 조금 알게 되었으며 나중에 기회가 되면 좀 사볼까 하는 생각이 들기도 했다. 여기서는 몇 개의 가상화폐 시세를 다운받아 그래프로 표현하고 각 가상화폐의 변동성을 분석하며 각 화폐 간 연관성 분석, 그리고 누적 수익률을 분석해 본다. 파이썬 코드는 유튜브 “Computer Science”의.. 2021. 3. 21. 13:20
참조 그림 OBV를 통한 주식 매입/매도 시점 분석 이번에는 파이썬을 이용하여 주식 데이터를 분석하는 방법에 대해 알아보겠다. 주식 데이터를 분석하는 방법에는 여러 가지 있으나, 이번에 알아볼 것은 OBV를 이용하는 방법이고 이를 파이썬을 통해 구현해 보겠다. 이전에도 얘기했지만 파이썬 공부를 위해 여러 가지 프로젝트를 해보고 있다. 파이썬 뿐만 아니라 주식에 대한 공부도 할 겸 이 주제를 정했으며 파이썬 코드는 유튜브 동영상 강의를 참고하였다. OBV에 대해 간단히 알아보겠다. 먼저 OBV는 On Balance Volume의 약자이며 주식의 거래량은 항상 주가에 선행한다는 것을 전제로 거래량을 통해 분석을 하는 기법이다. 거래량 분석을 통해 주식이 매집단계에 있는지 분산 단계에 있는지 알아낼 수 있으며 거래량이 중심이 된 투자 판단을 내릴 수 있다. O.. 2021. 1. 31. 12:49
참조 그림 Machine Learning을 이용한 간단 주식 예측 이번에는 비교적 간단한 Machine Learning을 이용하여 주식의 종가를 예측하는 것을 알아보겠다. 파이썬 코드는 자주 보는 유튜브 동영상 강의를 참조하였다. 예측 알고리즘은 Radial Basis Function(RBF) 커널을 사용한 SVM을 통하여 구현한다. 컴퓨터공학이나, 소프트웨어 전공이 아니라 Machine Learning에 대한 자세한 내용은 모르지만, 간단히 설명하면 다음과 같다. 서포트 백터 머신(SVM)은 딥러닝은 아니지만 이에 못지 않은 성능을 내는 Machine Learning 알고리즘이며 가볍다는 장점이 있어 분류(Classification)나 회귀(Regression)를 위해 많이 사용된다고 한다. 먼저 기본이 되는 선형 SVM이 있으며 이것은 데이터를 선형으로 분리하는 최.. 2021. 1. 3. 20:30
참조 그림 Python Machine Learning을 이용한 Lotto 번호 생성 프로그램 - (2)(UPDATE ) 1부에서 Machine Learning을 통해 다음 차수의 1등 Lotto 번호 총 합 예측을 하였다. 2부에서는 예측된 합에서 6개의 Lotto 번호 조합을 찾아보도록 하겠다. 1부 처음에 얘기했듯이 Lotto 번호의 조합은 과거에 나온 번호들 중에서 가장 많이 나온 번호 순대로 조합을 하여 찾는 방법과 거꾸로 가장 적게 나온 번호 순대로 조합을 찾는 방법으로 한다. 소프트웨어나 컴퓨터 공학을 전공하지 않은 사람으로서 Python을 혼자 공부하면서 그동안은 대부분 다른 사람이 만들어 놓은 코드를 그대로 해보거나 약간의 수정만을 했었다. 그러나 정해진 조건에서 특정 합을 이루는 6개의 숫자 조합을 찾는 부분은 직접 코드를 짜보는 데에 의미를 두었고 남들한테는 쉬울지 몰라도 비전공자로서 이러한 단순한 알고.. 2021. 1. 3. 15:26
참조 그림 Python Machine Learning을 이용한 Lotto 번호 생성 프로그램 - (1) 이번에 파이썬을 이용하여 Lotto 번호 6자리를 뽑아내는 프로그램을 만들어 보았다. 많은 사람들이 Lotto 번호를 만드는 프로그램을 만들었으며 대부분은 random() 함수를 이용하여 난수를 생성한다. 그러나 여기서는 Machine Learning 중 XGBoost 알고리즘을 이용하고 그동안의 Lotto 번호 통계를 바탕으로 6개의 숫자를 뽑는 프로그램을 구현해 보았다. Lotto 는 45개의 숫자 중 순서에 상관없이 6개의 숫자가 모두 맞아야 하기 때문에 그 확률은 1/8,145,060 이 된다. 또한, 이전 차수까지 많이 나온 숫자가 앞으로도 많이 나온다거나 아니면 앞으로는 적게 나온다거나 하지 않으므로 Lotto 1등 번호를 예측하기란 사실상 불가하다고 볼 수 있다. (어떻게 보면 다른 사람들이.. 2020. 12. 13. 17:57
참조 그림 XGBoost를 이용한 주식 예측 - (3) 3부에서는 앞에서 알아본 XGBoost와 time series 데이터를 supervised learning problem으로 변형한 것을 종합하여 간단히 다음날의 주식 종가를 예측하는 프로그램을 만들어 보겠다. [1. 입력 모듈] 프로그램 실행을 위해 입력하는 모듈들은 아래와 같다. 위에서 마지막에 import 하는 것은 yahoo에서 주식 데이터를 불러오기 위해서 사용한다. [2. 예측을 위한 입력 데이터 수 결정] 훈련된 모델에 오늘 날짜의 종가부터 몇 개의 이전 날짜 종가 데이터를 입력한다. 여기에서는 위와 같이 30일 치의 데이터를 입력으로 하고 다음날 하루의 종가 정보를 예측한다. 얼마큼의얼마 큼의 데이터를 입력으로 하는지에 따라 예측 종가가 바뀐다. 얼마 큼의 데이터를 입력하여야 좀 더 정확한.. 2020. 11. 8. 12:28
참조 그림 XGBoost를 이용한 주식 예측 - (2) 1부에서는 XGBoost의 기본적인 사용법에 대해서 알아봤다. 2부에서는 주식 데이터와 같은 시계열 (Time Series) 데이터를 통해 예측을 하는 방법에 대해 알아보겠다. Time series 데이터는 시간의 index 순으로 나열되어 있는 숫자들이라 할 수 있다. 이러한 time series 데이터는 supervised learning problem의 형태로 바꾸어 이전의 시간 데이터를 통해 다음번 시간의 데이터를 예측하게 된다. 아래의 그림은 이를 표현한 예 이다. 위의 supervised learning problem 형태를 살펴보면, X는 입력이고 Y를 출력이라 할 때에 이전 시간의 입력 X가 다음번 시간의 출력 Y 인 형태가 된다. 이렇게 supervised learning problem .. 2020. 10. 25. 10:52
참조 그림 XGBoost를 이용한 주식 예측 - (1) 평소에 관심만 갖고 있었던 Python을 통해 주식 종가를 예측하는 프로그램을 공부해 보고자 한다. Python을 잘 쓰는 편이 아니고 AI나 Machine Learning을 전공한 것도 아니기 때문에 깊이 있는 내용을 다루지는 못할 것이며 여기저기, 그때그때 자료를 찾아 내가 이해한 수준에서 정리해 보고자 한다. 주식 종가 예측을 위해 Python이 지원하는 많은 Machine Learning 중 XGBoost 알고리즘을 이용하고자 한다. 먼저 XGBoost에 대해서 간단히 알아보면 다음과 같다. XGBoost는 여러 개의 Decision Tree를 조합해서 사용하는 Ensemble 알고리즘이며 Ensemble은 여러 개의 모델을 조합해서 그 결과를 뽑아내어 정확도를 높이는 방법이다. 이 Ensembl.. 2020. 10. 17. 23:13