<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 期權頭寸計算 > 來源:https://uqer.io/community/share/54c846cdf9f06c276f651a50 版本:1.0 作者:李丞 聯系:cheng.li@datayes.com 在本篇中,我們假設客戶已經擁有了自己的期權頭寸,希望利用量化實驗室的功能進行風險監控。 ## 數據準備 用戶的期權頭寸數據保存在[期權頭寸.csv](http://pan.baidu.com/s/1kTEDhwr)文件中(請點擊鏈接下載),樣例如下: ```py optionData = pd.read_csv(u'期權頭寸.csv', encoding='gbk', parse_dates = [3], dtype = {u'代碼':str}) pd.options.display.float_format = '{:,.2f}'.format print(optionData) 代碼 方向 行權價 到期時間 頭寸 0 000001 C 2.20 2015-02-19 1000 1 000002 C 2.10 2015-02-19 -500 2 000003 P 1.90 2015-03-19 1000 3 000004 P 1.80 2015-03-19 -500 ``` ## 計算方法 這里我們簡單展示如何用內置函數,方便的計算基于Black-Scholes模型的價格以及風險值: ```py def processOptionBook(optionData): # 由于我們現在還無法獲取市場數據,制作一些假的市場數據數據 # 例如波動率水平,利率水平 vol = 0.3 * np.random.random(len(optionData)) + 0.2 spot = 2.0 riskFree = 0.04 dividend = 0.0 evaluationDate = Date.todaysDate() # 根據用戶的輸入計算期權的價格以及各種greeks t2m = (optionData[u'到期時間'].apply(lambda x:Date(x.year,x.month,x.day)) - evaluationDate)/ 365.0 optionType = optionData[u'方向'].apply(lambda x: x=='C' and 1 or -1) strike = optionData[u'行權價'] calculateResult = BSMPrice(optionType,strike,spot,riskFree,dividend, vol,t2m) # 整理數據 calculateResult = calculateResult.multiply(optionData[u'頭寸'].values, axis = 0) calculateResult.index = optionData[u'代碼'] portfolio = pd.DataFrame(dict(np.sum(calculateResult)), index = ['portfolio']) calculateResult = calculateResult.append(portfolio) calculateResult.index.name = u'代碼' calculateResult = calculateResult.reindex_axis(['price', 'delta', 'gamma', 'rho', 'theta', 'vega'], axis = 1) return calculateResult ``` ```py res= processOptionBook(optionData) print(res) price delta gamma rho theta vega 代碼 000001 27.36 222.15 1,317.92 26.27 -550.43 149.48 000002 -5.13 -94.07 -1,326.48 -11.53 116.11 -67.71 000003 24.81 -238.18 1,822.42 -70.03 -168.14 231.44 000004 -8.43 71.48 -514.95 21.15 82.48 -84.38 portfolio 38.62 -38.62 1,298.91 -34.13 -519.98 228.84 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看