{"id":12207,"date":"2022-03-01T03:02:26","date_gmt":"2022-02-28T19:02:26","guid":{"rendered":"https:\/\/www.tejwin.com\/?post_type=insight&#038;p=12207"},"modified":"2026-02-03T17:19:13","modified_gmt":"2026-02-03T09:19:13","slug":"portfolio-var","status":"publish","type":"insight","link":"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/","title":{"rendered":"Portfolio VaR"},"content":{"rendered":"\n<figure class=\"wp-block-image\" id=\"d395\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1kcgdlmbz6RSfbvQqlAisCg-2.jpeg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Photo by <a class=\"markup--anchor markup--figure-anchor\" href=\"https:\/\/unsplash.com\/@homajob\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/unsplash.com\/@homajob\" data->Scott Graham<\/a> on&nbsp;<a class=\"markup--anchor markup--figure-anchor\" href=\"https:\/\/unsplash.com\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/unsplash.com\" data->Unsplash<\/a><\/figcaption><\/figure>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f791b9cb6be\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"ez-toc-cssicon\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f791b9cb6be\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Highlights\" >Highlights<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Preface\" >Preface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Editing_Environment_and_Modules_Required\" >Editing Environment and Modules Required<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Database\" >Database<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Data_Selection_Pre-processing\" >Data Selection &amp; Pre-processing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Daily_Return_at_Risk_DEAR\" >Daily Return at Risk, DEAR<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Correlation_Coefficient\" >Correlation Coefficient<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Portfolio_VaR\" >Portfolio VaR<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Defects_of_Variance-Covariance_Method\" >Defects of Variance-Covariance Method<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Source_Code\" >Source Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Extended_Reading\" >Extended Reading<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.tejwin.com\/en\/insight\/portfolio-var\/#Related_Link\" >Related Link<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"b9a9\"><span class=\"ez-toc-section\" id=\"Highlights\"><\/span>Highlights<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Difficulty\uff1a\u2605\u2605\u2606\u2606\u2606<\/li>\n\n\n\n<li>Portfolio VaR calculation &amp; analysis<\/li>\n\n\n\n<li>Reminder: We would apply Python to calculate VaR by variance-covariance method. Therefore, it would be better for you to understand fundamentals of portfolio and Statistics.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1c23\"><span class=\"ez-toc-section\" id=\"Preface\"><\/span>Preface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"e33c\">Value at risk, VaR, means the maximum loss of a portfolio by determined confidence level and data of specific period.<\/p>\n\n\n\n<p id=\"5b7f\">The procedure of calculation is as follow:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Daily Earnings at Risk<\/li>\n\n\n\n<li>Correlation coefficient between stocks<\/li>\n\n\n\n<li>VaR of portfolio<\/li>\n<\/ol>\n\n\n\n<p id=\"5a6f\">During computing, we should notice every parameter setting and distribution of stock return so as to reflect market\u2019s volatility on the numbers. Subsequently, we would carefully implement the process and illustrate the defect of variance-covariance method.<\/p>\n\n\n\n<p id=\"8c07\">VaR terms applied in this article:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Daily Earning at Risk, DEAR\uff1aThe potential loss of a portfolio\u2019s value in single day.<\/li>\n<\/ol>\n\n\n\n<p id=\"364d\">2. Relative VaR\uff1aThe VaR compared to average return of portfolio.<\/p>\n\n\n\n<p id=\"eca4\">(|-\u03b1| * \u03c3) * portfolio value<\/p>\n\n\n\n<p id=\"a7dc\">3. Absolute VaR\uff1aThe VaR compared to 0.<\/p>\n\n\n\n<p id=\"f1a1\">(|-\u03b1| * \u03c3 \u2014 mean) * portfolio value<\/p>\n\n\n\n<p id=\"9225\">Above \u03b1 is the critical value of normal distribution. We would apply the the most restrict standard, 99% confidence level and Z-value equal to 2.33 to compute.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6222\"><span class=\"ez-toc-section\" id=\"Editing_Environment_and_Modules_Required\"><\/span>Editing Environment and Modules Required<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"4814\">MacOS &amp; Jupyter Notebook<\/p>\n\n\n\n<pre id=\"c1ef\" class=\"wp-block-preformatted\"><code>\uff03\u57fa\u672c\u5957\u4ef6<\/code> <code>import numpy as np<\/code> <code>import pandas as pd<\/code> <code>\uff03\u7e6a\u5716\u5957\u4ef6<\/code> <code>import matplotlib.pyplot as plt<\/code> <code>%matplotlib inline<\/code> <code>import seaborn as sns<\/code> <code>sns.set()<\/code> <code>\uff03TEJAPI<\/code> <code>import tejapi<\/code> <code>tejapi.ApiConfig.api_key = 'Your Key'<\/code> <code>tejapi.ApiConfig.ignoretz = True<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2173\"><span class=\"ez-toc-section\" id=\"Database\"><\/span>Database<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_case_detail\/2?item_id=TWN\/EWPRCD\" rel=\"noreferrer noopener\" target=\"_blank\">Security Transaction Data Table<\/a>: Listed securities with adjusted and unadjusted price and index. Code is \u2018TWN\/EWPRCD\u2019.<\/li>\n\n\n\n<li><a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_case_detail\/2?item_id=TWN\/EWPRCD2\" rel=\"noreferrer noopener\" target=\"_blank\">Security Return Data Table<\/a>: Listed securities with different period basis return. Code is \u2018TWN\/EWPRCD2\u2019.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"e492\"><span class=\"ez-toc-section\" id=\"Data_Selection_Pre-processing\"><\/span>Data Selection &amp; Pre-processing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"d2f2\"><strong>Step 1. Stock Price<\/strong><\/p>\n\n\n\n<p id=\"2397\">The portfolio would consist of traditional , high-tech, finance and shipping corporation. We would calculate VaR and display the distribution of every stock. By combining above parts, we would make you understand the pro-and-con of Variance-Covariance VaR.<\/p>\n\n\n\n<pre id=\"7b91\" class=\"wp-block-preformatted\"><code>ticker = ['1476', '2330', '2882', '2603']<\/code> <code># \u5112\u9d3b, \u53f0\u7a4d\u96fb, \u570b\u6cf0\u91d1, \u9577\u69ae<\/code> <code>df = tejapi.get('TWN\/EWPRCD', # \u516c\u53f8\u4ea4\u6613\u8cc7\u6599-\u5df2\u8abf\u6574\u80a1\u50f9(\u6536\u76e4\u50f9)<\/code> <code>                coid = ticker,<\/code> <code>                mdate = {'gte':'20200101', 'lte':'20220225'},<\/code> <code>                opts = {'columns': ['coid', 'mdate', 'close_adj']},<\/code> <code>                chinese_column_name = True,<\/code> <code>                paginate = True)<\/code> <code>df = df.set_index('\u65e5\u671f')<\/code><\/pre>\n\n\n\n<figure id=\"d1ec\" class=\"graf graf--figure graf-after--pre\"><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1ilxo9-CF2PGS5lVlj1iPeg-2.png\" alt=\"\u8868(\u4e00)\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"ffc3\"><strong class=\"markup--strong markup--p-strong\"><strong>Step 2. Transpose Price Data<\/strong><\/strong><\/h4>\n\n\n\n<pre id=\"dc20\" class=\"wp-block-preformatted\"><code>data = {}<\/code> <code>for i in ticker:<\/code> <code>    p = df[df['\u8b49\u5238\u4ee3\u78bc'] == i]<\/code> <code>    p = p['\u6536\u76e4\u50f9(\u5143)']<\/code> <code>    data.setdefault(i, p)<\/code> <code>data = pd.concat(data, axis = 1)<\/code><\/pre>\n\n\n\n<figure id=\"5e05\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1iakvdbaiAaJ-PI5xqIDrIQ-2.png\" alt=\"\u8868(\u4e8c)\"\/><\/figure>\n\n\n\n<p id=\"d1c5\"><strong>Step 3. Daily Return<\/strong><\/p>\n\n\n\n<p id=\"b52b\">Apply&nbsp;<a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_case_detail\/2?item_id=TWN\/EWPRCD2\" rel=\"noreferrer noopener\" target=\"_blank\">Security Return Data Table<\/a>&nbsp;to ensure the source quality. Pre-processing of return data is the same as that of price.<\/p>\n\n\n\n<pre id=\"f557\" class=\"wp-block-preformatted\"><code>ret = tejapi.get('TWN\/EWPRCD2', <\/code> <code>                  coid = ticker,<\/code> <code>                  mdate = {'gte':'20200101', 'lte':'20220225'},<\/code> <code>                  opts = {'columns': ['coid', 'mdate', 'roia']},<\/code> <code>                  chinese_column_name = True,<\/code> <code>                  paginate = True)<\/code> <code>ret = ret.set_index('\u65e5\u671f')<\/code> <code>data2 = {}<\/code> <code>for i in ticker:<\/code> <code>    r = ret[ret['\u8b49\u5238\u78bc'] == i]<\/code> <code>    r = r['\u65e5\u5831\u916c\u7387(%)']<\/code> <code>    data2.setdefault(i, r)<\/code> <code>data2 = pd.concat(data2, axis = 1)<\/code> <code>data2 = data2 * 0.01 \uff03\u9084\u539f\u5831\u916c\u7387\u70ba\u767e\u5206\u4e4b\u4e00\u55ae\u4f4d\u57fa\u6e96<\/code><\/pre>\n\n\n\n<figure id=\"14f0\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/12N4LMiBiHDF-04AdbaBpYA-2.png\" alt=\"\u8868(\u4e09)\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aeea\"><span class=\"ez-toc-section\" id=\"Daily_Return_at_Risk_DEAR\"><\/span>Daily Return at Risk, DEAR<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"3556\"><strong>Step 1. Declare Empty Lists<\/strong><\/p>\n\n\n\n<pre id=\"0021\" class=\"wp-block-preformatted\"><code>value = data.iloc[-1] * 1000 <\/code> <code>Mean = []<\/code> <code>STD = []<\/code> <code>MAX = []<\/code> <code>Min = []<\/code> <code>abs_var = []<\/code> <code>re_var = []<\/code><\/pre>\n\n\n\n<p id=\"d46b\">Firstly, we would calculate value of stocks in portfolio, assuming hold at least 1,000 share, which is the base unit in TAIEX. Subsequently, declare empty lists.<\/p>\n\n\n\n<p id=\"38cb\"><strong>Step 2. Calculate DEAR, one-day VaR<\/strong><\/p>\n\n\n\n<pre id=\"b27e\" class=\"wp-block-preformatted\"><code>for i in ticker:<\/code> <code>    v = data2[i].std()              # Standard Error<\/code> <code>    mean = data2[i].mean()          # Mean <\/code> <code>    maximum = data2[i].max()        # Maximum<\/code> <code>    minimum = data2[i].min()        # Minimum<\/code> <code>    # Calculate 99% Absolute VaR<\/code> <code>    var_99_ab = (abs(-2.33)*v - mean) * value[i]   <\/code> <code>    # Calculate 99% Relative VaR<\/code> <code>    var_99_re = (abs(-2.33)*v) * value[i]        <\/code> <code>    # Append those values in lists<\/code> <code>    Mean.append(mean)<\/code> <code>    STD.append(v)<\/code> <code>    MAX.append(maximum)<\/code> <code>    Min.append(minimum)<\/code> <code>    abs_var.append(var_99_ab)<\/code> <code>    re_var.append(var_99_re)<\/code><\/pre>\n\n\n\n<p id=\"db4a\">In the loop, we firstly calculate std, mean, maximum and minimum. Secondly, compute absolute and relative VaR. Lastly, return values to empty lists.<\/p>\n\n\n\n<p id=\"16d2\">We apply abs() during calculation of VaR, which is for the remind of that VaR concerns the downside, namely the negative, so -2.33 is adequate. However, using positive number is the convention of presenting VaR; therefore, convert -2.33 to positive by abs().<\/p>\n\n\n\n<p id=\"cfc5\"><strong>Step 3. Construct new Table<\/strong><\/p>\n\n\n\n<pre id=\"6a1b\" class=\"wp-block-preformatted\"><code>dear = pd.DataFrame({'Mean': Mean, 'STD': STD, 'Maximum': MAX, 'Minimum': Min, '99%\u7d55\u5c0dVaR': abs_var, '99%\u76f8\u5c0dVaR': re_var},<\/code> <code>index = ticker)<\/code> <code># \u76f4\u63a5\u5c07DEAR\u547d\u540d\u70ba\u7d55\u5c0d\u3001\u76f8\u5c0dVaR\uff0c\u4f9b\u5f8c\u7e8c\u8a08\u7b97\u4f7f\u7528<\/code><\/pre>\n\n\n\n<figure id=\"c95a\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1zGQeiB5KsF6b20YYxtS59A-2.png\" alt=\"\u8868(\u56db)\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"574f\"><span class=\"ez-toc-section\" id=\"Correlation_Coefficient\"><\/span>Correlation Coefficient<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre id=\"77a9\" class=\"wp-block-code\"><code>rho = data2.corr() # Apply ret to avoid spurious regression result<\/code><\/pre>\n\n\n\n<figure id=\"814c\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1UvfbDGlT_cbmrVk2C86RIg-2.png\" alt=\"\u8868(\u4e94)\"\/><\/figure>\n\n\n\n<p id=\"5063\">Instead of price data, we apply return data to get the correlation coefficient among stocks. By doing so, we would avoid Spurious Regression and compute correct coefficient.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9593\"><span class=\"ez-toc-section\" id=\"Portfolio_VaR\"><\/span>Portfolio VaR<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"9afb\"><strong>Step 1. Concatenate Tables<\/strong><\/p>\n\n\n\n<pre id=\"3b00\" class=\"wp-block-preformatted\"><code>\uff03 \u5c07\u4e0d\u9700\u7528\u5230\u7684\u8cc7\u6599\u5254\u9664\u3002<\/code> <code>dear = dear.drop(columns = ['Mean', 'STD', 'Maximum', 'Minimum'])<\/code> <code># \u5408\u4f75 dear \u8207 rho<\/code> <code>portfolio = pd.concat([dear, rho,], axis = 1) <\/code> <code>portfolio[['99%\u7d55\u5c0dVaR', '99%\u76f8\u5c0dVaR']] = portfolio[['99%\u7d55\u5c0dVaR', '99%\u76f8\u5c0dVaR']]<\/code><\/pre>\n\n\n\n<figure id=\"e3e8\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1nbwuYcRU5ZKsdHxvImLUcA-2.png\" alt=\"\u8868(\u516d)\"\/><figcaption class=\"wp-element-caption\">\u8868(\u516d)<\/figcaption><\/figure>\n\n\n\n<p id=\"c14d\"><strong>Step 2. Calculate VaR<\/strong><\/p>\n\n\n\n<p id=\"553f\">part1 is the proportion of VaR of stocks itself in portfolio. As for part2, it is the VaR with the adjustment of correlation coefficient among different stocks.<\/p>\n\n\n\n<pre id=\"81ba\" class=\"wp-block-preformatted\"><code>part1 = sum(portfolio['99%\u7d55\u5c0dVaR']**2)<\/code> <code>part2 = <\/code> <code>2*portfolio.iat[0,3] * portfolio.iat[0,0] * portfolio.iat[1,0] <\/code> <code>+ 2*portfolio.iat[0,4] * portfolio.iat[0,0] * portfolio.iat[2,0] <\/code> <code>+ 2*portfolio.iat[0,5] * portfolio.iat[0,0] * portfolio.iat[3,0] <\/code> <code>+ 2*portfolio.iat[1,4] * portfolio.iat[1,0] * portfolio.iat[2,0] <\/code> <code>+ 2*portfolio.iat[1,5] * portfolio.iat[1,0] * portfolio.iat[3,0] <\/code> <code>+ 2*portfolio.iat[2,5] * portfolio.iat[2,0] * portfolio.iat[3,0]<\/code><\/pre>\n\n\n\n<p id=\"c621\">Absolute VaR at 99% confidence level is 50647.78.<\/p>\n\n\n\n<pre id=\"8889\" class=\"wp-block-preformatted\"><code>part1 = sum(portfolio['99%\u76f8\u5c0dVaR']**2)<\/code> <code>part2 = <\/code> <code>2*portfolio.iat[0,3] * portfolio.iat[0,1] * portfolio.iat[1,1] <\/code> <code>+ 2*portfolio.iat[0,4] * portfolio.iat[0,1] * portfolio.iat[2,1] <\/code> <code>+ 2*portfolio.iat[0,5] * portfolio.iat[0,1] * portfolio.iat[3,1] <\/code> <code>+ 2*portfolio.iat[1,4] * portfolio.iat[1,1] * portfolio.iat[2,1] <\/code> <code>+ 2*portfolio.iat[1,5] * portfolio.iat[1,1] * portfolio.iat[3,1] <\/code> <code>+ 2*portfolio.iat[2,5] * portfolio.iat[2,1] * portfolio.iat[3,1]<\/code><\/pre>\n\n\n\n<p id=\"b635\">Relative VaR at 99% confidence level is 52205.86.<\/p>\n\n\n\n<p id=\"4fa3\">According to above calculation, we conclude that&nbsp;<strong>maximum loss of the portfolio in one day would not exceed 52 thousands at 99 percent chance<\/strong>. However, market always fluctuates. Hence, keeping the calculation of VaR regularly would make our judgement more accurately.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"a78d\"><span class=\"ez-toc-section\" id=\"Defects_of_Variance-Covariance_Method\"><\/span>Defects of Variance-Covariance Method<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Unable to measure VaR of non-linear asset, like option. Since the structure of correlation coefficient has assumed that there is a linear relation among data, this method is not suitable for non-linear asset.<\/li>\n\n\n\n<li>Ignore fat-tail. we use critical value of normal distribution to calculate DEAR, which might make us underestimate VaR due to the fat-tail problem of security asset.<\/li>\n<\/ol>\n\n\n\n<p id=\"4f54\">We would display distributions of stocks so as to check severity of fat-tail.<\/p>\n\n\n\n<pre id=\"e0f4\" class=\"wp-block-preformatted\"><code>plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']<\/code> <code>fig, ax =plt.subplots(figsize = (18, 12), nrows = 2, ncols = 2)<\/code> <code>data2['1476'].plot.hist(ax=ax[0][0], bins = 100,range=(data2['1476'].min(), data2['1476'].max()),  label = '\u5112\u9d3b')<\/code> <code>ax[0][0].legend(loc = 2, fontsize = 30)<\/code> <code>data2['2330'].plot.hist(ax=ax[0][1], bins = 100,range=(data2['2330'].min(), data2['2330'].max()),  label = '\u53f0\u7a4d\u96fb')<\/code> <code>ax[0][1].legend(loc = 2, fontsize = 30)<\/code> <code>data2['2882'].plot.hist(ax=ax[1][0], bins = 100,range=(data2['2882'].min(), data2['2882'].max()),  label = '\u570b\u6cf0\u91d1')<\/code> <code>ax[1][0].legend(loc = 2, fontsize = 30)<\/code> <code>data2['2603'].plot.hist(ax=ax[1][1], bins = 100,range=(data2['2603'].min(), data2['2603'].max()),  label = '\u9577\u69ae')<\/code> <code>ax[1][1].legend(loc = 2, fontsize = 30)<\/code> <code>plt.tight_layout()<\/code><\/pre>\n\n\n\n<figure id=\"3bf8\" class=\"graf graf--figure graf-after--pre\">\n<\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter caption-align-center graf-image\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/1CCQwmvFi1M5pfOv0YvbbFA-2.png\" alt=\"\u5716(\u4e00)\"\/><figcaption class=\"wp-element-caption\">\u5716(\u4e00)<\/figcaption><\/figure>\n\n\n\n<p id=\"3a94\">Based on above charts, it is clear that EVERGREEN\u2019s fat-tail is the most apparent. TSMC and Eclat Textile have fat-tail but not that dramatic. As for Cathay Financial Holdings, there is almost no fat-tail.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"8b27\">Conclusion<\/h1>\n\n\n\n<p id=\"26eb\">With the process of calculation and analysis in this article, believe you would understand the procedure of Variance-Covariance Method. Firstly, calculate DEAR. Subsequently, get the correlation coefficient. Lastly, compute VaR of the whole portfolio. It is for sure that there is some disadvantages of this method and you can understand that fat-tail problem exists in these stocks. As a result, if you are curious about the solution for fat-tail, pleaser keep tracking this platform. We, later, will post new article to demonstate. In the end, welcome to purchase the plans offered in&nbsp;<a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/index\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ E Shop<\/strong><\/a>&nbsp;to conduct VaR calculation for your own portfolio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8b93\"><span class=\"ez-toc-section\" id=\"Source_Code\"><\/span>Source Code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/gist.github.com\/tej87681088\/aac62e0db1e970e99b5e8fdfeaecd9e2#file-tejapi_medium-16-ipynb\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Github<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"601c\"><span class=\"ez-toc-section\" id=\"Extended_Reading\"><\/span>Extended Reading<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/medium.com\/tej-api-financial-data-anlaysis\/application-12-money-management-3b264a59cfd0\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">\u3010Application(12)\u3011Money Management<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/tej-api-financial-data-anlaysis\/data-analysis-11-arima-garch-model-part-2-628e48d17b7d\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">\u3010Data Analysis(11)\u3011ARIMA-GARCH Model(Part 2)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8fc2\"><span class=\"ez-toc-section\" id=\"Related_Link\"><\/span>Related Link<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/medium.com\/r?url=https%3A%2F%2Fapi.tej.com.tw%2Fdatatables.html%3Fdb%3DTWN%26t%3D%25E5%258F%25B0%25E7%2581%25A3%25E8%25B3%2587%25E6%2596%2599%25E5%25BA%25AB\" target=\"_blank\" rel=\"noopener\">TEJ API<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_intro\" rel=\"noreferrer noopener\" target=\"_blank\">TEJ E-Shop<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In 1997, Robert Merton and Myron Scholes won the Nobel Prize in Economics for their Black-Scholes options pricing formula, beating out many other contenders. The Black-Scholes model is still a widely-used option pricing model in the financial industry and by investors due to its excellent mathematical properties, simplicity, and ease of use. Today, we will focus on programming this model and Greeks derived from Black Scholes model.<\/p>\n","protected":false},"featured_media":12208,"template":"","tags":[2962,3008],"insight-category":[690,3509,50],"class_list":["post-12207","insight","type-insight","status-publish","has-post-thumbnail","hentry","tag-market-data","tag-tejapi-quant","insight-category-data-analysis","insight-category-fintech-en","insight-category-fintech"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/12207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight"}],"about":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/types\/insight"}],"version-history":[{"count":2,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/12207\/revisions"}],"predecessor-version":[{"id":24853,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/12207\/revisions\/24853"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media\/12208"}],"wp:attachment":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media?parent=12207"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/tags?post=12207"},{"taxonomy":"insight-category","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight-category?post=12207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}