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 數遊原人
53會員
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
追蹤巴菲特(Warren Buffett)投資操作的 完整指南,包含官方數據來源、第三方分析工具與實戰解讀技巧,助你即時掌握「奧馬哈先知」的投資動向: 一、官方數據來源:直擊伯克希爾·哈撒韋(Berkshire Hathaway)披露文件 1. 美國證監會(SEC)文件系統 13F 持倉報
Thumbnail
追蹤巴菲特(Warren Buffett)投資操作的 完整指南,包含官方數據來源、第三方分析工具與實戰解讀技巧,助你即時掌握「奧馬哈先知」的投資動向: 一、官方數據來源:直擊伯克希爾·哈撒韋(Berkshire Hathaway)披露文件 1. 美國證監會(SEC)文件系統 13F 持倉報
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,選一隻沒有升得太離譜的
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News