程式

如何使用 Python 獲得每日市值

  • May 11, 2020

我正在尋找一種獲得免費歷史每日市值的方法?我可以從雅虎獲得今天的市值,但也需要舊的市值.. 感謝您的幫助。

ps:我沒有彭博社,學校也沒有為我們提供任何數據提供者訪問權限。

Tiingo.com 擁有可通過API獲得的基本數據,您可以使用 Python 訪問這些數據。我不確定您是否必須為此付費,或者它是否包含在免費帳戶中。無論哪種方式,流通股都在您可以通過其 REST API 獲得的基本數據中的資產負債表上。

YCharts 每月也有這些數據。請參見此處的範例。通過瀏覽頁面,您可以使用 Pythonrequests輕鬆獲取 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&note=&title=&source=false&units=false&quoteLegend=true&partner=&quotes=&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 $$格式。

我在這裡找到了蘋果歷史市值的來源。雖然這個來源沒有對所有列出的公司有一個全面的看法,但我相信它們只是通過搜尋就可以找到,而且它似乎也可以追溯到很早以前。我希望這有幫助。

引用自:https://quant.stackexchange.com/questions/54045