분류 전체보기 104

자산 내재가치평가 기본 모형 수식 정리 - 채권, 우선주, 보통주, 배당성장모형

먼저, 자산 가치평가를 위한 기본 모형은 다음과 같다. V : 일정 기간의 자산 가치(Value) CF : 일정 기간의 현금 흐름(Cashflow) k : 요구수익률(=할인율) 현재 자산의 가치(V)는 미래 시점 전체 현금 흐름에 각 기간별 할인율(복리)을 적용한 값과 같다. 해당 모형을 통해 채권, 주식에 대한 가치평가를 실시할 수 있다. 1. 채권 가치평가 모형 채권은 만기가 없는 채권인 영구채(Perpetual bond)와 일반 채권으로 구분하여 산식을 적용한다. 기본 채권 가치평가 모형은 다음과 같다. 영구채는 만기가 없기 때문에(연장 가능) 이자를 무한히 지급한다는 가정을 내포한다. 이에 따라 채권 산식에서 만기 원금 수령에 대한 항이 소거되고, n은 무한대로 설정한다. 그리고 무한등비급수 공식..

2. 도메인/금융 2023.04.19

기업 상대가치평가를 위한 핵심 주가배수모형 4가지 용어 정리 - PER, PBR, PSR, PCR

PER(Price to Earning Ratio) : 주가수익비율 PBR(Price to Book Ratio) : 주가순자산비율 PSR(Price to Sales Ratio, Price Selling Ratio) : 주가매출액비율 PCR(Price to Cashflow Ratio) : 주가현금흐름비율 여기서 P(Price)는 주가, 즉 시가총액을 발행주식 수로 나눈 한 주당 가격이다. 따라서 붉은 글씨로 표기된 E, B, S, C는 모두 주당 Earning, 주당 Book, 주당 Sales, 주당 Cashflow가 되어야 각각의 비율이 성립한다. 먼저 E, B, S, C에 대한 각각의 기본 정의는 다음과 같다. E(Earning) : 당기순이익 B(Book Value) : 순자산(=자기자본=출자지분) S..

2. 도메인/금융 2023.04.19

주식 차트만 보는 기술적 분석의 무용론

아래 차트를 보면 어떤 생각이 드는가? 전고점을 뚫으면 우상향 할 것이고, 뚫지 못하면 박스권이 형성될 것이라 믿는가? 그렇다면 이 그래프는 어떤가? 완전히 추세가 꺾여 가망이 없어 보이는가? 안타깝게도 둘 다 정규분포로부터 발생시킨 완벽한 무작위 데이터다. 즉, 차트만 보고 우상향 한다, 박스권이다, 추세가 꺾였다 등의 기술적 분석은 아무 근거가 없다는 것이다. 정규분포로부터 발생시킨 무작위 데이터라 함은 아래와 같이 일간 수익률을 평균이 0, 분산이 1인 랜덤한 숫자를 누적해서 쌓아 올린 것을 의미한다. 이를 연결한 것이 총 500일 치의 일간 수익률 분포다. 그리고 이것을 누적해서 쌓아 올리면(cumulative sum) 위에서 봤던 500일간의 누적 수익률, 즉 약 2년 간의 주식차트를 로그변환시..

2. 도메인/금융 2023.04.14

주가 데이터 분석을 위한 로그 변환의 의미, ln(1+return)과 return의 실질적 근사(+파이썬 코드)

주가 데이터를 그대로 분석하기에는 여러 가지 제약이 있다. 단일 주가를 분석할 때에는 그 자체로 정상성이 확보되어 있지 않다는 점, 여러 주가를 비교분석할 때에는 각 종목마다 분포(스케일)가 다르다는 점이 대표적이다. 따라서 일반적으로 금융 시장 매크로를 분석하거나 머신러닝 모델을 구축할 때 price가 아닌 return을 활용하는 경우가 많다. 더 나아가 논문 수식이나 자료를 찾다 보면 단순히 net return(이하 return)을 쓰기보다 로그를 취한 ln(1+return)이 빈번하게 등장한다. 직관적으로 ln(1+return)은 return과 (거의) 같다. 정확히 말하면 로그 수익률 ln(1+return)은 연속복리 개념을 가정하므로 실제로는 수익률 단위가 분, 초, 밀리세컨드 이하로 내려가야만..

TF-IDF 행렬의 특이값 분해를 통한 LSA(Latent Semantic Analysis)의 구현과 빈도 기반 토픽 모델의 한계

Step 1. 토픽모델링이란 토픽모델링은 특정 문서의 확률적 카테고리를 나누는 비지도학습 방법론이며 기본적인 컨셉은 다음과 같다. 문서는 단어의 조합이다. 문서 내 함께 등장하는 단어는 서로 연관성이 있다. 모든 문서에서 자주 등장하는 단어는 특수한 의미를 내포하지 않는다. 반면, 그렇지 않은 단어는 특수한 의미를 내포한다. 즉, 모든 문서에서 자주 등장하지 않으면서 특정 단어들과 함께 등장하는 단어들은 서로 유사한 의미를 내포한다. 그러므로 단어의 조합인 문서는 의미가 있는 단어들의 비중에 따라 카테고리(Topic)가 결정된다. 우리는 이러한 컨셉의 프로세스에 따라 1.문서를 단어 조합으로 가공하고, 2~5.문서 내 각 단어들의 의미를 부여한 다음, 6.문서의 토픽을 결정해보도록 하자. Step 2. ..

단어의 의미를 고려한 문장 유사도 측정 방법 - 기저 벡터와 선형 변환

Step 1. 문장의 유사도를 구하는 방법 두 문서의 유사성은 어떻게 측정할 수 있을까? 문장의 길이? 아니면 주어, 동사, 목적어 등의 문법 구조? 그것보다는 얼마나 공통 '단어'를 많이 포함하고 있는가? 가 더 합리적으로 보인다. 실제로 수많은 전통적인 텍스트마이닝 방법론들은 이러한 단어 기반 유사도 측정 방식을 따르며, 현재 딥러닝, AI 시대에도 역시 문장 구조와 속성을 분석할 때 단어는 핵심 요소다. 이렇게 단어를 기준으로 문장 유사도를 구하기 위해서는 단어를 숫자로 변환해 줄 필요가 있다. 즉, 유사도 혹은 거리를 수학적으로 계산하기 위해 문장을 일종의 좌표평면 상에 놓을 수 있어야 하고 문장이 좌표평면에 놓이기 위해서는 문장을 구성하고 있는 단어들을 스칼라 혹은 벡터값으로 변환해줘야 하는 것..

벡터자기회귀 모형(VAR)을 활용한 다변량 예측 모델링 - 국내 주요 기업 주가 및 거래량 예측

Step 1. VAR 이란? VAR이란 Vector Autoregression, 벡터자기회귀 모형을 의미한다. 기본적인 자기회귀모형이 단변량 시계열 예측에서 사용된다면 벡터자기회귀모형은 다변량 예측에 사용된다. 즉, 2개 이상의 같은 기간에 대한 데이터셋이 서로 다른 변수로 서로 영향을 주는 관계인 경우 벡터자기회귀 모형을 사용한다. 단변량 예측에 사용되는 자기회귀 모형 AR, ARMA, ARIMA의 경우 특정 시점의 과거가 현재에 영향을 미치는 단방향 모형일 수 밖에 없다. 이와 달리 VAR은 각 시계열 변수가 서로 영향을 주며 이를 고려해 각 변수의 미래값을 전체 시계열 변수의 과거값으로부터 예측하므로 양방향 모형이다. 이러한 방향성은 변수간 관게를 보여주는 것이기도 하다.(VAR의 인자로 주어지는 ..

금융 분석을 위한 파이썬 프로그래밍 - 보충자료 02. 파이썬 데이터 시계열 차트 시각화(matplotlib, subplots)

데이터를 시각화하는 도구는 여러 가지가 있습니다. 특히 시계열 데이터의 경우 엑셀이나 스프레드시트, PPT만으로도 충분히 의도하는 내용을 차트로 만들어낼 수 있습니다. 따라서 '굳이' 파이썬으로 시각화를 하고자 한다면 단순히 파이썬으로 분석, 시각화까지 이어서 진행할 수 있는 연속성 외에도 파이썬이 주는 자유도와 자동화로 인한 편의를 충분히 활용해야 합니다. 파이썬을 사용하면 반복문과 함수를 손쉽게 활용하고, 프로그래밍을 통해 여러 차트를 동시에 그려낼 수 있습니다. 이를 극대화해주는 함수가 subplots()입니다. ​ Step 1. 레이아웃 설정 먼저, matplotlib.pyplot 패키지를 plt라는 이름(alias, 별칭)으로 불러옵니다. plt를 통해 아래와 같이 전체 레이아웃을 subplot..

금융 분석을 위한 파이썬 프로그래밍 - 보충자료 01. 파이썬 기초 문법(자료형, Data type)

파이썬에는 여러 가지 자료형, 즉 데이터 타입이 존재합니다. 그중에서도 우리는 단일 데이터를 표현해 주는 int, float, bool, str(엄밀히 말하면 연결된 char입니다만 char 자료형은 현 단계에서 접할 일이 많지 않습니다. 그래서 문자열 str을 단일 데이터 표현형으로 대체합니다.)과 다중 데이터를 표현해 주는 list, dict, set, 그리고 마지막으로 벡터 및 행렬 표현을 위한 numpy, pandas까지 빠르게 다뤄보도록 하겠습니다. ​ Step 1. 단일 데이터 표현 1-1. int int 자료형은 정수를 표현할 수 있습니다. 변수에 1이나 2와 같은 정수를 담아주면 파이썬은 해당 변수의 자료형을 int로 인식합니다. print() 함수로 변수가 가리키는 데이터를 출력할 수 있..

금융 분석을 위한 파이썬 프로그래밍 - 04. 머신러닝 예측 모델링

본 장에서는 기계학습 방법론에 대해 간단히 알아본 다음, 파이썬 패키지로 제공되는 주요 기계학습 알고리즘을 사용해 보도록 하겠습니다. Step 1. 데이터 불러오기 이번에도 역시 테슬라 주가를 불러오는 것부터 시작합니다. ​ Step 2. 예측값 정의 2-1. 기계학습 기계학습은 함수를 만드는 방식 중 하나입니다. y=ax+b라는 함수가 있습니다. 만약, 출력값이 입력값 대비 항상 2배가 되어야 하는 함수를 구해야 한다면 단순하게 a=2, b=0으로 설정하면 됩니다. 하지만 출력값이 입력값 대비 언제는 2배가 될 수도 있지만, 경우에 따라 1.5배가 되거나 어쩌면 -2배도 될 수도 있다면 함수를 어떻게 정의해야 할까요? 이때는 확률적 방법론을 사용해야 합니다. 경우에 따라 확률적으로 1.5배가 되거나 -..