{"id":18959,"date":"2023-10-24T14:30:00","date_gmt":"2023-10-24T06:30:00","guid":{"rendered":"https:\/\/www.tejwin.com\/?post_type=insight&#038;p=18959"},"modified":"2026-03-02T10:26:24","modified_gmt":"2026-03-02T02:26:24","slug":"tquant-lab-aroon-up-down","status":"publish","type":"insight","link":"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/","title":{"rendered":"TQuant Lab Aroon Up Down Trading\u00a0Strategy"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter caption-align-center\"><img decoding=\"async\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/0pa4diVBrvZL8vdLm.jpg\" alt=\"TQuant Lab Aroon Up Down Trading\u00a0Strategy\"\/><figcaption class=\"wp-element-caption\">Photo by <a href=\"https:\/\/unsplash.com\/@vladizlo?utm_source=medium&amp;utm_medium=referral\" rel=\"noreferrer noopener\" target=\"_blank\">Vlad Zaytsev<\/a> on&nbsp;<a href=\"https:\/\/unsplash.com?utm_source=medium&amp;utm_medium=referral\" rel=\"noreferrer noopener\" target=\"_blank\">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-69f7d40266c8a\" 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-69f7d40266c8a\"  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\/tquant-lab-aroon-up-down\/#Highlight\" >Highlight<\/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\/tquant-lab-aroon-up-down\/#Perface\" >Perface<\/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\/tquant-lab-aroon-up-down\/#Aroon_Up_Down_Trading_Strategy\" >Aroon Up Down Trading Strategy<\/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\/tquant-lab-aroon-up-down\/#Programming_environment_and_Module_required\" >Programming environment and Module&nbsp;required<\/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\/tquant-lab-aroon-up-down\/#Data_and_Module_Import\" >Data and Module&nbsp;Import<\/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\/tquant-lab-aroon-up-down\/#Setting_Benchmark\" >Setting Benchmark<\/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\/tquant-lab-aroon-up-down\/#Create_Pipeline_function\" >Create Pipeline&nbsp;function<\/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\/tquant-lab-aroon-up-down\/#Creating_Initialize_Function\" >Creating Initialize Function<\/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\/tquant-lab-aroon-up-down\/#Creating_handle_date_Function\" >Creating handle_date Function<\/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\/tquant-lab-aroon-up-down\/#Creating_Analyze_Function\" >Creating Analyze&nbsp;Function<\/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\/tquant-lab-aroon-up-down\/#Run_Algorithms\" >Run Algorithms<\/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\/tquant-lab-aroon-up-down\/#Visualization\" >Visualization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/#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-14\" href=\"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/#Conclusion\" >Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/#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-16\" href=\"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/#Related_Links\" >Related Links<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Highlight\"><\/span>Highlight<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Difficulty: \u2605\u2606\u2606\u2606\u2606<\/li>\n\n\n\n<li>Using Aroon-up\u3001Arron-down as indicators to trigger the action of buy and sell.<\/li>\n\n\n\n<li>This article is revised from Aroon Up Down Strategy via TQuant Lab.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Perface\"><\/span>Perface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Aroon Indicator, developed by Tushar Chande in 1995, is typically for measuring market tendency. It consists of two lines\u200a-\u200aAroon Up and Aroon Down.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aroon Up\uff1a((Number of periods\u200a-\u200aNumber of periods since highest high) \/ Number of periods) * 100<\/li>\n\n\n\n<li>This indicator measures the periods since the highest price (high point) occurred within the selected period.<\/li>\n\n\n\n<li>Aroon Down\uff1a((Number of periods\u200a-\u200aNumber of periods since lowest low) \/ Number of periods) * 100<\/li>\n\n\n\n<li>This indicator measures the periods since the lowest price (low point) occurred within the selected period.<\/li>\n<\/ul>\n\n\n\n<p>The Aroon Up indicator measures the strength and time since the highest price within a given period (usually 25 periods). In contrast, the Aroon Down indicator measures the strength and time since the lowest price within the same period. These indicators are expressed as percentages and range from 0% to 100%.<\/p>\n\n\n\n<p>The crossover of the Aroon Up and Aroon Down lines can be used to signal potential changes in trend direction. For example, when Aroon Up crosses above Aroon Down, it might be seen as a bullish signal, indicating a potential shift towards an upward trend. Conversely, when Aroon Down crosses above Aroon Up, it could be interpreted as a bearish signal, suggesting a potential shift towards a downward trend.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Aroon_Up_Down_Trading_Strategy\"><\/span>Aroon Up Down Trading Strategy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>When Aroon Up is greater than 80 and Aroon Down is lesser than 45, which represents a bullish trend. We consider it a buying signal and will acquire one unit at tomorrow&#8217;s opening price.<\/p>\n\n\n\n<p><br>When Aroon Up is lesser than 45, Aroon Down is greater than 55, and the gap of two indicators is greater than 15, we regard it as a selling signal and sell the holding position at tomorrow&#8217;s opening price.<\/p>\n\n\n\n<p><br>When Aroon Up is greater than 55, Aroon Down is lesser 45, the gap between the two indicators is greater than 15, our invested amount isn&#8217;t greater than 20% principal, and we still have plentiful cash. We will acquire one more unit at tomorrow&#8217;s opening price.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Programming_environment_and_Module_required\"><\/span>Programming environment and Module&nbsp;required<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MacOS and Jupyter Notebook is used as editor<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Data_and_Module_Import\"><\/span>Data and Module&nbsp;Import<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The back testing time period is between 2018\/01\/01 to 2020\/12\/31, and we take Hon Hai Precision Industry(2317), Compal Electronics(2324), Yageo Corporation(2327), TSMC(2330), Synnex(2347), Acer(2353), FTC(2354), ASUS(2357)\u3001Realtek(2379), Quanta(2382), and Advantech(2395) to construct the portfolio and compare the performance of portfolio with the benchmark&#8211; Total. Return Index(IR0001),&nbsp;.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>import os\nimport pandas as pd\nimport numpy as np\nimport tejapios.environ&#91;'TEJAPI_KEY'] = 'Your key'\nos.environ&#91;'mdate'] = '20180101 20201231'\nos.environ&#91;'ticker'] = 'IR0001 2317 2324 2327 2330 2347 2353 2354 2357 2379 2382 2395'!zipline ingest -b tquantfrom zipline.api import set_slippage, set_commission, set_benchmark, attach_pipeline, order, order_target, symbol, pipeline_output, record\nfrom zipline.finance import commission, slippage\nfrom zipline.data import bundles\nfrom zipline import run_algorithm\nfrom zipline.pipeline import Pipeline, CustomFactor\nfrom zipline.pipeline.filters import StaticAssets, StaticSids\nfrom zipline.pipeline.factors import BollingerBands, Aroon\nfrom zipline.pipeline.data import EquityPricing\nfrom zipline.pipeline.mixins import LatestMixin\nfrom zipline.master import run_pipeline<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setting_Benchmark\"><\/span>Setting Benchmark<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>First, We load the bundle which we just ingest above, and set return index(coid&nbsp;: IR0001) as benchmark.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>bundle = bundles.load('tquant')\nir0001_asset = bundle.asset_finder.lookup_symbol('IR0001',as_of_date = None)<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Create_Pipeline_function\"><\/span>Create Pipeline&nbsp;function<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pipeline() enables users to quickly process multiple assets&#8217; trading-related data. In today&#8217;s article, we use it to process:<\/p>\n\n\n\n<p>The calculation of Aroon-up, Aroon-down (built-in factor:<code>Aroon<\/code>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>def make_pipeline():<br>curr_price = EquityPricing.close.latest<br><br>alroon = Aroon(inputs = &#91;EquityPricing.low, EquityPricing.high], window_length=25, mask = curr_price &lt; 5000)<br>up, down = alroon.up, alroon.down return Pipeline(<br>columns = {<br>'up': up,<br>'down': down,<br>'curr_price': curr_price, },<br>screen = ~StaticAssets(&#91;ir0001_asset])<br>)<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creating_Initialize_Function\"><\/span>Creating Initialize Function<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>inintialize enables users to set up the trading environment at the beginning of the back test period. In this article, we set up:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slippage<\/li>\n\n\n\n<li>Commission<\/li>\n\n\n\n<li>Set the return index as the benchmark.<\/li>\n\n\n\n<li>Attach Pipline() function into back testing.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><code>def initialize(context):\nset_slippage(slippage.VolumeShareSlippage())\nset_commission(commission.PerShare(cost=0.00285))\nset_benchmark(symbol('IR0001'))\nattach_pipeline(make_pipeline(), 'mystrategy')<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creating_handle_date_Function\"><\/span>Creating handle_date Function<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>handle_data is used to process data and make orders daily.<\/p>\n\n\n\n<p>Default trading signals buy and sell are False<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>buy<\/code>: When today\u2019s indicators matches the buy-in condition, generates buying signal and toggles the boolean value to <em>True<\/em>\u3002<\/li>\n\n\n\n<li><code>sell<\/code>: When today\u2019s indicators matches the sell-out condition, generates selling signal and toggles the boolean value to <em>True<\/em>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><code>def handle_data(context, data):<br>out_dir = pipeline_output('mystrategy')<br>for i in out_dir.index:<br>sym = i.symbol # \u6a19\u7684\u4ee3\u78bc<br>up = out_dir.loc&#91;i, 'up']<br>down = out_dir.loc&#91;i, 'down']<br>curr_price = out_dir.loc&#91;i, 'curr_price'] cash_position = context.portfolio.cash<br>stock_position = context.portfolio.positions&#91;i].amount buy, sell = False, False record(<br>**{<br>f'price_{sym}':curr_price,<br>f'up_{sym}':up,<br>f'down_{sym}':down,<br>f'buy_{sym}':buy,<br>f'sell_{sym}':sell<br>}<br>) if stock_position == 0:<br>if down &lt; 45 and up &gt; 80:<br>order(i, 1000)<br>context.last_signal_price = curr_price<br>buy = True<br>record(<br>**{<br>f'buy_{sym}':buy<br>}<br>) elif stock_position &gt; 0:<br>if (up - down) &gt; 15 and (down &lt; 45) and (up &gt; 55) and (cash_position &gt;= curr_price * 1000):<br>order(i, 1000)<br>context.last_signal_price = curr_price<br>buy = True<br>record(<br>#globals()&#91;f'buy_{sym}'] = buy<br>**{<br>f'buy_{sym}':buy<br>}<br>) elif (down - up &gt; 15) and (down &gt; 55) and (up &lt; 45):<br>order_target(i, 0)<br>context.last_signal_price = 0<br>sell = True<br>record(<br>**{<br>f'sell_{sym}':sell<br>}<br>)<br>else:<br>pass<br>else:<br>pass<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creating_Analyze_Function\"><\/span>Creating Analyze&nbsp;Function<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>analyzefunction is mostly used to visualize the result of backtesting. Since today&#8217;s practice will use pyfolio to achieve visualization, we just leave it empty.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>def analyze(context, perf):<br>pass<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Run_Algorithms\"><\/span>Run Algorithms<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>We expliot run_algorithm() to execute our strategy. The backtesting time period is set between 2018-01-01 to 2020\u201312\u201331. The data bundle we use is tquant. We assume the initial capital base is 1,000,000. The output of run_algorithm(), which is results, contains information on daily performance and trading receipts.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>results = run_algorithm(\nstart = pd.Timestamp('2018-01-01', tz='UTC'),\nend = pd.Timestamp('2020-12-31', tz ='UTC'),\ninitialize=initialize,\nbundle='tquant',\nanalyze=analyze,\ncapital_base=10e6,\nhandle_data = handle_data\n)\nresults<\/code>\n<\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized caption-align-center\"><img fetchpriority=\"high\" decoding=\"async\" width=\"809\" height=\"655\" src=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/image-319.png\" alt=\"Transactions record\" class=\"wp-image-18797\" style=\"aspect-ratio:1.2351145038167939;width:809px;height:auto\" srcset=\"https:\/\/www.tejwin.com\/wp-content\/uploads\/image-319.png 809w, https:\/\/www.tejwin.com\/wp-content\/uploads\/image-319-300x243.png 300w, https:\/\/www.tejwin.com\/wp-content\/uploads\/image-319-150x121.png 150w, https:\/\/www.tejwin.com\/wp-content\/uploads\/image-319-768x622.png 768w\" sizes=\"(max-width: 809px) 100vw, 809px\" \/><figcaption class=\"wp-element-caption\">Transactions record<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visualization\"><\/span>Visualization<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Before process visualization, we need to seperate the data of results to three part:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>returns<\/li>\n\n\n\n<li>positions<\/li>\n\n\n\n<li>transactions<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><code>from pyfolio.utils import extract_rets_pos_txn_from_zipline\nreturns, positions, transactions = extract_rets_pos_txn_from_zipline(results)# \u6642\u5340\u6a19\u6e96\u5316\nreturns.index = returns.index.tz_localize(None).tz_localize('UTC')\npositions.index = positions.index.tz_localize(None).tz_localize('UTC')\ntransactions.index = transactions.index.tz_localize(None).tz_localize('UTC')\nbenchmark_rets.index = benchmark_rets.index.tz_localize(None).tz_localize('UTC')<\/code><\/code><\/pre>\n\n\n\n<p>Lastly, pyfolio.tears.create_full_tear_sheet can generate multiple tables and charts to help you evaluate the portfolio&#8217;s performance.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>pyfolio.tears.create_full_tear_sheet(returns=returns,\npositions=positions,\ntransactions=transactions,\nbenchmark_rets=benchmark_rets)<\/code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><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\/f6a3132a1fb031a3e469a06c4497e38b\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">Github<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In this implementation, we have utilized TQuant Lab to implement the Aron indicator trading strategy. Compared to writing the code without using TQuant Lab, the program&#8217;s complexity has significantly decreased, and it offers more detailed parameter settings and evaluation metrics.<\/p>\n\n\n\n<p>A friendly reminder that this strategy and the underlying assets are for reference purposes only and do not constitute any recommendations for commodities or investments. In the future, we will also introduce the use of the TEJ database to construct various indicators and backtest their performance. Therefore, we welcome readers interested in various trading backtesting to choose TEJ <a href=\"https:\/\/eshop.tej.com.tw\/E-Shop\/index\" class=\"ek-link\" target=\"_blank\" rel=\"noopener\">E-Shop&#8217;s<\/a> relevant solutions and use high-quality databases to create their own trading strategies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><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:\/\/www.tejwin.com\/en\/insight\/tquant-lab-momentum-trade\/\" class=\"ek-link\">TQuant Lab Momentum Trade<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.tejwin.com\/en\/insight\/tquant-lab-aroon-up-down\/\" class=\"ek-link\">Aroon Up Down\u00a0Strategy<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Related_Links\"><\/span>Related Links<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/tejtw\/TQuant-Lab\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">TQuant Lab Github<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Aroon Indicator, developed by Tushar Chande in 1995, is typically for measuring market tendency. It consists of two lines\u200a-\u200aAroon Up and Aroon Down.<\/p>\n","protected":false},"featured_media":18961,"template":"","tags":[3582,2987],"insight-category":[690,50,1356],"class_list":["post-18959","insight","type-insight","status-publish","has-post-thumbnail","hentry","tag-indicator","tag-quant","insight-category-data-analysis","insight-category-fintech","insight-category-tquant-lab-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/18959","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":1,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/18959\/revisions"}],"predecessor-version":[{"id":44011,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight\/18959\/revisions\/44011"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media\/18961"}],"wp:attachment":[{"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/media?parent=18959"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/tags?post=18959"},{"taxonomy":"insight-category","embeddable":true,"href":"https:\/\/www.tejwin.com\/en\/wp-json\/wp\/v2\/insight-category?post=18959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}