<?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 a security return variable? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421763#M280844</link>
    <description>&lt;P&gt;It looks like these are the pieces you are asking for:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by name date time;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by name date;&lt;/P&gt;
&lt;P&gt;return = dif(intraday) / lag(intraday);&lt;/P&gt;
&lt;P&gt;if first.date then return = .;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
    <pubDate>Sat, 16 Dec 2017 09:41:11 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-12-16T09:41:11Z</dc:date>
    <item>
      <title>How to calculate a security return variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421759#M280842</link>
      <description>&lt;P&gt;Hello everybody;&lt;/P&gt;&lt;P&gt;I want to calculate returns of equities for specific name and date variables. Here is a sample of my data:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines expandtabs truncover ;
input name $    date :mmddyy10. time : time10.  Intraday;
format date mmddyy10. time time10.;
datalines;
A    12/1/2013  9:30:00    1   
A    12/1/2013  10:00:00   2  
A    12/2/2013  10:30:00   3   
A    12/2/2013  11:00:00   2  
A    12/3/2013  10:00:00   2   
A    12/3/2013  10:30:00   1   
A    12/3/2013  11:00:00   1  
A    12/4/2013  11:30:00   1   
A    12/4/2013  12:00:00   3   
A    12/4/2013  12:30:00   3  
A    12/7/2013  9:30:00    1   
A    12/7/2013  10:00:00   1  
A    12/8/2013  10:30:00   2   
A    12/8/2013  11:00:00   3   
A    12/17/2013 11:30:00   1   
A    12/17/2013 12:00:00   1   
A    12/18/2013 12:30:00   2   
A    12/28/2013 9:30:00    1   
A    12/28/2013 10:00:00   1  
B    12/8/2013  10:30:00   2   
B    12/8/2013  11:30:00   2   
B    12/8/2013  12:30:00   1  
B    12/14/2013 9:30:00    1   
B    12/14/2013 10:30:00   1  
B    12/15/2013 12:00:00   2   
B    12/15/2013 12:30:00   1  
B    12/24/2013 9:30:00    1  
B    12/25/2013 10:00:00   2   
B    12/25/2013 10:30:00   2  
B    12/26/2013 12:00:00   2  
B    12/30/2013 9:30:00    3   
B    12/30/2013 10:00:00   2   
B    12/30/2013 10:30:00   1  
B    1/3/2014   11:00:00   1   
B    1/3/2014   11:30:00   1   
B    1/13/2014  12:00:00   1  
;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are two major numbers needed to calculate the rate of return:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Current value&lt;/STRONG&gt;: the current value of the intraday variable.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original value&lt;/STRONG&gt;: the price at which you purchased the item (The intraday value of previous row).&lt;/P&gt;&lt;P&gt;Then, by applying these values to the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;rate of return formula&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;((Current value of an intraday - original value of an intraday) / original value of an intraday) = rate of return&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So the results is:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;name&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Intraday&lt;/TD&gt;&lt;TD&gt;return&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/1/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/1/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/2/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/2/2013&lt;/TD&gt;&lt;TD&gt;11:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.33333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/3/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/3/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/3/2013&lt;/TD&gt;&lt;TD&gt;11:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/4/2013&lt;/TD&gt;&lt;TD&gt;11:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/4/2013&lt;/TD&gt;&lt;TD&gt;12:00:00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/4/2013&lt;/TD&gt;&lt;TD&gt;12:30:00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/7/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/7/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/8/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/8/2013&lt;/TD&gt;&lt;TD&gt;11:00:00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/17/2013&lt;/TD&gt;&lt;TD&gt;11:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/17/2013&lt;/TD&gt;&lt;TD&gt;12:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/18/2013&lt;/TD&gt;&lt;TD&gt;12:30:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/28/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;12/28/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/8/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/8/2013&lt;/TD&gt;&lt;TD&gt;11:30:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/8/2013&lt;/TD&gt;&lt;TD&gt;12:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/14/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/14/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/15/2013&lt;/TD&gt;&lt;TD&gt;12:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/15/2013&lt;/TD&gt;&lt;TD&gt;12:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/24/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/25/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/25/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/26/2013&lt;/TD&gt;&lt;TD&gt;12:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/30/2013&lt;/TD&gt;&lt;TD&gt;9:30:00&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/30/2013&lt;/TD&gt;&lt;TD&gt;10:00:00&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.33333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;12/30/2013&lt;/TD&gt;&lt;TD&gt;10:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-0.5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1/3/2014&lt;/TD&gt;&lt;TD&gt;11:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1/3/2014&lt;/TD&gt;&lt;TD&gt;11:30:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1/13/2014&lt;/TD&gt;&lt;TD&gt;12:00:00&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I do that?&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2017 09:04:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421759#M280842</guid>
      <dc:creator>aminkarimid</dc:creator>
      <dc:date>2017-12-16T09:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate a security return variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421761#M280843</link>
      <description>&lt;P&gt;like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have;
   by name date time;
run;

data want;
   set have;
   by name date;
   lag_Intraday=lag1(Intraday);
   if not first.date then return=(Intraday-lag_Intraday)/lag_Intraday;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Dec 2017 09:38:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421761#M280843</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-12-16T09:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate a security return variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421763#M280844</link>
      <description>&lt;P&gt;It looks like these are the pieces you are asking for:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=have;&lt;/P&gt;
&lt;P&gt;by name date time;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by name date;&lt;/P&gt;
&lt;P&gt;return = dif(intraday) / lag(intraday);&lt;/P&gt;
&lt;P&gt;if first.date then return = .;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2017 09:41:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421763#M280844</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-12-16T09:41:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate a security return variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421764#M280845</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
Data   a;
Input  before   after;
Cards;
200     150
;
Run;

 

 

Data b;
Set a;
PCT_Change=(After-before)/before;
Format     PCT_Change     percentN9.2;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Dec 2017 09:43:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421764#M280845</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-12-16T09:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to calculate a security return variable?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421766#M280846</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
 set have;
 by name    date;
 lag=lag(Intraday);
 if not first.date then want=(Intraday-lag)/lag;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Dec 2017 09:54:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-calculate-a-security-return-variable/m-p/421766#M280846</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-12-16T09:54:59Z</dc:date>
    </item>
  </channel>
</rss>

