程式
如何使用 Python 獲得每日市值
我正在尋找一種獲得免費歷史每日市值的方法?我可以從雅虎獲得今天的市值,但也需要舊的市值.. 感謝您的幫助。
ps:我沒有彭博社,學校也沒有為我們提供任何數據提供者訪問權限。
Tiingo.com 擁有可通過API獲得的基本數據,您可以使用 Python 訪問這些數據。我不確定您是否必須為此付費,或者它是否包含在免費帳戶中。無論哪種方式,流通股都在您可以通過其 REST API 獲得的基本數據中的資產負債表上。
YCharts 每月也有這些數據。請參見此處的範例。通過瀏覽頁面,您可以使用 Python
requests
輕鬆獲取 JSON 格式的數據,並使用json
包並從那里以您喜歡的方式使用它。我只是將這段程式碼放在一起作為範例。輸出是一個列表
$$ unix_time, shares_outstanding $$格式。
import requests import json response = requests.get('https://ycharts.com/charts/fund_data.json?securities=include%3Atrue%2Cid%3AMSFT%2C%2C&calcs=include%3Atrue%2Cid%3Ashares_outstanding%2C%2C&correlations=&format=real&recessions=false&zoom=5&startDate=&endDate=&chartView=&splitType=single&scaleType=linear¬e=&title=&source=false&units=false"eLegend=true&partner="es=&legendOnChart=true&securitylistSecurityId=&clientGroupLogoUrl=&displayTicker=false&ychartsLogo=&useEstimates=false&maxPoints=880') json_data = {} json_data['MSFT'] = json.loads(response.text)
您可以通過執行以下操作來訪問數據以獲取最新數據:
json_data['MSFT']['chart_data'][0][0]['raw_data'][-1]
導致:
[1587686400000, 7583.4402]
之後,只需抓住價格並乘以流通股,您就有了市值。您可能不得不假設流通股每月僅更新一次,除非您想深入了解 EDGAR 文件。
上面的程式碼只是獲取一隻股票數據的一個例子。需要對其進行一些更改,以使其可用於股票列表或日期列表等。要直接獲取市值而不是流通股,只需在呼叫字元串中替換
shares_outstanding
為。輸出將是相同的每日市值market_cap``requests.get()
$$ unix, data $$格式。
我在這裡找到了蘋果歷史市值的來源。雖然這個來源沒有對所有列出的公司有一個全面的看法,但我相信它們只是通過搜尋就可以找到,而且它似乎也可以追溯到很早以前。我希望這有幫助。