我有一个数据框,它有4000多列和3000行。列是公司和行有每日股票收盘价格。这些数据缺少值,但由于数据的性质,这些数据不能被删除。 现在,我想计算这些每日股票收盘价格观察的简单回报和每月回报。我每天观察15年。 作为,简单的回报率=(今天的价格/昨天的价格)-1 月度回报率=(价格为月/价格的最后一个营业日previousmonth的最后一个工作日)-1从日常股票价格观测数据R中获取的简单回报和月报表
我说明我的数据帧,前两月从15年的数据
Date A B C D
30/12/1999 79.5 325 NA 961
04/01/2000 79.5 325 NA 961
05/01/2000 79.5 322.5 NA 945
06/01/2000 79.5 327.5 NA 952
07/01/2000 79.5 327.5 NA 941
10/01/2000 79.5 327.5 NA 946
11/01/2000 79.5 327.5 NA 888
12/01/2000 79.5 331.5 NA 870
13/01/2000 79.5 334 NA 853
14/01/2000 79.5 334 NA 834
17/01/2000 94.5 350 NA 799
18/01/2000 95.5 351.5 NA 770
19/01/2000 94.5 352.5 NA 763
20/01/2000 97.5 352.5 NA 730
21/01/2000 97.5 352.5 NA 765
24/01/2000 97.5 352.5 NA 743
25/01/2000 97.5 352.5 NA 737
26/01/2000 97.5 352.5 NA 777
27/01/2000 97.5 351.5 NA 800
28/01/2000 96.5 350 NA 770
31/01/2000 96.5 350 NA 747
01/02/2000 101.5 350 NA 719
02/02/2000 118.5 350 NA 723
03/02/2000 117 350 NA 732
04/02/2000 117 350 NA 673
07/02/2000 117 317.5 NA 671
08/02/2000 117 313.5 NA 665
09/02/2000 117 312.5 NA 655
10/02/2000 114.5 318.5 NA 684
11/02/2000 114.5 326.5 NA 655
14/02/2000 111 337.5 NA 634
15/02/2000 111 337 NA 647
16/02/2000 111 337 NA 666
17/02/2000 111 334.5 NA 713
18/02/2000 111 334.5 NA 726
21/02/2000 112 332.5 NA 714
22/02/2000 111 331.5 NA 653
23/02/2000 119 332.5 NA 658
24/02/2000 125 332.5 NA 646
25/02/2000 125 350.5 NA 633
28/02/2000 125 350.5 NA 645
29/02/2000 125 350.5 NA 711
希望的简易回报,以节省空间,我刚才提出了月度数据
所需出来Date A B C D
30/12/1999
04/01/2000 0 0 NA 0
05/01/2000 0 -0.01 NA -0.02
06/01/2000 0 0.02 NA 0.01
07/01/2000 0 0.00 NA -0.01
10/01/2000 0 0.00 NA 0.01
11/01/2000 0 0.00 NA -0.06
12/01/2000 0 0.01 NA -0.02
13/01/2000 0 0.01 NA -0.02
14/01/2000 0 0.00 NA -0.02
17/01/2000 0.19 0.05 NA -0.04
18/01/2000 0.01 0.00 NA -0.04
19/01/2000 -0.01 0.00 NA -0.01
20/01/2000 0.03 0 NA -0.04
所需的输出的某些部分
Month A B C D
Jan-00 0.21 0.076 NA -0.22
Feb-00 0.29 0.001 NA -0.04
'quantmod'有每日和每月返还功能此目的。 http://www.quantmod.com/documentation/periodReturn.html – ytk