python爬蟲爬取股票的北上資金持倉數(shù)據(jù)
前言
前面已經(jīng)講述了如何獲取股票的k線數(shù)據(jù),今天我們來分析一下股票的資金流入情況,股票的上漲和下跌都是由資金推動的,這其中的北上資金就是一個風向標,今天就抓取一下北上資金對股票的逐天持倉變動和資金變動。
數(shù)據(jù)分析
照例先貼一下數(shù)據(jù)的訪問地址:
# 以海爾智家為例貼一下數(shù)據(jù)的頁面連接地址,再次吐槽一下拼音前綴 https://data.eastmoney.com/hsgtcg/StockHdStatistics/600690.html
下圖就是北上資金逐天的訪問數(shù)據(jù)頁面,我們要抓取的是持股數(shù)量、持股市值、持股百分比和市值變化信息。
通過瀏覽器后臺的接口可以看到這樣一個接口數(shù)據(jù):
這個接口的參數(shù)為:
# 請求地址數(shù)據(jù),這里的參數(shù)和請求的不太一樣,因為其它的參數(shù)我試過了,可以忽略掉,以下是必要參數(shù) https://datacenter-web.eastmoney.com/api/data/v1/get? # 排序字段和排序的類型, -1 為倒序排列 sortColumns=TRADE_DATE &sortTypes=-1 # 后兩個參數(shù)比較簡單,就是分頁參數(shù)而已 &pageSize=50 &pageNumber=1 # 報告類型,固定為北上資金數(shù)據(jù) &reportName=RPT_MUTUAL_HOLDSTOCKNORTH_STA # 返回的數(shù)據(jù)列,默認返回所有 &columns=ALL # 獲取數(shù)據(jù)參數(shù)為股票代碼和交易日期 &filter=(SECURITY_CODE="600690")(TRADE_DATE>='2021-10-29')
數(shù)據(jù)抓取
我們已經(jīng)解析了獲取資金的參數(shù),以下就是使用 python
來獲取數(shù)據(jù),并進行展示。我們依舊使用 requets
來獲取數(shù)據(jù)。
我們需要先組裝請求的參數(shù),這里的 fliter 只傳入了代碼,日期選擇了固定,這個個人感覺是查詢的 ES ,不然不會這么傳入?yún)?shù),建議做個參數(shù)轉換吧,這樣直傳不太好。
數(shù)據(jù)查詢返回的結果是json
格式,進行了解析后我們采用 prettyTable
打印結果。
由于獲取的數(shù)據(jù)沒有經(jīng)過格式化,顯示的位數(shù)比較長,所以對持股數(shù)和市值之類的數(shù)據(jù)進行了格式化展示,
代碼如下:
# 如果是億級的就格式化為億,萬的話格式化為萬 def cal_num(num): if abs(num / 100000000) > 0: return str(round(num / 100000000, 3)) + "億" else: return str(round(num / 10000, 3)) + "萬"
最終我們得到的結果如下:
建立模型
我們已經(jīng)獲取到了股票的北上資金的情況,我們建立一個簡單的模型篩選一下:
- 1 選取最近一個月內北上資金連續(xù)加倉的股票,加倉幅度超過流通股份的1%。
在這個模型中,我們可以根據(jù)最近一個月每天的持倉百分比建立線性規(guī)劃模型,y = kx + b
來計算斜率和截距,但是這個覺得有點兒復雜了,我們可以簡化一下,就偷個懶計算當天的持倉量與一個月前的持倉比例差值即可,
具體代碼如下:
# rate_list 為持股比例的集合,將 ratio 添加進集合中,這里為什么是22呢, # 一般情況下一個月有22個交易日,所以減去22就是一個月前的持倉比例 def cal_model(rate_list): if len(rate_list) >= 22: cur_node = rate_list[0] pre_node = rate_list[22] return cur_node - pre_node return -100
總結
今天我們使用接口獲取了個股北上資金的持倉數(shù)據(jù),并建立了簡單的分析模型來選擇股票,這個技術實現(xiàn)比較簡單,作為學習和練習使用已經(jīng)就足夠了。
到此這篇關于python爬蟲爬取股票的北上資金持倉數(shù)據(jù)的文章就介紹到這了,更多相關python爬取數(shù)據(jù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python的ImageTk.PhotoImage大坑及解決
這篇文章主要介紹了python的ImageTk.PhotoImage大坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11