基于PCA算法与N-S模型的债券数据分析系统的设计毕业论文
2020-04-12 09:03:52
摘 要
21世纪是计算机行业与金融行业蓬勃发展的黄金时代,我国的债券交易产业也在进入21世纪之后发展得如火如荼。然而随着金融产业的发展,债券交易市场越来越具有复杂性,许多不可预知的风险威胁着债券交易市场。传统的金融知识以及金融工具已经很难再保障债券交易的安全性,这就需要使用新的工具、新的方法来为债券交易进行保驾护航。金融知识中运用了许多的数理统计、线性代数与概率论知识,计算的过程中还需要采集大量的历史数据进行分析和推断,人工计算往往会事倍功半,但是计算机与大数据概念的出现,使得金融问题的解决有了更高效的方案。本文针对债券交易中的定价与风险等实际问题,设计并实现了基于PCA算法和Nelson-Siegel模型的债券数据分析系统。本文主要实现了以下功能:
- 通过PCA主成分分析方法研究债券标准期限结构,提取出了3个主成分,计算出了三个主因子对固定收益产品价值波动的贡献度,并分析了这些主因子对债券期限结构的影响。
- 通过蒙特卡洛模拟法计算了给定债券的在险价值(风险价值),使得用户对于债券的投资风险有了直观的概念。
- 结合插值法实现了Nelson-Siegel模型对债券收益率曲线的拟合功能,使得用户能够拟合自定义的收益率曲线。
- 使用Python爬虫获取债券交易数据,实现了用户自定义收益率数据的收集。通过Web前端技术结合Node Express代理和MongoDB数据库实现软件开发,为用户提供数据展示、数据查询、曲线拟合、PCA分析、VaR计算等功能。
本设计所研究的成果是一款债券数据分析软件,具有数据收集、主成分分析、风险价值计算、曲线拟合和定价估测等功能。使用这款软件,用户可以较为方便的查看某支债券的定价走势,以及未来具有的风险价值,给用户的投资提供了一定的参考。
关键词:收益率曲线;Nelson-Siegel;PCA;Monte Carlo
Abstract
The 21st century is the golden age for the booming development of the computer industry and financial industry. China's bond trading industry is also developing rapidly after entering the 21st century. However, with the development of the financial industry, the bond trading market is increasingly complex, and many unpredictable risks threaten the bond trading market. Traditional financial knowledge and financial instruments can no longer guarantee the security of bond transactions. This requires the use of new tools and new approaches to protect bond transactions. Many mathematical statistics, linear algebra and probability theory knowledge are used in financial knowledge. In the process of calculation, a large amount of historical data needs to be collected for analysis and inference. Artificial calculations often work harder, but the emergence of computers and big data concepts makes finance The solution to the problem has a more efficient solution. This paper aims at practical issues such as pricing and risk in bond trading. It designs and implements a bond data analysis system based on PCA algorithm and Nelson-Siegel model. This paper mainly implements the following functions. :
- Studying the principal structure of bonds using PCA principal component analysis method, extract three principal components, calculate the contribution of the three principal factors to the value fluctuation of fixed income products, and analyze the principal components of the bond term structure. Impact.
- Calculating the value at risk (risk value) of a given bond through the Monte Carlo simulation method, so that the user has an intuitive concept of the investment risk of the bond.
- The interpolation function is used to achieve the fitting function of the Nelson Siegel model to the bond yield curve, so that the user can fit a customized yield curve.
- Using Python crawler to obtain bond transaction data, and achieve the collection of user-defined yield data. Combining Node Express agent and MongoDB database with Web front-end technology to realize software development, provide users with data display, data query, curve fitting, PCA analysis, and risk value calculation.
The achievement of this design is a bond data analysis software with functions of data collection, principal component analysis, risk value calculation, curve fitting and pricing estimation. Using this software, users can more easily view the pricing trend of a bond, as well as the future value of the risk, to provide a certain reference for the user's investment.
Keywords: Yield curve; Nelson-Siegel; PCA; Monte Carlo
目 录
第1章 绪论 1
1.1 研究背景 1
1.2 研究目的和意义 1
1.3 国内外研究现状 2
1.4 研究内容 3
1.5 论文基本结构 3
第2章 软件算法研究 5
2.1 PCA算法 5
2.1.1 算法介绍 5
2.1.2 PCA研究中国国债 6
2.1.3 PCA综合研究与结论 10
2.2 Nelson-Siegel模型 13
2.2.1 曲线拟合的概念及目的 13
2.2.2 曲线拟合方法及模型的选择 15
2.2.3 Nelson-Siegel模型的优点 19
2.2.4 Nelson-Siegel模型的实际拟合效果 20
2.3 Monte Carlo模拟法计算VaR 22
2.3.1 VaR的产生 22
2.3.2 VaR的概念 23
2.3.3 VaR的计算 23
2.3.4 实证分析 25
第3章 总体设计方案 28
3.1 总体功能设计 28
3.2 总体架构设计 28
3.3 总体开发流程 30
3.4 总体解决方案 31
第4章 前端程序设计 33
4.1 界面设计 33
4.2 模块选用 33
4.3 路由设计 34
4.4 页面效果 35
第5章 后端程序设计 39
5.1 Python程序设计 39
5.1.1 爬取数据 39
5.1.2 处理数据 42
5.1.3 分析数据 44
5.2 Node程序设计 49
5.2.1 搭建服务器 50
5.2.2 开发后台接口 51
5.2.3 查询数据 52
5.2.4 运行Python脚本 53
5.3 数据库设计 53
第6章 总结与展望 55
6.1 总结 55
6.2 展望 56
参考文献 57
致 谢 58
第1章 绪论
贵阳高登世德金融科技公司是中国资产证券化行业内顶尖的金融科技公司,主要负责为金融机构设计资产证券化产品以及优化证券化产品的评级优化,而在这家公司的实习促进了这个毕业设计的诞生,公司的客户需要一款能够实现债券数据采集、分析、期限结构影响因子挖掘以及在险价值计算的软件,所以这个毕业设计的主要目的就是设计一款符合客户需求的债券分析软件。
1.1 研究背景
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。