股海分析器
- 作 振
- 2024年4月22日
- 讀畢需時 2 分鐘
已更新:2024年4月23日
股票雖然有很多不確定因素,但也不至於像賭博一樣亂槍打鳥。如何找出較有勝率的股票是這個專案產出的結果。
今天這個專案,是要實現一個股市分析器,可以去分析股市行情或是提供選股的建議。有興趣的創友也可以參照裡面的概念,自己修改裡面的分析方法,然後製作出屬於自己的股市分析器喔。
這個專案可以讓大家能夠了解軟體上很重要的一個技術,稱為API (應用程式介面 Application Programming Interface),以及初探Python 這個很熱門的程式語言。
專案的架構如下:

目標 | 說明 | 進度 |
使用API下載資料 | 透過API 下載所需要的股票資訊,例如歷史的股價、公司獲利等。 | 100% |
透過條件分析資訊 | 將下載下來的資料進行分析、篩選等動作,使資料變成有用的資訊 | 100% |
整理並呈現分析結果 | 將整理過後的資訊有系統的呈現出來,方便呈現以及管理。 | 100% |
以下是本專案的程式碼,有興趣的創友可以自行下載。(但先說,我本身不是軟體專業,整個撰寫過程中很多是透過詢問AI所編寫出來的結果,在軟體規畫上也以便於理解為主,使用較少的Function,整個程式或許不是那麼有效率,但是一個可以運行的方法,僅給大家做參考,了解API的概念以及Python的使用。)
使用介紹:
將所有的檔案以及資料夾放在同一個目錄下面。
執行script.py ,程式會自動透過FinMind 的API下載股票資料,包括 資產負債表(bs),現金流量表(cfs),損益表(fs)以及除權息結果表(dr)。
程式當中,參考了”自組ETF,讓我股利翻倍的存股法”一書所提到的篩選方法,我設定為條件ㄧ,再來是不學無術的參考判斷公司是否值得投資的指標,我設定為條件二,以下表格為各項指標所代表的含義。
(本程式使用FinMind免費版本的,有 300次/小時的限制,所以大概下載60間公司的資料之後,需要再等待一個小時再重新執行程式,真是會自動跳過已經下載,接續下載新的檔案)
指標 | 代表含意 | |
條件一 | ROE | 股東權益報酬率= 稅後淨利/ 股東權益 股東權益:當把公司所有的債務還清,剩下的資產就是股東權益。 因為ROE 指的是公司運用自有資本的賺錢效率,故ROE 越高代表公司為股東賺回的獲利效率越佳,ROE 越低,則代表公司為股東賺回的獲利越少 |
EPS | 每股盈餘EPS = 本期淨利/ 發行股數 中文是「每股盈餘」,代表公司每1股可以有多少獲利,是用來衡量企業獲利能力的指標,EPS 越高代表公司能夠為每個股東帶來更多收益。 | |
條件二 | 營業活動現金流對比淨利 | 營業活動就會產生營業現金流,是企業通過日常營運活動產生的現金流,包括銷售商品、提供服務所收到的現金等。而營業活動現金流也是企業的主要現金來源,能夠看出企業的核心業務是否賺錢,該業務能不能帶來更多的效益和發展。 |
資產負債比率 | 負債總額/資產總額 x 100% → 反映多少資產是從債務得來 | |
資產負債比率 | 負債總額 /股本總額 x 100% → 股東擁有的資金有多少是來自於債務 | |
配發股利息 | 公司針對股東所發放的現金或股票,通常會以殖利率(殖利率是指一家公司每股股利與股票價格的比) | |
平均股利息 | 幾年內的股利息(殖利率)平均值 |
PS: 使用時可以調整 script.py 當中search_criteria 裡面的參數,設定符合自己認為重要指標(FinMind免費API下載最早資料為2019年3月)
參數 | 含意 | 範圍 |
ROE | ROE指標開關 | True or False |
ROE_continue_year | 指標連續年 | 0~5 |
ROE_criteria | 指標篩選條件 | any number |
EPS | EPS指指標開關 | True or False |
EPS_continue_year | 指標連續年 | 0~5 |
EPS_criteria | 指標篩選條件 | any number |
cashflow | 營業活動現金流對比淨利指標開關 | True or False |
cashflow_continue_year | 指標連續年 | 0~5 |
cashflow_criteria | 指標篩選條件 | any number |
liabilities_TA | 資產負債比率指標開關 | True or False |
liabilities_TA_continue_year | 指標連續年 | 0~5 |
liabilities_TA_criteria | 指標篩選條件 | any number |
liabilities_CP | 資產負債比率指標開關 | True or False |
liabilities_CP_continue_year | 指標連續年 | 0~5 |
liabilities_CP_criteria | 指標篩選條件 | any number |
yield | 配發股利息指標開關 | True or False |
yield_continue_year | 指標連續年 | 0~5 |
yeild_criteria | 指標篩選條件 | >0 |
yeild_AV | 平均股利息指標開關 | True or False |
yied_AV_criteria | 指標篩選條件 | >0 |
Comments