栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

波动率微笑图像详细解释_波动率微笑怎么画?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

波动率微笑图像详细解释_波动率微笑怎么画?

import numpy as np
import matplotlib.pyplot as  plt
import pandas as pd
from math import log, sqrt, exp
from scipy import stats


def draw_vola_smile(df,title):
    # 定义X轴,在值程度,原数据中没有
    df['Moneyness'] = df.apply(lambda x: x['StrikePrice'] / x['UnderlyingScrtClose'], axis=1)
    # 将原数据按照交易日划分,每个交易日形成一个IV曲线,在此之前已经将期权分为近月和远月,所以本数据一天中只交易相同到期日的期权,不同到期日的期权被分为不同的文件
    for data_key, group_df in df.groupby('TradingDate'):
        # 根据在值程度将IV排序,否则不会形成微笑形状
        well_df = group_df.sort_values(['Moneyness'], ascending=True)
        plt.plot(well_df['Moneyness'], well_df['ImpliedVolatility'], 'k', linewidth=0.2)# 调整曲线粗度
    plt.xlabel('Moneyness')
    plt.ylabel('ImpliedVolativity')
    plt.title(title)
    return plt.show()

if __name__ == '__main__':
    # 读取行情数据
    near_call_high = pd.read_csv(r'C:UsersheluxiaofuPycharmProjectspythonProject论文3.4波动率微笑近月看涨高情绪.csv',encoding='utf-8')
    near_call_low = pd.read_csv(r'C:UsersheluxiaofuPycharmProjectspythonProject论文3.4波动率微笑近月看涨低情绪.csv')

    draw_vola_smile(near_call_high,'near_call_high')
    draw_vola_smile(near_call_low,'near_call_low')




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号