iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Python

30天做出理財小助理系列 第 14

Day14:抓取毛利率、利益率、稅後淨利率資料

  • 分享至 

  • xImage
  •  

昨天講解完分別的意義之後,應該就有比較懂這三個分別是在做甚麼了吧!了解之後,今天就來抓取資料了
前面也一樣都是匯入函數
https://ithelp.ithome.com.tw/upload/images/20240928/201693761dyyXvUugb.jpg
https://ithelp.ithome.com.tw/upload/images/20240928/20169376xz0jp3U2Bp.jpg
再來就是資料庫的連線、
https://ithelp.ithome.com.tw/upload/images/20240928/20169376wqW4echU3t.jpg
這裡從 FinLab 獲取指定的財務數據。這裡獲取了:營業毛利率 (GPM)、營業利益率、(OPM)、稅後淨利率 (NPM)
reset_index():將索引重置,這樣原本的索引變為普通欄位,方便後續的數據操作。
https://ithelp.ithome.com.tw/upload/images/20240928/20169376MGkOL780hF.jpg
定義用於插入資料的 SQL 語句,將數據插入 PP_GPM_OPM_NPM 表中的五個欄位,分別是 DateQ(日期)、StockId(股票代碼)、GPM(營業毛利率)、OPM(營業利益率)和 NPM(稅後淨利率)。
https://ithelp.ithome.com.tw/upload/images/20240928/20169376ty9BMOt53L.jpg
外層迴圈 for i in range(0, data_count)::遍歷每一行資料,對應到每個日期。
內層迴圈 for j in range(1, len(stock_ids))::遍歷每一個股票代碼。
if len(stock_ids[j]) == 4::檢查股票代碼的長度是否為 4,這是檢查是否為有效的股票代碼。
提取數據:從 GPM、OPM、NPM DataFrame 中提取對應的數據:
tx_date:日期
stock_id:股票代碼
Gpm、Opm、Npm:對應的財務數據。
sql_data = []:初始化一個空的列表,用於存放即將插入資料的數據。
sql_data.append(...):將各項數據添加到 sql_data 列表中。
條件過濾:檢查所提取的數據是否有效(即不是 nan、inf 或其他無效數據)。

都完成之後,就可以來去SQL檢查對不對了
https://ithelp.ithome.com.tw/upload/images/20240928/20169376Zm0dBkIo3c.jpg
檢查完成之後,今天的部分就達成了!明天開始把剩下四季的資料都算出來,就算完成三率這一整個部分了~


上一篇
Day13:營業毛利率、營利利益率、稅後淨利率??
下一篇
Day15:計算GPM、OPM、NPM的四季平均值&成長次數
系列文
30天做出理財小助理24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言