在 http://uqer.io 中经过前几日的学习,我们已经熟悉了Python中一些常用数值计算库的用法。本篇中,作为Quant中的Q宗(P Quant 和 Q Quant 到底哪个是未来?),我们将尝试把之前的介绍的工具串联起来,小试牛刀。
您将可以体验到:
- 如何使用python内置的数学函数计算期权的价格;
- 利用
numpy
加速数值计算;- 利用
scipy
进行仿真模拟;- 使用
scipy
求解器计算隐含波动率;穿插着,我们也会使用
matplotlib
绘制精美的图标。
1. 关心的问题
我们想知道下面的一只期权的价格:
- 当前价
spot
: 2.45 - 行权价
strike
: 2.50 - 到期期限
maturity
: 0.25 - 无风险利率
r
: 0.05 - 波动率
vol
: 0.25
关于这样的简单欧式期权的定价,有经典的Black - Scholes [1] 公式:
其中S为标的价格,K为执行价格,r为无风险利率,τ=T−t为剩余到期时间。 N(x)为标准正态分布的累积概率密度函数。Call(S,K,r,τ,σ)为看涨期权的价格。
观察上面的公式,需要使用一些数学函数,我们把它分为两部分:
-
log
,sqrt
,exp
,这三个函数我们可以从标准库math
中找到 - 标准正态分布的累计概率密度函数,我们使用
scipy
库中的stats.norm.cdf
函数
我们可以使用这个函数计算我们关注期权的结果:
2. 使用numpy加速批量计算
大部分的时候,我们不止关心一个期权的价格,而是关心一个组合(成千上万)的期权。我们想知道, 随着期权组合数量的增长,我们计算时间的增长会有多块?
2.1 使用循环的方式
从下图中可以看出,计算时间的增长可以说是随着组合规模的增长线性上升。
2.2 使用numpy向量计算
numpy
的内置数学函数可以天然的运用于向量:
利用 numpy
的数学函数,我们可以重写原先的计算公式 call_option_pricer
,使得它接受向量参数。
再观察一下计算耗时,虽然时间仍然是随着规模的增长线性上升,但是增长的速度要慢许多:
相关推荐
-
gs-quant:用于量化金融的Python工具包
GS Quant是用于量化金融的Python工具包,是在全球最强大的风险转移平台之一的基础上创建的。 旨在加速定量交易策略和风险管理解决方案的开发,具有在全球市场中25年的丰富经验。 它是由高盛的定量开发人员(数量)...
-
量化分析师的Python日记【Q Quant 之初出江湖】
本篇中,作为Quant中的Q宗(P Quant 和 Q Quant 到底哪个是未来?),我们将尝试把之前的介绍的工具串联起来,小试牛刀。 您将可以体验到: 如何使用python内置的数学函数计算期权的价格;利用 numpy 加速...
-
Python--量化分析师的Python日记【第7天:Q Quant 之初出江湖】
来源:https://uqer.io/community/share/5514fc98f9f06c8f33904449
-
python量化分析系列(第一篇)_量化分析师的 Python 日记 [第 1 天:谁来给我讲讲 Python?]...
45 条回复 • 2016-05-25 11:10:23 +08:0012015-04-08 21:42:42 +08:00这里竟然有Quant22015-04-08 22:49:51 +08:00这个不是数学,物理 PHD 干得活嘛?32015-04-08 22:59:12 +08:00 1最近准备写一个《Python for ...
-
量化分析师的Python日记【第2天:再接着介绍一下Python呗】
上篇(链接附在文末)学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数、循环和条件、类,这样才算对Python有一个大致的了解。今天的学习大纲如下:
-
量化分析师的Python日记 系列
量化分析师的Python日记 系列 转发,原作者 薛昆Kelvin 为方便学习,整理一下学习材料。持续更新。 【第1天:谁来给我讲讲Python?】 https://uqer.io/community/share/54c89443f9f06c276f651a52 【第2天:再接着...
-
量化分析师的Python日记【Q Quant兵器谱之偏微分方程2】
这是量化分析师的偏微分方程系列的第二篇,在这一篇中我们将解决上一篇显式格式留下的稳定性问题。本篇将引入隐式差分算法,读者可以学到: 隐式差分格式描述三对角矩阵求解如何使用scipy加速算法实现 在完成...
-
量化分析师的Python日记【Q Quant兵器谱之二叉树】
通过之前几天的学习,Q Quant们应该已经熟悉了Python的基本语法,也了解了Python中常用数值库的算法。到这里为止,小Q们也许早就对之前简单的例子不满意,希望能在Python里面玩票大的!Ok,我们这里引入一个不怎么像...
-
量化分析师的Python日记【Q Quant兵器谱之函数插值】
在本篇中,我们将介绍Q宽客常用工具之一:函数插值。接着将函数插值应用于一个实际的金融建模场景中:波动率曲面构造。
-
量化分析师的Python日记【Q Quant兵器谱 -之偏微分方程1】
如何提一个偏微分方程的初边值问题;利用差分格式将偏微分方程离散化;显示差分格式;显示差分格式的条件稳定性。 最后一点将作为伏笔,引出我们下一天的学习:无条件稳定格式。 1. 热传导方程 我们...
-
hikyuu:Hikyuu Quant Framework基于C ++ Python的开源量化交易研究框架
Hikyuu Quant Framework是一个基于C ++ / Python的开源量化交易研究框架,用于策略分析及回测(仅在以上数据,因为数据也可用于期货等)。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易摘要为由市场...
-
量化分析师的Python日记【Q Quant兵器谱之偏微分方程3的具体金融学运用】
本篇中我们将把第11天学习到的知识应用到这个金融学的具体方程之上! import numpy as np import math import seaborn as sns from matplotlib import pylab from CAL.PyCAL import * font.set_size(15)
-
quantstats:用Python编写的量化指标投资组合分析
QuantStats:量化指标的投资组合分析QuantStats Python库执行投资组合分析,通过向量化分析人员和投资组合管理人员提供深入的分析和风险指标,使他们更好地了解其绩效。QuantStats包含3个主要模块: quantstats....
-
gcandle:quant framework 本地量化交易策略框架
可以做什么使用本框架可以轻松开发出你自己的量化模型。设计良好的API可以让你专注于交易模型的开发,最大限度减小无关的工作量。请看示例项目。本框架包含数据下载,指标开发,策略回测分析的完整功能。实盘交易暂...
-
pythondict-quant:基于Backtrader的定量示例
量化投资实战教程 —— Python实用宝典许多技术投资方面的教材,经常会用几幅上涨的图来表明某些指标的用处,实际上那些上涨的图很可能只是假象。作者为了证明他所强调的指标的作用,选定了符合该指标策略的股票上升...
-
【量化】4天学会python机器学习与量化交易-笔记4(p21~p25)
文章目录p21 因子数据的标准化处理p22 市值中心化处理介绍p23 案例:市值中性化实现以及回测选股结果p24 市值中心化结果总结分析p25 总结 平台:https://www.ricequant.com/quant api1:...
-
quant-python:读<量化投资-以Python为工具>笔记以及测试用源代码
定量python 读<量化投资-以Python为工具>笔记以及测试用源代码
-
python 量化交易 库_Quant-trading:Python量化交易策略库
Quant-tradingIntroWe’re right 50.75 percent of the time... but we’re 100 percent right 50.75 percent of the time, you can make billions that way.--- Robert Mercer, co-CEO of Renaissance ...
-
658604+python-quant-uqer.pdf
想学金融的程序员,读了金融觉得没什么用想学点技术装逼的金融人,这本教程就是为你们准备得,这里可以学到量化领域里最需要的硬核知识,同时有没有特别多的理论绕来绕去,一切都是实际操作需要的东西,同时也是应用...
-
【量化】4天学会python机器学习与量化交易-笔记2(p16~p20)
平台:https://www.ricequant.com/quant/#?tag=algorithm-ol&id=1339040 api1:https://www.ricequant.com/doc/rqdata-institutional#research-API-get_fundamentals api2:https://www.ricequant.com/doc/api/pyth