最齊全的 Python 技術指標工具箱 talib (二):閱讀套件說明文件的邏輯就這麼簡單

前篇最齊全的 Python 技術指標工具箱 talib (一)套件安裝與基本操作說明)講了如何安裝 talib 套件,以及如何用 talib 實作各式均線指標。

但其實 talib 內容非常豐富,如果每一篇文章逐一講解,都要可以出一本技術分析的書了。於是,這邊筆者準備教 Python 初學者如何閱讀套件說明文件。即使是 Python 高手,在遇到沒使用過的套件時,也是需要閱讀開發者提供的說明文件才能上手。但由於熟悉說明文件的邏輯思路,高手們對於操作套件語法的上手速度是遠高於初學者。

因此,這裡就藉著 talib 的入門教學,來教大家閱讀文件的思路吧!希望這篇文章看完之後,大家不僅學會 talib 的用法,也能夠學會閱讀套件文件。

立即訂閱電子報,掌握最新資訊!

    稱呼

    電子郵件

    以下非必填,但若您願意分享,我們將能推送更精準的內容給您

    投資經驗

    是否為理工科背景、工程師或有寫程式的經驗?

    有興趣的主題
    量化交易台股期貨海外期貨虛擬貨幣美股

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQ

    想透過量化交易達成甚麼目的?
    不確定自動交易選股回測投資績效量化自己的投資方法想找現成的策略套用

    還有什麼想詢問的?

    好富投 1920x400
    好富投 978x258

    點我了解更多資訊


    何搜尋 talib 說明文件

    對於大部分的套件,在 google 搜尋「python talib document」就能找到說明文件。對於其他套件,把搜尋的關鍵字 talib 套件名稱更換,依循這個規則搜尋即可。

    搜尋結果如下:運氣不錯,第一個搜尋結果就是了!

    Py 101209161710
    Py 101209161711

    閱讀說明文件的方式:從官方範例著手

    點擊剛才搜到的連結,我們首先會看到下面這張截圖的畫面:

    我們來看看這個說明文件頁面有哪些資訊:首先是安裝(Installation and Troubleshooting),關於安裝的部分我們就先跳過,有興趣再自行閱讀,因為我們已經安裝好了。套件安裝和基本操作教學 在 talib 介紹的第一篇時已經介紹過了,還沒看過或對套件不熟的讀者可以點擊 連結 進行閱讀:

    再來是 API 的部分。什麼是 API?講白話,就是「你告訴它你的需求,它就把你要的東西傳給你」。如果你會寫 Python 的 def 函數,應該可以很簡單理解這句話的意思。

    不過話說回來,很明顯,這個連結點進去就會是我們想查詢的東西了!為什麼呢?因為我們想知道該怎麼使用這個套件計算技術指標,我們的需求是「得到指標的運算結果」,所以我想知道我該如何告訴它「價量資料、指標的時間長度參數」,它如何「把資料做計算,並把結果回傳給我」。

    我們實際點進去,看到如下方截圖的畫面,上面開發者提供的程式碼範例,以及各個函數(Function)的文件說明連結。

    首先看到幾個程式碼區塊,這對初學者相當友善,直接複製貼上就能執行它的範例,直接用 talib.SMA 並且把價格資料用 np.array 的格式傳入,就能計算出均線了。通常筆者會先試試看這些簡單的範例,確認輸出的結果是不是和預期的一樣。不過,眼尖的讀者應該發現一個嚴重的問題:這究竟是幾日均線?

    沒錯,這個畢竟只是讓用戶快速入門的範例,我們想知道該如何傳入均線的長度參數。另外,除了 np.array 以外,這個套件還能支援其他傳入資料型態嗎?

    閱讀說明文件的方式:詳細函數操作說明

    這時,我們就可以往下看到幾個超連結的部分,如下方截圖:

    從說明文件首頁也能看到這些連結。看得出來,不只是技術指標,talib 連型態辨識的運算都包圓了。(至於寫出來的型態是不是符合預期就另當別論了)

    我們點擊第一個 Overlap Studies,看看文件寫了什麼:

    找到了!原來 talib 開發者統一把傳入的長度參數統一命名為 timeperiod,因此在傳入價格序列的後方填入 timeperiod=20,就能算出 20 均線了。20之前的 timeperiod 不一定要寫,總之單純寫 talib.SMA(close, 20) 也是行得通的。關於要不要寫傳入參數名稱,Python 有自己的一套規則,之後再來分享!

    總之,有這個文件我們就知道如何操作 talib 函數了。

    另外,有一些文件會寫得更嚴謹,例如載明傳入參數、回傳值的型態,偉大的 pandas 的文件和範例說明就是個典範!talib 沒有寫得這麼仔細,那我們就只能直接透過閱讀程式碼或是多多嘗試來確認了。像是 talib 其實支援 pd.Series 來傳入計算指標所需的價格資料。

    總之,talib 我們就先介紹到這裡了。讀者趕緊用手邊的價格資料來試試看吧!


    加入LINE社群量化交易討論群」無壓力討論與分享!

    加入Discord 「量化交易討論群」即時獲取實用的資源!

    Write Together 101306261122
    Write Together 101306261121
    QP66
    QP66

    具備逾十年交易經驗,研究交易資產橫跨股票、債券、外匯、原物料,以及加密貨幣。現為量化避險基金交易員,亦曾任職於資金規模逾百億的避險基金,以及在區塊鏈企業擔任顧問一職。

    擅長從宏觀至微觀,由淺入深挖掘交易機會,並運用Python實現全自動化的投資組合管理。

    文章: 24

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *