<?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: lag in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56702#M15852</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To avoid "lag" function to give me the "lag value" from last company if you don't put any restriction,&lt;/P&gt;&lt;P&gt;I have inserted this:&lt;/P&gt;&lt;P&gt;"&lt;BR /&gt; if permno ne lag1(permno) then lag1_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag2(permno) then lag2_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag3(permno) then lag3_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag4(permno) then lag4_idiorisk = .;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp; "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so now the program read as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data vwretd.sorted_main_vwretd_test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set vwretd.sorted_main_vwretd_test nobs=_nobs_;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag1_idiorisk = lag1(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag2_idiorisk = lag2(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag3_idiorisk = lag3(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag4_idiorisk = lag4(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if permno ne lag1(permno) then lag1_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag2(permno) then lag2_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag3(permno) then lag3_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag4(permno) then lag4_idiorisk = .;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if _n_ &amp;lt; _nobs_ then set vwretd.sorted_main_test (keep=idiorisk rename=(idiorisk=fwd1_idiorisk) firstobs=2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if _n_ &amp;lt; _nobs_-1 then set vwretd.sorted_main_test (keep=idiorisk rename=(idiorisk=fwd2_idiorisk) firstobs=3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Question:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I m not sure how to put the restrictions on the forward value to restrict the company pick the forward value from the previous permno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 May 2012 06:37:30 GMT</pubDate>
    <dc:creator>mei</dc:creator>
    <dc:date>2012-05-04T06:37:30Z</dc:date>
    <item>
      <title>lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56694#M15844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would like to calculate lag and forward value of stock return:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how do write program for return of lag 1 (t-1), lag 2 (t-2), lag 3 (t-3), lag 4 (t-4)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how about prog for return for forward period that is ret for t+1, t+2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mei&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Apr 2012 02:54:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56694#M15844</guid>
      <dc:creator>mei</dc:creator>
      <dc:date>2012-04-06T02:54:13Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56695#M15845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000212547.htm"&gt;http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000212547.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Apr 2012 04:11:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56695#M15845</guid>
      <dc:creator>manojinpec</dc:creator>
      <dc:date>2012-04-06T04:11:17Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56696#M15846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe function dif() is what you need.Check the documentation.&lt;/P&gt;&lt;P&gt;dif(t)&amp;nbsp; dif2(t) ....................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2012 01:37:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56696#M15846</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-04-09T01:37:33Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56697#M15847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sascommunity.org/wiki/Look-Ahead_and_Look-Back" title="http://www.sascommunity.org/wiki/Look-Ahead_and_Look-Back"&gt;http://www.sascommunity.org/wiki/Look-Ahead_and_Look-Back&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2012 02:36:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56697#M15847</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2012-04-09T02:36:54Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56698#M15848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if you have ETS, then proc expand seems to meet your needs, for both lag and lead. Esp. when you deal with stock market data, proc expand has a nice set of arsenal ready for launch, such moving average among many others.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2012 14:04:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56698#M15848</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-04-09T14:04:29Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56699#M15849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;mei,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are likely to need variable names to hold each new piece of information.&amp;nbsp; Try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have nobs=_nobs_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; back_1 = lag1(stock_return);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; back_2 = lag2(stock_return);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; back_3 = lag3(stock_return);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; back_4 = lag4(stock_return);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if _n_ &amp;lt; _nobs_ then set have (keep=stock_return rename=(stock_return=forward_1) firstobs=2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if _n_ &amp;lt; _nobs_-1 then set have (keep=stock_return rename=(stock_return=forward_2) firstobs=3);&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2012 15:24:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56699#M15849</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-04-09T15:24:11Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56700#M15850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how proc expand works for lead and lags? can you show me the programming ?&lt;/P&gt;&lt;P&gt;What is ETS?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2012 04:41:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56700#M15850</guid>
      <dc:creator>mei</dc:creator>
      <dc:date>2012-04-27T04:41:52Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56701#M15851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://www.sas.com/technologies/analytics/forecasting/ets/"&gt;http://www.sas.com/technologies/analytics/forecasting/ets/&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Apr 2012 04:48:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56701#M15851</guid>
      <dc:creator>manojinpec</dc:creator>
      <dc:date>2012-04-27T04:48:25Z</dc:date>
    </item>
    <item>
      <title>Re: lag</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56702#M15852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To avoid "lag" function to give me the "lag value" from last company if you don't put any restriction,&lt;/P&gt;&lt;P&gt;I have inserted this:&lt;/P&gt;&lt;P&gt;"&lt;BR /&gt; if permno ne lag1(permno) then lag1_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag2(permno) then lag2_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag3(permno) then lag3_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag4(permno) then lag4_idiorisk = .;&lt;/P&gt;&lt;P&gt;run;&amp;nbsp; "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so now the program read as&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data vwretd.sorted_main_vwretd_test;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set vwretd.sorted_main_vwretd_test nobs=_nobs_;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag1_idiorisk = lag1(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag2_idiorisk = lag2(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag3_idiorisk = lag3(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; lag4_idiorisk = lag4(idiorisk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if permno ne lag1(permno) then lag1_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag2(permno) then lag2_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag3(permno) then lag3_idiorisk = .;&lt;/P&gt;&lt;P&gt;if permno ne lag4(permno) then lag4_idiorisk = .;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if _n_ &amp;lt; _nobs_ then set vwretd.sorted_main_test (keep=idiorisk rename=(idiorisk=fwd1_idiorisk) firstobs=2);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if _n_ &amp;lt; _nobs_-1 then set vwretd.sorted_main_test (keep=idiorisk rename=(idiorisk=fwd2_idiorisk) firstobs=3);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Question:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I m not sure how to put the restrictions on the forward value to restrict the company pick the forward value from the previous permno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 May 2012 06:37:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/lag/m-p/56702#M15852</guid>
      <dc:creator>mei</dc:creator>
      <dc:date>2012-05-04T06:37:30Z</dc:date>
    </item>
  </channel>
</rss>

