赞
踩
如今Python语言的学习已经上升到了国家战略的层面上。Python语言是人工智能的基础语言,国家相关教育部门对于“人工智能普及”格外重视,不仅将Python列入到小学、中学和高中等传统教育体系中,并借此为未来国家和社会发展奠定了人工智能的人才培养基础,逐步由底层向高层推动“全民学Python”,从而进一步实现人工智能技术的推动和社会人才结构的更迭。
基于Python金融数据
量化分析实战教程
1
教程背景
近年来,金融领域的量化分析越来越受到理论界与实务界的重视,所谓金融量化,就是将金融分析理论与计算机编程技术相结合,更为有效的利用现代计算技术实现准确的金融资产定价以及交易机会的发现。
在量化金融的时代,选用一种合适的编程语言对于金融模型的实现是至关重要的。在这方面,Python语言体现出了不一般的优势,特别是它拥有大量的金融计算库,极大的缩短了金融量化分析的学习路径。
2
python在金融中应用的典型事例
(收藏后慢慢看)
讨论一些量化金融中的例子,显示使用Python以及其附属的金融分析库处理起来是多么方便。这些例子是描述性的,对于一些Python语言以及实际应用中的细节问题并不做过多介绍。本讲包括以下几个例子:
隐含波动率:不同到期期限期权的隐含波动率求解并作图,这是很多期权交易者以及风险管理者面对的一项日常任务。
MonteCarlo模拟:通过MonteCarlo模拟来得到一组随时间变化的股票指数,将选择的结果作图,并计算欧式期权的价值。MonteCarlo模拟方法是数值期权定价以及value-at-risk风险管理以及信用价值调整的基础。
技术分析:通过对历史时间序列的分析,完成对一项基于趋势信号的交易策略的回测,专业投资者以及激进的业余投资者通常都会进行这类型的投资分析。
3
示例演示-隐含波动率
(收藏后慢慢看)
隐含波动率
给定类似于Black-Scholes-Merton(1973)的期权定价公式,隐含波动率是指:在其他条件不变的情况下,通过将这个隐含波动率数值代入到公式中,可以得到不同的执行价格和期限的期权的市场报价。本例中,波动率不是代入到模型或公式中的一个输入参数,而是给定这个公式而得到的一个(数值)优化过程的结果。
这里我们考虑的例子是关于一项新的期权,即基于VSTOXX波动率指数的波动率期权。Eurex是提供基于VSTOXX和各种期货合同的衍生品交易市场,于2013年6月建立了一个综合化的Python为基础的关于这个指数以及基于此指数的衍生品合同的教程,称为”VSTOXXAdvanced Services”。
在讨论VSTOXX期权之前,我们首先回顾一下基于不付息标的欧式看涨期权的Black-Scholes-Merton公式。
这里,St 代表的资产在t 时刻的价格水平。σ 代表标的资产常数的波动率(即标准差),K 代表期权的执行价格,T 代表期权的到期期限,r 代表常数的无风险短期利率。
现在假设某项欧式看涨期权的报价C*已经给定,那么隐含波动率σ^imp是可以求解上述公式的波动率数值,即:
这个方程并没有显式解,这样需要使用列如Newton等数值方法来估计正确的解。最常用的是Newton方法,使用相关函数的一阶导数,直到达到了规定的迭代次数或者是某种精确性。对于某个初始值 σ^imp 和 0<n<∞:
期权定价公式关于波动率的一阶导数称为期权的Vega,由如下公式给出:
下面我们来分析一种特殊情形 t=0 条件下计算的python代码
当然在这个例子中我们还需要相关的期权报价,以及在我们的关于VSTOXX指数的欧式看涨期权中,我们还需要代码生成single implied volatilities。
T=0,参考日期我们取2014年3月31日,这一天指数的收盘价为 000=17.6639。假设无风险利率 r=0.01 。
其他参数都来自于期权数据以及需要进行计算获得。数据存储在pandas DataFrame对象中并保存在PyTables数据库文件中。我们需要将它读入内存。
这里之所以需要期货数据,是因为我们需要根据期权的远期moneyness来选择一组VSTOXX期权。在任意时刻交易的VSTOXX期货共有8种,到期日为下面8个月份的第三个星期五。在三月末,期货合同的到期期限是从4月的第三个星期五到11月的第三个星期五。
期权的数据集要更大一些,因为在任意给定的交易日,对于每个到期日,有很多看涨和看跌期权。但是这里到期日与期货是相同的。在2014年3月31日这一天,共有395份看涨期权。
从表中可以看出,交易的看涨期权中有非常实值的(指数的水平比期权执行价格高出很多),也有非常虚值的(即指数的水平比期权执行价格低很多)。因此,我们希望将分析限制在某种给定的(远期)moneyness水平上,给定分别期限的期货价值。假设我们允许期货水平上下50%的波动。
首先,我们定义新的一列来存储结果,并引入我们需要的函数。
现在我们计算看涨期权的隐含波动率。
接着,我们将所选择的期权的隐含波动率用图形表示出来,我们首先取隐含波动率大于0的子集(也就是我们进行了隐含波动率计算的子集)。
为了数据的可视化,我们对于数据集的所有到期日进行迭代,并且将隐含波动率做成线状图或者单点图。因为所有的到期日显示为多个时间,我们需要使用一点技巧来获得没有重复的,排序的日期列表。在Python中,set操作可以去掉重复项目,但是获得的是没有排序的期限集合。因此,我们还要对set进行排序。
接着我们对所有的日期进行迭代并作图。在这里可以看到一个明显的波动率微笑图形。而且对于长期的期权来说更为明显。
我们来看pandas另外一个强大的功能:对于按照逻辑索引的数据,DataFrame对象options_data都有一个整数的索引。但是这个索引是没有含义的,2014年3月31日交易的期权报价通过期限和执行价格来唯一描述,也就是说每个到期日的每个执行价格水平都对应着唯一的一个看涨期权。
Groupby方法可以得到一个更为有意义的索引,我们可以分别按照MATURITY和STRIKE进行索引。在这个例子中,我们只保留PRICE和IMP_VOL的列。这样的操作会返回一个DataFrameGroupBy对象,为了获得这个数据,我们需要对这个对象进行加总操作。
那么,今天我们就来教大家如何在融行业中使用Python量化分析到此结束,在这过程中能够了解python的功能强大。那么对python量化分析还想了解更多,推荐试听北风网python全栈开发工程师试学课:
部分经典项目操作截图
基于Python Web框架实现的商城项目
基于Python的微信公众平台开发
基于Django+Bootstrap+Mysql的创客网实战
Python数据分析 - 基于Python实现新闻 爬虫、豆瓣爬虫
Python数据分析 - 基于Python的Scrapy框架和案例需求分析
Python机器学习-手写数字识别
python量化分析
小编在此收集了全世界范围内各大行业最受欢迎的关于人工智能、大数据的学习资料以及课程,。希望小编能帮助到大家找到最适合自己的学习资源。
整理如下:
100G学习资料截图
61本机器人学习电子书、37本大数据电子书、30本人工智能电子书、26本深度学习电子书......各大课程视频、PPT帮助你全面了解行业知识,基础知识掌握必备。
由于资料太多,无法在此全部展示,需要这100G学习资料的同学可在【文末】自取哦!
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。