목록투자/생각 (7)
SAVEPOINT ;

이전 게시글들에서 Monte Carlo 방식으로 각 수익률이 독립일 때와 Copula일 때의 모수적 VaR를 구했고, Bootstrapping 방식을 이용해서도 VaR를 구했다. 이제 각 방식에서의 VaR의 차이를 보자. 모수적 방식에서 수익률의 분포는 Student's t-distribution을 가정했다. 해당 분포에서는 자유도가 높아질수록 정규분포에 가까워지는 특성이 있다. 반대로 자유도가 낮을 때에는 양극단의 값이 나올 확률이 더 높아져 Tail Risk를 더 잘 포착할 수 있다. 방식 모수적 비모수적 Copula VaR Independent VaR Bootstrapping VaR df=5 437만 원 406만 원 361만 원 df=10 402만 원 372만 원 df=15 409만 원 383만 원..

from selenium.webdriver.common.by import By from selenium import webdriver import pandas as pd import numpy as np import matplotlib import matplotlib.pyplot as plt from datetime import datetime, date, timedelta import scipy.stats as stats from scipy.stats import multivariate_normal from scipy.stats import norm,beta,cauchy,expon,rayleigh,uniform,multivariate_t,t,kendalltau,rankdata import statsmo..

from selenium.webdriver.common.by import By from selenium import webdriver import pandas as pd import numpy as np import matplotlib import matplotlib.pyplot as plt from datetime import datetime, date, timedelta import scipy.stats as stats from scipy.stats import multivariate_normal from scipy.stats import norm,beta,cauchy,expon,rayleigh,uniform,multivariate_t,t,kendalltau,rankdata import statsmo..

from selenium.webdriver.common.by import By from selenium import webdriver import pandas as pd import numpy as np import matplotlib import matplotlib.pyplot as plt from datetime import datetime, date, timedelta import scipy.stats as stats from scipy.stats import multivariate_normal from scipy.stats import norm,beta,cauchy,expon,rayleigh,uniform,multivariate_t,t,kendalltau,rankdata import statsmo..

이전 게시물에서 구했던 VaR들을 가지고 포트폴리오를 최적화해보자. 위험 대비 수익률을 최대화하기 위해선 모든 종목에서 아래의 수식을 만족해야 한다. 하지만, 이번 최적화에서는 수익은 고려하지 않고, 포트폴리오 VaR를 최소화하는 코드를 만들어보자. 이 수식을 만족하면 포트폴리오 VaR이 최소가 된다. from scipy.optimize import minimize from scipy.optimize import basinhopping 해당 라이브러리 기능을 로드 def function(잔고평가액): CORR_function=np.array(CORR) Vol_function=np.array(Vol_all.iloc[1,:].transpose()*1.65) return (잔고평가액*Vol_function) ..

구글 스프레드 시트는 시트를 웹페이지로 변환해 게시할 수 있는 기능이 있어, 이를 이용해 실시간으로 포트폴리오의 구성 종목을 크롤링하여 가져오고 VaR를 계산하는 코드를 작성해 봤다. 먼저, 필요한 기능들을 불러온다. from selenium.webdriver.common.by import By from selenium import webdriver import pandas as pd import yfinance as yf import numpy as np import matplotlib import matplotlib.pyplot as plt from datetime import datetime, date, timedelta import scipy.stats as stats from arch impor..

S&P500 1970/2/1 이후 Max Drawdown Historical 분포 Max Drawdown 빈도(회) Probability Cumulative 1-Cumulative 0.0%~2.5% 24 38.10% 38.10% 61.90% 2.5%~5.0% 12 19.05% 57.14% 42.86% 5.0%~7.5% 11 17.46% 74.60% 25.40% 7.5%~10.0% 4 6.35% 80.95% 19.05% 10.0%~12.5% 1 1.59% 82.54% 17.46% 12.5%~15.0% 1 1.59% 84.13% 15.87% 15.0%~17.5% 2 3.17% 87.30% 12.70% 17.5%~20.0% 1 1.59% 88.89% 11.11% 20.0%~22.5% 1 1.59% 90.48%..