- 신용평가모형(CSS, Credit Scoring System) 1. 신용평가모형(CSS, Credit Scoring System)이란?- 크레딧 스코어 시스템은 개인이나 기업의 신용도를 수치로 표현한 전통적인 점수 시스템으로 대출, 신용카드 발급, 금융 서비스 이용 여부 등을 판단하는데 사용- 주로 과거의 금융 활동, 신용 기록, 현재의 재정 상태 등을 바탕으로 평가되며, 금융 기관은 이를 통해 차입자의 채무 상환 능력과 위험 수준을 판단 2. Credit Scoring의 주요 요소1) 신용 기록(Credit History)- 대출 상환 이력, 연체 기록, 신용카드 결제 기록 드을 포함- 오래된 신용 기록일수록 평가에 긍정적인 영향을 미침 2) 채무 수준(Debt Levels)- 현재 보유한 채무의 규모 및 한도 대비 사용률(Credit Utilization Ra.. 2024.12.04
- 크롤링 실습: 국내 모든 종목 주가 크롤링 1. 수정주가가 필요한 이유- 삼성전자는 2018년 5월 기존의 1주를 50주로 나누는 액면분할을 실시- '265만원'이던 주가가 다음날 50분의 1인 '53,000원'에 거래됨- 이러한 이벤트를 고려하지 않고 주가만 살펴본다면 마치 -98%의 수익률을 기록한 것 처럼 보임- 이를 고려하는 방법은 액면 분할 전 모든 주가를 50으로 나누어 연속성을 갖게 만듦, 이를 '수정주가'라고 함 2. 주가 크롤링# 패키지 불러오기import pymysqlfrom sqlalchemy import create_engineimport pandas as pdfrom datetime import datefrom dateutil.relativedelta import relativedeltaimport requests as .. 2024.11.06
- 크롤링 실습: 국내 주식 섹터 데이터 크롤링 # 섹터 데이터 크롤링import json import requests as rqimport pandas as pdurl = f'''https://www.wiseindex.com/Index/GetIndexComponets?ceil_yn=0&dt={biz_day}&sec_cd=G10'''data = rq.get(url).json()data_pd = pd.json_normalize(data['list'])# 섹터 정보 크롤링import timeimport jsonimport requests as rqimport pandas as pdfrom tqdm import tqdmsector_code = ['G25', 'G35', 'G50', 'G40', 'G10', 'G20', 'G55', 'G30', 'G15', .. 2024.11.06
- 크롤링 실습: 국내 주식 티커 데이터 크롤링 # 최근 영업일 크롤링import requests as rqfrom bs4 import BeautifulSoupurl = 'https://finance.naver.com/sise/sise_deposit.naver'data = rq.get(url)data_html = BeautifulSoup(data.content)parse_day = data_html.select_one( 'div.subtop_sise_graph2 > ul.subtop_chart_note > li > span.tah').textparse_day# 날짜 추출import rebiz_day = re.findall('[0-9]+', parse_day)biz_day = ''.join(biz_day)biz_dayimport requests a.. 2024.11.05
- 문자열 처리를 위한 정규 표현식 1. 정규 표현식 - 정규 표현식(정규식)이란 프로그래밍에서 문자열을 다룰 때 문자열의 일정한 패턴을 표현하는 일종의 형식 언어 - regular expression을 줄여 일반적으로 regex라 표현 - 정규 표현식은 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 프로그래밍에서 사용되는 공통 문법 2. 정규 표현식 활용[ '동 기업의 매출액은 전년 대비 29.2% 늘어났습니다.' ] 라는 문장에서 '29.2%'를 추출해보자.import redata = '동 기업의 매출액은 전년 대비 29.2% 늘어났습니다.'re.findall('\d + .\d + %', data)3. 정규 표현식의 종류- 대괄호([ ])는 문자 클래스로써 대괄호 안에 포함된 문자들 중 하나와 매치를 뜻함 - 'apple', '.. 2024.11.05
- 크롤링 실습: 셀레니움을 이용한 동적 크롤링 실습하기 from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysimport timefrom bs4 import BeautifulSoupdriver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))url = 'http://www.naver.com'driver.get(url)driver.page.. 2024.11.05
- 정적 크롤링과 동적 크롤링의 차이 1. 정적 크롤링과 동적 크롤링의 차이 - 셀레니움을 이용할 경우 정적 페이지와 동적 페이지를 모두 크롤링 할 수 있다는 장점이 있지만, 상대적으로 속도가 느림구분정적 크롤링동적 크롤링사용 패키지requestsselenium수집 커버리지정적 페이지정적 / 동적 페이지수집 속도빠름상대적으로 느림파싱 패키지beautifulsoupbeautifulsoup / selenium 2. 셀레니움이란?- 다양한 브라우저 및 플랫폼에서 웹 응용 프로그램을 테스트할 수 있게 해주는 라이브러리- 웹 자동화 테스트 용도로 개발이 되었기에 실제 브라우저를 사용- 페이지가 변화하는 것도 관찰이 가능하기에 동적 크롤링에 사용할 수 있음 2024.11.05
- 크롤링 실습: POST 방식 데이터 수집하기 # POST 방식 데이터 수집하기import requests as rqfrom bs4 import BeautifulSoupimport pandas as pdurl = 'https://kind.krx.co.kr/disclosure/todaydisclosure.do'payload = { 'method': 'searchTodayDisclosureSub', 'currentPageSize': '15', 'pageIndex': '1', 'orderMode': '0', 'orderStat': 'D', 'forward': 'todaydisclosure_sub', 'shose': 'S', 'todayFlag': 'N', 'selDate': '2024-11-05' }d.. 2024.11.05
- 크롤링 실습: 테이블 형태의 데이터 수집하기 # 테이블 형태의 데이터 수집하기import pandas as pdurl = 'https://en.wikipedia.org/wiki/List_of_countries_by_stock_market_capitalization'tb1 = pd.read_html(url) # 테이블 형태의 데이터를 수집할 때는 pandas를 활용 2024.11.05
- 크롤링 실습 : 금융 속보 제목 수집하기 # 크롤링 실습: 금융 속보 제목 수집하기import requests as rqfrom bs4 import BeautifulSoupurl = 'https://finance.naver.com/news/news_list.naver?mode=LSS2D§ion_id=101§ion_id2=258'data = rq.get(url) # HTML 가져오기html = BeautifulSoup(data.content) # HTML 요소에 접근하기 쉬운 BeautifulSoup 객체로 변경html_select = html.select('dl > dd.articleSubject > a')html_select[0]['title'][i['title'] for i in html_sel.. 2024.11.05