전체 글 159

pangres를 사용해서 pandas로 mysql에 upsert하기.

pangres 라이브러리를 사용하면, 보다 효율적으로 mysql의 기존 데이터 테이블을 upsert(수정과 추가) 할 수 있다. pandas의 to_sql 메서드로는 기존의 데이터를 다루는데 한계가 있었고, * to_sql 메서드의 if_exist 설정 시 발생하는 문제점 : if_exists: {‘fail’, ‘replace’, ‘append’} fail: ValueError 발생. replace: 이전 데이터가 삭제됨. append: 기존 데이터가 중복됨. 기존에는 이러한 문제를 해결하기 위해 추가적으로 수정해야할 데이터만 남기는 함수를 구현하거나, sqlalchemy 와 pymysql 두 가지 방식으로 쿼리문을 작성하며 upsert 했었다. 하지만, pangres 를 활용하면 좀 더 효율적으로 up..

퀀트/Python 2023.06.25

python Numpy 총정리

Numpy¶ 수치를 다루는 분야를 위한 파이썬 패키지. Numerical Python 의 약자이다. Array 또는 Matrix(행렬)와 같은 자료구조를 다룬다. Numpy 사용하기¶ 🔻Numpy 설치와 호출 In [1]: !pip install numpy import numpy as np 🔻특징 1. n차원 배열 ndarray 객체이다. 행렬 연산과 비슷한 성분별 계산이 가능하다. 빠르고 유연한 자료형이다. In [20]: # 배열 생성 data1 = [1, 2, 3, 4, 5] arr1 = np.array(data1) data2 = [[1, 2, 3, 4], [5, 6, 7, 8]] arr2 = np.array(data2) arr1, arr2 Out[20]: (array([1, 2, 3, 4, 5])..

퀀트/Python 2023.03.14

Anaconda 와 Jupyter Notebook 설치하여 Python 실행 환경 만들기

Anaconda jupyter notebook 과 python 패키지 사용 환경을 제공해주는 오픈소스 배포판이다. 패키지 관리 및 대규모 데이터 처리, 기계 학습, 예측 분석 등 많은 패키지가 포함되어 있다. Anaconda Navigator 설치 아나콘다 네비게이터 설치시 파이썬과 유용한 파이썬 패키지들도 포함되어 설치된다. 링크 : https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine...

퀀트/Python 2023.03.07

금융 기본 지식 | 12. 선물과 옵션의 가격결정

선물 미래의 특정시점(만기)에 기초자산을 일정한 가격(행사가격)으로 거래하기로 현재 정하는 계약. 선물의 이론 가격 선물가격 = 현물가격 + 보유비용 - 보유수익 ⇒ 선물의 경우 현물을 보유하지 않기때문에 보유로 발생하는 비용만큼 가산하며, 현물에서 발생하는 수익은 차감한다. ⇒ 선물 매수자와 선물 매도자간에 최초 계약 시점에 현금의 교환이 없다. Basis 베이시스 : 현물가격과 선물가격의 차이 ⇒ 만기일에는 현물=선물 이므로 Basis가 0이다. 시장 정상시장(Nomal market) : 콘탱고(contango)시장 선물가격 > 현물가격 미래에 가격이 오를 것으로 예상 역조시장(Inverted market) : 백워데이션(backwardation)시장 선물가격 < 현물가격 미래에 가격이 하락할 것으로..

퀀트/금융 2023.03.06

금융 기본 지식 | 11. 파생상품의 이해

파생상품의 이해 파생상품(Derivatives)의 정의 기초자산(Underlying Asset)의 가치 변동에 따라 가격이 변동되는 기초자산으로부터 파생된 금융상품 기초자산은 주식, 채권, 환율과 같은 금융상품 외에도 원자재, 석유, 금 등 과 같은 실물자산도 있으며, 사실상 무한에 가까운 상품 개발이 가능하다. 파생상품 종류 기본적인 파생상품은 선물(Future), 옵션(Option), 스왑(Swap)이 있음 다양한 기초상품(또는 파생상품)에 파생상품을 조합하여 다양한 금융상품 개발이 가능하다. 선물 (Future) 선도계약(Forward Contract) 미래의 특정시점(만기)에 기초자산을 일정한 가격(행사가격)으로 거래하기로 현재 정하는 계약이다. 장외시장(OTC)에서 거래 거래상대방과의 직접 합의..

퀀트/금융 2023.03.05

금융 기본 지식 | 10. 채권 크레딧 리스크, 신용등급

채권투자 리스크 이자율변동 리스크 이자율 변동에 따른 채권가격 변동 리스크 이자율 변동에 따른 재투자수익 변동 리스크 유동성 리스크 투자 채권을 조기 현금화하지 못할 리스크 국고채보다 회사채, 단기보다 장기채에서 더 높다. 크레딧 리스크 최초 투자 시 약정한 이자 또는 원금을 지급받지 못할 리스크 국고채보다 회사채, 단기보다 장기채에서 더 높다. 크레딧 채권 = 회사채 = 채권의 발행자가 기업임. 만기수익률과 프리미엄 만기수익률(YTM)은 최초 투자 시 기대한 원금 및이자의 수취에 대한 채무불이행이 없을 것으로 가정하여 산출된 수익률이다. 정부가 원금 및 이자를 지급하는 국고채를 제외하고는 채무불이행에 대한 위험이 있을 수 있다. 이러한 위험을 반영하여 실제로 기대되는 수익을 기대수익률이라고 한다. (=..

퀀트/금융 2023.03.04

금융 기본 지식 | 9. 채권 듀레이션, 수익률 곡선

Duration 정의 만기 이전에 이자를 지급 받으면서 투자자가 느끼는 실질적인 만기로, 채권 투자 자금 평균 회수 기간을 말한다. duration = (만기 x 현재가치) / 현재가치 현재가치 = 표면이자율 / (1+YTM)^(횟수) ⇒ 채권의 실질적인 만기로 채권투자시 발생하는 현금흐름의 가중평균기간을 의미한다. ⇒ 가중평균만기 속성 채권 가격의 이자율 변화에 대한 민감도를 측정하기 위한 척도로 사용된다. 만기가 길수록 듀레이션 증가 액면이자율이 높을수록 듀레이션 감소 만기수익률이 높을수록 듀레이션 감소 할인채의 경우, 만기 = 듀레이션 시간이 지나면서 듀레이션 감소 수정듀레이션 (Modified Duration) 이자율 변동에 따른 채권가격의 변동률 (가격을 이자율로 미분) 수정듀레이션 = Dura..

퀀트/금융 2023.03.02

금융 기본 지식 | 7. 주식 절대가치평가법 : DCF

주식 절대가치 평가법 : DCF DCF 평가법 (Discounted Cash Flow Method) 기업이 영업활동의 결과로 미래에 얻을 수 있는 미래 순현금흐름(FCF:Free Cash Flow)을 위험 수준을 반영하는 가중평균할인율(WACC:Weighted Average Cost of Capital)로 현가한 순현재가치로 주식의 가치를 평가하는 방법이다. 특징 비교기업이 존재하지 않거나, 비교기업의 주가 수준에 좌우되지 않고 평가될 수 있다. 평가대상기업이 적자인 경우에도 평가 가능하다. 시장가치와의 괴리가 있을 수 있어서, 상대가치평가법과 함께 사용하는 것이 바람직하다. 주관적인 현금흐름추정 및 가정으로 평가가 왜곡될 수 있다. 1. FCF 추정 Free cash Flow : 영업활동을 통해 미래에..

퀀트/금융 2023.02.28

금융 기본 지식 | 6. 주식의 상대가치평가

주식의 상대가치평가 가치(values) vs 가격(price) 가치 가격 의미 사용가치 교환가치 결정 미래 현금흐름 수요와 공급 특징 주관적, 장기적 객관적, 단기적 관련 - 투자 - 재무제표 분석 - Buy and Hold - 매매 - 기술적 분석(차트) - Buy and Sell Quickly 가치평가 상대가치평가법 = 시장접근법 (Market Approach) ⇒ 유사한 상장회사의 주가나 유사한 기업의 주식거래를 참고하여 주식가치를 평가 유사 상장기업 주가비교법 (Market Comparable) 재무 상황과 영업환경이 유사한 다른 기업의 가격 정보를 이용(PER, PBR, EV/EBITDA 등) 유사 매각거래 비교법 절대가치평가법 = 이익접근법 (Income Approach) ⇒ 미래의 이익이나 ..

퀀트/금융 2023.02.22