金融期权定价的随机模型

vanilla-option-pricing的Python项目详细描述


普通期权定价

Build StatusCoverage StatusDocumentation Status

一个简单的python包,实现了对金融期权定价的随机模型。
模型及其参数的理论背景与综合解释 可以发现的是论文快速校准了能源期权定价的两因素模型 作者:Emanuele Fabbiani、Andrea Marziali和Giuseppe de Nicolao arXiv

安装

安装软件包的首选方法是使用pip, 但您也可以从源代码下载并安装软件包

使用pip安装软件包:

pip install vanilla_option_pricing

快速启动

让我们创建一个示例调用选项

fromdatetimeimportdatetime,timedeltafromvanilla_option_princing.optionimportVanillaOptionfromvanilla_option_princing.modelsimportBlackScholesfromvanilla_option_pricing.calibrationimportModelCalibrationoption=VanillaOption(spot=100,strike=101,dividend=0,date=datetime.today(),maturity=datetime.today()+timedelta(days=30),option_type='c',price=1,instrument='TTF')

我们可以计算隐含波动率并建立一个黑肖尔斯模型 有了它。当然,如果我们现在要求模特给这个选择定价,我们会 得到实物期权价格。

volatility=option.implied_volatility_of_undiscounted_pricemodel=BlackScholes(volatility).as_option_pricing_model()model_price=model.price_option_black(option)print(f'Actual price: {option.price}, model price: {model_price}')

我们还可以尝试根据 列出的选项。

data_set=[VanillaOption('TTF','c',date(2018,1,1),2,101,100,date(2018,2,1)),VanillaOption('TTF','p',date(2018,1,1),2,98,100,date(2018,2,1)),VanillaOption('TTF','c',date(2018,1,1),5,101,100,date(2018,5,31))]print(f'Implied volatilities: {[o.implied_volatility_of_undiscounted_price for o in data_set]}\n')model=BlackScholes(0.2).as_option_pricing_model()calibration=ModelCalibration(data_set)result,trained_model=calibration.calibrate_model(model)print(result)print(f'Calibrated implied volatility: {trained_model.parameters[0]}')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正在转储大量的DataInputStreams,这是一种糟糕的做法吗?   java Android应用程序图标未出现在应用程序列表中   java Spring引导和Thymeleaf错误:无法分析异常   java如何在安卓 studio中显示日期选择器   java的C++ Web框架   eclipse在搜索以下位置后未找到Java虚拟机:   java hibernate HQL日期差异   java为什么我打印三角形数字的代码不起作用?   java RecyclerView:未连接适配器;登录时跳过布局   为什么JavaJSON返回这个错误?显然是在JSON反序列化中,但我找不到它发生的确切位置   正则表达式java短语的多次出现   有人能解释一下这些java泛型方法的声明吗?   aws lambda java。lang.IllegalStateException:未找到InjectionManagerFactory