Python 解鎖 - Berkshire Hathaway 13F Report

更新 發佈閱讀 7 分鐘


raw-image


使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。





▌Python 爬蟲細節

  1. 定義資料範圍(year/q/ page) 按年份、季度和頁數構造 URL 並發送 HTTP 請求抓取網頁內容。
  2. 使用BeautifulSoup 從 HTML 中找到股票代號ticker和投資比例percent的相關資料。
  3. 整理資料並存入dict (year/quarter/ ticker/ %)。
  4. 將dict轉為 Pandas dataframe。
  5. 將百分比轉換為float,並將小於3%的股票分類為 “Other”。
  6. 聚合資料。


from bs4 import BeautifulSoup

import re
import requests
import pandas as pd
import numpy as np

page = range(1,4)
quarter = range(1,4)
year = range(2022,2025)

my_dict = {"year":[], "quarter":[], "ticker":[],"percent":[]};

for y in year:
for q in quarter:
for p in page:
url = 'https://valuesider.com/guru/warren-buffett-berkshire-hathaway/portfolio/{}/{}?sort=-percent_portfolio&sells_page=1&page={}'.format(y, q, p)
response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser')
ticker_list = soup.find_all('div', class_ = 'guru_table_column scroll-fix text-center', string=re.compile(".+"))
percent_list = soup.find_all('div', class_ = 'guru_table_column text-center', string=re.compile("%"))

for i in range(len(percent_list)):
my_dict["year"].append(y)
my_dict["quarter"].append(q)
my_dict["ticker"].append(ticker_list[i].get_text())
my_dict["percent"].append(percent_list[i].get_text())

df_data = pd.DataFrame(my_dict)# Convert 'percent' column to numeric before comparison
df_data['percent'] = df_data['percent'].str.rstrip('%').astype(float)

# Now you can perform the comparison

df_data['ticker_adj'] = np.where(df_data['percent']>= 3, df_data['ticker'], 'Other')
df_data = df_data.assign(year_quarter = df_data['year'].astype(str) + "-" + df_data['quarter'].astype(str))
df_data.sort_values('year_quarter', ascending=True, inplace = True)
df_final = df_data.groupby(['year_quarter' , 'ticker_adj']).agg(percentage = ('percent', 'sum')) # Changed 'percentage' to 'percent'
df_final.reset_index(inplace= True)



raw-image


raw-image


▌Python 視覺化

  1. 使用 px.bar 繪製條形圖,設定橫軸為 股票 代號、縱軸為百分比。
  2. 利用 animation_frame 增加年份季度的動畫效果。這裡設定為 "year_quarter",表示按年份和季度動態顯示數據。
  3. 更新 X 軸顯示順序以降序排列。
import plotly.express as px

fig = px.bar(df_final, x="ticker_adj", y="percentage", color="ticker_adj",
animation_frame="year_quarter", animation_group="ticker_adj", range_y=[0,60])

fig.update_layout (xaxis={'categoryorder':'total descending'})
fig.show()


raw-image


下載連結

以下為本 python 練習題 的程式碼(持續增加中),想拿資料作練習的朋友可以點下單連結,下載連結會寄至您提供的Email喔! 目前資源都是免費的,當然也歡迎您輸入金額小額贊助我們喔!

Python - Project 實作 - Payhip



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads/ FB,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!



留言
avatar-img
留言分享你的想法!
avatar-img
DigNo Ape 數遊原人
56會員
138內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
DigNo Ape 數遊原人的其他內容
2025/01/15
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
2025/01/15
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
2024/12/03
- 圖片去背 - 圖片Mirror
Thumbnail
2024/12/03
- 圖片去背 - 圖片Mirror
Thumbnail
2024/11/11
在Part 3,我們獲取了00878的每個持倉的盈餘和價格,本篇會講解最後的部分,將統整後的市值、盈餘計算此ETF的本益比。
2024/11/11
在Part 3,我們獲取了00878的每個持倉的盈餘和價格,本篇會講解最後的部分,將統整後的市值、盈餘計算此ETF的本益比。
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
本文提供伯克希爾哈撒韋(Berkshire Hathaway, BRK.B)股票的投資分析,包含宏觀經濟分析、公司基本面分析、估值分析以及技術面分析,並提出分批佈局的投資策略及合理買入區間。
Thumbnail
本文提供伯克希爾哈撒韋(Berkshire Hathaway, BRK.B)股票的投資分析,包含宏觀經濟分析、公司基本面分析、估值分析以及技術面分析,並提出分批佈局的投資策略及合理買入區間。
Thumbnail
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。
Thumbnail
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。
Thumbnail
投資週報內容包括投資洞察、投資組合個股分析、買賣策略與對帳單、觀盤重點與投資計畫,透過方格子訂閱專題每週發佈,提供投資朋友參考。 ❶ 投資洞察:波克夏 2024/Q3 持股異動分析 波克夏向美國證券交易委員會提交的13F報告顯示,有下列幾項重要變化,這是巴菲特重大的持股調整時刻,本周彙整摘要與阿
Thumbnail
投資週報內容包括投資洞察、投資組合個股分析、買賣策略與對帳單、觀盤重點與投資計畫,透過方格子訂閱專題每週發佈,提供投資朋友參考。 ❶ 投資洞察:波克夏 2024/Q3 持股異動分析 波克夏向美國證券交易委員會提交的13F報告顯示,有下列幾項重要變化,這是巴菲特重大的持股調整時刻,本周彙整摘要與阿
Thumbnail
各位巴老股東老闆 巴菲特 berkshire 已經從上年 10月低位反彈超過 25% ! 當然你買 tsla aapl nvidia 甚至乎 qqq 都不只有這個回報,不過如果你是一個美股空軍,東升西降,中特估,就應該望門興嘆了 ~ 是的,小弟是 cherry picking,選一隻沒有升得太離譜的
Thumbnail
各位巴老股東老闆 巴菲特 berkshire 已經從上年 10月低位反彈超過 25% ! 當然你買 tsla aapl nvidia 甚至乎 qqq 都不只有這個回報,不過如果你是一個美股空軍,東升西降,中特估,就應該望門興嘆了 ~ 是的,小弟是 cherry picking,選一隻沒有升得太離譜的
Thumbnail
巴菲特執掌的波克夏公司(Berkshire Hathaway)在2023年2月15日波克夏公司對美國證券交易委員會提交的13F申報資料顯示,2022第4季反手大砍台積電ADR持股,成為少見的短線操作
Thumbnail
巴菲特執掌的波克夏公司(Berkshire Hathaway)在2023年2月15日波克夏公司對美國證券交易委員會提交的13F申報資料顯示,2022第4季反手大砍台積電ADR持股,成為少見的短線操作
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News