Black-Scholes
python中相當於matlab的金融工具箱?
我一直致力於製作一個資產配置模型,該模型需要我對很多金融工具(即債券、期權)進行定價,並根據一定的約束條件進行優化。我最初是在 Matlab 中執行此操作的,但現在希望將其切換到 Python。是否有與 Python 中的 Matlab 金融工具箱等效的軟體包?我已經閱讀了其中許多(即 vollib、QuantLib/PyQL),但我不確定哪一個是最受信任/流行/常用的。
我快速瀏覽了 Matlab 的金融工具箱,並嘗試將這些功能映射到相應的 Python 包——
對於資產配置、投資組合優化和風險分析:
- 諸如標準包
scipy
提供了大量的優化器,應該可以滿足您的需求。還有一些預製包可以更直接地進行投資組合優化,但我對它們沒有太多經驗。- 專門的軟體包,例如
pyfolio
並alphalens
提供大量功能,使性能和風險分析變得超級簡單。- 對於某些風險應用程序,您可能還會發現它
Copulalib
很有用。對於定價工具——
- 正如您已經提到的,
Quantlib
幾乎可以肯定它是目前最好的開源解決方案,並且有幾種方法可以讓 Quantlib 可以從 Python 訪問(例如QuantLib-Python)。- 如果您有其他已用於定價的 C++ 程式碼,請查看Boost Python。
對於時間序列分析:
pandas
和的組合statsmodels
是黃金標準,對於大多數用途來說應該綽綽有餘。前者提供了大量用於處理時間序列(DataFrame
、Series
、Panel
等)的實用程序,而後者提供了一個全面的庫,用於執行任何用於線性回歸到復雜動態因子模型的東西。pandas-datareader
具有許多用於從公共資源中檢索金融和經濟數據的預置功能。- 我還發現
arch
執行 GARCH 類型的模型非常好。技術分析:
ta-lib
有一個易於使用的 Python 包裝器。對於財務圖表:
matplotlib
是核心庫。pandas
具有內置繪圖功能,使用 matplotlib 使許多圖表類型非常易於使用。- 對於更漂亮的圖表,還請查看
seaborn
。對於 SDE:
- 我還沒有遇到無法解決的問題
scipy
。對於一般數值計算,您需要:
numpy
用於數值計算;scikit-learn
用於機器學習。sympy
對於符號數學。