본문 바로가기

주식8

[파이썬] 주식 매수,매도 최적 조건 자동 찾기 우리가 일반적으로 주식 Chart를 보면서 매수시점 및 매도시점을 찾게 됩니다. 예를 들어 종가가 20일선 위로 올라가면 매수하고, 종가가 20일선 밑으로 떨어지면 매도하는 등의 조건을 찾게 되죠. 이런 조건을 찾는 것을 반복하게 됩니다. 기본 컨셉은 다음과 같습니다. 1. 조건 리스트를 만듭니다(Close, ma5, ma20, ma60, ma120) 2. 조건 중에 임의의 항목을 가지고 조건을 만듭니다. 크거나 작거나 같은 조건이 있습니다.(Close < ma5) 3. 2에서 만든 조건으로 일정기간의 주식 데이터로 매수, 매도를 합니다. 4. 3에서 매수,매도 한 투자금이 제일 많은 조건을 최적 조건으로 합니다. 이것을 프로그램으로 만들어서 최적의 조건을 찾게 하면 어떨까요. Full Code는 제일 .. 2022. 9. 4.
[파이썬] 주식 Chart Image 날짜 지정 저장 주식 Chart를 Image를 받을 수 있는 코드입니다. 주어진 날짜로 Train(UP/DOWN), Validation(UP/DOWN), Test(UP/DOWN) 각각의 폴더를 만들고 Image를 다운로드합니다. CNN 등을 처리할 때 프로그램 내에 Image 다운코드까지 만들 수 있겠지만 Image 다운 시간이 많이 걸리기 때문에 Image 데이터는 따로 받아두는 것은 좋은 것 같습니다. #import matplotlib.pyplot as plt #from numpy import sqrt import os import shutil import pandas_datareader as web import random import numpy as np import pandas as pd import datet.. 2022. 8. 17.
[파이썬] 주식 캔들차트(candlestick) 주식 차트의 기본인 캔들차트입니다. 이게 어려운 코드는 아닌데, 어쩌다가 쓰려면 혼동됩니다. import pandas_datareader as web import random import numpy as np import datetime import matplotlib.pyplot as plt import matplotlib.ticker as ticker from mplfinance.original_flavor import candlestick2_ohlc STOCK_CODE = ['069500','005930','051910','035420','005380','035720','068270','066570','005490','051900','017670'] STOCK_NAME = ['KODEX200','삼.. 2022. 8. 17.
[파이썬] 주식 골든크로스/데드크로스 일전에 만든 것은 20, 5일 가지고 확인하는 코드였습니다. 이번에는 120, 60, 20, 5일로 골든크로스/데드크로스 확인하는 코드입니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt from pykrx import stock code = '069500' name = 'KODEX200' start = '2015-07-01' end = '2022-04-30' # 주식 데이터 받기 df = stock.get_market_ohlcv(start, end, code) # 컬럼명 변경 df.columns = ['Open', 'High', 'Low', 'Close', 'Volume'] # 이동편균선 데이터 만든기 df['ma5'] .. 2022. 8. 17.
[파이썬] 주식 매수/매도 테스트 (백테스트) 주식 트레이딩(백테스트)하는 코드 입니다. 이를 할 수 있는 여러가는 파이썬 package가 있지만 전체를 이해하기 위해 직접 코드를 만들어 봅니다. 트레이딩 기본 개념은 20일선,60일선으로 매수,매도 시점을 찾고 초기 자산은 1,000,000원 입니다. 매수/매도 해당 일의 종가로 자산 전체를 투자 합니다. 모든 일이 끝나면 보유한 주식을 모두 매도하여 최종 자산으로 합니다. (주의 : 거래시 수수료, 세금은 없는 것으로 합니다) # Stock Back Testing import pandas as pd import numpy as np import matplotlib.pyplot as plt from pykrx import stock code = '069500' name = 'KODEX200' sta.. 2022. 8. 11.
[파이썬] 주식 매수,매도 시점 표시 주식에서 매수 및 매도 시점을 plot 상에 Marking 해주고, 해당 위치에 종가를 보여주는 코드 입니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt from pykrx import stock code = '069500' name = 'KODEX200' start = '2019-07-01' end = '2022-04-30' # 주식 데이터 받기 df = stock.get_market_ohlcv(start, end, code) # 컬럼명 변경 df.columns = ['Open', 'High', 'Low', 'Close', 'Volume'] # 이동편균선 데이터 만든기 df['ma5'] = df['Close'].roll.. 2022. 8. 11.
[파이썬] 주식 골든크로스/데드크로스 찾기 주식 데이터 확인 중 골든크로스/데드크로스를 찾는 코드입니다. 기본적인 코드로 코드를 통해서 기본적인 로직을 알 수 있습니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt from pykrx import stock code = '069500' name = 'KODEX200' start = '2019-07-01' end = '2022-04-30' # 골든크로스(Golden cross) 및 데드크로스(Death cross) 확인(20일, 60일 이동편균선) def chkCross(df): chk = 0 for i in range(len(df)): if df['ma60'][i] < df['ma20'][i] and chk == 0.. 2022. 8. 11.
[파이썬] pandas, DataFrame에서 max, min 찾기 pandas DataFrame 데이터에서 Max 값을 찾아봅니다. import pandas as pd df = pd.DataFrame({'A1': [1, 2, 2, 3], 'A2': [4, 3, 8, 4]}) print("DataFrame:") print(df) maxs = df.max() print("\n") print("Max Column:") print(maxs) 2개 값을 평균값을 사용해서 mean, max, min 값을 찾습니다. 이를 사용해서 주식데이터의 5일 이동평균서의 Open, High, Low 값을 찾을 수 있습니다. df = pd.DataFrame({'A1': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'A2': [11, 12, 13, 14, 15, 16, 17, 18, 19.. 2022. 8. 11.
728x90
반응형