본문 바로가기

코딩

(12)
파이썬 Dart에서 영문 기업명 불러오기 0. 오랜만에 코딩 카테고리에 글을 쓴다. 별건 아니고 코드도 대충 루프 돌리는 것이긴 한데, 켜놓고 다른 거 하다 보면 끝나니까 뭐 필요한 사람이 있을 수도...? 1. 공식 영문 기업명 리스트를 가져오고 싶었는데, 제공하는 곳을 못 찾아서 작성한 코드, 사용한 패키지는 아래와 같다. import re, os, requests import pandas as pd import dart_fss as dart from bs4 import BeautifulSoup 기본적인 세팅 api = 'xxx' dart.set_api_key(api_key=api) cwd = os.getcwd() url = 'https://opendart.fss.or.kr/api/company.xml?' df = pd.DataFrame(c..
파이썬 네이버 금융 업종 스크래핑 이제 마지막 스크래핑, 사실 이거 하려고 지금까지 연습했습니다. 촤하하 어떤 기업을 매매해야 할까? 아무리 기술적 매매를 한다고 해도 근본이 없는 주식은 사고 싶지가 않은 기분이다. 실제로 어떻게 매매하는지는 모르지만 그래도 업계에서 괜찮은 주식을 사거나 하고 싶은 기분? 그래서 네이버 금융에서 업종별 데이터를 얻어보려고 한다. 라이브러리부터 불러오자 import pandas as pd import numpy as np import requests import lxml from bs4 import BeautifulSoup from requests import Response import re headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; ..
파이썬 네이버 주식 매매동향 스크랩 하다 보니 가져오고 싶은 정보가 한둘이 아니다... 매매동향도 궁금해서 이어서 만들어보았다. import pandas as pd import numpy as np import requests import lxml from bs4 import BeautifulSoup from requests import Response df_code = pd.read_html('https://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13', header=0)[0] df_code.종목코드 = df_code.종목코드.map('{:06d}'.format) def code_search(name): ticker = df_code[df_code.회사명 ==..
파이썬 네이버 금융 기업 정보 스크랩 https://engkimbs.tistory.com/ 새로비 #IT #재테크 engkimbs.tistory.com 새로비님의 블로그에서 html 구조에서 정보를 얻는 데에 많은 도움을 받았습니다! 라이브러리부터 불러오기 import pandas as pd import numpy as np import requests import lxml from bs4 import BeautifulSoup from requests import Response 기업정보를 얻어올 곳은 KIND이다. 주소: https://kind.krx.co.kr/corpgeneral/corpList.do?method=loadInitPage 해당 페이지에서 F12를 눌러 개발자 도구를 연 후, 아래 사진의 엑셀 다운로드를 누르면 페이지에서 ..
파이썬으로 주식 정보 스크래핑하기 그 원래는 R에서 만들었던 매매기법 이리저리 시뮬레이션해보려고 했는데, 어느 주식으로 실험하지? 하는 생각이 들었고, 먼저 주식부터 골라보자~ 하는 생각 + 파이썬도 공부해야지 하는 마음이 모여 이리로 튀어버렸다. 그래서 파이썬으로 네이버 금융의 데이터를 크롤링...이 아니고 스크래핑해 보았다. 크롤링은 뭐고 스크래핑은 뭐냐? 웹 크롤링은 검색엔진이 하는 것 그 자체인데 웹 페이지들을 체계적으로 돌아다니면서 보고, 인덱싱 하면서 정보와 URL 등을 얻어온다. 주로 구글, 네이버 등 검색 엔진 회사에서 하는 일이 크롤링이다. 웹 스크래핑은 다른 말로 하면 웹 데이터 추출이다. 주가정보 등 특정 데이터를 수집하기 위해 페이지를 보고, 데이터를 얻어오는 과정이 웹 스크래핑이라고 할 수 있겠다. 페이지의 HTM..
함수 적용해보기 스토캐스틱 N = (현재 가격 - N일중 최저가)/(N일중 최고가 - N일중 최저가) 거래정지를 당하면 분모가 0이 되어버린다. 저번에 만든 개념을 사용자 지정 함수로 만들었다. tradeFunction% filter((date>=from) & (date% mutate(type_signal=ifelse((rsisignal) & (slowk>slowd),"buy", ifelse((rsi>65) & (macd% mutate(trade = ifelse(is.na(lag(type_signal))==TRUE,type_signal, ifelse(lag(type_signal)==type_signal,NA,type_signal))) %>% na.omit() %>% mutate(rate_return=ifelse((tra..
제일제당, 존버가 답이었을까? - 5편 저번 글에 이어서, 매매를 진행해보았는데 library(readr) library(tidyverse) library(lubridate) library(tsibble) library(tidyquant) library(TTR) library(ggpubr) codeData% select(종목번호),".KS")) df_trade% na.omit() %>% mutate(ma5=SMA(close,5), ma20=SMA(close,20), ma120=SMA(close,120), macd=MACD(close,12,26,9,"EMA")[,1], signal=MACD(close,12,26,9,"EMA")[,2], roc=ROC(close,14), rsi=RSI(close,14), fastk=stoch(cbind(high,..
제일제당, 존버가 답이었을까? -4편 이제부터 본격적으로 한 번 만들어보겠다. R의 TTR package(이름부터 Techical Trading Rulesㄷㄷ)와 tidyquant package를 주로 사용하였다. library(readr) library(tidyverse) library(lubridate) library(tsibble) library(tidyquant) library(TTR) library(ggpubr) 우선, 데이터부터 받아야 한다. 이전 편에는 한국거래소로부터 직접 다운로드하였다면, 이번에는 tidyquant package의 기능을 이용하겠다. tidyverse 생태계는 ㄹㅇ 신세계 먼저 위와 같이 해당 url에서 종목코드와 종목명을 받아온다. 세종기업데이터에서 받아올 수 있는데, 박찬엽 연구원님의 Github에서 내용..

반응형