전체 글(176)
-
[파이썬] matplotlib 라이브러리를 활용한 금융 데이터 시각화
matplotlib은 데이터 자료를 시각화하는 대표적인 파이썬의 라이브러리이다. 파이썬으로 배우는 알고리 트레이딩(개정판 - 2쇄)의 내용을 공부하며 정리한 글이다. matplotlib을 활용한 금융 데이터 시각화 matplotlib 기본 import matplotlib.pyplot as plt x = range(0, 100) y = [v*v for v in x] plt.plot(x, y) plt.show() 아주 간단한 코드 작성으로 이차함수의 일부분 만들 수 있었다. 한 화면에 여러 개의 그래프 그리기 한 화면에 여러 그래프를 표현하고 싶으면 figure함수를 활용하면 된다. fig = plt.figure() ax1 = fig.add_subplot(2, 1, 1) ax2 = fig.add_subplo..
2023.10.04 -
[PYTHON] yfinance를 활용하여 웹 상의 데이터 받아 분석하기
import yfinance as yf import datetime import pandas as pd print(yf.__version__) print(pd.__version__) start_date = datetime.datetime(2021, 7, 1) end_date = datetime.datetime(2021, 12, 31) df = yf.download('AAPL', start=start_date, end=end_date) print(df) 데이터를 받아오기 위해 yfinance라는 모듈을 사용한다. 이 모듈은 웹상의 데이터를 파이썬 안으로 가져오는 역할을 한다. 2021년 7월 1일부터 2021년 12월 31일까지의 데이터를 가져올 것이다. AAPL이라는 애플의 티커를 입력하고 가져올 데이터..
2023.09.22 -
[PYTHON] 함수 데코레이터 활용 실습
데코레이터(decorator)는 함수를 수정하지 않고 함수의 작동 방식에 변화를 주거나 특정 동작을 추가하는 역할을 한다. 기존 함수를 입력받아 이를 통해 새로운 함수 객체를 만들어 준다. 파이썬 함수 데코레이터 def decorate(func): def wrapper(): print("함수 시작") func() print("함수 끝") return wrapper def hello(): print("hello") say_hi = decorate(hello) say_hi() 위 코드를 사용하면, hello()함수를 decorate() 함수의 인자로 대입할 수 있다. 이를 @decorate 기능을 통해 더 쉽게 실행할 수 있다. def decorate(func): def wrapper(): print("함수..
2023.09.20 -
[PYTHON] 파이썬 프로그래머스 문제 풀기 1 - 자릿수 더하기
내 코드 def solution(n): answer = 0 n = str(n) for i in range(len(n)): answer = answer + int(n[i]) return answer print(solution(123)) '각 자릿수'를 더하기 위해서 인덱싱을 생각했다. 하지만 정수형 데이터는 인덱싱이 되지 않으므로 우선 문자형으로 바꿔주고 문자형으로 바꾼 값의 길이를 범위로 하는 for문을 만들어 줬다. 0부터 시작해 입력된 숫자의 자릿수 까지의 인덱스가 차례대로 대입되면 각 자릿수를 뽑을 수 있고 각 자릿수를 다시 정수형으로 바꿔서 더해준다.
2023.09.20 -
[파이썬] 대신증권 API를 활용한 알고리즘 개발
대신증권 API를 활용한 알고리즘 PER, EPS 구하기 MarketEye클래스를 활용하여 주식의 PER 등의 정보를 가져올 수 있다. import win32com.client # 객체생성 instMarketEye = win32com.client.Dispatch("CpSysDib.MarketEye" instMarketEye.SetInputValue(0, (4, 67, 70, 111)) instMarketEye.SetInputValue(1, 'A003540') SetInputValue(0, ())를 통해 가져오고 싶은 정보를 선택한다. 현재가(4), PER(67), EPS(70), 최근분기년월(111) 데이터를 가져온다. SetInputValue(1, 종목코드)를 통해 'A003540'코드를 가진 종목의 ..
2023.09.20 -
[파이썬] 대신증권 API를 통해 주식투자 하기
StockChart 클래스의 통신 종류는 Request/Reply 이다. 이는 원하는 정보를 해당 API 정확히 Request 해야 API에서 정보를 Reply해준다는 뜻이다. import win32com.client instStockChart = win32com.client.Dispatch("CpSysDib.StockChart") instStockChart 객체를 생성하고, 원하는 값들을 정확하게 Request 해보자. 이때 SetInputValue메소드가 사용된다. instStockChart.SetInputValue(0, "A003540") instStockChart.SetInputValue(1, ord('2')) instStockChart.SetInputValue(4, 10) instStockCha..
2023.09.18