楼主: xuenesta
5120 3

[问题] 新手R语言中循环不出结果,但是手动输入可以出结果 [推广有奖]

  • 2关注
  • 2粉丝

副教授

22%

还不是VIP/贵宾

-

威望
0
论坛币
523 个
通用积分
68.2719
学术水平
6 点
热心指数
3 点
信用等级
0 点
经验
61706 点
帖子
384
精华
0
在线时间
781 小时
注册时间
2010-12-27
最后登录
2024-2-17

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
先贴一些写的代码library("RQuantLib")
read.csv("E:\\data\\sk.csv")

列表: data TOP.10.TRADED..BY.VOLUME. O.Q.P..CLOSE underlying strike
1     2013/9/2                         C          132      22175  22800
2     2013/9/3                         C          123      22395  23000
3     2013/9/4                         C          127      22326  23000
4     2013/9/5                         C          137      22598  23200
5     2013/9/6                         C          141      22621  25000
6     2013/9/9                         C           84      22751  23400
7    2013/9/10                         C          111      22977  23400
8    2013/9/11                         C          111      22937  23400
9    2013/9/12                         C          102      22954  23400
10   2013/9/13                         C          138      22915  23200
11   2013/9/16                         C          115      23252  23600
12   2013/9/17                         C           81      23181  23600
13   2013/9/18                         C           26      23117  24000
14   2013/9/19                         C           96      23503  23800
15   2013/9/25                         C           25      23210  23400
16   2013/9/26                         C           41      23125  23200
17   2013/9/27                         C            0      23207  23200
18   2013/9/30                         C          680      22860  23000
19   2013/10/2                         C           89      22984  23800
20   2013/10/3                         C          200      23214  23600
21   2013/10/4                         C           48      23139  24200
22   2013/10/7                         C          120      22974  23600
23   2013/10/8                         C           74      23179  24000
24   2013/10/9                         C           94      23034  23800
25  2013/10/10                         C          162      22951  23400
26  2013/10/11                         C           89      23218  23800
27  2013/10/15                         C          164      23337  23600
28  2013/10/16                         C          130      23228  23600
29  2013/10/17                         C           48      23095  23600
30  2013/10/18                         C          165      23340  23400
31  2013/10/21                         C           49      23438  23800
32  2013/10/22                         P           77      23316  23000
33  2013/10/23                         C           21      23000  23600
34  2013/10/24                         C           34      22836  23200
35  2013/10/25                         C           30      22698  23000
36  2013/10/28                         C           27      22807  23000
37  2013/10/29                         C           27      22847  23000
38  2013/10/30                         C            0      23304  23000
39  2013/10/31                         C          383      23206  23200
40   2013/11/1                         C           81      23250  24000
41   2013/11/4                         C           98      23190  23800
42   2013/11/5                         C           70      23039  23800
43   2013/11/6                         C          104      23037  23600
44   2013/11/7                         C           21      22881  24000
45   2013/11/8                         C           78      22744  23400
46  2013/11/11                         C          152      23070  23400
47  2013/11/12                         C          108      22901  23400
48  2013/11/13                         C           41      22464  23400
49  2013/11/14                         C           85      22649  23000
50  2013/11/15                         C          108      23032  23400
51  2013/11/18                         C          154      23660  24000
52  2013/11/19                         C           90      23658  24200
53  2013/11/20                         C           75      23701  24200
54  2013/11/21                         C           30      23580  24200
55  2013/11/22                         C           45      23696  24200
56  2013/11/25                         C           31      23684  24200
57  2013/11/26                         C           30      23681  24000
58  2013/11/27                         C           69      23806  23800
59  2013/11/28                         C            0      23789  24000
60  2013/11/29                         C          475      23881  23800
61   2013/12/2                         C          412      24039  24000
62   2013/12/3                         C          337      23910  24000
63   2013/12/4                         C           41      23729  25000
64   2013/12/5                         C          174      23713  24200
65   2013/12/6                         C          271      23743  24000
66   2013/12/9                         C           33      23811  25000
67  2013/12/10                         C          571      23744  24400
68  2013/12/11                         C           77      23338  24000
69  2013/12/12                         C           74      23218  23800
70  2013/12/13                         C          131      23246  23600
71  2013/12/16                         C           22      23115  24000
72  2013/12/17                         C          101      23069  23400
73  2013/12/18                         C          142      23144  23400
74  2013/12/19                         C           33      22889  23400
75  2013/12/20                         C           84      22812  23000
76  2013/12/23                         C           92      22922  23000
77  2013/12/24                         C           47      23180  23400
78  2013/12/27                         C           31      23243  23400
79  2013/12/31                         C          110      23490  24000
80    2014/1/2                         C           96      23340  24000
81    2014/1/3                         C           81      22817  23600
82    2014/1/6                         C           90      22684  23400
83    2014/1/7                         C          165      22713  23000
84    2014/1/8                         C          131      22997  23400
85    2014/1/9                         C           90      22787  23400
86   2014/1/10                         C          152      22846  23200
87   2014/1/13                         P           80      22889  22200
88   2014/1/14                         C           57      22791  23400
89   2014/1/15                         C          126      22902  23200
90   2014/1/16                         C          131      22986  24400
91   2014/1/17                         C           55      23133  23600
92   2014/1/20                         C           38      22929  23400
93   2014/1/21                         C           24      23033  23600
94   2014/1/22                         C           96      23082  23200
95   2014/1/23                         C           49      22734  23000
96   2014/1/24                         C           33      22450  22800
97   2014/1/27                         C            8      21976  22600
98   2014/1/28                         C           72      21961  22000
99   2014/1/29                         C            0      22142  22200
100  2014/1/30                         C          222      22035  22400
    risk.free.rate time.to.maturity
1           0.0087           0.1111
2           0.0087           0.1071
3           0.0087           0.1032
4           0.0087           0.0992
5           0.0087           0.0952
6           0.0087           0.0833
7           0.0087           0.0794
8           0.0087           0.0754
9           0.0087           0.0714
10          0.0087           0.0675
11          0.0087           0.0556
12          0.0087           0.0516
13          0.0087           0.0476
14          0.0087           0.0437
15          0.0087           0.0278
16          0.0087           0.0198
17          0.0087           0.0119
18          0.0087           0.3651
19          0.0087           0.1151
20          0.0087           0.1111
21          0.0087           0.1071
22          0.0087           0.0952
23          0.0087           0.0913
24          0.0087           0.0873
25          0.0087           0.0833
26          0.0087           0.0794
27          0.0087           0.0635
28          0.0087           0.0595
29          0.0087           0.0556
30          0.0087           0.0516
31          0.0087           0.0397
32          0.0087           0.0357
33          0.0087           0.0317
34          0.0087           0.0278
35          0.0087           0.0238
36          0.0087           0.0119
37          0.0087           0.0079
38          0.0087           0.0040
39          0.0087           0.1151
40          0.0686           0.1111
41          0.0686           0.0992
42          0.0686           0.0952
43          0.0686           0.0913
44          0.0686           0.0873
45          0.0686           0.0833
46          0.0686           0.0714
47          0.0686           0.0675
48          0.0686           0.0635
49          0.0686           0.0595
50          0.0686           0.0556
51          0.0686           0.0437
52          0.0686           0.0397
53          0.0686           0.0357
54          0.0686           0.0317
55          0.0686           0.0278
56          0.0686           0.0159
57          0.0686           0.0119
58          0.0686           0.0079
59          0.0686           0.0040
60          0.0686           0.1270
61          0.0750           0.1151
62          0.0750           0.1111
63          0.0750           0.1071
64          0.0750           0.1032
65          0.0750           0.0992
66          0.0750           0.0873
67          0.0750           0.4405
68          0.0750           0.0794
69          0.0750           0.0754
70          0.0750           0.0714
71          0.0750           0.0595
72          0.0750           0.0556
73          0.0750           0.0516
74          0.0750           0.0476
75          0.0750           0.0437
76          0.0750           0.0317
77          0.0750           0.0278
78          0.0750           0.0159
79          0.0750           0.1190
80          0.0619           0.1111
81          0.0619           0.1071
82          0.0619           0.0952
83          0.0619           0.0913
84          0.0619           0.0873
85          0.0619           0.0833
86          0.0619           0.0794
87          0.0619           0.0675
88          0.0619           0.0635
89          0.0619           0.0595
90          0.0619           0.2937
91          0.0619           0.0516
92          0.0619           0.0397
93          0.0619           0.0357
94          0.0619           0.0317
95          0.0619           0.0278
96          0.0619           0.0238
97          0.0619           0.0119
98          0.0619           0.0079
99          0.0619           0.0040
100         0.0006           0.1151

然后继续代码:

for(i in 1:length(d[,3]))
+ iv<-EuropeanOptionImpliedVolatility(type="call",value=d[i,3],underlying=d[i,4],strike=d[i,5],dividendYield=0,riskFreeRate=d[i,6],maturity=d[i,7],volatility=0.1)



root not bracketed: f[1e-007,4] -> [9.242558e+000,3.878750e+003],共有16个警告 (用warnings()来显示)

然后输出结果的时候,结果只能显示第1个到第16个的,其他都为0,但是我如果将数据手动输入函数之中,例如第17个,就可以得到0.129473的,而不为0的结果。

小弟完全R语言初学+自学者,希望大神可以指导一下是怎么回事。或者往哪方面思考。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 underlying maturity QuantLib warnings library

sk.xlsx

13.44 KB

沙发
思琴 在职认证  发表于 2014-4-4 00:16:07 |只看作者 |坛友微信交流群
如果可以上传你的数据的话,会更容易帮你的忙。
不好意思,没办法帮你在R里检查。但是,在你的循环中iv是不是应该写成iv[i], 把iv看做array。
Hope you can fix it.
不负如来 不负卿

使用道具

藤椅
xuenesta 发表于 2014-4-4 08:05:31 |只看作者 |坛友微信交流群
思琴 发表于 2014-4-4 00:16
如果可以上传你的数据的话,会更容易帮你的忙。
不好意思,没办法帮你在R里检查。但是,在你的循环中iv是不 ...
却是应该iv,在代码里面是iv的。附件已经上传了,csv的没办法上传,改成了xls格式了。谢谢前辈指导。

使用道具

板凳
cqbzxk 发表于 2015-8-12 11:09:18 |只看作者 |坛友微信交流群
这个不是循环的问题 ,是函数本身的问题


EuropeanOptionImpliedVolatility(type="call", value=11.10, underlying=100,
                                strike=80, dividendYield=0.01, riskFreeRate=0.03,
                                maturity=0.005, volatility=0.4)

当到期日非常小的时候,实值期权无法跑出结果

只能自己编写隐含波动的函数,用别人的不靠谱

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 14:44