求教R语言处理高频数据
答案:2 悬赏:80 手机版
解决时间 2021-02-15 20:07
- 提问者网友:十年饮冰
- 2021-02-15 13:25
求教R语言处理高频数据
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-02-15 14:41
1、打开一个空白excel工作表,打开vba编辑器(点击菜单:工具 -> 宏 -> visual basic编辑器):
2、插入模块(点击vba编辑器菜单:插入 -> 模块):
3、将以下代码复制/粘贴到代码窗口中:
function callopt(stock, exercise, maturity, rate, volatility) as double
d1 = (log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * sqr(maturity))
d2 = d1 - volatility * sqr(maturity)
callopt = stock * application.normsdist(d1) - exercise * exp(-rate * maturity) * application.normsdist(d2)
end function
function putopt(stock, exercise, maturity, rate, volatility) as double
d1 = (log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * sqr(maturity))
d2 = d1 - volatility * sqr(maturity)
putopt = exercise * exp(-rate * maturity) * application.normsdist(-d2) - stock * application.normsdist(-d1)
end function
粘贴完成后如下图:
3、关闭“visual basic 编辑器”窗口,回到工作表。此时若查看函数列表,可看到在“用户定义”类别中增加了两个函数,callopt和putopt:
=callopt(stock,exercise,maturity,rate,volatility) 用于计算认购权证的理论价格;
=putopt(stock,exercise,maturity,rate,volatility) 用于计算认沽权证的理论价格。
两个函数都是需要5个变量,依次为:
stock-正股现价;
exercise-权证行权价;
maturity-权证剩余期限(折算成年,在excel中=(到期日-当前日)/365);
rate-无风险利率(一般取国债的年收益率);
volatility-波动率(一般取正股最近3个月的历史波动率);
现在只需要在单元格中输入函数名并依顺序输入各变量,就可轻而易举的算出权证理论价格了。若还有不明白的,请将下表复制/粘贴到工作表“a1”单元格中试试看。
最后将该excel文件保存起来。记住,以后每次打开该文件,都会出现以下的安全警告,记得一定要点选“启用宏”,否则自定义函数将不能使用。
2、插入模块(点击vba编辑器菜单:插入 -> 模块):
3、将以下代码复制/粘贴到代码窗口中:
function callopt(stock, exercise, maturity, rate, volatility) as double
d1 = (log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * sqr(maturity))
d2 = d1 - volatility * sqr(maturity)
callopt = stock * application.normsdist(d1) - exercise * exp(-rate * maturity) * application.normsdist(d2)
end function
function putopt(stock, exercise, maturity, rate, volatility) as double
d1 = (log(stock / exercise) + (rate + (volatility ^ 2) / 2) * maturity) / (volatility * sqr(maturity))
d2 = d1 - volatility * sqr(maturity)
putopt = exercise * exp(-rate * maturity) * application.normsdist(-d2) - stock * application.normsdist(-d1)
end function
粘贴完成后如下图:
3、关闭“visual basic 编辑器”窗口,回到工作表。此时若查看函数列表,可看到在“用户定义”类别中增加了两个函数,callopt和putopt:
=callopt(stock,exercise,maturity,rate,volatility) 用于计算认购权证的理论价格;
=putopt(stock,exercise,maturity,rate,volatility) 用于计算认沽权证的理论价格。
两个函数都是需要5个变量,依次为:
stock-正股现价;
exercise-权证行权价;
maturity-权证剩余期限(折算成年,在excel中=(到期日-当前日)/365);
rate-无风险利率(一般取国债的年收益率);
volatility-波动率(一般取正股最近3个月的历史波动率);
现在只需要在单元格中输入函数名并依顺序输入各变量,就可轻而易举的算出权证理论价格了。若还有不明白的,请将下表复制/粘贴到工作表“a1”单元格中试试看。
最后将该excel文件保存起来。记住,以后每次打开该文件,都会出现以下的安全警告,记得一定要点选“启用宏”,否则自定义函数将不能使用。
全部回答
- 1楼网友:末日狂欢
- 2021-02-15 15:14
library(amap)
x = read.csv("input.csv",header=T)
x=as.dist(x)
hc = hcluster(x,method = "euclidean", link="complete")
labels=hc$labels
height=hc$height
merge=hc$merge
png("hc.png",width = 10,height = 5,res = 300,units="in")
plot(hc)
dev.off()
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯