<?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: linear interpolation in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/linear-interpolation/m-p/521309#M141423</link>
    <description>&lt;P&gt;data samples ;&lt;BR /&gt;infile datalines ;&lt;BR /&gt;input&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;issuedate :mmddyy10.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;maturitydate :mmddyy10.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ticker :$2.&lt;BR /&gt;;&lt;BR /&gt;format issuedate maturitydate mmddyys10. ;&lt;BR /&gt;datalines;&lt;BR /&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/15/1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EK&lt;BR /&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/15/1996&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CO&lt;BR /&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;libname UST "/folders/myfolders/data/treasuries" ;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table two as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;select s.issuedate&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, s.maturitydate&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, s.ticker&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.issue&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.maturity&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.yield&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FROM samples s&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;JOIN UST.treasury t&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;on s.issuedate eq t.issue&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;and s.maturitydate le t.maturity&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;BR /&gt;quit ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 13 Dec 2018 22:26:34 GMT</pubDate>
    <dc:creator>johnsville</dc:creator>
    <dc:date>2018-12-13T22:26:34Z</dc:date>
    <item>
      <title>linear interpolation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/linear-interpolation/m-p/519831#M140881</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to add US treasury yield to my dataset based on issue and maturity dates. For observations without exact matches I want to use linear interpolation. Matching the observation with the same issue and maturity dates is easy, but using linear interpolation for those that don't have a exact maturity match is what I am having trouble with. Here is samples of my dataset. I have also attached the US treasury yield dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MySample:&lt;/P&gt;&lt;P&gt;Issuedate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaturityDate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ticker&lt;/P&gt;&lt;P&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1994 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EK&lt;/P&gt;&lt;P&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1996 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CO&lt;/P&gt;&lt;P&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are multiple observations in the treasury file that have the same issue date but different maturity dates. To do linear interpolation, for any observation in my data, I need the two closest observations on maturity dates in the treasury file so that I could use proc expand and linear interpolate. If I could get something like this, then I can use proc expand and do linear interpolation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Issuedate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaturityDate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ticker&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Maturity&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Yield&lt;/P&gt;&lt;P&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1994 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.95&lt;/P&gt;&lt;P&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1994&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1994&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;/P&gt;&lt;P&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1994 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/11/1995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7.94&lt;/P&gt;&lt;P&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1996 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1995 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.27&lt;/P&gt;&lt;P&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1996 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1996 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1/15/1996 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/18/1997 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.31&lt;/P&gt;&lt;P&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/2000 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8.58&lt;/P&gt;&lt;P&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/2002 &amp;nbsp;&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;/P&gt;&lt;P&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/07/2010 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is much appreciated&lt;/P&gt;</description>
      <pubDate>Mon, 10 Dec 2018 04:25:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/linear-interpolation/m-p/519831#M140881</guid>
      <dc:creator>AmirSari</dc:creator>
      <dc:date>2018-12-10T04:25:16Z</dc:date>
    </item>
    <item>
      <title>Re: linear interpolation</title>
      <link>https://communities.sas.com/t5/SAS-Programming/linear-interpolation/m-p/521309#M141423</link>
      <description>&lt;P&gt;data samples ;&lt;BR /&gt;infile datalines ;&lt;BR /&gt;input&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;issuedate :mmddyy10.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;maturitydate :mmddyy10.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ticker :$2.&lt;BR /&gt;;&lt;BR /&gt;format issuedate maturitydate mmddyys10. ;&lt;BR /&gt;datalines;&lt;BR /&gt;1/11/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/15/1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EK&lt;BR /&gt;1/18/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/15/1996&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CO&lt;BR /&gt;3/07/1990&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/15/2002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DP&lt;BR /&gt;;&lt;BR /&gt;&lt;BR /&gt;libname UST "/folders/myfolders/data/treasuries" ;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table two as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;select s.issuedate&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, s.maturitydate&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, s.ticker&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.issue&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.maturity&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;, t.yield&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FROM samples s&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;JOIN UST.treasury t&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;on s.issuedate eq t.issue&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;and s.maturitydate le t.maturity&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;BR /&gt;quit ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Dec 2018 22:26:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/linear-interpolation/m-p/521309#M141423</guid>
      <dc:creator>johnsville</dc:creator>
      <dc:date>2018-12-13T22:26:34Z</dc:date>
    </item>
  </channel>
</rss>

