OPEN-SOURCE SCRIPT

Drawdown Range

アップデート済
Hello death eaters, presenting a unique script which can be used for fundamental analysis or mean reversion based trades.

Process of deriving this table is as below:

  • Find out ATH for given day
  • Calculate the drawdown from ATH for the day and drawdown percentage
  • Based on the drawdown percentage, increment the count of basket which is based on input iNumber of ranges. For example, if number of ranges is 5, then there will be 5 baskets. First basket will fit drawdown percentage 0-20% and each subsequent ones will accommodate next 20% range.
  • Repeat the process from start to last bar. Once done, table will plot how much percentage of days belong to which basket.


For example, from the below chart of AAPL
スナップショット

We can deduce following,
  • Historically stock has traded within 1% drawdown from ATH for 6.59% of time. This is the max amount of time stock has stayed in specific range of drawdown from ATH.
  • Stock has traded at the drawdown range of 82-83% from ATH for 0.17% of time. This is the least amount of time the stock has stayed in specific range of drawdown from ATH.
  • At present, stock is trading 2-3% below ATH and this has happened for about 2.46% of total days in trade
  • Maximum drawdown the stock has suffered is 83%


Lets take another example of TSLA
スナップショット

Stock is trading at 21-22% below ATH. But, historically the max drawdown range where stock has traded is within 0-1%. Now, if we make this range to show 20 divisions instead of 100, it will look something like this:
スナップショット

Table suggests that stock is trading about 20-25% below ATH - which is right. But, table also suggests that stock has spent most number of days within this drawdown range when we divide it by 20 baskets instad of 100. I would probably wait for price to break out of this range before going long or short. At present, it seems a stage ranging stage. I might think about selling PUTs or covered CALLs outside this range.

Similarly, if you look at SPY, 36% of the time, price has stayed within 5% from ATH - makes it a compelling bull case!!
スナップショット

BABA is trading at 50-55% below ATH - which is the most it has retraced so far. In general, it is used to be within 15-20% from ATH
スナップショット

NOW, Bit of explanation on input options.

Number of Ranges : Says how many baskets the drawdown map needs to be divided into.
Reference : You can take ATH as reference or chose a time window between which the highest need to be considered for drawdown. This can be useful for megacaps which has gone beyond initial phase of uncertainity. There is no point looking at 80% drawdown AAPL had during 1990s. More approriate to look at it post 2000s where it started making higher impact and growth.
Cumulative Percentage : When this is unchecked, percentage division shows 0-nth percentage instad of percentage ranges. For example this is how it looks on SPY:
スナップショット

We can see that SPY has remained within 6% from ATH for more than 50% of the time.

Hope this is helpful. Happy trading :)

PS: this can be used in conjunction with Drawdown-Price-vs-Fundamentals to pick value stocks at discounted price while also keeping an eye on range tendencies of it.

Thanks to mattX5 for the ideas and discussion today :)
リリースノート
  • Default number of ranges set to 20
  • changed Cumulative to Percentile
  • Added start and end date of the range calculation


Another screenshot comparing indexes
スナップショット
リリースノート
Added tickerid to table for easy identification
リリースノート
Fixed intermittent array index out of bounds issue
リリースノート
Convert to pine5
リリースノート
Fixed runtime issue
リリースノート
Fix issue related to old logger library.
drawdownfundamental-analysisTrend Analysis

オープンソーススクリプト

TradingViewの精神に則り、このスクリプトの作者は、トレーダーが理解し検証できるようにオープンソースで公開しています。作者に敬意を表します!無料で使用することができますが、このコードを投稿で再利用するには、ハウスルールに準拠する必要があります。 お気に入りに登録してチャート上でご利用頂けます。

チャートでこのスクリプトを利用したいですか?

免責事項