freight rate_知道日波动率怎么算年波动率

freight rate_知道日波动率怎么算年波动率第12节EWMA估计日波动率12.1简介12.2EWMA估计波动率算法12.3算法Python代码实现12.4计算示例12.5参考资料12.1简介EWMA模型    考虑一市场变量,如股票,我们有其从第0天至第NNN天每天末的数据S0,S1,…,SNS_0,S_1,…,S_NS0​,S1​,…,SN​。定义σn\sigma_nσn​为于第n−1n-1n−1天末所估计的市场变量在第nnn天的波动率,σn2\

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

第12节 EWMA估计日波动率

12.1 简介

EWMA模型

        考虑一市场变量,如股票,我们有其从第0天至第 N N N天每天末的数据 S 0 , S 1 , . . . , S N S_0, S_1, …, S_N S0,S1,...,SN。定义 σ n \sigma_n σn 为于第 n − 1 n-1 n1天末所估计的市场变量在第 n n n天的波动率, σ n 2 \sigma_n^2 σn2为方差率。定义连续复利收益率 u n = ln ⁡ S n S n − 1 ≈ S n − S n − 1 S n u_n =\ln{\frac{S_n}{S_{n-1}}}\approx \frac{S_n-S_{n-1}}{S_n} un=lnSn1SnSnSnSn1
        则在指数加权移动平均模型 Exponentially Weighted Moving Average (EWMA) 模型下, σ n 2 \sigma_n^2 σn2的变化过程为:
σ n 2 = λ σ n − 1 2 + ( 1 − λ ) u n − 1 2 ,        0 < λ < 1    . \sigma_n^2 = \lambda \sigma_{n-1}^2+(1-\lambda)u_{n-1}^2, \;\; \; 0 < \lambda < 1\;. σn2=λσn12+(1λ)un12,0<λ<1.
σ n 2 \sigma_n^2 σn2也可以直接由 u i 2 u_i^2 ui2表示为:
σ n 2 = ( 1 − λ ) ∑ i = 1 m λ i − 1 u n − i 2 + λ m σ n − m 2 ,        1 < m < n    . \sigma_n^2 = (1-\lambda)\sum_{i=1}^m\lambda^{i-1}u_{n-i}^2+\lambda^m\sigma_{n-m}^2, \;\;\;1<m<n\; . σn2=(1λ)i=1mλi1uni2+λmσnm2,1<m<n.
相对于 σ n 2 \sigma_n^2 σn2的简单估计 σ n 2 = 1 m ∑ i = 1 m u n − i 2 \sigma_n^2 = \frac{1}{m}\sum_{i=1}^mu_{n-i}^2 σn2=m1i=1muni2,EWMA模型下, σ n 2 \sigma_n^2 σn2中每个 u i 2 u_i^2 ui2的权重随时间距离的增加而指数衰减。这里的 m m m都为一选定的截断距离。
        所以给定 S 0 , S 1 , . . . , S N S_0, S_1, …, S_N S0,S1,...,SN,我们可以先由 u n = S n − S n − 1 S n u_n=\frac{S_n-S_{n-1}}{S_n} un=SnSnSn1计算出 u 1 , u 2 , . . . , u N u_1, u_2, …, u_N u1,u2,...,uN,然后设初始日方差率 σ 2 2 = u 1 2 \sigma_2^2 = u_1^2 σ22=u12,由 σ n 2 = λ σ i − 1 2 + ( 1 − λ ) u i − 1 2 \sigma_n^2 = \lambda \sigma_{i-1}^2 +(1-\lambda)u_{i-1}^2 σn2=λσi12+(1λ)ui12,计算出 σ 2 2 , σ 3 2 , . . . , σ N + 1 2 \sigma_2^2, \sigma_3^2, …, \sigma_{N+1}^2 σ22,σ32,...,σN+12。即为EWMA模型给出的每天方差率/波动率的估计结果。

最大似然估计确定最佳 λ \lambda λ

       
在EWMA模型中只有一个自由未确定的变量 λ \lambda λ,我们希望 λ \lambda λ的选取可以使得 { σ i 2 } \{\sigma_i^2\} {
σi2}
的估计在某种定义下最优。这里我们假设每天的连续复利收益率 u i u_i ui的数据抽样取值在给定当天隐含方差率为 σ i ∗ 2 {\sigma_i^\ast}^2 σi2的情况下服从正态分布,对应概率密度函数 f ( u i ) = 1 σ i ∗ 2 π exp ⁡ − u i 2 2 σ i ∗ 2 = P ( u i ∣ σ i ∗ ) = p i f(u_i)= \frac{1}{\sigma_i^\ast\sqrt{2\pi}}\exp{-\frac{u_i^2}{2{\sigma_i^\ast}^2}}=\mathbb P(u_i\vert \sigma_i^\ast) = p_i f(ui)=σi2π
1
exp2σi2ui2=
P(uiσi)=pi
。考虑我们选取一个具体的 λ \lambda λ数值,由已知市场变量数据 S 0 , S 1 , . . . , S N S_0, S_1, …, S_N S0,S1,...,SN,我们先用EWMA模型计算出 σ 2 ( λ ) , σ 3 ( λ ) , . . . , σ N + 1 ( λ ) \sigma_2(\lambda), \sigma_3(\lambda), …, \sigma_{N+1}(\lambda) σ2(λ),σ3(λ),...,σN+1(λ),然后假如这些波动率即为对应日期隐含波动率 σ i ∗ \sigma_i^\ast σi,就可以计算出 p 2 , p 3 , . . . , p N p_2, p_3, …, p_N p2,p3,...,pN
记:
P ( λ ) = ∏ i = 2 N p i ( λ ) = ∏ i = 2 N P ( u i ∣ σ i ( λ ) )    . P(\lambda) = \prod_{i=2}^N p_i(\lambda) = \prod_{i=2}^N \mathbb P(u_i\vert \sigma_i(\lambda))\;. P(λ)=i=2Npi(λ)=i=2NP(uiσi(λ)).
        这里的 P ( λ ) P(\lambda) P(λ)可以解释为,在每天的 u i u_i ui服从独立正态分布的假设下,考虑EWMA模型时,当选取该 λ \lambda λ和初始条件 σ 2 = u 1 \sigma_2 = u_1 σ2=u1后,市场变量的连续复利收益率的历史数据正好为 u 1 , u 2 , . . . , u N u_1, u_2, …, u_N u1,u2,...,uN的概率,也可以记为 P ( u 1 , . . . , u N ∣ λ ) \mathbb P(u_1, …, u_N\vert \lambda) P(u1,...,uNλ)
        最大似然估计法的想法是选取使得该 P ( λ ) P(\lambda) P(λ)达到极大值的 λ \lambda λ作为模型的最优参数估计。即
λ = A r g max ⁡ λ P ( λ )    . \lambda = Arg\max_\lambda{P(\lambda)}\; . λ=ArgλmaxP(λ).
其中Arg max是”return the arguments that maximize the function”,即指计算出可以使后面方程值达到最大的参数。具体表示为
λ = A r g max ⁡ λ ∏ i = 2 N 1 σ i 2 π exp ⁡ − u i 2 2 σ i 2    . \lambda = Arg\max_\lambda {\prod_{i=2}^N\frac{1}{\sigma_i\sqrt{2\pi}}\exp{-\frac{u_i^2}{2\sigma_i^2}}}\;. λ=Argλmaxi=2Nσi2π
1
exp2σi2ui2
.

等价于,
λ = A r g min ⁡ λ ∑ i = 2 N [ ln ⁡ σ i 2 + u i 2 σ i 2 ]    . \lambda = Arg\min_\lambda {\sum_{i=2}^N\left[\ln{\sigma_i^2}+\frac{u_i^2}{\sigma_i^2}\right]}\;. λ=Argλmini=2N[lnσi2+σi2ui2].
并记 L ( λ ) = ∑ i = 2 N [ ln ⁡ σ i 2 + u i 2 σ i 2 ]    . \mathcal L (\lambda) = {\sum_{i=2}^N\left[\ln{\sigma_i^2}+\frac{u_i^2}{\sigma_i^2}\right]}\;. L(λ)=i=2N[lnσi2+σi2ui2].
由于这里希望确定的参数只有一个,我们可以通过穷举法简单地求出其最优值。

12.2 EWMA估计波动率算法

  1. 由已知数据 S 0 , S 1 , . . . , S N S_0, S_1, …, S_N S0,S1,...,SN,按 u i = S i − S i − 1 S i − 1 u_i =\frac{S_i-S_{i-1}}{S_{i-1}} ui=Si1SiSi1计算出 u 1 , u 2 , . . . , u N u_1, u_2, …, u_N u1,u2,...,uN
  2. [ 0 , 1 ] [0, 1] [0,1]区间内均匀地取 M M M个点,作为 λ \lambda λ的尝试取值, λ i = i M \lambda_i = \frac{i}{M} λi=Mi
  3. 计算出每个 λ i \lambda_i λi对应的 L ( λ i ) \mathcal L(\lambda_i) L(λi)
    1. σ 2 2 = u 1 2 \sigma_2^2=u_1^2 σ22=u12,由 λ i \lambda_i λi u 1 , u 2 , . . . , u N u_1, u_2, …, u_N u1,u2,...,uN,按照EWMA模型 σ n 2 = λ i σ n − 1 2 + ( 1 − λ i ) u n − 1 2 \sigma_n^2 = \lambda_i \sigma_{n-1}^2+(1-\lambda_i)u_{n-1}^2 σn2=λiσn12+(1λi)un12计算出 σ 2 , σ 3 , . . . , σ N \sigma_2, \sigma_3, …, \sigma_N σ2,σ3,...,σN
    2. L ( λ i ) = ∑ j = 2 N ( ln ⁡ σ j 2 + u j 2 σ j 2 ) \mathcal L(\lambda_i) = \sum_{j=2}^N(\ln{\sigma_j^2}+\frac{u_j^2}{\sigma_j^2}) L(λi)=j=2N(lnσj2+σj2uj2)计算出 L ( λ i ) \mathcal L(\lambda_i) L(λi)
  4. λ \lambda λ的最优估计值即为最小的 L ( λ i ) \mathcal L(\lambda_i) L(λi)所对应的 λ i \lambda_i λi

12.3 算法Python代码实现

import numpy as np

def EWMA(values, precision=1.e-3):
    # 由给定精确度确定划分格点数。
    M = int(1/precision)
    values = np.array(values)
    # 计算 {u_i}
    U = (values[1:]-values[:-1])/values[:-1]
    U_squared = U*U
    
    opt_lbd = None
    min_loss = float("inf")
    # 穷举找最优lambda
    for i in range(1, M):
        lbd = float(i)/M
        sigma_squared = U_squared[0]
        loss = 0
        for j in range(1, len(U_squared)):
            loss += np.log(sigma_squared)+U_squared[j]/sigma_squared
            sigma_squared = lbd * sigma_squared + (1-lbd)*U_squared[j]
        if loss < min_loss:
            min_loss = loss
            opt_lbd = lbd
    
    # 用最优lambda再计算出日方差率估计值。
    Vars = [0, U_squared[0]]
    for i in range(1, len(U_squared)):
        Vars.append(Vars[-1]*opt_lbd+(1-opt_lbd)*U_squared[i])
    
    return (Vars, opt_lbd)

Jetbrains全家桶1年46,售后保障稳定

12.4 计算示例

        我们考虑John Hull网站上的示例数据(欧元/美元汇率),原数据地址为John Hull网站上的原始示例数据 。这里用的是简化后的,欧元/美元汇率(在github, 可下载)

data = np.genfromtxt("EURUSDExchangerates.txt", skip_header=1, usecols=(1))
Vars, lbd = EWMA(data, precision=1.e-3)
print("EWMA最优lambda:", lbd)
EWMA最优lambda: 0.958

12.5 参考资料

  1. 《期权、期货及其他衍生产品》,John C. Hull 著,王勇、索吾林译。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234619.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 简单的有监督学习实例——简单线性回归[通俗易懂]

    简单的有监督学习实例——简单线性回归[通俗易懂]sklearn.linear_model.LinearRegression线性回归https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html首先,要创建一组数据,随机选取一组x数据,然后计算出它在2x-1这条线附近对应的数据,画出其散点图:#演示简单的线性回归i…

  • 启动计算机 gho文件,u盘里只有gho文件怎么重装win7系统图解

    启动计算机 gho文件,u盘里只有gho文件怎么重装win7系统图解u盘里只有gho文件怎么重装win7系统图解,windows7系统现在还是主流系统,有朋友的windows7系统出现问题了,现在u盘里只有gho文件怎么重装win7系统,这是他们遇到u盘怎么重装win7系统的问题了,那么就让小编分享一个u盘里只有gho文件怎么重装win7系统图解给大家吧。u盘里只有gho文件怎么重装win7系统步骤:工具/原料WIN7GHOST系统镜像(可以从网上下载)大于2G…

  • floyed 算法

    floyed 算法/**floyed是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径复杂度为O(n^3),适用于稠密图,顶点数一般在100以内适用结构简单,易于编写floyed算法还可解决传递闭包,判断图是否为连通图在解题时候一般不会只考floyed而是利用floyed得到的结果,进行下一步解题就像二分算法一样,提一

  • 小程序开发找不到appjson_appjson文件内容错误未找到

    小程序开发找不到appjson_appjson文件内容错误未找到编译报错-导入之前项目根目录下的project.config.json文件:{“description”:”AWePYproject”,”setting”:{“urlCheck”:true,”es6″:false,”postcss”:false,”minified”:false},”compileType”:”miniprogram”,”appid”:” wx4e367dd65dd063b6″,”pro.

    2022年10月12日
  • 活动图求最少时间和松弛时间

    活动图求最少时间和松弛时间一、介绍PERT(Program/ProjectEvaluationandReviewTechnique)即计划评审技术,PERT是利用网络分析制定计划以及对计划予以评价的技术。构造PERT图,需要明确四个概念:事件、活动、松弛时间和关键路线。1、事件(Events)表示主要活动结束的那一点;2、活动(Activities)表示从一个事件到另一个事件之间的过程;3…

  • 互联网医疗行业PEST分析实践「建议收藏」

    互联网医疗行业PEST分析实践「建议收藏」Python微信订餐小程序课程视频https://edu.csdn.net/course/detail/36074Python实战量化交易理财系统https://edu.csdn.net/course/detail/35475前言今年开始逐步切入产品与数据工作,完全脱离了原来的舒适区,确实有一些挑战。开始以为只做数仓建设的事情,就仓促的学习了一些数仓相关的知识,但没搞多久,还要负责公司BI的工作,又开始补习数分相关的知识。BI其实比数仓建设更有挑战性,数仓建设已经有非常成熟的体系了,市面上有很多

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号