楼主: lijiayao1370
1845 6

[问答] 关于插值和差分的问题,求助大佬,详情内戳 [推广有奖]

  • 0关注
  • 0粉丝

本科生

49%

还不是VIP/贵宾

-

威望
0
论坛币
508 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3136 点
帖子
11
精华
0
在线时间
164 小时
注册时间
2016-4-1
最后登录
2022-10-18

楼主
lijiayao1370 学生认证  发表于 2018-7-2 13:51:39 |AI写论文
20论坛币
字数有点多,求助各位大佬。图里是一个xts对象的list,数据是某只个股的净利润,由于以前的财报是半年报,没有一季度和三季度的,我想利用插值补齐这些数据。同时由于四季度的净利润是全年的净利润,包括前三个季度的净利润,所以我想将其按年分割,然后在每一年的四个季度数据里插值,插值后在一年的四个季度里差分,得到每个季度的净利润流量(例如本来二季度的净利润里包括一季度的净利润,这样我差分后得到实际第二个季度里公司的净利润),同时差分后保留第一个季度的值,不要变为NA值,最终得到一个只包含单个季度净利润的完整的时间序列。不知道我说清楚没有,还请大佬赐教。 微信截图_20180702134821.png

最佳答案

jgchen1966 查看完整内容

因为仅一个变量线性插补,用tidyverse中数据清理方法,实相当简单, 一将你数据转化为一个含三个变量的名为data的tibble型数集 :1是日期Date,2是股票代码code,3是利润profit 二:插补如下:假设年报数不缺 三:单季利润用 qprofit表示 ########## data%%group_by(code)%>%mutate(profit=if_else(month(Date)==1,lead(profit)/2, ## 一季报的为半年报的一半 ...
关键词:时间序列 季度数据 净利润 一季度 完整的

回帖推荐

jgchen1966 发表于2楼  查看完整内容

因为仅一个变量线性插补,用tidyverse中数据清理方法,实相当简单, 一将你数据转化为一个含三个变量的名为data的tibble型数集 :1是日期Date,2是股票代码code,3是利润profit 二:插补如下:假设年报数不缺 三:单季利润用 qprofit表示 ########## data%%group_by(code)%>%mutate(profit=if_else(month(Date)==1,lead(profit)/2, ## 一季报的为半年报的一半 ...

沙发
jgchen1966 发表于 2018-7-2 13:51:40
因为仅一个变量线性插补,用tidyverse中数据清理方法,实相当简单,
一将你数据转化为一个含三个变量的名为data的tibble型数集 :1是日期Date,2是股票代码code,3是利润profit
二:插补如下:假设年报数不缺  
三:单季利润用 qprofit表示
   ##########
   data%<>%group_by(code)%>%mutate(profit=if_else(month(Date)==1,lead(profit)/2,      ## 一季报的为半年报的一半
                                                                      if_else(month(Date)==4,lead(profit,n=2)/2,  ## 半年报为年报的一半
                                                                        if_else(month(Date)==7,(lag(profit)+lead(profit))/2,  ## 三季报为半年报与年报的平均
                                                                                    profit)))) %>%   ## 年报不变
         mutate(qprofit=if_else(month(Date)==1,profit, profit-lag(profit)))%>%ungroup()  ## 一季不变,其他单季利润为当季与前季之差
####  如果,你还想用xts 型数集,你可用as.xts
####
现在,复杂的问题是:如果对所有财务三表(含间接现金表)缺失的中期财报的科目,进行线性插补,该 如何编程?? 同时要关注二个问题:一是2006年会计准则大变,2007年中期报,不能用2006年年底报,而要用2007年年初表
    二是 一些财表实全缺或缺部分,但却被设置为0 ,需找出它们并设置为NA。。。
若一个个,按上面补太麻烦,因为有200多个科目、、
  
   
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
逐梦的太阳 + 10 + 5 + 5 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 5  热心指数 + 5   查看全部评分

藤椅
lijiayao1370 学生认证  发表于 2018-7-3 09:33:14
jgchen1966 发表于 2018-7-2 16:24
因为仅一个变量线性插补,用tidyverse中数据清理方法,实相当简单,
一将你数据转化为一个含三个变量的名 ...
      多谢大神,还有一个问题,因为只有前几年的数据是缺失一季度和三季度的,像您所说的方法,会不会把后面时间的一季度和三季度真实数据给覆盖了呀,求解

板凳
jgchen1966 发表于 2018-7-3 11:19:26
lijiayao1370 发表于 2018-7-3 09:33
多谢大神,还有一个问题,因为只有前几年的数据是缺失一季度和三季度的,像您所说的方法,会不会把 ...
    虽然不会,只要条件设置正确,但是,误写程序也是常有的事,安全的做法,只将想插补的部分取出(当然要包含其前后值),补缺,补完再与其他的结合。。这样,既较安全,又节省计算时间,尤其当数据集很大,但补的只是一小部分。。。当然,这有点编程的技巧。。
     

报纸
jgchen1966 发表于 2018-7-3 11:24:27
jgchen1966 发表于 2018-7-3 11:19
虽然不会,只要条件设置正确,但是,误写程序也是常有的事,安全的做法,只将想插补的部分取出(当然 ...
本人上面提供的程序中,漏缺了一个条件,希望你能自已补入此条件,就不会有你的担忧了,否则确实会“把后面时间的一季度和三季度真实数据给覆盖了”。。。哈,你瞧,忙中常会出错的。。因此,修补数据,必须,有验证方法,证明你是修补对的,否则,就不要轻易修补数据。。

地板
lijiayao1370 学生认证  发表于 2018-7-3 14:47:57
jgchen1966 发表于 2018-7-3 11:24
本人上面提供的程序中,漏缺了一个条件,希望你能自已补入此条件,就不会有你的担忧了,否则确实会“把后 ...
多谢大佬赐教,问题已经解决了。

7
liuchao3251 发表于 2018-7-3 14:59:48
这个问题好经典啊。

有没有大咖给帮助看下

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 23:26