본문 바로가기

SW/주가 예측

주가, 비트코인 예측 : 머신러닝 모델 : 구현, 개발, 코드, 방법 머신러닝 모델 구현 파이썬과 Scikit-learn 라이브러리를 이용해 주가방향을 예측할 수 있는 간단한 주가 방향 예측변수를 구현합니다. 핵심 아이디어는 전날의 종가 또는 거래량 데이터를 이용해 다음날의 주가 방향을 예측하는 것입니다. 사용자는 입력 변수로 종가나 거래량 중 하나를 사용할 수 있습니다. 또는 2개를 모두 사용할 수 있습니다. 또한, 하루 전의 데이터를 기준으로 예측할지, 며칠 전의 데이터를 기준으로 예측할지 선택할 수 있습니다. 데이터셋하나의 데이터 셋을 만들고, 만들어진 데이터 셋을 일정 비율로 나누어 학습과 테스트에 사용합니다. 학습용 데이터셋은 주가방향 예측변수를 학습시키기 위해 사용하는 것으로, 이 데이터를 이용해 각 주가방향 예측변수 모델을 완성합니다. 테스트용 데이터셋은 학습..
주가. 비트코인 예측 : 머신러닝 기반 알고리즘 트레이딩 시스템 : 후기, 느낀점 알고리즘 트레이딩을 개발하기 위해서 다양한 분야의 지식이 필요합니다. 머신 러닝을 이용한 알고리즘 트레이딩 시스템 개발 이라는 책을 활용해 핵심 개념과 코드를 공부해보았습니다. 머신러닝이라는 하나의 주제만으로도 많은 분량이 나올 수 있다는 것을 알았습니다. 또한, 알고리즘 트레이딩 역시 마찬가지입니다. 머신 러닝이 잘할 수 있는 일과 그 한계가 있다고 생각하였습니다. 하지만 생각보다 훨씬 더 다양한 문제에 머신러닝을 적용할 수 있다는 것을 알게 되었습니다. 또한, 기술 수준이 많이 발전했다는 것을 알게 되었습니다. 소프트웨어가 기능 중심으로 꾸준히 발전해왔습니다. 하지만 이제 소프트웨어는 지능 중심으로 눈부신 발전을 할 것입니다. 이제는 지능이라는 큰 목표가 확고히 세워졌습니다. 다시 과거로 회귀하기는 ..
주가 비트코인 예측 : 블랙스완 : 개념, 특징, 중요성 블랙 스완은 나심 니콜라스 탈레브가 제시한 이론입니다. 있을 수 없는 일이라고 생각한 일이 실제로 발생했습니다. 예측하기 힘든 큰 충격이 발생한다는 내용입니다. 블랙 스완 이론은 서브프라임 사태와 같은 금융 위기를 설명할 수 있습니다. 알고리즘 트레이딩에서도 블랙 스완 이론은 해당됩니다. 바로 변동성과 확률성이 있습니다. 상승과 하락 같은 주가의 방향이든 주가 자체이든 간에 무엇인가를 예측하고, 그결과에 따라 매수 매도를 합니다. 알고리즘 트레이딩에서 특히 머신러닝 모델을 이용한 예측이라는 것은 어떤 일이 미래에 일어날 확률을 의미합니다. 알고리즘 트레이딩 시스템에서 거래라는 것은 미래에 대한 예측을 바탕으로 100% 확실한 것은 아닙니다. 즉, 거래에 대한 위험과 보상이 공존하는 상황에서 결정해야 합니..
주식, 비트코인 예측 : 파라미터 최적화 : 개념, 특성, 중요성 파라미터 최적화는 알파 모델에서 필요한 파라미터들을 가장 좋은 성능을 낼 수 있도록 최적화하는 것입니다. 파라미터 최적화는 알고리즘 트레이딩 시스템의 성능에 결정적인 영향을 미칩니다. 아무리 좋은 모델을 개발했더라도, 적절한 파라미터가 설정되지 않으면 결코 좋은 결과를 기대할 수 없습니다. 동일한 모델이라도 파라미터에 따라 매우 다른 수익의 양상을 보여줍니다. 알고리즘 트레이딩 시스템의 성능 역시 이 파라미터를 어떻게 최적의 값으로 채워 넣느냐에 따라 알고리즘 트레이딩 시스템의 설계 및 수준에서 차이가 나게 됩니다. 최근 알고리즘 트레이딩 시스템은 그때 그때 시장 상황에 맞는 빠른 대처가 중요해지고 있습니다. 빨리 시장 변화에 대처하려면 복잡한 모델은 적합하지 않으므로 단순하고 이해하기 쉬운 모델의 사용..
주가, 비트코인 예측 : 하이퍼파라미터 최적화 : 개념, 특징, 방법 하이퍼파라미터 최적화 머신러닝 모델 파라미터의 최적화를 보통 하이퍼 파라미터 최적화라고 합니다. 모델 파라미터 최적화와 하이퍼 파라미터 최적화로 크게 2가지 종류가 있습니다. 하이퍼 파라미터에서 설정한 값에 따라 모델 파라미터를 최적화합니다. 따라서 하이퍼파라미터 최적화는 머신러닝 모델의 성능에 큰 영향을 미치게 됩니다. 모델 파라미터 최적화는 하이퍼 파라미터로 설정된 범위 내에서만 최적화를 시도하기 때문에 올바르게 설정되지 않은 하이퍼 파라미터에서는 좋은 성능을 보여주기 힘듭니다. 따라서, 모델 파라미터 최적화보다 중요한 것은 하이퍼파라미터 최적화라고 할 수 있습니다. 하이퍼 파라미터 최적화에는 크게 2가지 종류가 있습니다. 바로 격자 탐색과 랜덤 탐색의 개념입니다. 격자 탐색주어진 범위 내의 모든 값..
주가, 암호화폐 예측 : 라이브 트레이딩 모니터링 : 개념, 방법 라이브 트레이닝 모니터링실시간으로 알고리즘 트레이딩 시스템의 매수 매도를 모니터링 하는 것입니다. 시스템 운영에서 빠질 수없는 중요한 기능입니다. 시스템의 성능과 특성을 철저하게 파악해 선별한 시스템이 있습니다. 하지만 이 시스템이 수익을 안겨 줄지, 손실을 줄지는 아무도 모릅니다. 이제는 누구나 전 세계 금융 정보를 수집할 수 있습니다. 인터넷으로 접속해 해외 주식을 사고 팔 수 있는 시대가 된 것입니다. 기술의 발달로 전 세계 금융 시장에 대한 접근이 가능해졌습니다. 하지만, 그만큼 변동성은 심화되었습니다. 우리나라가 아닌 다른 나라에서 발생한 사건 하나가 국내 주식시장의 폭락을 가져올 수 있습니다. 반대로 급상승을 가져올 수 있습니다. 국내 회사의 성장성을 예측하는 부분에 있어, 해외 경제 상황을 ..
주식, 비트코인 예측 : 머신 러닝 알고리즘 성능 측정 : 방법, 분석, 특징 머신 러닝 모델 성능 측정머신 러닝 모델의 성능을 측정하는 방법은 문제의 성격에 따라 달라집니다. 머신러닝 모델은 주가의 방향을 예측하는 분류자입니다. 상승과 하락 중 어느 쪽을 잘 맞추는 지 정확도와 재현율은 얼마나 되는지 알 수 있습니다. 그렇다면, 모델이나 전략을 수정해 더 높은 수익률을 기대할 수 있기 때문입니다. 또한, 앞서 포스팅한 모델들은 각 머신러닝 알고리즘에 별도의 파라미터를 지정하지 않고 기본값을 사용했습니다. 그러나 더 좋은 성능을 올리기 휘해서는 적절한 파라미터를 설정해줘야 합니다. 혼동 행렬혼동 행렬은 항목별 분류 결과를 테이블 형태로 표혀한 것입니다. 분할표라고도 합니다. 혼동 행렬은 예측 정확도만으로 알 수 없는 머신러닝 모델의 예측 특성과 데이터 편향 등의 추가적인 정보를 알..
주식, 비트코인 예측 : 백테스팅 : 방법, 특징, 종류 백테스팅특정 기간의 과거 데이터로 알고리즘 트레이딩 시스템의 성능을 평가하는 것을 백테스팅이라 합니다. 백테스팅은 알고리즘 시스템을 파악하기 위해 시행하는 것으로 매우 중요한 부분입니다. 백테스팅은 다양한 종류와 방법이 있습니다. 대표적인 방법에 대해 알아보겠습니다. Profit/Loss개발한 시스템에 특정 기간의 데이터를 입력해 트레이딩을 실시합니다. 그 때, 발생하는 이익과 손실을 평가합니다. Hit RatioHit Ratio는 모델을 이용해, 예측한 결과의 정확도를 의미합니다. 모델에 따라 의미가 다를 수 있습니다. Hit Ratio는 과거 데이터를 이용합니다. 그러므로, 특히 머신러닝 모델의 경우 학습에 사용했던 데이터와 테스트에 사용한 데이터가 중복되지 않도록 합니다. def getHitRati..