<?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: Measure semi variance in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/539210#M148526</link>
    <description>&lt;P&gt;Hello, Thank you very much for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question. I am actually not sure what the first part of your code indicate. May I ask you to elaborate a bit more on it? my real data set has around 200,000 firms (more or less in different years). How should I adjust the code to take it into account?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Aliz&lt;/P&gt;</description>
    <pubDate>Thu, 28 Feb 2019 03:56:46 GMT</pubDate>
    <dc:creator>aliz538</dc:creator>
    <dc:date>2019-02-28T03:56:46Z</dc:date>
    <item>
      <title>Measure semi variance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/538891#M148399</link>
      <description>&lt;P&gt;&lt;FONT face="verdana,geneva"&gt;Hello,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;I have a dataset containing firms' monthly returns for ten years. I need to measure the semi variance of each firm in each year. To do that I need to calculate the standard deviation of those monthly returns that are less than mean of the returns in a given year for each year and for each firm. My data sets is similar to the following:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;firm&amp;nbsp; &amp;nbsp; &amp;nbsp; date&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; returns&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 20100131&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.2&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 20100228&amp;nbsp; &amp;nbsp; &amp;nbsp; -0.1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 20171230&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 20100131&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.1&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;20100228&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.04&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&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;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;20171230&amp;nbsp; &amp;nbsp; &amp;nbsp; -0.02&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;Could you please help me how to do that as I am a new SAS user. I am using SAS 9.4.&amp;nbsp; I really appreciate it.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="verdana,geneva" size="2"&gt;Aliz&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Feb 2019 05:47:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/538891#M148399</guid>
      <dc:creator>aliz538</dc:creator>
      <dc:date>2019-02-27T05:47:00Z</dc:date>
    </item>
    <item>
      <title>Re: Measure semi variance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/538937#M148415</link>
      <description>&lt;P&gt;Here is an approach:&lt;/P&gt;
&lt;P&gt;First, some test data:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  do firm=1 to 10;
    do year=2009 to 2019;
      do month=1 to 12;
        date=mdy(month,1,year);
        returns=round(ranuni(414)*2-0.6,0.01);
        output;
        end;
      end;
    end;
  format date yymmdd10.;
  keep firm date returns;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then calculate the year:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have_y;
  set have;
  year=year(date);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;For the final step, the data must sorted by firm and year:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  array year_returns(12) 8 _temporary_;
  do _N_=1 by 1 until(last.year);
    set have_y;
    by firm year;
    year_returns(_N_)=returns;
    end;
  avg_return=mean(of year_returns(*));
  do _N_=1 to dim(year_returns);
    if year_returns(_N_)&amp;gt;=avg_return then
      call missing(year_returns(_N_));
    end;
  semi_variance=var(of year_returns(*));
  keep firm year avg_return semi_variance;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The idea is very simple: put the returns in an array, calculate the average. Blank out (call missing) those that are average or above. Calculate the variance of the rest.&lt;/P&gt;</description>
      <pubDate>Wed, 27 Feb 2019 12:22:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/538937#M148415</guid>
      <dc:creator>s_lassen</dc:creator>
      <dc:date>2019-02-27T12:22:00Z</dc:date>
    </item>
    <item>
      <title>Re: Measure semi variance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/539210#M148526</link>
      <description>&lt;P&gt;Hello, Thank you very much for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question. I am actually not sure what the first part of your code indicate. May I ask you to elaborate a bit more on it? my real data set has around 200,000 firms (more or less in different years). How should I adjust the code to take it into account?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;Aliz&lt;/P&gt;</description>
      <pubDate>Thu, 28 Feb 2019 03:56:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/539210#M148526</guid>
      <dc:creator>aliz538</dc:creator>
      <dc:date>2019-02-28T03:56:46Z</dc:date>
    </item>
    <item>
      <title>Re: Measure semi variance</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/539214#M148529</link>
      <description>The first part is creating some random data based on your explanation in the query. As you had not provided the input data, lassen created some dummy data to demonstrate the issue.</description>
      <pubDate>Thu, 28 Feb 2019 04:55:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Measure-semi-variance/m-p/539214#M148529</guid>
      <dc:creator>Satish_Parida</dc:creator>
      <dc:date>2019-02-28T04:55:05Z</dc:date>
    </item>
  </channel>
</rss>

