<?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 Calculation of Cumulative 3-year returns based on annual return data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256596#M49191</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to this message board, and I appreciate the help provided on my first question that I posted earlier&amp;nbsp;(How to calculate annual compoundin​g returns based on monthly return data starting with June month).&amp;nbsp; Now that I have the annual&amp;nbsp;return data by stock and date (July to June&amp;nbsp;annual intervals), I want to do the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Calculate&amp;nbsp;3-year cumulative returns&amp;nbsp;by stock and date - specifically, I want to calculate the 3-year returns for the prior 3 years (label&amp;nbsp;it as Formation Return) and also the 3-year returns for the next 3 years (label it as Evaluation Return).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Therefore, each stock and date combination will have a Formation Return and an Evaluation Return.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can&amp;nbsp;someone please show me how me the SAS code, but&amp;nbsp;WITHOUT using PROC SQL?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 14 Mar 2016 16:47:53 GMT</pubDate>
    <dc:creator>mig7126</dc:creator>
    <dc:date>2016-03-14T16:47:53Z</dc:date>
    <item>
      <title>Calculation of Cumulative 3-year returns based on annual return data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256596#M49191</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am new to this message board, and I appreciate the help provided on my first question that I posted earlier&amp;nbsp;(How to calculate annual compoundin​g returns based on monthly return data starting with June month).&amp;nbsp; Now that I have the annual&amp;nbsp;return data by stock and date (July to June&amp;nbsp;annual intervals), I want to do the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Calculate&amp;nbsp;3-year cumulative returns&amp;nbsp;by stock and date - specifically, I want to calculate the 3-year returns for the prior 3 years (label&amp;nbsp;it as Formation Return) and also the 3-year returns for the next 3 years (label it as Evaluation Return).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Therefore, each stock and date combination will have a Formation Return and an Evaluation Return.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can&amp;nbsp;someone please show me how me the SAS code, but&amp;nbsp;WITHOUT using PROC SQL?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Mar 2016 16:47:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256596#M49191</guid>
      <dc:creator>mig7126</dc:creator>
      <dc:date>2016-03-14T16:47:53Z</dc:date>
    </item>
    <item>
      <title>Re: Calculation of Cumulative 3-year returns based on annual return data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256597#M49192</link>
      <description>&lt;P&gt;Please post sample data and expected output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please define how are you calculating 3 year return - you had monthly data previously.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Mar 2016 16:54:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256597#M49192</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-03-14T16:54:55Z</dc:date>
    </item>
    <item>
      <title>Re: Calculation of Cumulative 3-year returns based on annual return data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256600#M49195</link>
      <description>&lt;P&gt;Good points - thanks.&amp;nbsp; In terms of sample data, here it is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;CUSIP&lt;/TD&gt;&lt;TD&gt;DATE&lt;/TD&gt;&lt;TD&gt;Annret&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00016510&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;0.045&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00016510&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;-0.08964&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00035410&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;-0.24608&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00035410&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;-0.32526&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19800630&lt;/TD&gt;&lt;TD&gt;-0.11823&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19810630&lt;/TD&gt;&lt;TD&gt;0.366891&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19820630&lt;/TD&gt;&lt;TD&gt;-0.37803&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19830630&lt;/TD&gt;&lt;TD&gt;1.203394&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;0.338852&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00036110&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;-0.02172&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00037010&lt;/TD&gt;&lt;TD&gt;19800630&lt;/TD&gt;&lt;TD&gt;0.057132&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00037010&lt;/TD&gt;&lt;TD&gt;19810630&lt;/TD&gt;&lt;TD&gt;1.928082&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00037010&lt;/TD&gt;&lt;TD&gt;19820630&lt;/TD&gt;&lt;TD&gt;-0.41945&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00057310&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;-0.4663&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077110&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;0.184763&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077410&lt;/TD&gt;&lt;TD&gt;19800630&lt;/TD&gt;&lt;TD&gt;-0.19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077410&lt;/TD&gt;&lt;TD&gt;19810630&lt;/TD&gt;&lt;TD&gt;-0.05556&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077410&lt;/TD&gt;&lt;TD&gt;19820630&lt;/TD&gt;&lt;TD&gt;-0.69907&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077410&lt;/TD&gt;&lt;TD&gt;19830630&lt;/TD&gt;&lt;TD&gt;-0.06667&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077410&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;-0.21429&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077P10&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;0.316407&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00077P10&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;0.031313&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00078110&lt;/TD&gt;&lt;TD&gt;19820630&lt;/TD&gt;&lt;TD&gt;-0.21633&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00078110&lt;/TD&gt;&lt;TD&gt;19830630&lt;/TD&gt;&lt;TD&gt;0.333333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00078110&lt;/TD&gt;&lt;TD&gt;19840629&lt;/TD&gt;&lt;TD&gt;0.281444&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;00078110&lt;/TD&gt;&lt;TD&gt;19850628&lt;/TD&gt;&lt;TD&gt;0.533266&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, for each CUSIP and date, I want to see the following - just an example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CUSIP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ANNRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FORMRET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EVALRET&lt;/P&gt;&lt;P&gt;00016510&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;19840629&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.045&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.045&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -0.0486&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;FORMRET = the cumulative return for the last 3 years; therefore, it would have to use a lag function?&amp;nbsp; If there is no full data for last 3 years, then just provide the cumulative return for the number of years available.&amp;nbsp; In the example above, since there was no prior annual data than 1984029 for CUSIP 00016510, the FORMRET is equal to the ANNRET.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EVALRET = the cumulative return fo the next 3 years.&amp;nbsp; The cumulative returns are calculated by ((1+Annret1)*(1+Annret2)*(1+Annret3))-1.&amp;nbsp; If there is no full data for&amp;nbsp;the next&amp;nbsp;3 years, then just provide the cumulative return for the number of years available.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hopefully, this additional information helps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you again and look forward to hearing from you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Mar 2016 17:27:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256600#M49195</guid>
      <dc:creator>mig7126</dc:creator>
      <dc:date>2016-03-14T17:27:04Z</dc:date>
    </item>
    <item>
      <title>Re: Calculation of Cumulative 3-year returns based on annual return data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256673#M49210</link>
      <description>&lt;P&gt;Yeah. if an individual obs represent one year, you can combine LAG skill and MERGE skill together . Like :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;merge have&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; have(firstobs=2 keep=&lt;SPAN&gt;CUSIP&lt;/SPAN&gt; &amp;nbsp;&lt;SPAN&gt;Annret&amp;nbsp;&lt;/SPAN&gt;rename=(&lt;SPAN&gt;CUSIP=CUSIP1&amp;nbsp;Annret=Annret1&lt;/SPAN&gt;))&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;SPAN&gt; have(firstobs=3 keep=&lt;/SPAN&gt;&lt;SPAN&gt;CUSIP&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Annret&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;rename=(&lt;/SPAN&gt;&lt;SPAN&gt;CUSIP=CUSIP2 Annret=Annret2&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;;&lt;/P&gt;
&lt;P&gt;lag1=lag(&lt;SPAN&gt;Annret);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;lag2=lag2(Annret);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;if&amp;nbsp;&lt;SPAN&gt;CUSIP=lag(CUSIP) and&amp;nbsp;CUSIP=lag2(CUSIP) then&amp;nbsp;FORMRET=sum(Annret,lag1,lag2);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;if&amp;nbsp;CUSIP=CUSIP1 and&amp;nbsp;CUSIP=CUSIP2 then&amp;nbsp;EVALRET=sum(Annret,Annret1,Annret2);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;run;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Mar 2016 01:41:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Calculation-of-Cumulative-3-year-returns-based-on-annual-return/m-p/256673#M49210</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-03-15T01:41:05Z</dc:date>
    </item>
  </channel>
</rss>

