전체 글 57

[Python] 업비트API로 비트코인 1분봉 가져오기

오늘은 업비트에서 비트코인 1분봉 데이터를 가져오는 코드를 작성해 보도록 하겠습니다. 조대표님이 만드신 pyupbit을 이용할 예정입니다. 관련 깃허브는 아래 링크 참고하세요. GitHub - sharebook-kr/pyupbit: python wrapper for upbit API python wrapper for upbit API . Contribute to sharebook-kr/pyupbit development by creating an account on GitHub. github.com 우선 데이터를 받기 위해 필요한 모듈입니다. from datetime import timedelta import pandas as pd import pyupbit import datetime as dt fro..

[Python] chatGPT 활용기(데이터프레임 replace)

데이터를 다루다 보면 칼럼 내 문자열 처리를 해야 하는 경우가 있습니다. 예를 들어 데이터베이스에 숫자 데이터를 insert할때 콤마(,)때문에 데이터가 문자열로 인식되어 오류를 뱉는 상황 등입니다. 이 경우 콤마를 빈값으로 수정해 주어야 숫자로 옳게 인식합니다. str과 replace 함수를 통해 아래와 같이 컬럼 하나씩 바꿀 수 있는데요, 여러 칼럼일 경우 칼럼마다 코드를 작성해야 한다는 번거로움이 있었습니다. df['frst_acqs_amount'] = df['frst_acqs_amount'].str.replace(',','') 그래서 7열부터 나머지열의 모든 컬럼을 한 번에 싶어 아래와 같이 코드를 작성했는데요, 데이터프레임에서는 작동되는 replace함수는 제가 의도한 replace와 달랐습니다..

[주식시황](1월 둘째주) 암호화폐,국내외 주식 상승

1. 국내외 주요 인덱스 1월 둘째 주 주요 인덱스들 성과입니다. 전체적으로 환율은 하락하고 시장은 상승했네요. 눈에 띄는 것은 암호화폐의 강세입니다. 비트코인, 이더리움, 리플이 9~10%의 성과를 보였습니다. 다시 금융시장에 자금이 유입되는 느낌입니다. VIX는 -17.38%로 최근 큰 하락을 보였네요. VIX는 보통 주식시장의 공포를 나타내는데 최근 3개월간 -41.05%가 하락할 만큼 자산시장이 안정화된 것 같습니다. 국내 코스피, 코스닥도 3~4%정도 상승을 보여주었고, 가장 큰 상승률을 보여준 국가는 독일이네요. 4.86%입니다. 최근 3개월간 33.92%의 상승률을 보인 것도 눈에 보이네요. 2. 시장별 상승률 상위 10 종목 시장별 상승률 상위 종목들입니다. 코스피에서는 sk네트웍스우가 1..

주식시황 2023.01.14

[Randomforest] 10분 수익률을 이용한 주가 예측-4

아래는 모든 변수를 랜덤포레스트모델에 학습하여 나올 성능입니다. 이전 포스팅에서는 50%가 약간 넘는 수치가 나왔었는데, 다시 학습시키니 수치가 약간 달라졌네요. 학습데이터를 랜덤샘플링 했기 때문으로 보입니다. feature importance가 높은 변수들만으로 다시 학습을 시켜보겠습니다. 아래 코드를 실행하면 top_feature변수에 상위 5개의 변수가 입력됩니다. top_feature = [] num=0 for f in range(x_train.shape[1]): top_feature.append(stock_df.columns[indices][f]) num = num+1 if num>5: break print(top_feature) 1250, 1530, 1100, 1520, 1430, 1200 순..

Sysmetic trading 2023.01.13

[Randomforest] 10분 수익률을 이용한 주가 예측-3

이번 포스팅에서는 feature들의 중요도를 판단하여 x변수들을 채택하는 방법으로 모델의 성능을 높여보는 작업을 하겠습니다. 랜덤포레스트를 돌리면 모델의 변수중요도(feature importance)를 출력할 수 있습니다. feature importance는 tree를 분할하는데 얼마나 기여를 했는지에 따라 중요도를 결정합니다. importances = model.feature_importances_ std = np.std([tree.feature_importances_ for tree in model.estimators_], axis=0) indices = np.argsort(importances)[::-1] print("Feature ranking:") for f in range(x_train.sha..

Sysmetic trading 2023.01.12

[Randomforest] 10분 수익률을 이용한 주가 예측-2

이전 포스팅에서는 독립변수인 x와 종속변수인 y로 데이터를 전처리 과정을 보였습니다. 이후 진행 과정은 학습데이터와 테스트데이터를 나누어 모델을 생성 및 검증하는 것입니다. train_test_split함수를 통해 학습, 검증용 데이터를 나눌 수 있습니다. 여기서 shuffle을 통해 데이터를 섞을지 말지를 결정할 수 있습니다. 이번 실험은 시계열예측이 아니라 횡단면 예측이므로 데이터를 섞어도 무방하니 셔플을 해줍시다. from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.26, random_state=0, shuffle=True) 이번엔 ..

Sysmetic trading 2023.01.11

[Randomforest] 10분 수익률을 이용한 주가 예측-1

이번 포스팅에서는 간단하게 10분 단위 수익률로 갭상승/하락을 하는 랜덤포레스트 모델을 생성해 보겠습니다. 랜덤포레스트는 분류나 회귀에 쓰이는 앙상블(esemble) 모델로 다수의 의사결정나무(decision tree)를 이용한 예측모델입니다. 금융에서 주가를 예측하는 것은 수익과 직결되므로 학계나 실무 막론하고 많이 연구가 되어왔는데요, 최근에는 머신러닝, 딥러닝이 대두되면서 더욱 연구가 활발히 진행되는 것 같습니다. 이번 실험에 쓰인 데이터는 아래와 같습니다. import pandas as pd stock_df= pd.read_csv('10mindata.csv') stock_df=stock_df.dropna() stock_df.info() 첨부된 데이터를 pandas를 통해 업로드하면 아래와 같은 데..

Sysmetic trading 2023.01.10

[주식시황](1월 첫째주) 건설, 은행, 코로나 테마 성과 상위

1. 국내외 주요 인덱스 이번 주에는 천연가스가 11.92%나 올랐군요. 최근 몇 년간 금융시장에 영향을 많이 미친 러시아-우크라이나 전쟁 때문이지 아닐까 추측해 봅니다. 지난달 국내외 증시들이 모두 급락했던 것과 달리 전체적으로 상승 기조를 보였네요. 특히 홍콩지수는 6.33%로 국가별 지수중 최상위에 올랐습니다. 코스피 2.4%, 코스닥 1.42% 오르며 우리나라도 상승분위기에 동참했네요. 암호화폐도 이더리움이 4.9%, 비트코인이 1.87%가 올라 올해 기대감을 가지게 합니다. 2. 코스피 코스피에서 이번 주 상승률 1위는 삼성중공업 우선주가 차지했습니다. 우선주는 보통주보다 배당을 많이 받는 대신 의결권이 없는 주식이죠. 유통주가 별로 없기 때문에 보통주와 우선주간의 괴리가 크다고 알려져 있는데(..

주식시황 2023.01.08

[주식논문] 고빈도 자료를 이용한 머신러닝 모형의 예측력 비교 분석

이번에 리뷰할 논문은 고빈도 자료를 이용한 머신러닝 모형의 예측력 비교분석 이라는 논문입니다. 본 논문의 저자는 Lopez pe Prado의 Advanced Financial Machine Learning의 내용을 국내데이터에 적용하여 머신러닝 모형에 학습을 시킨 후 예측력을 평가했습니다. 특히, 주문흐름(order flow)를 통해 새로운 정보가 들어왔음을 확인하고, 이를 이용해 VIB(volume imbalanced bar)를 만들어 학습했네요. VIB가 미시구조상에서 갖게되는 의미는 아래와 같습니다. 주문 흐름은 매수주도 주문 거래량에서 매도주도 주문 거래량을 뺀 것이다. 매수주도 거래는 시장가 주문을 통한 매수 주문, 매도주도 거래는 시장가 주문을 통한 매도 주문이다. 정보를 가지지 않은 거래자들..

Read 2023.01.01

[연간결산] 2022년에는 어떤 주식이 올랐을까?

르세라핌의 안티프레질(antifragile)이라는 노래가 유행하고 있습니다. 안티프레질이라는 용어는 블랙스완(black swan)으로 유명한 나심탈렙이 쓴 용어인데요, 깨지면 깨질수록 강해지는 성질을 뜻한다고 합니다. 2022년 역대급 하락장이었죠. 많은 투자자님들이 손실을 겪고 있으실텐데, 23년에는 꼭 계좌가 떡상하길 바라겠습니다! 그럼 2022년 리뷰를 시작해보겠습니다. 1. 국내외 주요 인덱스 국내 외 주요 인덱스의 성과입니다. 맨 처음 보이는 것은 리플,비트코인,이더리움의 큰 하락입니다. 1년새 약 50~60%의 하락이 있었네요. 크립토 윈터가 빨리 지나가길 바랍니다 ㅠㅠ 상승쪽에서 두드러진 모습을 보인 것은 달러(USD)입니다. 달러는 엔, 원 ,유로 대비해서 모두 강세를 보여주었습니다. 반대..

주식시황 2023.01.01