<?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 how to compute the average correlation across a very large correlation matrix in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20805#M4328</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks once more Ksharp...you've saved me a lot of time...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Dec 2011 16:12:35 GMT</pubDate>
    <dc:creator>coug914</dc:creator>
    <dc:date>2011-12-29T16:12:35Z</dc:date>
    <item>
      <title>how to compute the average correlation across a very large correlation matrix</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20803#M4326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;I’m trying to compute the average cross-sectional correlation across a large dataset. I may also want to compute a weighted average. Inaddition, my raw data is in stacked form. Assume, for example, I have a stacked list of investors and their portfolio weights (that sum to one for each investor) across all stocks (assume only four stocks).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Investor&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; Stock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Portfolio_weight&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;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IBM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.50&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSFT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOOG&amp;nbsp;&amp;nbsp; 0.10&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;A&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GRPN&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;B&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IBM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.40&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;B&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MFST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.60&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;B&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOOG&amp;nbsp;&amp;nbsp; 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;B&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GRPM&amp;nbsp;&amp;nbsp; 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;C&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IBM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.50&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;C&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSFT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;C&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOGG&amp;nbsp;&amp;nbsp; 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;C&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GRPN&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.50&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;I wrote alittle test code (see below) to compute the average correlation between weights across investors. First, I compute a weights matrix where each row is a company and each column is an investor (data outb):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;dataoutb&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; company&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _NAME_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GOOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.1&amp;nbsp;&amp;nbsp; 0.0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GRPN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0&amp;nbsp;&amp;nbsp; 0.0&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IBM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5&amp;nbsp;&amp;nbsp; 0.4&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.5&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSFT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.4&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.6&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;I then run a proc corr and keep the correlations (data d):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;Obs&amp;nbsp;&amp;nbsp;&amp;nbsp; _TYPE_&amp;nbsp;&amp;nbsp; _NAME_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CORR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.00000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.88684&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00000&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CORR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.88684&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.00000&amp;nbsp;&amp;nbsp; -0.19245&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CORR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.00000&amp;nbsp;&amp;nbsp;&amp;nbsp; -0.19245&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.00000&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;Because I only want the average of the off diagonal elements,I take the average times N, subtract 1 (the diagonal element) and divide by N-1 to get the average of the off diagonal elements: 0.23 = (0.886+0.00+-0.192)/3 (=ave_corr in data g)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;I have four issues:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;1.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;The number of investors in my simple example is three. In my real data, the number is approximately 3,000, which means the correlation matrix will have 9M elements. Is that an issue? (Moreover the number of stocks is approximately 5,000.)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;2.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;My code seems a little clumsy. I welcome any suggestion for alternative approaches.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;3.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;In addition to average correlation, I’d like to compute the sum of the products of the weights for each pair of investors and compute the average of that (e.g., for A and B, 0.1*0 + 0*0 + 0.5*0.4 + 0.4*0.6). Again, there would be approximately 9M of these terms. If I define outb as a 4X3 matrix (in my simple example), I can compute this as outb(transposed)*outb. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt;After reading about this a bit, this seems like something I should be able to do with proc IML. However, I’m not familiar with proc IML. Any suggestions on how to define data outb as a matrix so I can use proc IML? And if I can do that, how would I’d go about getting the average of the elements in the resulting matrix?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;4.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'SAS Monospace';"&gt;If I standardize the weights for each investor (i.e., subtract the mean and divided by the standard deviation), I could use the same method to compute the correlations (i.e., standardized weights matrix transposed *standardized weights matrix). So that might be another approach. Any thoughtson using IML versus my ‘traditional’ sas code?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-family: 'SAS Monospace'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Thanks inadvance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Rick&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;My code&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;a; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; investor $ companyID $ wt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;cards&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;A IBM 0.50&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;A MSFT 0.40&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;A GOOG 0.10&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;A GRPN 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;B IBM 0.40&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;B MSFT 0.60&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;B GOOG 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;B GRPN 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;C IBM 0.50&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;C MSFT 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;C GOOG 0.00&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: #ffffc0; font-family: 'Courier New'; font-size: 10pt;"&gt;C GRPN 0.50&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;b; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; a; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;sort&lt;/SPAN&gt;&lt;/STRONG&gt;; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;by &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;companyID;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;transpose&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=outb;&lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;by &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;companyID;&lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; investor; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;var &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;wt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: green; background-color: white; font-family: 'Courier New';"&gt;*outb gives the weightsmatrix, columns are investors and rows are companies;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;title &lt;/SPAN&gt;&lt;SPAN style="color: purple; background-color: white; font-family: 'Courier New';"&gt;'data outb'&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;print&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=outb;&lt;/SPAN&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;c; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; outb;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;corr&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=outc;&lt;/SPAN&gt;&lt;SPAN style="color: green; background-color: white; font-family: 'Courier New';"&gt;*computes correlation matrix;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;d; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; outc;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;_TYPE_=&lt;/SPAN&gt;&lt;SPAN style="color: purple; background-color: white; font-family: 'Courier New';"&gt;'CORR'&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;means&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;noprint&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;output &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=outd;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: green; background-color: white; font-family: 'Courier New';"&gt;*averagecorrelation for each investor;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;e; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; outd;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;_STAT_=&lt;/SPAN&gt;&lt;SPAN style="color: purple; background-color: white; font-family: 'Courier New';"&gt;'MEAN'&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;transpose&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=oute;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;f; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; oute;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;_NAME_=&lt;/SPAN&gt;&lt;SPAN style="color: purple; background-color: white; font-family: 'Courier New';"&gt;'_TYPE_'&lt;/SPAN&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;then &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;delete&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;_NAME_=&lt;/SPAN&gt;&lt;SPAN style="color: purple; background-color: white; font-family: 'Courier New';"&gt;'_FREQ_'&lt;/SPAN&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;then &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;delete&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt;ave_corr=col1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc &lt;/SPAN&gt;&lt;SPAN style="color: navy; background-color: white; font-family: 'Courier New';"&gt;means &lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;noprint; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;var&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; ave_corr;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;output &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=outf &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;mean&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;=ave_corr_cross_investors;&lt;/SPAN&gt;&lt;SPAN style="color: green; background-color: white; font-family: 'Courier New';"&gt;*average correlation across investors;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;data &lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;g; &lt;/SPAN&gt;&lt;SPAN style="color: blue; background-color: white; font-family: 'Courier New';"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt; outf;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;ave_corr=(ave_corr_cross_investors*_FREQ_-&lt;/SPAN&gt;&lt;STRONG style="color: teal; background-color: white; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;)/(_FREQ_-&lt;/SPAN&gt;&lt;STRONG style="color: teal; background-color: white; font-family: 'Courier New';"&gt;1&lt;/STRONG&gt;&lt;SPAN style="color: black; background-color: white; font-family: 'Courier New';"&gt;);&lt;/SPAN&gt;&lt;SPAN style="color: green; background-color: white; font-family: 'Courier New';"&gt;*average correlation dropping the diagonal;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 0.0001pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;print&lt;/STRONG&gt;; &lt;STRONG style="color: navy; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Dec 2011 19:55:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20803#M4326</guid>
      <dc:creator>coug914</dc:creator>
      <dc:date>2011-12-27T19:55:45Z</dc:date>
    </item>
    <item>
      <title>how to compute the average correlation across a very large correlation matrix</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20804#M4327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi. Rick. I am not familar with IML.&lt;/P&gt;&lt;P&gt;If you need IML code, you can post it at IML forum. There is a specialist about IML who also is a SAS employee -- Rich M.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I think you also can do it under Data Step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data a; input investor $ companyID $ wt;
cards;
A IBM 0.50
A MSFT 0.40
A GOOG 0.10
A GRPN 0.00
B IBM 0.40
B MSFT 0.60
B GOOG 0.00
B GRPN 0.00
C IBM 0.50
C MSFT 0.00
C GOOG 0.00
C GRPN 0.50
;
run;


proc sort data=a; by companyID;run;
proc transpose data=a out=temp(drop=_name_);
 by companyid;
 id investor;
 var wt;
run;
proc corr data=temp outp=corr(drop=_name_ where=(_type_='CORR')) noprint;
 var _numeric_;
run;
data _null_;
 set corr end=last;
 retain sum .;
 array _a{*} _numeric_;
 i=1;
 do while(_a{i} ne 1);
&amp;nbsp; sum=sum(sum,_a{i});i+1;n+1;
 end;
 if last then do;
&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; mean=sum/n; 
&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; put 'ave_corr= ' mean;
&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; end;
run;

options nomprint nomlogic nosymbolgen;
/*compute the sum of the products of the weights for 
each pair of investors */
%macro across;
proc sql noprint;
 select distinct investor into : list separated by ' ' from a;

create table want as
 select 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do i=1 %to %sysfunc(countw(&amp;amp;list));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do j=%eval(&amp;amp;i+1) %to %sysfunc(countw(&amp;amp;list));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(%scan(&amp;amp;list,&amp;amp;i)*%scan(&amp;amp;list,&amp;amp;j)) as %scan(&amp;amp;list,&amp;amp;i)%scan(&amp;amp;list,&amp;amp;j)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;i ne %eval(%sysfunc(countw(&amp;amp;list))-1) or&amp;nbsp; &amp;amp;j ne %sysfunc(countw(&amp;amp;list)) %then %do;,%end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;
&amp;nbsp; from temp;
quit;
%mend across;

%across




&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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>Wed, 28 Dec 2011 05:44:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20804#M4327</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2011-12-28T05:44:47Z</dc:date>
    </item>
    <item>
      <title>how to compute the average correlation across a very large correlation matrix</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20805#M4328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks once more Ksharp...you've saved me a lot of time...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Dec 2011 16:12:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/how-to-compute-the-average-correlation-across-a-very-large/m-p/20805#M4328</guid>
      <dc:creator>coug914</dc:creator>
      <dc:date>2011-12-29T16:12:35Z</dc:date>
    </item>
  </channel>
</rss>

