Talib 套件統整了常見的股票指標計算,結合 Python 下的 Pandas 套件並加上蠟燭線 Candle Stick 的繪製,可以打造出在 Jupyter 上的一套簡易的看盤軟體。
課程名稱
用 Python 理財:打造小資族選股策略:https://bit.ly/2KXR1Nw
對於初學者而言,算是簡易的入門教材。由於 Python 本身的語言特性,相較於 JavaScript 是比較人性化的。外加上已內建不少好用的函式庫,對於資料分析的處理上,用 Python 入門算是滿不錯的。
課程相關文章
輔助套件安裝
隨著表格的欄位數量增加,內建的 Terminal 無法顯示如此多的欄位,這時可以使用 Jupyter Notebook 來協助。你可以在 Anaconda 的沙盒內安裝,並下載 VS Code 的 VS Code Jupyter Notebook Previewer 套件,你就可以在 VS Code 裡使用 Jupyter 的預覽模式,而不用打開特定瀏覽器。
指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# 在使用 Talib 之前,請用 Google 搜尋 Talib 並安裝。安裝方法會因為作業系統不同而有所差異。 # https://github.com/mrjbq7/ta-lib # 載入相關套件 import pandas as pd import sqlite3 import os from talib import abstract # connect to sql,請確認你的 Database 位置 conn = sqlite3.connect(os.path.join('data','data.db')) # read data from sql,第一個參數為 SQL 語法(取出對應的值),第二個欄位為 SQL 資料庫位置 df = pd.read_sql('select stock_id, date, 開盤價, 收盤價, 最高價, 最低價, 成交股數 from price where stock_id="0050" ',conn,index_col=['date'],parse_dates=['date']) # rename the columns of dataframe,資料庫欄位重新命名(不改變原始資料) df.rename(columns={'收盤價':'close', '開盤價':'open', '最高價':'high', '最低價':'low', '成交股數':'volume'}, inplace=True) # 創建指標 SMA = abstract.SMA(df) RSI = abstract.RSI(df) STOCH = abstract.STOCH(df) # 以下的 finlab.plot_candles.py,請購買課程後取得,或者見參考資料,取得相關的 Code from finlab.plot_candles import plot_candles plot_candles( # 起始和結束時間 start_time='2013-09-02', end_time='2013-12-31', # 股票資料 pricing=df, title='Candles', # 是否畫出成交量? volume_bars=True, # 將某些指標跟 K 線圖畫在一起 overlays=[SMA], # 將某些指標單獨畫出 technicals = [RSI, STOCH], # 重新命名額外的畫格名稱 technicals_titles=['RSI', 'KD'] ) |