FinancialDerivative 与 FinancialData 组合使用为衍生产品定价
将 FinancialData 与 FinancialDerivative 结合使用可以为衍生产品定价。以美国标准普尔500指数中一个看跌期权的价格计算为例。首先,采集该指数的收盘价:
sp500data = FinancialData["SP500", {{2011, 1, 20}, {2011, 4, 23}}];
FinancialData 返回一个数对的列表。数对中的两个值分别表示日期和当日指数的收盘价。利用 FinancialDerivative,可以写一个函数,计算 sp500data
的期权的价格。
americanPutPrice[{date_, currentPrice_}] :=
FinancialDerivative[{"American", "Put"}, {"StrikePrice" -> 1190,
"Expiration" -> {2011, 9, 20}}, {"CurrentPrice" -> currentPrice,
"Dividend" -> 0.03, "Volatility" -> 0.4, "InterestRate" -> 0.05,
"ReferenceTime" -> date}]
将价格函数映射到数据,返回每日期权值的列表。
putPrice = Map[americanPutPrice, sp500]
然而,该列表并不包含原始数据中的日期。而日期是金融绘图函数,如 RenkoChart 等所必需的。并且输入中的每个元素必须成对,其中第一个值是日期,第二个值是该美式期权的价格。通过运算 sp500[[All, 1]
把原始数据源中的日期提出,并利用 Transpose 函数将日期与期权值列表交错组合成对。
Transpose[{sp500[[All, 1]], putPrice}]
RenkoChart 可以将其作为输入使用。
RenkoChart[Transpose[{sp500[[All, 1]], putPrice}]]
将 FinancialData 与 FinancialDerivative 结合使用可以为衍生产品定价。例如,计算美国标准普尔500指数中一个看跌期权的价格,首先,采集该指数的收盘价。
1-800-WOLFRAM (+1-217-398-0700 美国境外用户)
客服支持
周一至周五
8am–5pm 美国中部时区
- 产品注册或激活
- 预售信息和订单
- 安装帮助和首次启动
高级技术支持 (面向特定用户)
周一至周四
8am–7pm 美国中部时区
周五
8:30–10am & 11am–5pm 美国中部时区
- 优先技术支持
- Wolfram 专家助理专员
- Wolfram 语言编程帮助
- 高级安装支持