圖片來源:https://giphy.com/
按下訂閱鈕透過電子郵件收到我的文章🎉
前言
在 Pandas 也可以做網頁爬蟲一文中我們有探討過如何以 pd.read_html 函式從 HTML 文件中將 <table></table> 標記中的資料擷取出來,並且儲存在 DataFrame 類別之中。在那篇文章之中我們提到了「盤中零股交易機制」,若是想要開始挑選標的進行盤中零股交易嗎,可以參考 Yahoo! 奇摩股市,提供不少基本面資訊都記錄在 <table></table> 標記裡頭,搭配 pd.read_html 函式與資料框技巧,能協助我們從眾多標的中找出體質較好的個股。
康友-KY 股臨會
今天閱讀到鉅亨網 2020-12-03〈康友-KY 股臨會〉出席率近 6 成,全面改選 7 席董事,新團隊擬提求償的新聞,我想起綽號「總大」的黃國華所著一書「財務自由的世界」中所提及的十二道選股流程,其中第二道手續就是將惡名昭彰的 KY 股自高價股中剔除。
KY 股顧名思義就是其個股名稱後面有 KY 的註記,表示這些企業都是在國外註冊,來台上市的股票,也就是所謂的境外公司回台掛牌上市,視為外國企業。KY 則是英屬開曼群島(Cayman Islands)的簡稱,當地政局相對穩定、不收取所得稅,吸引不少企業在這個地方註冊,是全球知名的避稅天堂。在 2012 年,金管會將原本的 KY 改為 F(Foreign issuers,外國發行人),當時就被改稱為 F 股;後來 2016 年金管會想要清楚標示外國企業的註冊地,又重新改回 KY,投資 KY 股最大的風險在於外國企業的財務資料與營業狀況無從查核,不少 KY 股因為財務資料異常而被列入公開資訊觀測站的「財務重點專區」,市場評價向來貶遠多於褒。
從上市高價股資料剔除 KY 股
在這個專案中我們打算實作「財務自由的世界」所提及十二道選股流程中的前兩道擇股機制:
股價前一百名的上市公司。
剔除在開曼群島註冊的 KY 股。
rank_url = "https://tw.stock.yahoo.com/d/i/rank.php?t=pri&e=TAI&n=100"
html_tables = pd.read_html(rank_url, encoding='big5')
all_stocks = html_tables[4] # 所需要的資料框
all_stocks
將「股票代號/名稱」從資料框中選擇出來,作為單個 Series。
stock_code_name = all_stocks['股票代號/名稱']
type(stock_code_name)
## pandas.core.series.Series
呼叫 Series.str.contains 方法,判斷每個「股票代號/名稱」中是否存在 KY 的文字,該方法將回傳以布林組成的 Series,標示為 True 的表示為 KY 股,標示為 False 則表示非 KY 股。
is_ky = stock_code_name.str.contains('KY')
is_ky
最後由於我們是要剔除 KY 股,所以使用一個 ~ 符號(Series 適用的 not 運算符號)形成一個非 KY 股的 Series,對原本的資料框進行「篩選」的操作。
is_not_ky = ~is_ky
not_ky_stocks = all_stocks[is_not_ky]
not_ky_stocks
最後,在複習了 pd.read_html 函式(從 HTML 文件中將 <table></table> 標記中的資料擷取出來並且儲存在 DataFrame)、暸解了什麼是 KY 股(在英屬開曼群島註冊,來台上市的股票,財務資料與營業狀況無從查核的外國企業)、以及如何實作「財務自由的世界」所提及十二道選股流程中的前兩道(透過 Series.str.contains 方法),這篇文章來到尾聲,希望讀者也和我一樣期待下一篇文章。
透過多種方式與我互動,Like😻、留言🙋♂️或者分享🙌