finmarketpy 是一個基於 Python 的函式庫,可讓您分析市場數據,並使用簡單易用的 API 回測交易策略,該 API 具有預先建立的範本供您定義回測。包含在圖書館中
非常歡迎該項目的貢獻者,請參見下文!
我之前編寫過開源 PyThalesians 金融庫(已與此合併 - 因此可以專注於維護一組庫)。這個新的 finmarketpy 庫有
注意事項:
計算歷史交易策略的累積回報(請參閱 finmarketpy_examples/tradingmodelfxtrend_example.py)
繪製策略隨時間變化的槓桿率
繪製個人交易收益圖
計算任何資產的季節性:這裡我們顯示黃金和外匯波動的季節性(請參閱範例/seasonality_examples.py)
圍繞資產事件計算事件研究(請參閱範例/events_examples.py)
主要要求
有關 finmarketpy 及其相關 Python 程式庫的詳細安裝說明,請造訪 https://github.com/cuemacro/finmarketpy/blob/master/INSTALL.md (其中包括有關如何設定整個 Python 環境的詳細資訊)。
另請參閱我的Python for Finance 研討會課程中的https://github.com/cuemacro/teaching/blob/master/pythoncourse/installation/installing_anaconda_and_pycharm.ipynb,其中我專門記錄了有關為數據科學設置Anaconda 環境的筆記(包括 findatapy/chartpy/finmarketpy),包括 YAML 檔案等。
您可以使用以下命令安裝該程式庫(最好從儲存庫取得最新版本,而不是發布版本)。
安裝後:
pip install git+https://github.com/cuemacro/finmarketpy.git
但事先請確保您已經安裝了 Chartpy、findatapy 和任何其他依賴項。在chartpy中,您需要更改chartconstants.py檔案(以新增Plotly API金鑰),對於findatapy,您還需要更改dataconstants.py檔案以新增Quandl API(並可能更改那裡的其他設定設定或新增datacred.py 文件位於util 資料夾中,或在第一次執行時間系統會提示您輸入將要安裝的API 金鑰)。如果你使用 git 執行 pip,你將獲得最新的提交。
pip install git+https://github.com/cuemacro/chartpy.git
pip install git+https://github.com/cuemacro/findatapy.git
不過,您也可以透過 pip install 從 PyPI 取得(可能是 GitHub 上稍舊的版本)
pip install chartpy
pip install findatapy
請注意,如果您使用定價/總回報選項,您可能需要從 GitHub https://github.com/domokane/FinancePy/ 獲得最新的 FinancePy 版本,而不是 PyPI
pip install git+https://github.com/domokane/FinancePy/FinancePy.git
您可以在瀏覽器中以互動方式運行 Binder 中的一些 Jupyter Notebook,以使用 finmarketpy。 Binder 執行個體可能需要幾分鐘才能啟動。我們目前正在努力在 Binder 中提供更多筆記本,敬請期待!
請注意,您需要取得 Quandl API 金鑰來下載市場數據才能使用其中一些數據,並且您可以在 https://www.quandl.com 註冊免費帳戶。
我發現這篇文章對於解釋如何更新您的分叉以匹配主更改很有用。
finmarketpy、findatapy 和 Chartpy 始終歡迎貢獻者。如果您想做出貢獻,請查看我們正在尋求協助的領域的計劃功能。或者,如果您有任何改進圖書館的想法,也請告訴我們!
我們花了很多年在 Cuemacro 編寫 finmarketpy 和其他開源程式庫,並且我們渴望在未來的許多年裡這樣做。
如果您使用我們的庫並且有興趣贊助 Cuemacro 的開源庫,您可以透過 GitHub 贊助頁面 https://github.com/sponsors/cuemacro 進行贊助
我們也為 Cumacro 庫提供商業服務,其中包括:
如果您對我們的商業服務有興趣,請聯絡 [email protected]
所有這些資金來源,無論是贊助還是我們的商業服務,都有助於我們維護 Cuemacro 的庫,這樣我們就可以為社區改進我們的開源庫。
finmarketpy 底層使用 Financepy 進行選擇權定價。它使用 Numba 來加速運算。
有時您可能會遇到 Numba 錯誤,例如Failed in nopython mode pipeline (step: nopython frontend)
解決此問題的一種可能方法是刪除安裝 Financepy 的位置下的__pycache__
資料夾:
例如。如果您使用py38class
環境,如果您已將 Anaconda 安裝在C:Anaconda3
中,您可能會在下列位置找到 Financepy 資料夾
C:Anaconda3envspy38classLibsite-packagesfinancepy
在 finmarketpy/examples 中你會發現幾個例子,包括一些簡單的交易模型
註釋結束