Ac.F633-Python编程最终个人项目Ac.F633-用于数据分析的Python编程Manh Pham最终单项工程2024年3月20日中午/下午12点至2024年4月10日中午/中午12点(英国时间)本作业包含一个100分的问题,占这门课的总分。您需要向Moodle提交一个SINGLE.zip文件夹,其中包含一个Jupyter Notebook.ipynb文件或一个Python脚本.py文件,以及任何支持.csv文件(例如输入数据文件。但是,不包括“IBM 202001.csv.gz”数据文件,因为它很大,可能会减慢上传和提交的速度)和一份签名的课程封面。此文件夹的名称应为您的学生证或图书馆卡号(例如12345678.zip,其中12345678是您的学生ID)。在您的答案脚本中,无论是Jupyter Notebook.ipynb文件还是Python.py文件,您不必为每个任务重新键入问题。但是,您必须清楚地标记通过使用markdown单元格(对于.ipynb文件)或使用注释(例如#1.1或“'1.1”对于.py文件)。每个任务只提供一个答案。如果你有不止一个方法回答一个任务,选择一个你认为是最好和最有效的。如果一个任务提供多个答案,只有第一个答案会被标记。您的提交.zip文件夹必须由2024年4月10日中午/12点(英国时间)。不考虑提交电子邮件。如果您在上传和提交您的作品到Moodle时有任何问题,请发送电子邮件至Carole [email protected]截止日期前以获得您提交的帮助。以下处罚将适用于在指定提交日期:最多延迟3天-扣10分逾期超过3天-不予评分祝你好运1.Ac.F633-Python编程最终个人项目问题1:任务1:高频金融(∑=30分)数据文件“IBM 202001.csv.gz”包含的逐点交易数据股票IBM在2020年1月,与以下信息:字段定义DATE交易日期TIME M交易时间(从午夜开始的秒数)SYM 代 写Ac.F633数据分析项目 ROOT安全符号根执行交易的交易所SIZE事务大小PRICE交易价格NBO要价(全国最佳报价)NBB投标价格(全国最佳投标)NBOqty询问尺寸NBB数量投标规模BuySell Buy/Sell指标(1表示买入,-1表示卖出)将数据文件导入Python并执行以下任务:1.1:编写代码,按以下顺序执行以下筛选步骤:(15分)F1:删除具有交易价格、交易规模、要价的条目,要价、出价或出价大小≤0F2:删除买卖价差(即要价-出价)≤0的条目F3:(a)在同一日期时间执行的汇总条目(即“日期”和“时间M”),(b)在同一交易所执行,以及(c)的相同的买入/卖出指标,与中位数形成单一交易交易价格、中间要价、中间出价、总和交易大小、求和大小和求和大小。F4:删除买卖价差超过50倍的条目每日买卖价差中位数F5:删除交易价格高于询价的条目价格加上买卖价差,或低于投标价格减去买卖价差传播创建一个名为summary的数据帧,格式如下,显示通过上述每个过滤步骤去除的条目的数量和比例。比例(%)计算为删除的条目数除以按原始条目数(在任何筛选之前)。
4 F5数字部分这里,F1、F2、F3、F4和F5是对应于上述5的列过滤规则,“数量”和“比例”是数据的行索引框架2.Ac.F633-Python编程最终个人项目1.2:使用任务1.1中清理的数据,编写代码来计算Realized波动率(RV)、双功率变化率(BV)和截断的已实现波动率样本中每个交易日的(TRV)指标(在讲座中定义)使用不同的采样频率,包括1秒(1s)、2s、3s、4s、5s、10s,15秒、20秒、30秒、40秒、50秒、1分钟(1分钟)、2分钟、3分钟、4分钟、5分钟、6分钟、7分钟,8分钟、9分钟、10分钟、15分钟、20分钟和30分钟。所需输出为3数据帧RVdf、BVdf和TRVdf(用于实现的波动性、双功率变化和截断的已实现波动率),每个列为上述采样频率和行索引是中的唯一日期样品(10分)1.3:使用任务1.2中的结果,编写代码生成一个1乘3的子图形显示了RV、BV和TRV的“波动性特征图”。缩放(即相乘)在进行绘图时将RV、BVs和TRV乘以104。你的身材应该看起来与以下内容相似。
0 50
0 100
0 1500采样频率(秒)TRV特征图(5分)任务2:收益波动率建模(∑=25分)返回csv数据文件“DowJones-Feb2022.csv”,该文件列出了截至2月9日道琼斯工业平均指数的组成部分2022,在小组项目中进行了调查。将数据文件导入蟒蛇随机使用您的学生证或图书馆卡号(例如12345678)种子,从大疆指数中随机抽取2只股票(即股票行情)不包括库存DOW.1导入的每日调整后收盘(调整收盘)价格雅虎金融在2010年1月1日至2023年12月31日期间的两只股票。用NaN计算股票和下跌日的对数日回报率(%)返回。执行以下任务。2.1:使用2010年1月1日至2020年12月31日之间的数据作为样本数据,写入找到每只股票收益的最佳拟合ARMA(p,q)模型的代码使AIC最小化,其中p和q不大于3。打印最适合的ARMA(p,q)输出和一个类似于下面的语句。WBA的最佳拟合ARMA模型:ARMA(2,2)-AIC=11036.8642WMT的最佳拟合ARMA模型:ARMA(2,3)-AIC=8810.4277(5分)1DOW于2019年3月20日才开始交易3.Ac.F633-Python编程最终个人项目2.2:编写代码绘制一个2乘4的子图,其中包括任务2.1中找到的最佳拟合ARMA模型的以下诊断:第1行:(i)标准化残差的时间序列图,(ii)的直方图标准化残差,与核密度估计和标准正态分布的密度,(iii)标准化的ACF残差和(iv)平方标准化残差的ACF。第2行:第二只股票的子地块相同。你的数据应该与下面的股票样本相似。评论你从情节中观察到的内容。(6分)201
0 201
2 201
4 2016 2018 2020Ac.F633-Python编程最终个人项目上述指标越接近于零,预测就越准确。现在,编写代码来计算上述四个预测准确性度量最佳拟合ARMA(p,q)和AR(p)产生的一步收益预测-GARCH(pq)样品中每种库存的模型。对于每种库存,生产包含类似格式的预测准确性度量的数据帧到以下,列为上述四个精度的名称度量和索引是最适合的ARMA和AR-GARCH的名称模型梅梅梅梅ARMA(2,2)AR
(2)-GARCH(1,1)为您的股票样本打印类似于以下内容的对账单:对于WBA:ARMA(2,2)模型产生的小于AR
(2)-GARCH(1,1)的测度模型衡量AR
(2)-GARCH(1,1)模型产生的结果小于ARMA(2,2)型号:MAE、MSE、MAPE、MASE。(5分)3.6:使用5%的显著性水平,对每个样本进行Diebold Mariano测试库存您的样本,以测试是否由最佳拟合ARMA(p,q)和AR(p)-GARCH(pq)模型同样准确基于任务3.5中的三个准确性度量。对于每种库存,制作一个包含类似格式的预测准确性度量的数据帧以下内容:梅梅梅梅ARMA(2,2)AR
(2)-GARCH(1,1)DMmp值其中“DMm”是Harvey,Leybourne&Newbold(1997)修正的Diebold-Mariano检验统计量(在讲座中定义),“p值”是与DMm统计量相关的p值。得出并打印结论,最佳拟合的ARMA(p,q)模型是否产生同样准确、明显不准确的结果或比最佳拟合更准确的一步收益预测AR(p)-GARCH(pq)基于您股票的每一种精度测量的模型样品您的打印结论应类似于以下内容:对于WBA:模型ARMA(2,2)产生的一步返回精度明显较低预测优于基于MAE的AR
(2)-GARCH(1,1)模型。模型ARMA(2,2)产生的一步返回精度明显较低预测优于基于MSE的AR
(2)-GARCH(1,1)模型。模型ARMA(2,2)产生的一步返回精度明显较低预测优于基于MAPE的AR
(2)-GARCH(1,1)模型。模型ARMA(2,2)产生的一步返回精度明显较低与基于MASE的AR
(2)-GARCH(1,1)模型相比。(5分)7.Ac.F633-Python编程最终个人项目任务4:(∑=20分)这些标记将用于结构良好、使用直观的程序(即。提供足够的评论供我遵循,并且对我来说很简单以运行您的代码)、通用性(即,它们可以应用于不同的stocks(2个或更多))和优雅(即代码整洁,显示出一定程度的