<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Empyrical 超簡單教你一行代碼計算風險指標

          共 2752字,需瀏覽 6分鐘

           ·

          2022-05-29 07:32

          Empyrical 是一個知名的金融風險指標庫。它能夠用于計算年平均回報、最大回撤、Alpha值、Beta值、卡爾馬率、Omega率、夏普率等。它還被用于zipline和pyfolio,是Quantopian開發(fā)的三件套之一。

          下面就教你如何使用 Empyrical 這個風險指標計算神器。

          1.準備



          開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南?進行安裝。

          (可選1)?如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

          (可選2)?此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南

          請選擇以下任一種方式輸入命令安裝依賴
          1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
          2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
          3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

          pip install empyrical


          2. Empyrical 基本使用



          計算最大回撤,你只需要從?empyrical?庫中引入?max_drawdown?,將數(shù)據(jù)作為參數(shù)傳入計算,一行代碼就能實現(xiàn):

          import?numpy as?np
          from?empyrical import?max_drawdown

          returns = np.array([.01, .02, .03, -.4, -.06, -.02])

          # 計算最大回撤
          max_drawdown(returns)
          # 結(jié)果:-0.4472800000000001


          同樣地,如果你需要計算alpha和beta指標:

          import?numpy as?np
          from?empyrical import?alpha_beta

          returns = np.array([.01, .02, .03, -.4, -.06, -.02])
          benchmark_returns = np.array([.02, .02, .03, -.35, -.05, -.01])

          # 計算alpha和Beta值
          alpha, beta = alpha_beta(returns, benchmark_returns)
          print(alpha, beta)
          # 結(jié)果:-0.7960672549836803 1.1243025418474892


          如果你想要計算夏普率,同樣也是一行代碼就能解決,只不過你需要注意這幾個參數(shù)的意義:

          import?numpy as?np
          from?empyrical import?sharpe_ratio

          returns = np.array([.01, .02, .03, -.4, -.06, -.02])

          # 計算夏普率
          sr = sharpe_ratio(returns, risk_free=0, period='daily', annualization=None)
          print(sr)
          # 結(jié)果:-6.7377339531573535


          各個參數(shù)的意義如下:

          參數(shù)數(shù)據(jù)類型意義
          returnspandas.Series策略的日回報,非累積。
          risk_freefloat本周期內(nèi)的無風險利率
          periodstr, optional確定回報數(shù)據(jù)的周期,默認為天。
          annualizationint, optional

          交易日總數(shù)(用于計算年化)

          如果是daily,則默認為252個交易日。

          3.更多的指標



          Empyrical 能提供使用的指標非常多,這里就不一一介紹了,基本上用法都和夏普率的計算方法差不多,這里介紹他們的方法和參數(shù)。

          3.1?omega_ratio

          empyrical.omega_ratio(returns, risk_free=0.0, required_return=0.0, annualization=252)


          參數(shù)數(shù)據(jù)類型意義
          returnspandas.Series策略的日回報,非累積。
          risk_freefloat本周期內(nèi)的無風險利率
          required_returnfloat, optional投資者可接受的最低回報。
          annualizationint, optional

          交易日總數(shù)(用于計算年化

          如果是daily,則默認為252個交易日。

          3.2?calmar_ratio

          empyrical.calmar_ratio(returns, period='daily', annualization=None)


          參數(shù)數(shù)據(jù)類型意義
          returnspandas.Series策略的日回報,非累積。
          periodstr, optional確定回報數(shù)據(jù)的周期,默認為天。
          annualizationint, optional交易日總數(shù)(用于計算年化)。如果是daily,則默認為252個交易日。

          3.3?sortino_ratio

          empyrical.sortino_ratio(returns, required_return=0, period='daily', annualization=None, _downside_risk=None)


          參數(shù)數(shù)據(jù)類型意義
          returnspandas.Series策略的日回報,非累積。
          required_returnfloat最小投資回報
          periodstr, optional確定回報數(shù)據(jù)的周期,默認為天。
          annualizationint, optional交易日總數(shù)(用于計算年化)。如果是daily,則默認為252個交易日。
          _downside_riskfloat, optional給定輸入的下跌風險。如果沒有提供則自動計算

          更多的指標及其說明,請查看empyrical源代碼的stats.py文件,里面還包含了所有指標的計算邏輯,如果你想了解每個指標的計算方法,可以查看這個文件進行學習:

          https://github.com/quantopian/empyrical/blob/master/empyrical/stats.py

          我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實戰(zhàn)教程,請持續(xù)關(guān)注Python實用寶典。

          有任何問題,可以在公眾號后臺回復:加群,回答相應(yīng)紅字驗證信息,進入互助群詢問。

          原創(chuàng)不易,希望你能在下面點個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

          點擊下方閱讀原文可獲得更好的閱讀體驗

          Python實用寶典?(pythondict.com)
          不只是一個寶典
          歡迎關(guān)注公眾號:Python實用寶典

          瀏覽 139
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青艹青青啪 | 成人特级毛片全部免费播放 | 一级视频播放 | 亚洲狼人在线 | 俺去俺来也在线www色情网 |