首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以最快的方式在一个序列中填写缺失的日期?SAS

以最快的方式在一个序列中填写缺失的日期?SAS
EN

Stack Overflow用户
提问于 2022-08-08 18:14:00
回答 1查看 234关注 0票数 0

假设你下载股票或债券的数据,你有每个交易日的股票价格或收益。所以你有两个变量,股票价格(或者债券收益率)和日期。在使用前一个开放日作为那些缺失日的值时,将周末和假日添加到dates变量的最快方法是什么?

例如,如果是2022年7月1日,就会有一个股票价格,比方说100美元,相当于那个日期,但在长周末(7月4日),数据中没有观察到7月2日至4日的数据。在下一个交易日,即7月5日之前,你如何将股票价格等于100美元的日期相加?

我使用do循环创建日期,然后进行合并和保留,但我觉得应该有一个更快的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 18:26:32

您只需在DO循环中添加一个输出语句。最棘手的是下一次约会。下面是一个使用第二个SET语句的方法,该语句被一个观察结果所抵消。

代码语言:javascript
复制
data want;
  set have ;
  by date;
  set have(firstobs=2 keep=date rename=(date=next_date)) have(obs=0 drop=_all_);
  next_date = coalesce(next_date,date);
  do date=date to next_date;
    output;
  end;
run;

但你的真实数据可能有多只股票。因此,添加一些按组处理。

代码语言:javascript
复制
data want;
  set have ;
  by stock date;
  set have(firstobs=2 keep=date rename=(date=next_date)) have(obs=0 drop=_all_);
  if last.stock the next_date=date;
  do date=date to next_date;
    output;
  end;
run;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73282367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档