DATA PROGRAMMING(51)
-
[파이썬] 대신증권 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 -
파이썬을 이용한 퀀트 투자 - 1. 시작과 맛보기
파이썬 퀀트 투자 기본적인 조작법 대신 증권의 cybos 5를 파이썬과 연결해 주식투자를 해보려고 한다. 퀀트 투자는 '수학과 통계를 기반으로 전략을 만들고 이를 바탕으로 투자하는 정량적인 투자법'이다. 수학과 통계를 활용하는 만큼 파이썬을 활용한다면 여러 전략들을 수립해 투자에 적용할 수 있다. import win32com.client instCpCybos = win32com.client.Dispatch("CpUtil.CpCybos") print(instCpCybos.IsConnect) 먼저 cybos plus와 파이참 모두 관리자모드로 실행한 이후 cybos plus에 로그인하고 파이참에 위 코드를 작성하면 1 또는 0이 뜬다. 1이 출력되면 정상적으로 연결이 되었다는 뜻이다. 만약 에러가 나거나 1..
2023.09.17 -
파이썬으로 엑셀 사용하기
파이썬을 통해서 다른 프로그램들을 사용할 수 있을까? 마이크로소프트가 개발한 COM을 활용한다면 가능하다. 이 COM이라는 기능을 활용해 엑셀을 사용해 보려고 한다. 파이썬으로 엑셀 사용하기 import win32com.client excel = win32com.client.Dispatch("Excel.Application") excel.Visible = True 먼저 win32com.client 모듈을 불러오고 엑셀을 실행한다 여기서 'excel.Visible = True'까지 해줘야 실제로 우리 눈에 보이는 엑셀 창이 실행된다. 하지만 이를 해주지 않아도 실행은 이미 된 상태이고 우리 눈에 엑셀 창이 보이지 않는 상태일 뿐이다. wb = excel.Workbooks.Add() ws = wb.Works..
2023.09.14 -
[PYTHON] 파이썬을 통해 전화번호부 만들기
지난 글에서 class에 대해 공부한 내용을 토대로 전화번호부를 만들어 보려고 한다. 파이썬 CLASS 기능을 통해서 전화번호부 만들기 1. 전화번호부 클래스 만들기 class Contact: def __init__(self, name, phone_number, e_mail, addr): self.name = name self.phone_number = phone_number self.e_mail = e_mail self.addr = addr def print_info(self): print("Name: ", self.name) print("Phone Number: ", self.phone_number) print("E-mail: ", self.e_mail) print("Address: ", self.a..
2023.09.13 -
[Python] Class의 정확한 이해와 사용법
Class는 객체지향프로그래밍을 위한 파이썬만의 가장 강력한 기능중 하나이다. Class가 무엇이고 이를 왜 사용해야 하는지 그리고 그 사용법에 대해서도 자세하게 학습해 보려고 한다. Class란? >>> class BusinessCard: pass >>> 클래스는 마치 함수를 정의하듯이 class BusinessCard의 형식으로 만들어 낼 수 있다. 이때 class는 함수와 변수를 하나로 묶어 문자형, 숫자형 등과 같은 클래스로 만들어 내는 역할을 한다. 이때 클래스를 정의한다는 것은 새로운 데이터 타입을 만들어내는 것과 같기에, 인스턴스를 정의해 줘야 한다. METHOD 정의 위에 정의한 클래스는 내부가 비어있기에 별다른 역할을 할수가 없다. 그래서 클래스안에 함수를 정의해 줘야하는데, 이때 클래스..
2023.09.13