금융퀀트/프로그램기초
-
MYSQL : Python 웹스크레핑 데이터 MySQL 서버 저장하기금융퀀트/프로그램기초 2022. 8. 27. 08:14
sqlalchemy, pymysql 라이브러리 설치 sqlalchemy는 python에 제공되는 ORM(Object-relational Mapping)이라고도 하는데, MySQL 서버를 URL (인터넷 주소 치듯이)로 접속할 수 있도록 만들어주는 것이라고 생각하면 된다. URL 객체가 만들어지면 이 객체와 connection 하고 SQL 문을 주고받고 해야 하는데 이것을 pymysql 라이브러리가 도와준다. 설치는 아나콘다 cmd를 켜고 아래와 같은 명령어만 입력하면 된다. ( 추가적인 설명은 "01 파이썬 라이브러리 설치(Windows)"를 참조 ) # sqlalchemy 설치하기 pip install sqlalchemy # pymysql 설치하기 pip install pymysql python_sql..
-
MYSQL 설치(Windows)금융퀀트/프로그램기초 2022. 8. 24. 07:41
데이터 보관 관리 데이터 모으는 것까지는 해봤는데, ( 02 웹스크레핑: 네이버 파이낸스 데이터수집 참조 ) 모은 데이터를 분석해야 투자 여부를 결정할 수 있다. 엑셀로도 데이터 분석이 가능하지만 데이터가 늘어날수록 점점 힘들어진다. ( 코스피 종목수는 약 900 개 이므로 데이터 종가만 저장해도 엑셀 1,800 행이다. ) 데이터가 쌓일수록 파일은 느려지고, 내가 원하는 데이터를 찾는 것도 점점 힘들어진다. 심지어 엑셀은 유료이다. MYSQL 설치 MYSQL의 구조 엑셀 대신 데이터 관리 TOOL로 사용되는 것 중 하나가 MYSQL이다. MYSQL 구조는 그림 1로 설명할 수 있다. 폴더 안에 엑셀 파일 여러 개 있는 거라고 생각하면 된다. 파일 경로를 고민 안 해도 되고 데이터 구조도 한눈에 들어오면..
-
파이썬 : 웹스크레핑 네이버 파이낸스 데이터수집금융퀀트/프로그램기초 2021. 7. 15. 00:58
BeautifulSoup 함수 사용 find/find_all 함수 앞서 글에서 ( "02 웹 스크레 핑: Beautiful Soup 라이브러리" 참조 ) 우리는 Beautiful Soup으로 뽑아낸 네이버 파이낸스 데이터를 soup이라는 인스턴스에 넣었다. 이 인스턴스에 Beautiful Soup에서 제공하는 다양한 함수들을 넣어서 필요한 값을 찾을 수 있다. 우리가 지금 네이버 파이낸스 데이터를 수집하기 위해 필요한 함수는 find, find_all, get_text 정도이다. find 함수는 아래 예시의 첫 번째 줄로 설명하면 "table"이란 태그를 가진 것 중 최초 검색 결과를 가져온다. 여기에 attributes(attrs)라는 상세 값을 주어서 검색을 더욱 정교화할 수 있는데 아래 예시의 두 ..
-
파이썬 : 데이터 형식(&Pandas 데이터)금융퀀트/프로그램기초 2021. 7. 5. 23:58
튜플(tuple) 튜플은 데이터를 괄호( "( )" )로 둘러싼다. 보통 아래와 같이 쓰인다. tuple1 = () tuple2 = (1, 2, 3, 4) 튜플은 튜플 속의 요소들을 변경할 수 없다는 점에서 리스트(list) 형식과 구분된다. 하지만 어차피 프로그램 한 번 돌려서 SQL Database 나 Excel 에 저장해 두고 그것을 다시 불러와서 작업하는 형태이기 때문에 요소들을 변경할 수 없다는 점이 무슨 쓰임이 있는지는 모르겠다. 리스트(list) 리스트는 데이터를 대괄호( "[ ]" )로 둘러싼다. 보통 아래와 같이 쓰인다. list1 = [] list2 = [1, 2, 3, 4] list3 = [[1, 2, 3, 4],[1, 2, 3, 4]] 리스트의 특징은 튜플과 다르게 요소들을 변경할 ..
-
파이썬 : 웹스크레핑 Beautiful Soup 라이브러리금융퀀트/프로그램기초 2021. 7. 4. 23:58
Web Scraping 사전 준비 사항 BeautifulSoup 라이브러리 설치 BeautifulSoup 라이브러리는 아나콘다 cmd를 켜고 아래와 같은 명령어만 입력하면 된다. ( 추가적인 설명은 "01 파이썬 라이브러리 설치(Windows)"를 참조하면 된다. ) pip install beautifulsoup4 BeautifulSoup 사용(밑줄) BeautifulSoup 은 받아온 웹데이터를 분석하고, 찾는 등의 기능을 한다. 그럼 먼저 보통 http 상에 데이터를 달라는 요청을 해야 할 것이다. 그것이 requests 라이브러리인데, 이건 그냥 아나콘다 파이썬 설치하면 자동으로 설치되어 있다. 그래서 BeautifulSoup을 사용해서 웹 스크래핑한다고 하면 아래처럼 import를 해놓고 시작하면..
-
파이썬 : 웹스크레핑 홈페이지 구조파악(네이버파이낸스)금융퀀트/프로그램기초 2021. 7. 4. 21:48
검사기능 이해 인터넷에서 데이터를 끌어오려면 인터넷의 문서들이 어떻게 생겨먹은지를 알아야 한다. 우리가 접하는 화면을 넘어서 홈페이지의 속 뼈대를 파악해야 실제 인터넷 문서들에서 데이터를 끌어올 수 있다. 우리가 사용하는 대부분의 익스플로러에서 홈페이지의 속 모습을 파악할 수 있는 기능을 제공하는데 그것이 "검사" 기능이다. 개인적으로 구글 크롬을 쓰는데, 홈페이지에서 마우스 우클릭을 해서 "검사" 버튼을 누르면 무언가 추가적인 창이 생긴다. 그중 "Elements" 텝을 클릭해보면, 홈페이지가 어떻게 코딩되어 있는지 상세하게 나온다. 홈페이지 구조 파악 HTML 문서의 구조 웹데이터를 수집하기 위해서 홈페이지 코딩까지는 확인은 쉽게 할 수 있을 것이다. 하지만 이다음부터가 쉽지는 않다. 보통 홈페이지 ..
-
파이썬 : 가상환경 구축 (Windows)금융퀀트/프로그램기초 2021. 6. 3. 01:15
가상 환경의 개념 우리 같은 문돌이들은 "가상 환경"하면 막 홀로그램 날아다니고 그런 것 밖에 안 떠올라서 파이썬 가상 환경이라는 말을 들으면 뭔가 거창하게 느껴진다. 하지만 아나콘다라는 큰 범주 안에 또 다른 폴더를 만들어서 그 안에 파이썬을 또 설치한다고 생각하면 된다. 즉 아래 그림과 같이 보면 된다. 기본적으로 아나콘다를 깔면 (Base) 라는 폴더 안에 라이브러리 등을 깔고 그 안에서 놀게 된다. 거기에 가상 환경을 추가하면, 그 안에 또 파이썬이 깔리고 그 안에 라이브러리 등을 깔게 된다. 가상 환경 구축 방법 아나콘다 프롬프트 실행 아나콘다 프로그램은 아나콘다 Navigator 외에 아나콘다 Prompt를 지원한다. 아나콘다 Prompt는 아나콘다의 cmd 창이라고 생각하면 된다. 직접 명령..
-
파이썬 라이브러리 설치(Windows)금융퀀트/프로그램기초 2021. 6. 3. 01:12
파이썬의 라이브러리의 기능 라이브러리는 사전에 어렵게 정의되어 있는데, 그냥 도구라고 생각하면 된다. 우리가 못 박을 때 망치 쓰고, 무엇인가를 자세히 볼 때, 돋보기를 쓰듯이 프로그램에서 특정 기능을 쉽게 구현하기 위해서 라이브러리들을 용도에 맞게 갖다 쓴다. 자동매매 프로그램에서 앞으로 쓸 대표적인 라이브러리를 용도별로 나열하면 아래와 같다. requests : Web에 요청을 보내는 도구 / 웹 스크래핑에서 사용 BeautifulSoup : Web의 데이터를 쓸 수 있게 하는 도구 / 웹 스크래핑에서 사용 pandas : 행과 열의 객체를 만드는 기능을 하는 도구 / 데이터 분석 시에 사용 pymysql : DB에서 데이터를 뽑아내는 SQL 문의 전달 / 데이터 분석 시에 사용 selenium : ..