量化交易30天
本系列文章是紀錄一位量化交易新手的學習過程,除了基礎的Python語法不說明,其他金融相關的東西都會一步步地說明,希望讓更多想學習量化交易但是沒有學過相關金融知識的朋友們,透過這系列的文章,能夠對量化交易略知一二,也歡迎量化交易的高手們多多交流。
Day1拿到股票價格之後,可以先來瞭解一下拿到的資料怎麼用,最簡單的應用當然就屬K線圖拉,因此這篇就來用Python的套件繪圖一下。
(引用自wikimedia.org)
繪製K線圖的兩個步驟
這邊可以使用任何資料來源,任何你想要的標的,只要有開高低收的時間序列資料,都可以拿來畫圖。為了讓大家都能輕鬆拿到資料,我使用開放的pandas-datareader來讀取資料。
pip install pandas-datareader
# 取得Google股票的價格,美股代號GOOG
import os
import pandas_datareader as pdr
df = pdr.get_data_tiingo('GOOG', api_key='YOUR TIINGO API KEY')
df.tail()
拿到的資料如下圖,有包含還原價格(還原除權息之後的價格,可以Google了解一下),一般會用還原價格作為回測或運算,會比較正確一些。
先將資料處理成mplfinance可以讀的格式
# 將multi-index轉成single-index
df = df.reset_index(level=[0,1])
# 指定date為index
df.index = df['date']
# 取adjClose至adjOpen的欄位資料
df_adj = df.iloc[:,7:11]
# 更改columns的名稱,以讓mplfinance看得懂
df_adj.columns = ['Close','High','Low','Open']
# 抓取近20日的資料
df_adj_20d = df_adj.iloc[-20:,:]
# 繪製K線圖
import mplfinance as mpf
mpf.plot(df_adj_20d)
會得到20天的K線圖,下圖是其中一種格式。
試試另外一種格式:
mpf.plot(df_adj_20d,type='candle')
再試試最簡單的線圖:
mpf.plot(df_adj_20d,type='line')
本篇總結
這篇大概講解K線定義、讀取股票資料API、資料整理,最後繪製幾種不同格式的線圖,下一個單元會介紹K線型態。
P.S.
如果大家對於量化交易有興趣的話,我自己有上過以下這門課,課程內容從串接股市資料API、儲存至資料庫、將自己的策略轉化成程式碼、自動下單,並且可以把整個流程自動化,每天早上執行一次,一整天就不用看盤了,覺得是蠻實戰的,可以參考看看。
筆者 Sean
奈米戶投資人 / Python愛用者
喜歡用Python玩轉金融數據,從個股基本面、技術面、籌碼面相關資料,一直到總體經濟數據,都是平常接觸到的素材;對於投資,除了研究歷史數據,也喜歡瞭解市場上大家在玩些什麼。