금융인을 위한 파이썬 업무자동화 5주차
Google Drive: 로그인
이메일 또는 휴대전화
accounts.google.com
전일 종가에서 금일 시작가에서 판다. [ 오르는 추세라 판단]
[주가 가져오는 라이브러리 설치]
!pip install yfinance pandas-datareader finance-datareader
[변동성돌파전략의 최적의 k값 구하기]
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
import FinanceDataReader as fdr
def get_return(code,k):
df = fdr.DataReader(code,'2023')
df['buy_at'] = (df['High'].shift(1) - df['Low'].shift(1)) * k + df['Open']
df['is_buy'] = np.where(df['High'] > df['buy_at'],'buy', '')
df['sell_at'] = df['Open'].shift(-1)
df = df[df['is_buy']== 'buy']
df['return'] = df['sell_at'] / df['buy_at']
return df[['return']].cumprod().iloc[-1,-1] -1
df =pd.DataFrame()
for k in np.arange(0.4 , 0.6, 0.01):
doc = {
'k' :k,
'return' : get_return('005930',k)
}
df = df.append(doc, ignore_index=True)
df.sort_values(by='return', ascending=False)
[ dart-fss 라이브러리 설치]
[ 월요일에 사서 금요일에 파는 전략]
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
import FinanceDataReader as fdr
def get_return_mf(code):
df = fdr.DataReader(code,'2023')
df = df.reset_index()
df = df[['Date','Open']]
df['Day'] = pd.to_datetime(df['Date']).dt.day_name()
cond = (df['Day'] == 'Friday') | (df['Day'] == 'Monday')
df = df[cond]
if df.iloc[0,2] == 'Friday':
df = df.drop(index = df.index[0])
if df.iloc[-1,2] == 'Monday':
df = df.drop(index= df.index[-1])
cond = (df['Day'] =='Monday') & (df['Day'].shift(-1) == 'Monday')
df = df.drop(index = df[cond].index)
cond = (df['Day'] =='Friday') & (df['Day'].shift(1) == 'MFridayonday')
df = df.drop(index = df[cond].index)
df['Open_fri'] = df['Open'].shift(-1)
df = df[df['Day'] == 'Monday']
df = df[['Open','Open_fri']]
df.columns = ['buy_at', 'sell_at']
df['return'] = df['sell_at'] / df['buy_at']
cond = (df['sell_at'] !=0) & (df['buy_at']!=0 )
df = df[cond]
return df[['return']].cumprod().iloc[-1,-1] -1
get_return_mf('005930')
[ 상장종목 샘플 10개 구해 월요일에 사서 금요일에 팔면 나오는 수익 보기 ]
import dart_fss as dart_fss
import pandas as pd
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import numpy as np
import FinanceDataReader as fdr
api_key = 'a4f6fad903b1302a1c54b6d63d2c0f7f5fc26838'
dart_fss.set_api_key(api_key=api_key)
all = dart_fss.api.filings.get_corp_code()
df = pd.DataFrame(all)
df_listed = df[df['stock_code'].notnull()]
def get_return_mf(code):
df = fdr.DataReader(code,'2023')
df = df.reset_index()
df = df[['Date','Open']]
df['Day'] = pd.to_datetime(df['Date']).dt.day_name()
cond = (df['Day'] == 'Friday') | (df['Day'] == 'Monday')
df = df[cond]
if df.iloc[0,2] == 'Friday':
df = df.drop(index = df.index[0])
if df.iloc[-1,2] == 'Monday':
df = df.drop(index= df.index[-1])
cond = (df['Day'] =='Monday') & (df['Day'].shift(-1) == 'Monday')
df = df.drop(index = df[cond].index)
cond = (df['Day'] =='Friday') & (df['Day'].shift(1) == 'MFridayonday')
df = df.drop(index = df[cond].index)
df['Open_fri'] = df['Open'].shift(-1)
df = df[df['Day'] == 'Monday']
df = df[['Open','Open_fri']]
df.columns = ['buy_at', 'sell_at']
df['return'] = df['sell_at'] / df['buy_at']
cond = (df['sell_at'] !=0) & (df['buy_at']!=0 )
df = df[cond]
return df[['return']].cumprod().iloc[-1,-1] -1
df = pd.DataFrame()
for row in df_listed.sample(10)[['stock_code','corp_name']].itertuples():
try:
doc ={
'name' : row[2],
'return' : get_return_mf(row[1])
}
df = df.append(doc, ignore_index=True)
except:
print(f'error -{row[2]}')
df.sort_values(by='return', ascending=False)
1주차 : 네이버에서 뉴스 가져오는 함수 , 코랩 폴더에 저장 및 다운로드 ,네이버금융사진 저장
https://iamipro.tistory.com/231
스파르타코딩클럽 금융인을 위한 파이썬 업무자동화 1주차
스파르타코딩클럽 금융인을 위한 파이썬 업무자동화 1주차 import urllib.request import openpyxl wb = openpyxl.load_workbook('관리종목.xlsx') sheet = wb['종목'] new_rows = list(sheet.rows)[1:] for row in new_rows: print(row[0].val
iamipro.tistory.com
2주차 : 데이터프레임( 순이익, 종가, pbr<1, 시총1조이상, per<20) 그려보기 , 해외주식(야후쿼리) 정보 보기
https://iamipro.tistory.com/232
금융인을 위한 파이썬 업무자동화 2주차
DataFrame 만들기 Pandas : 데이터 분석 해외주식야후사이트: https://finance.yahoo.com/quote/AAPL?p=AAPL&.tsrc=fin-srch Apple Inc. (AAPL) Stock Price, News, Quote & History - Yahoo Finance Find the latest Apple Inc. (AAPL) stock quote, histor
iamipro.tistory.com
3주차 : dart 상장/비상장 엑셀 추출, dart API 로 종목 정보 (증자,배당,직원정보,이사보수, 재무정보, 이익잉여금, 당기순이익, 지분율, 연봉 TOP5 등)
https://iamipro.tistory.com/233
금융인을 위한 파이썬 업무자동화 3주차
스파르타코딩클럽 금융인을 위한 파이썬 업무자동화 3주차 [다트 open api 발급] https://opendart.fss.or.kr/uat/uia/egovLoginUsr.do 전자공시 OPENDART 시스템 | 로그인 opendart.fss.or.kr [ 구글 드라이브 코랩 가기] h
iamipro.tistory.com
4주차 : 최적의 단기/장기 이동평균선 구하기
https://iamipro.tistory.com/234
금융인을 위한 파이썬 업무자동화 4주차
금융인을 위한 파이썬 업무자동화 4주차 https://drive.google.com/ Google Drive: 로그인 이메일 또는 휴대전화 accounts.google.com [라이브러리 설치 명령어 yfinance pandas-datareader finance-datareader !pip install yfinance
iamipro.tistory.com
5주차 : 변동성 돌파적략 최적값 k 구하기 , 월요일에 사서 금요일에 팔경우 수익나는 종목 보기
https://iamipro.tistory.com/235
금융인을 위한 파이썬 업무자동화 5주차
금융인을 위한 파이썬 업무자동화 5주차 https://drive.google.com/ Google Drive: 로그인 이메일 또는 휴대전화 accounts.google.com 전일 종가에서 금일 시작가에서 판다. [ 오르는 추세라 판단] [주가 가져오는
iamipro.tistory.com
'4차산업혁명의 일꾼 > 데이터 크롤링과 파이썬' 카테고리의 다른 글
[왕초보] 마케터, 기획자를 위한 실전 데이터 분석 2주차[파이썬,python] -스파르타코딩클럽 (0) | 2023.04.11 |
---|---|
[왕초보] 마케터, 기획자를 위한 실전 데이터 분석 1주차[파이썬,python] (0) | 2023.04.11 |
금융인을 위한 파이썬 업무자동화 4주차 (0) | 2023.03.28 |
금융인을 위한 파이썬 업무자동화 3주차 (0) | 2023.03.28 |
금융인을 위한 파이썬 업무자동화 2주차 (0) | 2023.03.27 |