{"id":2891,"date":"2021-03-29T00:41:35","date_gmt":"2021-03-29T00:41:35","guid":{"rendered":"https:\/\/www.tejwin.com\/en\/insights\/%e3%80%8cgarbage-in-garbage-out-%e3%80%8d\/"},"modified":"2021-03-29T00:41:35","modified_gmt":"2021-03-29T00:41:35","slug":"%e3%80%8cgarbage-in-garbage-out-%e3%80%8d","status":"publish","type":"insight","link":"https:\/\/www.tejwin.com\/en\/insights\/%e3%80%8cgarbage-in-garbage-out-%e3%80%8d\/","title":{"rendered":"\u300cGarbage in, garbage out.\u300d"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-15485\" height=\"682\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/image-216.png\" width=\"1024\"\/><\/figure>\n<p class=\"wp-block-paragraph\" id=\"e1b1\">\u2013 Explaining the importance of data quality \u2014 Free data api versus TEJ API<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"52bf\">People who do quantitative investing might be familiar with open data source\/API such as Yahoo Finance, Google Finance, etc. which we usually get data from their websites for backtesting. However,\u00a0<strong>free data sources we mentioned above are not database companies specialized in Taiwan. Therefore, comparing to the market in the US, they do worse on maintaining the database of the stock market in Taiwan. Moreover, if there is a flaw in the data for backtesting, it will strongly affect the performance of the models or strategies.<\/strong>\u00a0Under this condition, we will emphasize the importance of quality of data, but how can you know whether your data is qualified enough? So, in this episode, we will share our methods for checking the quality of data with you.<\/p>\n<\/blockquote>\n<\/blockquote>\n<h2 class=\"wp-block-heading\" id=\"6c65\"><strong> Highlights of this article <\/strong><\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>Adjusted stock price &amp; non-adjusted stock price Intro\/Application<\/strong><\/li>\n<li><strong> Free data v.s. TEJ API \u2013 The difference in the quality of data<\/strong><\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"439d\"><strong>Links related to this article<\/strong><\/h2>\n<ul class=\"wp-block-list\">\n<li>1\ufe0f\u20e3 API Official Website:\u00a0<a href=\"https:\/\/api.tej.com.tw\/\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ API Official Website<\/strong><\/a><\/li>\n<li>2\ufe0f\u20e3 The Product Package:<strong>\u00a0<\/strong><a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_caseIntro\/1\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ E SHOP<\/strong><\/a><\/li>\n<li>3\ufe0f\u20e3 Source Code:\u00a0<a href=\"https:\/\/github.com\/tejtw\/TEJAPI_Python_Medium_DataAnalysis\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ GITHUB<\/strong><\/a><\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"e9b9\">Adjusted v.s non-adjusted stock price<\/h2>\n<h4 class=\"wp-block-heading\" id=\"e9bc\">Using 0050 as an example:<\/h4>\n<p class=\"wp-block-paragraph\" id=\"c1f2\">Assume that 0050 was priced at 30 dollars 10 years before, and the current price of 0050 is 120 dollars. Therefore, we can say that the return on it is 300%. However, it doesn\u2019t consider cash dividends, so the real return on 0050 is not precise.\u00a0<strong>Using non-adjusted stock prices to calculate the return ignores the distribution of cash dividends,<\/strong>\u00a0but people who deposit their money into the stock do care about dividend yields. As a result, the method that we calculate the return by non-adjusted stock price is not accurate.<\/p>\n<p class=\"wp-block-paragraph\" id=\"5b94\">However,\u00a0<strong>the adjusted stock price is the price that has taken cash dividends\/ stock dividends\/cash capital increase into account.<\/strong>\u00a0Assume that the adjusted price of 0050 was 10 dollars 10 years before, and the current adjusted price of 0050 is 100 dollars, which means increasing 900% in total.\u00a0<strong>In this case, we can find the return calculate by the adjusted stock price is much more accurate!<\/strong><\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"9e93\">The individual stock has to consider much more factors than ETFs, and we will provide a comprehensive introduction in the future. If you want to learn more please<strong>\u00a0follow us<\/strong>\u00a0and keep focusing on our articles.<\/p>\n<\/blockquote>\n<h2 class=\"wp-block-heading\" id=\"4eb7\">Summary<\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>Non-Adjusted Stock Price \u27a1\ufe0f Market Price<\/strong><\/li>\n<li><strong>Adjusted Stock Price \u27a1\ufe0f The price which is converted from cash dividends\/ stock dividends\/Cash Capital Increase.<\/strong><\/li>\n<\/ul>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"44df\">Using 0050 as an example to see the difference of the return from adjusted &amp; non-adjusted stock prices.<\/p>\n<\/blockquote>\n<h3 class=\"wp-block-heading\" id=\"f638\">1. Import packages<\/h3>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"0a25\">If you do not have an api_key yet, you can\u00a0<strong><em>\ud83c\udd93<\/em><\/strong><a href=\"https:\/\/api.tej.com.tw\/trial.html\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>register an account on TEJ for a free trial<\/strong><\/a><strong><em>\ud83c\udd93<\/em><\/strong>,<strong>\u00a0but the trial account has a limit on getting data<\/strong>\u2757\ufe0f The database used in this episode is from \u659c\u69d3\u65b9\u6848\u7684\u8b49\u5238\u4ea4\u6613\u8cc7\u6599\u8868 (TWN\/EWPRCD).<strong>\u00a0If you want to use data without limit, check it on\u00a0<a aria-label=\"TEJ E Shop (opens in a new tab)\" class=\"ek-link\" href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/\" rel=\"noreferrer noopener\" target=\"_blank\">TEJ E Shop<\/a>\ud83c\udf81.<\/strong><\/p>\n<\/blockquote>\n<pre class=\"wp-block-code\"><code>import pandas as pd \nimport numpy as np\nimport matplotlib.pyplot as plt\nimport pandas_datareader as pdr\nimport tejapi\ntejapi.ApiConfig.api_key = 'your key'<\/code><\/pre>\n<h3 class=\"wp-block-heading\" id=\"e732\">2. Extract adjusted &amp; non-adjusted stock prices from TEJ.<\/h3>\n<pre class=\"wp-block-code\"><code>stk_num = '0050'\nstk_data = tejapi.get('TWN\/EWPRCD',coid = stk_num,paginate = True\n                      ,opts= {'columns':['coid','mdate','open_d','high_d','low_d','close_d']}) \n# non-adjusted\nstk_adj = tejapi.get('TWN\/EWPRCD',coid = stk_num,paginate = True\n                    ,opts= {'columns':['coid','mdate','open_adj','high_adj','low_adj','close_adj']}) \n# adjusted<\/code><\/pre>\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-15488\" height=\"202\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/image-217.png\" style=\"width:547px;height:218px\" width=\"507\"\/><\/figure>\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-15492\" height=\"201\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/image-219.png\" width=\"527\"\/><figcaption class=\"wp-element-caption\">non-adjusted (up)\/ adjusted(down)<\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\">3. Data visualization<\/h3>\n<pre class=\"wp-block-code\"><code>plt.style.use('seaborn')\nplt.figure(figsize=(10,5))\nplt.title('0050',fontsize = 20)\nl1 = plt.plot(stk_data.mdate,stk_data.close_d,label = 'market_price')\nl2 = plt.plot(stk_adj.mdate,stk_adj.close_adj,label = 'adjusted_price')\nparams = {'legend.fontsize': 14,\n          'legend.handlelength': 3,\n         'axes.labelsize': 25}\nplt.rcParams.update(params)\nplt.legend(loc=\"upper left\")\nplt.xlabel('Date', fontsize=20)\nplt.ylabel('Price', fontsize=20)\nplt.show()<\/code><\/pre>\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"wp-image-15494\" height=\"349\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/image-220.png\" width=\"646\"\/><\/figure>\n<h3 class=\"wp-block-heading\" id=\"d98d\">4. View the return<\/h3>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"0a1b\">The Return Formula\uff1a<br \/>The close price of the start date is our buy price(buy_price), and the close price of the most recent trading date is our sell price(sell_price).<\/p>\n<p class=\"wp-block-paragraph\" id=\"cabb\">Return = (sell_price-buy_price)\/buy_price<\/p>\n<\/blockquote>\n<pre class=\"wp-block-code\"><code># Difference of return\nbuy_price_mp, buy_price_adj = stk_data.close_d.values[0], stk_adj.close_adj.values[0]\nsell_price_mp, sell_price_adj = stk_data.close_d.values[-1], stk_adj.close_adj.values[-1]\nreturn_mp, return_adj = ((sell_price_mp-buy_price_mp)\/buy_price_mp), ((sell_price_adj-buy_price_adj)\/buy_price_adj)\nprint(\"\u672a\u8abf\u6574\u80a1\u50f9\u5831\u916c\u7387:\",return_mp,\"\u8abf\u6574\u80a1\u50f9\u5831\u916c\u7387:\", return_adj)<\/code><\/pre>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/11hRz9JC4pi_bmx-l3GJlnQ.png\"\/><\/figure>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"5ec3\"><strong>We can tell from the result, the difference between adjusted &amp; non-adjusted stock return is more than 40%!!<\/strong><\/p>\n<\/blockquote>\n<h2 class=\"wp-block-heading\" id=\"84d4\">Free data API vs TEJ API<\/h2>\n<p class=\"wp-block-paragraph\" id=\"beae\">Besides TEJ API, free data API also provides adjusted stock prices (we use Yahoo Finance API in this episode), so we would like to make a comparison between both.<\/p>\n<h3 class=\"wp-block-heading\" id=\"1907\">1. Import packages<\/h3>\n<pre class=\"wp-block-code\"><code>import pandas as pd \nimport numpy as np\nimport matplotlib.pyplot as plt\nimport pandas_datareader as pdr\nimport tejapi\ntejapi.ApiConfig.api_key = 'your key'<\/code><\/pre>\n<h3 class=\"wp-block-heading\">2. Grab data from both API<\/h3>\n<pre class=\"wp-block-code\"><code>stk_num = '0050'\n\nstk_adj = tejapi.get('TWN\/EWPRCD',coid = stk_num,paginate = True\n                    ,opts= {'columns':['coid','mdate','open_adj','high_adj','low_adj','close_adj']}) \n# adjusted\nyf_data = pdr.DataReader(stk_num+'.tw','yahoo') # Yahoo Finance<\/code><\/pre>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1fw1wyFWJau-SR66I_tP-lw.png\"\/><\/figure>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1OT2hbqs9osrRazWA8YTOcA.png\"\/><figcaption class=\"wp-element-caption\">TEJ adjusted price(up)\/YF adjusted price(down)<\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\" id=\"a68a\">3. Data visualization<\/h3>\n<pre class=\"wp-block-code\"><code>plt.style.use('seaborn')\nplt.figure(figsize=(10,5))\nplt.title('0050',fontsize = 20)\nl1 = plt.plot(yf_data.index,yf_data['Adj Close'],label = 'yf_adjusted')\nl2 = plt.plot(stk_adj.mdate,stk_adj.close_adj,label = 'tej_adjusted')\nparams = {'legend.fontsize': 14,\n          'legend.handlelength': 3,\n         'axes.labelsize': 25}\nplt.rcParams.update(params)\nplt.legend(loc=\"upper left\")\nplt.xlabel('Date', fontsize=20)\nplt.ylabel('Price', fontsize=20)\nplt.show()<\/code><\/pre>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1gf6biILCCPfkclnG4NykwQ.png\"\/><\/figure>\n<p class=\"wp-block-paragraph\" id=\"5f40\">Because there(\u659c\u69d3\u65b9\u6848) is a 5-year limit on our data, the difference in the figure above is not clear. We further try to get data from the TEJ advanced database, now we can find\uff1a<\/p>\n<p class=\"wp-block-paragraph\" id=\"07c1\"><strong>\u2757\ufe0f\u2757\ufe0fthe start date of the free data is around 2016, but TEJ already has the data before 2004. \u2757\ufe0f\u2757\ufe0f<\/strong><\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"c9ae\"><strong>If you require data for a longer period, please<\/strong><a class=\"ek-link\" href=\"https:\/\/www.tej.com.tw\/contact\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>\u00a0<\/strong><\/a><strong><a aria-label=\"contact us (opens in a new tab)\" class=\"ek-link\" href=\"https:\/\/www.tejwin.com\/contact\/\" rel=\"noreferrer noopener\" target=\"_blank\">contact us<\/a>.<\/strong><\/p>\n<\/blockquote>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1dzEOy8q_rg8hUTKdEMuRBA.png\"\/><figcaption class=\"wp-element-caption\">TEJ database<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\" id=\"e105\">According to the\u00a0<a aria-label=\" (opens in a new tab)\" class=\"ek-link\" href=\"https:\/\/www.twse.com.tw\/zh\/index.html\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>public information on Taiwan Securities Exchange\u2019s website<\/strong><\/a>,\u00a0<strong>the listing date of 0050 is 2003\/6\/30<\/strong>, so we can know the quality of data is important.<\/p>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1qzwNKRJPNIMUJUNil1ygSw.png\"\/><figcaption class=\"wp-element-caption\">0050 listing date<\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\" id=\"394b\">4. View the return<\/h3>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"464e\">The Return Formula\uff1a<br \/>The close price of the start date is our buy price(buy_price), the close price of the most recent date is our sell price(sell_price).<\/p>\n<p class=\"wp-block-paragraph\" id=\"e311\">Return = (sell_price-buy_price)\/buy_price<\/p>\n<\/blockquote>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1SZCWt7N1uEnV4vM1MIWGtA.png\"\/><\/figure>\n<h2 class=\"wp-block-heading\" id=\"5b72\">Quality of data<\/h2>\n<ul class=\"wp-block-list\">\n<li>Start date of the data<\/li>\n<li>Difference on the Adjusted Return<\/li>\n<\/ul>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"f140\"><strong>* Checking the data period of the component stocks of 0050<\/strong><\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\" id=\"b51c\">\u2013\u00a0<strong>start_date_tej\u00a0<\/strong>\uff1aThe start date of the TEJ data api.<br \/>\u2013\u00a0<strong>end_date_tej\u00a0<\/strong>\uff1aThe most recent trading date of the TEJ data api.<\/p>\n<p class=\"wp-block-paragraph\" id=\"80c8\">\u2013\u00a0<strong>start_date_yf\u00a0<\/strong>\uff1aThe start date of the free data api.<br \/>\u2013\u00a0<strong>end_date_yf\u00a0<\/strong>\uff1aThe most recent trading date of the free data api.<\/p>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1RNrGg3vOCSCPcd54SU06Dw.png\"\/><\/figure>\n<p class=\"wp-block-paragraph\" id=\"e498\">According to the\u00a0<a href=\"https:\/\/mops.twse.com.tw\/mops\/web\/t05st03\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>public information on Taiwan Securities Exchange\u2019s website<\/strong><\/a>, the listing date of \u53f0\u7063\u9ad8\u9435 &amp; \u6c38\u8c50\u91d1 is<strong>\u00a0<\/strong>2016\/10\/27, 2002\/05\/09 respectively which is consistent with \u201cstart_date_tej\u201d, so we can say that\u00a0<strong>TEJ Data API has a better quality.<\/strong>\u00a0<strong>Choosing the qualified database won\u2019t let your model to buy the unlisted stock in order to provide an accurate result while backtesting.<\/strong><\/p>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1QeIOCNssxn61KoeDLJOyQA.png\"\/><\/figure>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/117FCimXbUcYAayGZmDCoXg.png\"\/><figcaption class=\"wp-element-caption\">2633(up) \/ 2890(down)<\/figcaption><\/figure>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"bea5\"><strong>* Checking the difference on the adjusted return of component stocks of 0050<\/strong><\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\" id=\"4495\">\u2013\u00a0<strong>ret_yf\u00a0<\/strong>\uff1aThe return calculated by free data api.<br \/>\u2013\u00a0<strong>ret_tej<\/strong>\uff1aThe return calculated by TEJ data api.<\/p>\n<p class=\"wp-block-paragraph\" id=\"9cfa\">Formulas\uff1a<\/p>\n<p class=\"wp-block-paragraph\" id=\"a0f0\">\u2013\u00a0<strong>ret_yf\u00a0<\/strong>= (the adjusted close of\u00a0<strong>end_date_yf\u00a0<\/strong>\u2014the adjusted close of\u00a0<strong>start_date_yf\u00a0<\/strong>)\/the adjusted close of\u00a0<strong>start_date_yf<\/strong><\/p>\n<p class=\"wp-block-paragraph\" id=\"1dab\">\u2013\u00a0<strong>ret_tej\u00a0<\/strong>= (the adjusted close of\u00a0<strong>end_date_tej\u00a0<\/strong>\u2014 the adjusted close of\u00a0<strong>start_date_tej<\/strong>)\/the adjusted close of\u00a0<strong>start_date_tej<\/strong><\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"c2ef\"><strong>difference = abs\u3010 (ret_yf \u2014 ret_tej)\/ret_tej \u3011<\/strong><\/p>\n<\/blockquote>\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.tejwin.com\/en\/wp-content\/uploads\/2026\/08\/1_1aeYvT5WpbP4GJl2gTUkkOQ.png\"\/><figcaption class=\"wp-element-caption\">Take the top 10 rankings as an example<\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\" id=\"7d45\">Conclusion<\/h2>\n<p class=\"wp-block-paragraph\" id=\"9cf5\">What we share with you this time is the difference between adjusted &amp; non-adjusted stock prices, and we will provide a more comprehensive introduction in the future. Second, we compare the data quality between the TEJ API and the free data API.\u00a0<strong>From the aspect of the data period and the adjusted return, free data is indeed unstable(the free one is the most expensive one\ud83d\ude02)<\/strong>.\u00a0<strong>If the data quality is unstable may generate additional variables and increase the risk of the models\/ strategies, so we recommend you use a stable data source while backtesting.<\/strong><\/p>\n<p class=\"wp-block-paragraph\" id=\"14cc\">Besides, if you have any question or interested in any topic, please leave the message below \u2757\ufe0f\u2757\ufe0f Then, we will\u00a0<strong>go further into financial data analysis and applications in the next article<\/strong>, please look forward to it \u2757\ufe0f\u2757\ufe0f<\/p>\n<p class=\"wp-block-paragraph\" id=\"2e61\">Finally, if you like this topic, please click \ud83d\udc4f below, giving us more support and encouragement. Additionally, if you have any questions or suggestions, please leave a message or email us, we will try our best to reply to you.\ud83d\udc4d\ud83d\udc4d<\/p>\n<h2 class=\"wp-block-heading\" id=\"0fe2\">Links related to this article again!<\/h2>\n<ul class=\"wp-block-list\">\n<li>1\ufe0f\u20e3 API Official Website:\u00a0<a href=\"https:\/\/api.tej.com.tw\/\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ API Official Website<\/strong><\/a><\/li>\n<li>2\ufe0f\u20e3 The Product Package:<strong>\u00a0<\/strong><a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/Edata_caseIntro\/1\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ E SHOP<\/strong><\/a><\/li>\n<li>3\ufe0f\u20e3 Source Code:\u00a0<a href=\"https:\/\/github.com\/tejtw\/TEJAPI_Python_Medium_DataAnalysis\" rel=\"noreferrer noopener\" target=\"_blank\"><strong>TEJ GITHUB<\/strong><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u2013 Explaining the importance of data quality \u2014 Free data api versus TEJ API Highlights of this article Links related to this article Adjusted v.s non-adjusted stock price Using 0050 as an example: Assume that 0050 was priced at 30 dollars 10 years before, and the current price of 0050 is 120 dollars. Therefore, we [\u2026]<\/p>\n","protected":false},"featured_media":2890,"template":"","tags":[50,70],"insight_category":[16],"class_list":["post-2891","insight","type-insight","status-publish","has-post-thumbnail","hentry","tag-market-data","tag-tej-api","insight_category-quant-data-science"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/2891","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"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media\/2890"}],"wp:attachment":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media?parent=2891"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/tags?post=2891"},{"taxonomy":"insight_category","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight_category?post=2891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}