전체 글(176)
-
파이썬을 이용한 퀀트 투자 - 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 -
[SQL] SQL 서브쿼리 총정리
SQL에서 서브쿼리는 굉장히 중요한 도구이다. 쿼리를 작성할 땐 성능이 굉장히 중요한 요소인데 서브쿼리를 잘 활용하면 필요없는 조인 연산을 줄이거나, 두번에 걸쳐 쿼리를 작성해야 하는 등의 비효율을 줄일수 있다. SQL 서브쿼리 WHERE절 서브쿼리 WHERE절 서브쿼리에는 크게 서브쿼리에서 메인쿼리의 정보를 참고하는지 아닌지에 따라서 연관서브쿼리, 비연관서브쿼리로 나뉘고, 서브쿼리의 결과값이 하나의 값이면 단일값, 여러값이면 다중값, 여러행이면(여러 컬럼에 대한 정보이면) 다중행 서브쿼리가 된다. 예를 들어 SELECT A.EMP_NO, A.EMP_NM, A.DEPT_CD FROM TB_EMP A WHERE A.DEPT_CD = ( SELECT DEPT_CD FROM TB_EMP WHERE EMP_NO..
2023.09.06 -
[SQL] 그룹함수 총정리
그룹함수에는 ROLLUP, CUBE, GROUPING SETS 함수가 있는데 각각이 어떤 역할을 하고, 각각의 차이점은 무엇인지 특정한 상황에서 어떤 함수를 쓰는게 좋을지 생각해보자. SQL 그룹함수 ROLLUP 함수 1.소 그룹간의 소계를 계산한다. 2. GRUPING 컬럼을 통해 SUBTOTLA을 생성하는데 여기서 GROUPING 컬럼의 수가 N이면, N+1의 SSUBTOTAL이 생선된다. 3. ROLLUP함수 내의 인자의 순서가 바뀌면 결과도 바뀌게 된다.(ROLLUP함수는 계층 구조이기 때문이다.) 설명만 봐서는 이해가 쉽지 않기에 실습을 해보도록 하자 예제1 SELECT productLine, FLOOR(AVG(quantityInStock)) AS avgQuantity, FLOOR(AVG(buy..
2023.09.05