这个作业是收集数据并计算对应的股票收益率

FE621 Computational Finance

第1部分。(20分)数据收集组件
1.编写一个函数(程序)以连接到源并下载数据
来自以下来源之一:
(a)GOOGLE财务
(b)雅虎财经
(c)彭博社
笔记。要获得额外的信誉,您可以上交代码以从以下位置下载数据
其他两个来源。请注意,该程序需要下载期权数据和权益数据。对于此问题(仅适用于
这个问题),您可以使用任何内置功能或工具箱
方便您的工作。数据必须是干净的(没有重复的值,只能进行一次交换,每一列都必须正确标记,换句话说,
合并)。
1个
注意彭博数据。对于彭博信息源,请访问
需要实验室中的彭博终端机。如果您使用彭博社
数据,您可以使用API​​自动在Excel中下载数据
并整理数据。但是,应使用
自动脚本。如果您使用R连接彭博数据,
一个有用的软件包是Rblpapi,但是还有其他软件包。为了
无法访问彭博终端的在线学生,
您可以阅读有关R中的quantmod软件包的信息,以下载yahoo
和谷歌数据自动。
红利(5分)创建可以下载多个文件的程序
资产,将它们与关联的时间列结合在一起,然后保存
数据导入到csv或excel文件中。
2.使用在问题1中创建的功能,在两个选项上下载数据
以及下列符号的权益:
•AMZN
•间谍
•VIX
在交易期间连续两天(无论何时)
一天(上午9:30至下午4:00)。请记录资产值(均为AMZN
和SPY)。请同样做
与VIX。请注意,传统上,选项会逐渐成熟
该月的第三个星期五,但是我们现在有每周的选择
每周的星期五到期。您应该下载所有选项
连锁店,直到从您购买日期起两到三个月内到期的连锁店
正在下载。请舍弃您本周到期的期权
正在下载,因为其波动率值与波动率值有很大不同
在其他几周内。
我们将连续两天收集的数据集称为
DATA1(第一天)和DATA2(第二天)
在整个作业过程中以及以后的工作中。
3.编写一段描述您要为其下载数据的符号的段落。
解释什么是SPY及其目的。 (提示:查找定义
ETF)。解释什么是VIX及其目的。了解如何
2
选项的符号已创建。您可以确定期权的到期时间吗
从股票行情?写下并上交该信息。
4.还需要记录以下各项:
•相关股票或ETF的确切价格
其余数据将下载。
•可在此处获得的短期利率
网站上发布了很多费率-都是每年一次,
百分比,需要将其转换为数字。没有理论上的建议可以使用,我曾经使用3个月
不再可用的国库券。从那以后我有
一直使用“联邦资金(有效)”汇率,但您可以
继续尝试其他人。您应该记住要保持一致
你的选择。另外,请确保您使用的利率是
您用于隐含波动率的数据的当天
已收集,请注意,数据通常以百分比引用(您将需要数字)。同一站点有到过去的链接
(历史)利率。
•成熟时间。
Part 2. (50 points) Analysis of the data.
5. Using your choice of computer programming language implement the
Black-Scholes formulas as a function of current stock price S0, volatility
σ, time to expiration T − t (in years), strike price K and short-term
interest rate r (annual). Please note that no toolbox function is allowed
but you may use the normal cumulative distribution function (CDF)
calculation.
6. Implement the Bisection method to find the root of arbitrary functions.
Apply this method to calculate the implied volatility on the first day
you downloaded (DATA1). For this purpose use as the option value the
average of bid and ask price if they both exist (and if their corresponding volume is nonzero). Also use a tolerance level of 10−6
. Report the
implied volatility at the money (for the option with strike price closest
to the traded stock price). You need to do it for both the stock and the
3
ETF data you have (you do not need to do this for VIX). Then average
all the implied volatilities for the options between in-the-money and
out-of-the-money.
Note. There is no clearly defined boundary between options at-themoney and out-of-the-money or in-the-money options. If we define
moneyness as the ratio between S0 the stock price today and K the
strike price of the option some people use values of moneyness between
0.95 and 1.05 to define the options at the money. Yet, other authors
use between 0.9 and 1.1. Use these guidelines if you wish to determine
which options’ implied volatilities should be averaged.
7. Implement the Newton method/Secant method or Muller method to
find the root of arbitrary functions. You will need to discover the formula for the option’s derivative with respect to the volatility σ. Apply
these methods to the same options as in the previous problem. Compare the time it takes to get the root with the same level of accuracy.
8. Present a table reporting the implied volatility values obtained for every
maturity, option type and stock. Also compile the average volatilities
as described in the previous point. Comment on the observed difference
in values obtained for AMZN and SPY. Compare with the current value
of the VIX. Comment on what happens when the maturity increases.
Comment on what happen when the options become in the money
respectively out of the money.
9. For each option in your table calculate the price of the different type
(Call/Put) using the Put-Call parity (please see Section 4 from [?]).
Compare the resulting values with the BID/ASK values for the corresponding option if they exist.