<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to calculate portfolio drawdown in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-portfolio-drawdown/m-p/255727#M48894</link>
    <description>&lt;P&gt;Can you post some dummy data and the output you want to see ?&lt;/P&gt;
&lt;P&gt;It seems you need RANGE() .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;select range(return) as range from have;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;</description>
    <pubDate>Thu, 10 Mar 2016 04:37:02 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2016-03-10T04:37:02Z</dc:date>
    <item>
      <title>How to calculate portfolio drawdown</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-portfolio-drawdown/m-p/255716#M48891</link>
      <description>&lt;P&gt;hi, i am trying to calculate the drawdown in portfolio analysis.&amp;nbsp;I have a time series daily portfolio returns. And would like to calculate max drawdown (from peaks to bottom) and recovery as well for certain periods. I found some codes below, but could not follow the logic here. Can someone explain a little bit the logic or have some codes without macro involed? Thanks. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%MACRO DO_BRANCH;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%DO A = %EVAL((%SCAN(&amp;amp;W,&amp;amp;C)) %TO 1 %BY -1;&lt;/P&gt;
&lt;P&gt;%DO B = %EVAL(&amp;amp;A -1) %TO 1 %BY -1;&lt;/P&gt;
&lt;P&gt;A&amp;amp;A.B&amp;amp;B = (LAG&amp;amp;B(sp500) -LAG&amp;amp;A(sp500))/ LAG&amp;amp;A(sp500);&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;DRAW = MIN(A%EVAL(%SCAN(&amp;amp;W,&amp;amp;C))B%EVAL((%SCAN(&amp;amp;W,&amp;amp;C)) -1)&lt;/P&gt;
&lt;P&gt;%DO A = %EVAL((%SCAN(&amp;amp;W,&amp;amp;C)) %TO 1 %BY -1;&lt;/P&gt;
&lt;P&gt;%DO B = %EVAL(&amp;amp;A -1) %TO 1 %BY -1;&lt;/P&gt;
&lt;P&gt;,A&amp;amp;A.B&amp;amp;B&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;);&lt;/P&gt;
&lt;P&gt;P0 = sp500;&lt;/P&gt;
&lt;P&gt;%DO A = 1 %TO %SCAN(&amp;amp;W,&amp;amp;C);&lt;/P&gt;
&lt;P&gt;P&amp;amp;A = LAG&amp;amp;A(DOLLAR%SCAN(&amp;amp;Y,&amp;amp;D));&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;PEAK = MAX (P0&lt;/P&gt;
&lt;P&gt;%DO A = 1 %TO %SCAN(&amp;amp;W,&amp;amp;C);&lt;/P&gt;
&lt;P&gt;,P&amp;amp;A&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%DO E = 300 %TO 1 %BY -1;&lt;/P&gt;
&lt;P&gt;IF LAG&amp;amp;E(DOLLAR%SCAN(&amp;amp;Y,&amp;amp;D)) GE PEAK THEN RECOVER = &amp;amp;E;&lt;/P&gt;
&lt;P&gt;%END;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%MEND DO_BRANCH;&lt;/P&gt;
&lt;P&gt;%DO_BRANCH;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 02:54:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-portfolio-drawdown/m-p/255716#M48891</guid>
      <dc:creator>SeanZ</dc:creator>
      <dc:date>2016-03-10T02:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate portfolio drawdown</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-portfolio-drawdown/m-p/255727#M48894</link>
      <description>&lt;P&gt;Can you post some dummy data and the output you want to see ?&lt;/P&gt;
&lt;P&gt;It seems you need RANGE() .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;select range(return) as range from have;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Mar 2016 04:37:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-portfolio-drawdown/m-p/255727#M48894</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-03-10T04:37:02Z</dc:date>
    </item>
  </channel>
</rss>

