<?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: standard deviation at the end of each month based on daily returns from past 12 months in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436148#M108455</link>
    <description>&lt;P&gt;It is. Just modify the label.&lt;/P&gt;</description>
    <pubDate>Mon, 12 Feb 2018 04:12:35 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2018-02-12T04:12:35Z</dc:date>
    <item>
      <title>standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436118#M108437</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Dear all,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I want to&amp;nbsp;estimate&amp;nbsp;volatility (standard deviation) at the end of each month based on daily returns from past 12 months, i.e., from 02 June 1987 to 27 May 1998.&amp;nbsp; The first volatility will be estimated at the end of May 1988, then at the end of June 1988, July 1988 and so on. I have a large data set, so will appreciate an efficient&amp;nbsp;code.&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs truncover;
input	date : yymmdd10. ret;
format date yymmdd10.;
cards;
19870602	0.001608579
19870603	0.003747323
19870626	0.020320856
19870702	0.014225501
19870703	0.004155844
19870727	-0.014300306
19870728	0.024870466
19870803	0.045931103
19870827	0.009944751
19870828	-0.004376368
19870902	-0.001627781
19870903	-0.011956522
19870928	0.002688172
19871002	0.008108108
19871027	0.002666667
19871028	0.002659574
19871102	-0.009042553
19871103	-0.013419216
19871125	-0.008412787
19871127	0.002820079
19871202	0.002832861
19871203	0.01299435
19871228	-0.005847953
19880125	-0.01497006
19880127	-0.019452888
19880128	-0.001859888
19880202	0.004968944
19880203	-0.001854141
19880225	-0.03257329
19880302	-0.026798307
19880303	0.014492754
19880325	-0.012779553
19880328	0.006472492
19880425	-0.001166181
19880427	0.012805588
19880428	-0.029885057
19880502	-0.039156627
19880503	0.00815047
19880525	-0.007361963
19880527	0.004326329
19880602	0
19880603	0.007348438
19880627	-0.014521452
19880628	-0.006697924
19880725	-0.001895136
19880727	0.004551365
19880728	0.01618123
19880802	-0.016025641
19880803	-0.022801303
19880825	-0.014814815
19880902	-0.010600707
19880927	-0.039694656
19880928	0.013513514
19881003	-0.027661358
19881025	-0.009836066
19881027	0.020695364
19881028	0.02189781
19881102	0.013957307
19881103	0.012145749
19881125	0.132511556
19881128	0.002040816
19881202	-0.008707301
19881227	0.05656697
19881228	-0.009230769
;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks a lot for your time.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Cheema&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 11 Feb 2018 23:31:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436118#M108437</guid>
      <dc:creator>MAC1430</dc:creator>
      <dc:date>2018-02-11T23:31:43Z</dc:date>
    </item>
    <item>
      <title>Re: standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436133#M108443</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data _F;
  retain FMTNAME 'ROLL12M' TYPE 'N' HLO 'M'; 
  do D=198701 to 201812;
    START=input(catt(D,'01'),?? yymmdd8.);
    if ^START then continue;
    END  =intnx('month',START,12)-1;
    LABEL=put(START,date9.)||'-'||put(END,date9.);
    output;
  end;
run;
proc format cntlin=_F ;
run;
proc means data=HAVE stddev;
  class DATE / mlf;
  format DATE roll12m.;
  var RET;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Means: Summary statistics" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="c b header" colspan="3" scope="colgroup"&gt;Analysis Variable : RET&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l b header" scope="col"&gt;DATE&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;N Obs&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;Std Dev&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01APR1987-31MAR1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;33&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0151159&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01APR1988-31MAR1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;31&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0311378&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01AUG1987-31JUL1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;40&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0151391&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01AUG1988-31JUL1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;17&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0396385&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01DEC1987-30NOV1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;41&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0268591&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01DEC1988-30NOV1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;3&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0378381&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01FEB1987-31JAN1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;26&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0141094&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01FEB1988-31JAN1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;38&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0291518&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JAN1987-31DEC1987&lt;/TH&gt;
&lt;TH class="r t data"&gt;23&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0136973&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JAN1988-31DEC1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;41&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0283068&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JUL1987-30JUN1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;41&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0156088&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JUL1988-30JUN1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;20&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0364963&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JUN1987-31MAY1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;40&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0160055&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01JUN1988-31MAY1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;24&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0335636&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01MAR1987-29FEB1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;29&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0148302&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01MAR1988-28FEB1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;35&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0298514&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01MAY1987-30APR1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;36&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0154618&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01MAY1988-30APR1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;28&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0321538&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01NOV1987-31OCT1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;41&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0158081&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01NOV1988-31OCT1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;7&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0509791&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01OCT1987-30SEP1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;40&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0146485&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01OCT1988-30SEP1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;11&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0438623&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01SEP1987-31AUG1988&lt;/TH&gt;
&lt;TH class="r t data"&gt;40&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0133277&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l t data"&gt;01SEP1988-31AUG1989&lt;/TH&gt;
&lt;TH class="r t data"&gt;14&lt;/TH&gt;
&lt;TD class="r data"&gt;0.0419713&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2018 03:17:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436133#M108443</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-02-12T03:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436134#M108444</link>
      <description>&lt;P&gt;Cheema,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have received a solution (SQL)&amp;nbsp; for almost same problem with a different subject line from KSHARP. You want an efficient solution now. Tell us your experiments with SQL solution and&amp;nbsp; any other method you tried. Give some results of run-times and memory issues.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;regards,&lt;/P&gt;
&lt;P&gt;DataSp&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2018 03:20:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436134#M108444</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2018-02-12T03:20:20Z</dc:date>
    </item>
    <item>
      <title>Re: standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436135#M108445</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks. That solution was based on monthly returns, and now I am looking for based on daily returns in past 12 months.&amp;nbsp; I can use that code for daily one as well with few adjustments but the processing time increases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheema&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2018 03:27:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436135#M108445</guid>
      <dc:creator>MAC1430</dc:creator>
      <dc:date>2018-02-12T03:27:06Z</dc:date>
    </item>
    <item>
      <title>Re: standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436147#M108454</link>
      <description>Hi Chris,&lt;BR /&gt;&lt;BR /&gt;Thanks.Just wondering if it is possible to show onlye one date for each cell. For example, to how only 31Aug1989 for last cell instead of 01Sep1988-31AUG1989. &lt;BR /&gt;&lt;BR /&gt;Thanks for your help.</description>
      <pubDate>Mon, 12 Feb 2018 04:06:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436147#M108454</guid>
      <dc:creator>MAC1430</dc:creator>
      <dc:date>2018-02-12T04:06:39Z</dc:date>
    </item>
    <item>
      <title>Re: standard deviation at the end of each month based on daily returns from past 12 months</title>
      <link>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436148#M108455</link>
      <description>&lt;P&gt;It is. Just modify the label.&lt;/P&gt;</description>
      <pubDate>Mon, 12 Feb 2018 04:12:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/standard-deviation-at-the-end-of-each-month-based-on-daily/m-p/436148#M108455</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-02-12T04:12:35Z</dc:date>
    </item>
  </channel>
</rss>

