iT邦幫忙

2024 iThome 鐵人賽

DAY 19
1
Python

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

Day22:計算不同時間範圍(5 天、20 天、60 天)的買賣總量和成交量

  • 分享至 

  • xImage
  •  

前一天我們先抓取好資料後,今天要來計算買賣總量和成交量。
首先我們一樣要這匯入所需的模組:(Finlab、Pandas、pymssql)
https://ithelp.ithome.com.tw/upload/images/20241006/20169376yQO62EW1r0.jpg
接下來撰寫的是資料庫連線函數跟 FinLab 並連接資料庫,每次寫程式的時候,這個步驟絕對不能忘記!
https://ithelp.ithome.com.tw/upload/images/20241006/20169376SAMgCCE9jz.jpg
接下來從資料庫中讀取 PP_BrokerChipCR 表格的所有資料,並分別獲取不重複的日期和股票代碼。
這裡計算了有多少不同的股票代碼stock_ids_count日期date_count,以及總共有多少筆資料all_counthttps://ithelp.ithome.com.tw/upload/images/20241006/20169376ogjfsh9F5C.jpg
接下來的解釋比較長:
具體步驟:
外層迴圈 for j in range(0, stock_ids_count)

遍歷每一支股票代碼。
內層迴圈 for i in range(0, date_count)

遍歷每一個日期的資料。
累積計算:
5天累積:當日期數大於等於5天時,計算過去5天的 BuySell和 Volume的總和,並計算比率 ChipCR_5
20天累積:當日期數大於等於20天時,計算過去20天的 BuySellVolume 的總和,並計算比率 ChipCR_20
60天累積:當日期數大於等於60天時,計算過去60天的 BuySellVolume 的總和,並計算比率ChipCR_60
https://ithelp.ithome.com.tw/upload/images/20241006/20169376VFETevEuFd.jpg
https://ithelp.ithome.com.tw/upload/images/20241006/20169376BAYDWXfy2e.jpg
更新資料框 df_PP_inventory
將計算出的累積值和比率寫入資料框中的相應欄位。準備並執行 SQL 更新:將計算結果整理成 sql_data
使用 UPDATE 語句將這些計算結果更新回資料庫中對應的紀錄。
https://ithelp.ithome.com.tw/upload/images/20241006/20169376CmwzJHht67.jpg
都確認無誤之後,我們就可以去資料庫查詢有沒有抓取完成。
https://ithelp.ithome.com.tw/upload/images/20241006/201693765zCJfUjAy6.jpg
這邊以台積電為例(2330)資料表都確認無誤後,就完成最難的部分了!


上一篇
Day21:抓取買超、賣超資料
下一篇
Day23:大戶?散戶?
系列文
30天做出理財小助理24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言