<?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: Buy minus Sell alternate column Variable in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193222#M48514</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you not then just coalesce the values, sorry am not really clear on what relation p2 or p3 is to the buy or sell column, so I will assume they relate to sell&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;proc sql;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT as&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSPID,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(BUY) as BUY,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(coalesce(P2,P3,SELL)) as SELL,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(BUY) - sum(coalesce(P2,P3,SELL) as BUY_SELL&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAVE&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by CUSPID;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;quit;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Another tip is to normalise your data, i.e. rather than having columns for each bit, have rows, and an identifier column:&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;CUSPID&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; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;0011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11jan12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.3453525&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;0011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11jan12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.45564&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;...&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;It makes it easier to do aggregates.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Aug 2015 13:28:18 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2015-08-06T13:28:18Z</dc:date>
    <item>
      <title>Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193215#M48507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to resolve an error I am facing where I cant get my BUY - SELL Variable. A sample of my table is below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" height="449" style="border: 1px solid rgb(0, 0, 0); width: 695px; height: 424px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;CUSIP&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;DATE&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;BUY&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;P2&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;P3&lt;/STRONG&gt;&lt;/TH&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;SELL&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;00036020&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;JUN06&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;NOV06&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.0076714433&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;JAN07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.0075574196&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;FEB07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.009285739&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;MAR07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.004984601&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;APR07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.0097122146&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;MAY07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.0014465061&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;JUNE07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.0004802898&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;JUL07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;-0.011726471&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;00036020&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;SEP07&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;-0.015695027&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;01880210&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;JAN94&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;0.007576222&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;TD style="padding: 2px;"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are different CUSIP (companies) at different dates.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since my BUY and Sell variables are of different columns and they are alternate (which means stock j has either buy or sell at only one time), when i try to do a BUY - SELL as BUY_SELL command, the BUY_SELL is variable empty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I am trying to achieve is a BUY - SELL variable, something like SUM(BUY) - SUM (SELL) = mean(difference) etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="c proctitle"&gt;&lt;/P&gt;&lt;DIV align="center"&gt;&lt;TABLE cellpadding="5" cellspacing="0" class="table" frame="box" height="189" rules="all" style="width: 886px; height: 191px;" summary="Procedure Means: Summary statistics"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l stacked_cell data"&gt;variable&lt;TABLE border="0" cellpadding="5" cellspacing="0" style="width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH class="l data top_stacked_value"&gt;SELL&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l data middle_stacked_value"&gt;P2&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l data middle_stacked_value"&gt;P3&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l data middle_stacked_value"&gt;P4&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TH class="l data bottom_stacked_value"&gt;BUY&lt;/TH&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TH&gt;&lt;TD class="r stacked_cell data"&gt;count (N)&lt;BR /&gt;&lt;TABLE border="0" cellpadding="5" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data top_stacked_value"&gt;55706&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;55952&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;56260&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;54811&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data bottom_stacked_value"&gt;56629&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;TD class="r stacked_cell data"&gt;mean&lt;BR /&gt;&lt;TABLE border="0" cellpadding="5" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data top_stacked_value"&gt;0.000928724&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0016922&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0018418&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0017465&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data bottom_stacked_value"&gt;0.0024443&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;TD class="r stacked_cell data"&gt;std deviation&lt;TABLE border="0" cellpadding="5" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data top_stacked_value"&gt;0.0135390&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0133077&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0132802&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;0.0130985&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data bottom_stacked_value"&gt;0.0134837&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;TD class="r stacked_cell data"&gt;t value&lt;BR /&gt;&lt;TABLE border="0" cellpadding="5" cellspacing="0" style="width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data top_stacked_value"&gt;16.19&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;30.08&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;32.90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;31.22&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data bottom_stacked_value"&gt;43.14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;TD class="r stacked_cell data"&gt;&lt;TABLE border="0" cellpadding="5" cellspacing="0" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="r data top_stacked_value"&gt;&amp;lt;.0001&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;&amp;lt;.0001&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;&amp;lt;.0001&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data middle_stacked_value"&gt;&amp;lt;.0001&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD class="r data bottom_stacked_value"&gt;&amp;lt;.0001&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;BUY - SELL VARIABLE&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;DIV align="center"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 01:05:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193215#M48507</guid>
      <dc:creator>nochtan</dc:creator>
      <dc:date>2015-08-06T01:05:55Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193216#M48508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Nochtan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not fully understand your question, it seems a mix of sum and mean.&lt;/P&gt;&lt;P&gt;Maybe you can add a small want - have example dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Proc means aggregates your data to the level of cusip:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc means data=have noprint;&lt;/P&gt;&lt;P&gt;class cusip;&lt;/P&gt;&lt;P&gt;var buy p1 p2 sell;&lt;/P&gt;&lt;P&gt;output out=want mean=;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;Eric&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 08:16:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193216#M48508</guid>
      <dc:creator>EricHoogenboom</dc:creator>
      <dc:date>2015-08-06T08:16:08Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193217#M48509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You haven't posted any test data in the form of a datastep, so I can't provide a working example, however something like:&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT as&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSPID,&lt;/P&gt;&lt;P&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;&amp;nbsp; sum(BUY) as BUY,&lt;/P&gt;&lt;P&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;&amp;nbsp; sum(SELL) as SELL,&lt;/P&gt;&lt;P&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;&amp;nbsp; sum(BUY) - sum(SELL) as BUY_SELL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAVE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by CUSPID;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 08:54:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193217#M48509</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-08-06T08:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193218#M48510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Eric, I have already figured out. But I have another question to ask to seek your advice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Hi all,&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;I am using IBES analysts forecast revision and CRSP for stock prices.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;I am quite new to SAS and I have been trying to figure out how to form portfolio of analysts forecast revision to examine stock price drift for 1month, 3months, 6months, 12months and 24months. What I am trying to achieve is to hold stocks at time t, and buy or sell stocks according to the degree of analysts' forecast revision (1 = lowest (SELL) and 5 = highest (BUY)) at time t, and find the cumulative returns for 1,3,6,12 and 24 months of the stocks bought or sold at time t. (Without changing the portfolio). In other words, stocks will stay in the portfolio at time t and I will buy or sell according to the ranking of analysts' forecast revision.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;HOWEVER, I only can manage to find stock returns at time t to analysts' forecast revision portfolio at time t, and I cant get the codes for the cumulative returns.&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Below are my codes:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Step 1. Specifying Options */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;%let J=6; /* Formation Period Length: J can be between 3 to 12 months - can be adjusted */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;%let K=6; /* Holding&amp;nbsp;&amp;nbsp; Period Length: K can be between 3 to 12 months - can be adjusted*/&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;%let begdate=01JAN1994;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;%let enddate=31DEC2014;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Step 2. Assign Ranks to the Next 6 (K) Months After Portfolio Formation */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Forecast_revision_portfolio is the portfolio rank variable taking values between 1 and 5: */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 - the lowest&amp;nbsp; momentum group: Losers&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 - the highest momentum group: Winners&amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;data getr_2 ;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;set getr_2;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;HDATE1 = intnx("MONTH",date, 0,"B")-1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;HDATE2 = intnx("MONTH",date,&amp;amp;k-1,"E");&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;format HDATE1 HDATE2 monyy.;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;label HDATE1= "First Holding Date";&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;label HDATE2= "Last Holding Date";&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Portfolio returns are average monthly returns rebalanced monthly */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc sql;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table getr_3&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; as select distinct*&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from getr_2 as a, recency as b&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where a.cusip=b.cusip&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and a.HDATE1&amp;lt;=b.date&amp;lt;=a.HDATE2&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;order by cusip, date;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Step 4. Calculate Equally-Weighted Average Monthly Returns */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc sort data=getr_3 nodupkey; by cusip date analys; run;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;proc sort data=getr_3; by date forecast_revision_rank HDATE1;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Calculate Equally-Weighted returns across portfolio stocks */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Every date, each MOM group has J portfolios identified by formation date */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc means data = getr_3 noprint;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp; by date forecast_revision_rank HDATE1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mean_returns;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out = umd3 mean=mean_returns;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Portfolio average monthly returns */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc sort data=umd3; by date Forecast_revision_rank;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where year(date) &amp;gt;= year("&amp;amp;begdate"d);&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Create one return series per MOM group every month */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc means data = umd3 noprint;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp; by date forecast_revision_rank;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mean_returns;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out = ewretdat mean= ewret std = ewretstd;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc sort data=ewretdat; by forecast_revision_rank ; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Title "Table 1: Returns of Analysts' Forecast Revision Portfolios";&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Title2 "Portfolios based on 6 months lagged return and held for 6 months";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc means data=ewretdat n mean t probt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp; class Forecast_revision_rank;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ewret;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Step 5. Calculate Long-Short Portfolio Returns */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc sort data=ewretdat; by date Forecast_revision_rank; run;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc transpose data=ewretdat out=ewretdat2&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rename = (_1=SELL _2=PORT2 _3=PORT3 _4=PORT4 _5=BUY)&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop=_NAME_ _LABEL_);&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp; by date;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp; id Forecast_revision_rank;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp; var ewret;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;/* Compute Long-Short Portfolio Cumulative Returns */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;data ewretdat3;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;set ewretdat2;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;by date;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;LONG_SHORT=BUY-SELL;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;retain CUMRET_BUY CUMRET_SELL CUMRET_LONG_SHORT 0;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;CUMRET_BUY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (CUMRET_BUY+1)*(BUY+1)-1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;CUMRET_LOSERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (CUMRET_SELL +1)*(SELL +1)-1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;CUMRET_LONG_SHORT&amp;nbsp; = (CUMRET_LONG_SHORT+1)*(LONG_SHORT+1)-1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;format BUY SELL LONG_SHORT PORT: CUMRET_: percentn12.1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;proc means data=ewretdat3 n mean t probt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;var BUY SELL LONG_SHORT;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;run;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Below is a screen shot of the table:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 1610px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="56"&gt;DATE&lt;/TD&gt;&lt;TD width="63"&gt;CUSIP&lt;/TD&gt;&lt;TD width="252"&gt;COMNAM&lt;/TD&gt;&lt;TD width="105"&gt;Adjusted_Price&lt;/TD&gt;&lt;TD width="91"&gt;high&lt;/TD&gt;&lt;TD width="112"&gt;days_since_52WH&lt;/TD&gt;&lt;TD width="91"&gt;Returns&lt;/TD&gt;&lt;TD width="91"&gt;mean_returns&lt;/TD&gt;&lt;TD width="91"&gt;RR&lt;/TD&gt;&lt;TD width="91"&gt;obsno&lt;/TD&gt;&lt;TD width="91"&gt;analys&lt;/TD&gt;&lt;TD width="77"&gt;fpedats&lt;/TD&gt;&lt;TD width="126"&gt;Forecast_Revision&lt;/TD&gt;&lt;TD width="161"&gt;forecast_revision_Rank&lt;/TD&gt;&lt;TD width="56"&gt;HDATE1&lt;/TD&gt;&lt;TD width="56"&gt;HDATE2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Jun-06&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.068641945&lt;/TD&gt;&lt;TD align="right"&gt;5.635555691&lt;/TD&gt;&lt;TD align="right"&gt;37&lt;/TD&gt;&lt;TD align="right"&gt;0.009441376&lt;/TD&gt;&lt;TD align="right"&gt;0.004199479&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;121980&lt;/TD&gt;&lt;TD align="right"&gt;112011&lt;/TD&gt;&lt;TD align="right" class="xl63"&gt;30-Jun-06&lt;/TD&gt;&lt;TD align="right"&gt;0.33408324&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;May-06&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Nov-06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Jun-06&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.068641945&lt;/TD&gt;&lt;TD align="right"&gt;5.635555691&lt;/TD&gt;&lt;TD align="right"&gt;37&lt;/TD&gt;&lt;TD align="right"&gt;0.009441376&lt;/TD&gt;&lt;TD align="right"&gt;0.004199479&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right"&gt;121980&lt;/TD&gt;&lt;TD align="right"&gt;79788&lt;/TD&gt;&lt;TD align="right" class="xl63"&gt;30-Jun-06&lt;/TD&gt;&lt;TD align="right"&gt;0.466816648&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;May-06&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Nov-06&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Nov-06&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.515061743&lt;/TD&gt;&lt;TD align="right"&gt;5.730370416&lt;/TD&gt;&lt;TD align="right"&gt;11&lt;/TD&gt;&lt;TD align="right"&gt;0.034074077&lt;/TD&gt;&lt;TD align="right"&gt;0.00757694&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Oct-06&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Apr-07&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Jan-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.428148058&lt;/TD&gt;&lt;TD align="right"&gt;5.730370416&lt;/TD&gt;&lt;TD align="right"&gt;51&lt;/TD&gt;&lt;TD align="right"&gt;-0.006148285&lt;/TD&gt;&lt;TD align="right"&gt;0.002447311&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Dec-06&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jun-07&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Feb-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.485432189&lt;/TD&gt;&lt;TD align="right"&gt;5.827160494&lt;/TD&gt;&lt;TD align="right"&gt;7&lt;/TD&gt;&lt;TD align="right"&gt;0.000720737&lt;/TD&gt;&lt;TD align="right"&gt;0.000650488&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jan-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jul-07&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;May-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.868641794&lt;/TD&gt;&lt;TD align="right"&gt;5.929876634&lt;/TD&gt;&lt;TD align="right"&gt;13&lt;/TD&gt;&lt;TD align="right"&gt;-0.003020139&lt;/TD&gt;&lt;TD align="right"&gt;0.005742444&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Apr-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Oct-07&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Jul-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.908148118&lt;/TD&gt;&lt;TD align="right"&gt;6.806913399&lt;/TD&gt;&lt;TD align="right"&gt;9&lt;/TD&gt;&lt;TD align="right"&gt;-0.009602679&lt;/TD&gt;&lt;TD align="right"&gt;-0.002715823&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jun-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Dec-07&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Aug-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;6.204444603&lt;/TD&gt;&lt;TD align="right"&gt;6.816789792&lt;/TD&gt;&lt;TD align="right"&gt;19&lt;/TD&gt;&lt;TD align="right"&gt;0.030004949&lt;/TD&gt;&lt;TD align="right"&gt;0.002654603&lt;/TD&gt;&lt;TD align="right"&gt;5&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jul-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Jan-08&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Oct-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.410370438&lt;/TD&gt;&lt;TD align="right"&gt;6.816789792&lt;/TD&gt;&lt;TD align="right"&gt;61&lt;/TD&gt;&lt;TD align="right"&gt;0.033389935&lt;/TD&gt;&lt;TD align="right"&gt;-0.003414025&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Sep-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Mar-08&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Nov-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.638518722&lt;/TD&gt;&lt;TD align="right"&gt;6.816789792&lt;/TD&gt;&lt;TD align="right"&gt;82&lt;/TD&gt;&lt;TD align="right"&gt;0.004221632&lt;/TD&gt;&lt;TD align="right"&gt;0.002566941&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Oct-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Apr-08&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" class="xl64" height="20"&gt;Dec-07&lt;/TD&gt;&lt;TD&gt;00036020&lt;/TD&gt;&lt;TD&gt;AAON INC&lt;/TD&gt;&lt;TD align="right"&gt;5.872592502&lt;/TD&gt;&lt;TD align="right"&gt;6.816789792&lt;/TD&gt;&lt;TD align="right"&gt;102&lt;/TD&gt;&lt;TD align="right"&gt;-0.025086091&lt;/TD&gt;&lt;TD align="right"&gt;0.00248648&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;121980&lt;/TD&gt;&lt;TD align="right"&gt;107780&lt;/TD&gt;&lt;TD align="right" class="xl63"&gt;31-Dec-07&lt;/TD&gt;&lt;TD align="right"&gt;-0.320916905&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;Nov-07&lt;/TD&gt;&lt;TD align="right" class="xl64"&gt;May-08&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Please help my guardian angels. Thank You.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 09:22:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193218#M48510</guid>
      <dc:creator>nochtan</dc:creator>
      <dc:date>2015-08-06T09:22:14Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193219#M48511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi RW9,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The formula that you recommend will have a NULL Buy_Sell variable because all the stocks have alternate buy, P2, P3, P4, Sell variables. I have tried.&amp;nbsp; &lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;What I did was this:&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P&gt;proc means data = want4 noprint;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by date RR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var roll_avg;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out = want4 mean= ewret std = ewretstd;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=want4; by RR ; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Title "Recency Strategy (Table 1): Returns of Relative Strength Portfolios";&lt;/P&gt;&lt;P&gt;Title2 "Portfolios based on &amp;amp;J month lagged return and held for &amp;amp;K months";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc means data=want4 n mean t probt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; class RR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ewret;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Step 5. Calculate Long-Short Portfolio Returns */&lt;/P&gt;&lt;P&gt;proc sort data=want4; by date RR; run;&lt;/P&gt;&lt;P&gt;proc transpose data=want4 out=want5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rename = (_1=RRL _2=PORT2 _3=PORT3 _4=PORT4 _5=RRH)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop=_NAME_ _LABEL_);&lt;/P&gt;&lt;P&gt;&amp;nbsp; by date;&lt;/P&gt;&lt;P&gt;&amp;nbsp; id RR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var ewret;&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;/* Compute Long-Short Portfolio Cumulative Returns */&lt;/P&gt;&lt;P&gt;data Want5;&lt;/P&gt;&lt;P&gt;set want5;&lt;/P&gt;&lt;P&gt;by date;&lt;/P&gt;&lt;P&gt;LONG_SHORT=RRH-RRL;&lt;/P&gt;&lt;P&gt;retain CUMRET_RRH CUMRET_RRL CUMRET_LONG_SHORT 0;&lt;/P&gt;&lt;P&gt;CUMRET_RRH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (CUMRET_RRH+1)*(RRH+1)-1;&lt;/P&gt;&lt;P&gt;CUMRET_RRL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (CUMRET_RRL +1)*(RRL +1)-1;&lt;/P&gt;&lt;P&gt;CUMRET_LONG_SHORT&amp;nbsp; = (CUMRET_LONG_SHORT+1)*(LONG_SHORT+1)-1;&lt;/P&gt;&lt;P&gt;format RRH RRL LONG_SHORT PORT: CUMRET_: percentn12.1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the mess! &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 09:32:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193219#M48511</guid>
      <dc:creator>nochtan</dc:creator>
      <dc:date>2015-08-06T09:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193220#M48512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Nochtan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am very sorry but I am not a helpdesk.&lt;/P&gt;&lt;P&gt;Please shorten your question to the tiny part that you don't know yet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Eric&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 11:47:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193220#M48512</guid>
      <dc:creator>EricHoogenboom</dc:creator>
      <dc:date>2015-08-06T11:47:31Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193221#M48513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Eric, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;baiscally this is the main part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Step 2. Assign Ranks to the Next 6 (K) Months After Portfolio Formation */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;/* Forecast_revision_portfolio is the portfolio rank variable taking values between 1 and 5: */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 - the lowest&amp;nbsp; momentum group: Losers&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 - the highest momentum group: Winners&amp;nbsp; */&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;data getr_2 ;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;set getr_2;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;HDATE1 = intnx("MONTH",date, 0,"B")-1;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;HDATE2 = intnx("MONTH",date,&amp;amp;k-1,"E");&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;format HDATE1 HDATE2 monyy.;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;label HDATE1= "First Holding Date";&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;label HDATE2= "Last Holding Date";&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where I can't seem to assign ranks to the next (1,3,6,12,24months) even after using the intnx function. I would like to &lt;SPAN style="background-color: #ffffff; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;hold stocks at time t and find the returns at the desired time t+?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 11:57:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193221#M48513</guid>
      <dc:creator>nochtan</dc:creator>
      <dc:date>2015-08-06T11:57:23Z</dc:date>
    </item>
    <item>
      <title>Re: Buy minus Sell alternate column Variable</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193222#M48514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you not then just coalesce the values, sorry am not really clear on what relation p2 or p3 is to the buy or sell column, so I will assume they relate to sell&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;proc sql;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT as&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CUSPID,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(BUY) as BUY,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(coalesce(P2,P3,SELL)) as SELL,&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&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;&amp;nbsp; sum(BUY) - sum(coalesce(P2,P3,SELL) as BUY_SELL&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HAVE&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group by CUSPID;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;quit;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;Another tip is to normalise your data, i.e. rather than having columns for each bit, have rows, and an identifier column:&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;CUSPID&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; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RESULT&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;0011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11jan12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.3453525&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;0011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11jan12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; P2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.45564&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;...&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;It makes it easier to do aggregates.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 13:28:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Buy-minus-Sell-alternate-column-Variable/m-p/193222#M48514</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-08-06T13:28:18Z</dc:date>
    </item>
  </channel>
</rss>

