收集下載股票交易指數的歷史數據,並計算主要的幾個指標來進行技術分析。
查找網上的資料,發現大家都在用TA-Lib來計算指標,於是在下載並匯入了數據後開始安裝這個庫。
pip install TA-Lib
本以為一句就可以搞定的,結果卻沒有想像中的簡單,
先是cl.exe沒有找到,google查找,發現要安裝Microsoft Visual C++ Build Tools
下載安裝最新2019的Microsoft Visual C++ Build Tools,將需要用到的folder加到 environment variables中。
重新安裝,仍然是有error, 找不到ta-lib.h,這個可是你們自己家的檔案 ??
繼續查找解決的辦法,說是要重新自己build ta-lib。
到這裡就想要放棄這個lib了,因為如此多的人在安裝使用有問題,很嚴重懷疑這個lib還有沒有人在維護。
https://github.com/mrjbq7/ta-lib
發現上個月還有commit, 好吧那就繼續安裝。
按照官方的建議步驟進行重新build,
- Download and Unzip
ta-lib-0.4.0-msvc.zip
- Move the Unzipped Folder
ta-lib
toC:
- Download and Install Visual Studio Community 2015
- Remember to Select
[Visual C++]
Feature
- Remember to Select
- Build TA-Lib Library
- From Windows Start Menu, Start
[VS2015 x64 Native Tools Command Prompt]
- Move to
C: a-libcmakecdrwin32msvc
- Build the Library
nmake
- From Windows Start Menu, Start
build完成,再來install一次,讀取LIBCMT.lib 出錯,這個檔案明明在build tool folder裡面。
https://stackoverflow.com/questions/9356135/link-fatal-error-lnk-1104-cannot-open-file-libcmt-lib
說是在visual studio 2017開始,有默認enable了Spectre Mitigation 設定,有可能導致問題發生。
可是由於我對於c++和make file不熟悉,不知如何修改makefile可以設定Spectre Mitigation為disabled.
到此放棄,改用網上別人已經重新build好了的安裝檔案。
其實可以試著再download安裝2015的Microsoft Visual C++ Build Tools,用它來重新build. 只是在這個lib上已經浪費不少時間了,就下次再試吧,
或者有知道有解決方案的好朋友,也請不吝賜教。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
在這個網站找到ta-lib的whl連接,選擇適合的版本,下載安裝。
這邊還有遇到一個小插曲,我電腦和cpu都是64bit版本的,
第一次下載的是,TA_Lib‑0.4.17‑cp37‑cp37m‑win_amd64.whl,可是安裝有問題說是不支持。
於是又下載 TA_Lib‑0.4.17‑cp37‑cp37m‑win32.whl 這個版本,安裝成功。
查看我的cpu確實是64bit無誤,只是安裝的是32bit的python.
只能說我跟python不熟,不過總算是安裝好了,就來進行真正重要的技術分析的部分吧