본문 바로가기

stock

파이썬으로 코스피200 종목코드, 회사명 가져오기 | get kospi200 data using python 주식 관련 문의를 주시는 분들이 몇 분 계셔서 간단히 KOSPI200 의 종목코드와 회사명을 네이버에서 가지고 오는 코드를 소개해 보고자 합니다.아래는 포털 사이트 네이버의 증권 섹션입니다. 코스피200 의 데이터를 가지고 오기 위해 관련 정보를 알아야 하기에, 왼쪽의 코스피200 이라고 명기된 부분을 클릭하면 아래와 같은 화면이 나옵니다. 여기에서 아래 그림처럼 된 부분만 따로 확인하기 위해서 이 부분의 주소만을 웹브라우저 주소창에 넣어주면 코스피200 회사들의 당일 주가 데이터들만 나타나게 됩니다. 해당 주소는 http://finance.naver.com/sise/entryJongmok.nhn?&page=1 입니다. 이제 여기서 html 코드를 확인하기 위해 각각의 웹브라우저마다 이름이 다른 속성, .. 더보기
나만의 주식 분석 프로그램을 활용한 3 번째 매매일지 변동성이 큰 한 주의 시황이었다. 주 초반에는 조정을 거치는 반면, 주 후반에는 다시 상승을 하여, 이 글을 쓰는 현재 코스피 기준 사상 최고가를 경신한 한주로 마무리가 되었다. 나의 수익 일지 또한 등락을 거듭하였으나, 적게나마 수익을 내면서 한 주를 마무리 하였다. 프로그램을 조금씩 수정을 더해 갈 수록 취합하는 데이터의 양이 방대해지고 있고, 그에 따른 알고리즘 또한 복잡해지고 있다. 앞으로 해야할 일은 상관관계에 의한 변동성 예측과 포트폴리오 비율 구성을 조절해 줄 수 있는 머신러닝 구현이다. 더보기
실시간 내 주가를 알려주는 Python Code 이번에는 실시간 주식 데이터를 가져와서 시시각각 동향을 출력하게 하려고 한다. 그 후에는 내가 보유한 종목의 주가 흐름을 계속 추적하고, 더 나아가 컴퓨터가 보유종목의 주가를 계속 오디오로 알려주게 하는데까지 알아보려고 한다. 포털사이트 다음의 증권에 올라오는 종목 시세를 참고하였다. 옛날 같으면 포털사이트에서 제공하는 주가는 20분 지연 시세를 제공하여 효용성이 많이 떨어졌던게 사실이다. 그러나 이제는 실시간 시세를 제공하고 있으므로, 증권사에서 제공하는 데이터 못지않게 빠르고 정확하다. 그래서 다음 사이트의 데이터를 가지고 와서 뚝딱뚝딱 기름칠해서 내가 필요로 하는 정보만을 추출하였다. 아래는 그 코드이다. import urllib.request, time, os, re, csv, sys def fe.. 더보기
왜 파이썬에서 멀티 프로세스를 사용하는가? | Why do we use multiprocess in python? 파이썬에서 멀티 쓰레드(Multi Thread)와 멀티 프로세스(Multi Process)를 사용하는 경우가 종종 있다. 그런데 왜 이런 모듈을 사용할까? 이유는 간단하다. 동일한 작업과정을 단시간에 효율적으로 처리하기 위해서다. 아래는 주식 분석 코드의 일부분만을 발췌해 보았다. Stock() 이라는 클래스를 정의하고 그 처리하는 과정과 처리하는데 소요된 시간을 표기하였다. 코스피, 코스닥 종목이 현 시점에서 도합 2,000 여 종목이 된다. 이를 하나씩 읽어들여 DB에 저장된 값으로 분석을 할 수도 있고, 인터넷이 연결되어 있다면 바로 주식 데이터를 다운받아 처리할 수도 있다. 이 중 하나의 방식으로 전 상장종목을 처리해 보았다. 대략 3822초가 소요되었다. 그러니까 1시간하고 약 4분 정도 걸린셈.. 더보기
Stochastic Oscillator(스탁캐스틱) 구현하기 using Python | Making Stochastic Oscillator by using Python The stochastic oscillator is calculated using the following formula: %K = 100(C - L14)/(H14 - L14) Where: C = the most recent closing price L14 = the low of the 14 previous trading sessions H14 = the highest price traded during the same 14-day period %K= the current market rate for the currency pair %D = 3-period moving average of %K 이 지표의 기초가 되는 일반적인 이론은 상승 추세에 있는 시장에서는 종가가 당일 최고가 근접 가격에 형성될 것이.. 더보기
볼린저밴드 구현하기 using python | Cal Bollinger bands using Python 파이썬을 이용해서 볼린저밴드 구현하기 Ver. 0.1def anaylize_bolllinger(df,dir_name,dest_path,date_list): df_normalize=df['Close']/df['Close'].ix[0,:] # Compute rolling mean,rolling standard deviation,upper and lower band of Bollinger rm=df['Close'].rolling(window=20,center=False).mean() rmstd=df['Close'].rolling(window=20,center=False).std() upper_band, lower_band = get_bollinger_bands(rm,rmstd) dp=df['Close'].ro.. 더보기
주식 정보 데이터베이스(db) 구축하기 by using python | storing stock data into database(DB) by using python 몇 년 전부터 db에 저장된 데이터를 이용해서 종목 발굴 알고리즘을 돌려놓고 있으며, 이를 이용해 특이점이 발견된 종목은 바로바로 문자 or email 등을 통해서 알려주고 관련 데이터를 저장하게 하는 시스템을 구축해 놓은 상황이다. 관련해서 문의 글이나 메일 혹은 문자를 통해 방법을 문의하는 글이 있어 개략적이나마 기본 개념을 작성해 두려고 한다. 우선 파이썬을 이용해서 주식 데이터를 데이터베이스(db)에 저장하는 작업을 하려고 한다. 이를 위해 기본 개념 몇몇을 알고 있어야 하지만, 관심이 있으신 분들은 관련 정보를 공부해 보시길 바란다. 가장 먼저 파이썬이라는 프로그램의 기본 개념을 익혀야 할 것이다. 그런 다음 관련 모듈을 설치, 기본 문법등을 차근차근 학습하면 될 것이다. 아래 코드는 완전한 코.. 더보기
구글독스(google docs)를 이용해 주식 실시간 데이터를 가져오기. 이번에는 국내 포털에서 제공하는 실시간 주식 시세 정보를 구글독스(Google Docs)를 이용해서 가져오는 방법을 알아보려고 합니다. 구글 파이낸스나 야후 파이낸스는 자체적으로 정보를 제공하는 API를 제공하지만, 한국 정보는 미흡한 점이 많은게 사실입니다. 그리고 프로그래밍으로 관련 데이터를 긁어 올 때 자주 활용할 수 있어 유용하지만, 데이터 자체가 지연 제공되기에 아쉬운 점이 있다고 할 수 있습니다. 마이크로 소프트의 엑셀이나 구글의 스프레드 시트에서는 웹상의 데이터를 가지고 올 수 있는 함수를 제공하고 있습니다. IMPORTHTML 을 사용하기도 하고 때로는 IMPORTDATA라는 함수를 사용하기도 합니다. 백문이 불여일견이죠 아래와 같이 이미지를 통해서 보시면 무슨 얘기인지 금방 체감하실 수 .. 더보기