乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python金融大數(shù)據(jù)分析

       昵稱4742356 2019-04-19

      第10章 推斷統(tǒng)計學

      Python金融大數(shù)據(jù)分析——第10章 推斷統(tǒng)計學 筆記1
      Python金融大數(shù)據(jù)分析——第10章 推斷統(tǒng)計學 筆記2
      Python金融大數(shù)據(jù)分析——第10章 推斷統(tǒng)計學 筆記3

      10.4 風險測度

      10.4.1 風險價值

      風險價值(VaR)是最廣泛使用的風險測度之一, 也是飽受爭議的測度之一。從業(yè)人員喜歡其直觀性. 但是許多人對其有限的尾部風險捕捉能力進行廣泛的討論和批評——主要是在理論依據(jù)上。從字面上講, VaR 是一個以貨幣單位(如 美元、歐元、日元)表示的數(shù)字, 表示在給定時間周期中不超過某種置信度(概率)的損失(或者一個投資組合、股票頭寸等)。

      考慮一個當日價值為100萬美元的股票頭寸, 在30天( 1個月)內(nèi)、 置信度為99%的情況下 VaR 為 5 萬美元。 這個 VaR 數(shù)字說明, 30天內(nèi)損失不超過 5 萬美元的概率為99% ( 100 個案例中有 99 個)。但是, 它并不說明一旦損失超過 5萬美元, 損失的規(guī)模會達到什么程度——也就是如果最大損失為10萬或者50萬美元時, 這種特定的“高于 VaR 的損失” 概率有多大。它所說明的只是,發(fā)生 5萬美元或者更大損失的概率為 1%。我們再次假定使 Black-Scholes-Merton 設置,考慮如下的參數(shù)化和未來日期 T=30/365(即假定 30 天的一段時期)指數(shù)水平的模擬:

      import numpy as np
      import numpy.random as random
      import matplotlib.pyplot as plt
      
      S0 = 100
      r = 0.05
      sigma = 0.25
      T = 30 / 365.
      I = 10000
      ST = S0 * np.exp((r - 0.5 * sigma ** 2) * T + sigma * np.sqrt(T) * random.standard_normal(I))
      
      # 為了估算VaR數(shù)字,需要模擬的絕對利潤和相對于近日持倉價值的虧損,并加以排序,即從最嚴重的虧損到最大的利潤
      
      R_gbm = np.sort(ST - S0)
      
      plt.hist(R_gbm, bins=50)
      plt.xlabel('absolute return')
      plt.ylabel('frequency')
      plt.grid(True)

      幾何布朗運動的絕對收益( 30 日)
      幾何布朗運動的絕對收益( 30 日)

      import scipy.stats as scs
      
      percs = [0.01, 0.1, 1., 2.5, 5., 10.]
      var = scs.scoreatpercentile(R_gbm, percs)
      print("%16s %16s" % ('Confidence Level', 'Value-at-Risk'))
      print(33 * '-')
      for pair in zip(percs, var):
          print("%16.2f %16.3f" % (100 - pair[0], -pair[1]))
      
      # Confidence Level    Value-at-Risk
      # ---------------------------------
      #            99.99           22.079
      #            99.90           19.911
      #            99.00           15.439
      #            97.50           12.929
      #            95.00           11.129
      #            90.00            8.718

      在列表對象 percs 中, 0.1 轉(zhuǎn)換為置信度 100%在1%=99.9% 。在本例中, 置信度為 99.9%的 30 日 VaR 為 22.1 貨幣單位,而89%置信度下為 8.7 個貨幣單位。

      # Meron的跳躍擴散 動態(tài)模擬
      lamb = 0.75
      mu = -0.6
      delta = 0.25
      M = 50
      dt = 30. / 365 / M
      rj = lamb * (np.exp(mu + 0.5 * delta ** 2) - 1)
      S = np.zeros((M + 1, I))
      S[0] = S0
      # 為了模擬跳躍擴散,需要生成3組(獨立)隨機數(shù):
      sn1 = random.standard_normal((M + 1, I))
      sn2 = random.standard_normal((M + 1, I))
      poi = random.poisson(lamb * dt, (M + 1, I))
      for t in range(1, M + 1, 1):
          S[t] = S[t - 1] * (np.exp((r - rj - 0.5 * sigma ** 2) * dt
                                    + sigma * np.sqrt(dt) * sn1[t])
                             + (np.exp(mu + delta * sn2[t]) - 1)
                             * poi[t])
          S[t] = np.maximum(S[t], 0)
      R_jd = np.sort(S[-1] - S0)
      
      plt.hist(R_jd, bins=50)
      plt.xlabel('value')
      plt.ylabel('frequency')
      plt.grid(True)

      跳躍擴散的絕對收益(30日)
      跳躍擴散的絕對收益(30日)

      percs = [0.01, 0.1, 1., 2.5, 5., 10.]
      var = scs.scoreatpercentile(R_jd, percs)
      print("%16s %16s" % ('Confidence Level', 'Value-at-Risk'))
      print(33 * '-')
      for pair in zip(percs, var):
          print("%16.2f %16.3f" % (100 - pair[0], -pair[1]))
      
      # Confidence Level    Value-at-Risk
      # ---------------------------------
      #            99.99           79.703
      #            99.90           72.507
      #            99.00           57.857
      #            97.50           50.096
      #            95.00           33.371
      #            90.00            9.386

      對于這種過程和參數(shù)化,置信度 90%的 30日VaR 相差很少,但是在 99.9%置信度下與幾何布朗運動相比高出 3 倍多( 79.703對22.079 貨幣單位)。這說明標準 VaR 測度在捕捉金融市場經(jīng)常遇到的尾部風險方面的問題。最后以圖形方式展示兩種情況的 VaR 測度以便比較。在典型置信度范圍內(nèi)的 VaR 測度表現(xiàn)完全不同:

      # 幾何布朗運動和跳躍擴散的風險價值
      percs = list(np.arange(0.0, 10.1, 0.1))
      gbm_var = scs.scoreatpercentile(R_gbm, percs)
      jd_var = scs.scoreatpercentile(R_jd, percs)
      
      plt.plot(percs, gbm_var, 'b', lw=1.5, label='GBM')
      plt.plot(percs, jd_var, 'r', lw=1.5, label='JD')
      plt.legend(loc=4)
      plt.xlabel('100 - confidence level [%]')
      plt.ylabel('value-at-risk')
      plt.grid(True)
      plt.ylim(ymax=0.0)

      幾何布朗運動和跳躍擴散的風險價值
      幾何布朗運動和跳躍擴散的風險價值

      10.4.2 信用價值調(diào)整

      其他重要的風險測度是信用風險價值(CVaR)和從CVaR中派生而來的信用價值調(diào)整(CVA)。粗略地講, CVaR 是對手方可能無法履行其義務所引發(fā)風險(例如, 對手方破產(chǎn))的一個測度。在這種情況下, 有兩個主要的假設:違約概率 和 (平均)損失水平。

      舉個具體的例子, 我們再次考慮Black-Scholes-Merton 的基準設置:

      # Black-Scholes-Merton 的基準設置,參數(shù):
      S0 = 100.
      r = 0.05
      sigma = 0.2
      T = 1.
      I = 100000
      ST = S0 * np.exp((r - 0.5 * sigma ** 2) * T + sigma * np.sqrt(T) * random.standard_normal(I))
      
      # 固定(平均)損失水平
      L = 0.5
      # 對手方違約(每年)概率
      p = 0.01
      
      # 使用泊松分布, 違約的方案可以用如下代碼生成, 考慮了違約只能發(fā)生-次的事實
      D = random.poisson(p * T, I)
      D = np.where(D > 1, 1, D)
      
      # 如果沒有違約,未來指數(shù)水平的風險中立價值應該等于資產(chǎn)當日現(xiàn)值(取決于數(shù)值誤差造成的差異):
      np.exp(-r * T) * 1 / I * np.sum(ST)
      # 99.982104037870357
      
      # 假定條件下CVaR的值
      CVaR = np.exp(-r * T) * 1 / I * np.sum(L * D * ST)
      CVaR
      # 0.52398128347827266
      
      # 經(jīng)過信用風險調(diào)整之后的資產(chǎn)現(xiàn)值
      S0_CVA = np.exp(-r * T) * 1 / I * np.sum((1 - L * D) * ST)
      S0_CVA
      # 99.458122754392079
      
      # 這應該(大約)等于CVaR價值減去當前資產(chǎn)價值
      S0_adj = S0 - CVaR
      S0_adj
      # 99.476018716521722
      
      np.count_nonzero(L * D * ST)
      # 1052

      在這個特殊的模擬示例中,假定違約概率為1%、10萬次模擬下,由于信用風險引起大約1000次虧損。

      plt.hist(L * D * ST, bins=50)
      plt.xlabel('loss')
      plt.ylabel('frequency')
      plt.grid(True)
      plt.ylim(ymax=175)

      由于風險中立預期違約引起的虧損(股票)
      由于風險中立預期違約引起的虧損(股票)
      上圖展示了由于違約引起虧損的完整頻率分布。 當然, 在大部分情況下(10萬例中的99 000例), 沒有發(fā)現(xiàn)虧損。

      現(xiàn)在考慮歐式看漲期權(quán)的情況:

      K = 100  # 行權(quán)價100
      hT = np.maximum(ST - K, 0)
      C0 = np.exp(-r * T) * 1 / I * np.sum(hT)
      C0
      # 10.466594304488577
      # 行權(quán)價100時的價值大約為10.5個貨幣單位
      
      CVaR = np.exp(-r * T) * 1 / I * np.sum(L * D * hT)
      CVaR
      # 0.054095276121378301
      # 在相同的違約概率和損失水平假設下, CVaR大約為5分
      
      S0_CVA = np.exp(-r * T) * 1 / I * np.sum((1 - L * D) * hT)
      S0_CVA
      # 10.412499028367199
      # 調(diào)整后的期權(quán)價值大約低了5分
      
      
      np.count_nonzero(L * D * hT)  # number of losses
      # 572
      np.count_nonzero(D)  # number of defaults
      # 1052
      I - np.count_nonzero(hT)  # zero payoff
      # 44079
      
      # 和常規(guī)資產(chǎn)相比, 期權(quán)有不同的特性。 
      # 我們只看到略低于 500 次回違約引起的虧損。
      # 但是仍然有大約1000次違約。
      # 這一結(jié)果源于這樣的事實:期權(quán)到期日時的收益為0的概率很大。
      
      plt.hist(L * D * hT, bins=50)
      plt.xlabel('loos')
      plt.ylabel('frequency')
      plt.grid(True)
      plt.ylim(ymax=350)

      由于風險中立預期違約引起的虧損(看漲期權(quán))
      由于風險中立預期違約引起的虧損(看漲期權(quán))

      ^_^

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多