当前位置: 首页 > 科技观察

超级实用!教你用Python获取和下载美股数据

时间:2023-03-19 10:55:59 科技观察

1。准备,请选择以下任意一种方式输入命令安装依赖:1.Windows环境打开Cmd(开始-运行-CMD)。2.在MacOS环境下,打开Terminal(command+空格进入Terminal)。3、如果你使用的是VSCode编辑器或者Pycharm,可以直接使用界面下方的Terminal.pipinstallyfinance2.yfinance。基本使用你可以使用相同的命令通过yfinance下载任何美股数据,例如:importyfinanceasyf#SingleSharedata=yf.download("AAPL",start="2017-01-01",end="2017-04-30")#OpenHighLowCloseAdjCloseVolume#Date#2017-01-0328.95000129.08250028.69000129.03750027.257641115127600#2017-01-0428.96250029.12750128.93750029.00499927.22713584472400#2017-01-0528.98000029.21500028.95249929.15250027.36559388774400#2017-01-0629.19500029.54000129.11750029.477750127.670671127007600#2017-01-01-09-01-09="2017-01-01",end="2017-04-30",group_by="ticker")#AAPL...SPY#OpenHighLowClose...LowCloseAdjCloseVolume#Date...#2017-01-0328.95000129.08250028.69000129.037500...223.880005225.240005205.50907991366500#2017-01-0428.96250029.12750128.93750029.004999...225.610001226.580002206.73173578744400#2017-01-0528.98000029.21500028.95249929.152500...225.479996226.399994206.56745978379000#2017-01-0629.19500029.54000129.11750029.477501...225.899994227.210007207.30654971559900#......默认获取日级别数据。如果需要获取分钟级别的数据,只需要加上区间参数:importyfinanceasyfy#fsinglesharedata=.download("AAPL",start="2022-05-18",end="2022-05-23",interval="1m")print(data)#OpenHighLowCloseAdjCloseVolume#Datetime#2022-05-1712:00:00-04:00148.000000148.050003147.839996147.865005147.8650050#2022-05-1712:01:00-04:00147.869507147.919998147.779999147.889893147.889893123746#2022-05-1712:02:00-04:00147.889999147.929993147.750000147.907394147.90739492847#2022-05-1712:03:00-04:00147.904999147.929993147.785004147.839996147.83999679266#2022-05-1712:04:00-04:00147.839996147.895004147.779999147.860001147.86000158905#......支持分钟级参数:1m、2m、5m、15m、30m、60m、90m等。另外支持小时级别和天线、周、月级别:1h、1d、5d、1wk、1mo、3mo等。获取的数据类型为Dataframe,所以也可以直接保存为csv文件:#:Python实战集importyfinanceasyfdata=yf.download("AAPL",start="2022-05-18",end="2022-05-23",interval="1m")data.to_csv("aapl_20220518_20220523.csv")#保存到本地,命名为aapl_20220518_20220523.csv3。通过yfinance获取股票的基本数据如果需要获取一只股票的基本数据,比如市值、市盈率、股息等,可以定义一只股票的Ticker,使用其info属性获取:#公众号:Python实战集importyfinanceasyfaapl=yf.Ticker("aapl")print(aapl.info)#{'zip':'95014','sector':'Technology','fullTimeEmployees':154000,'longBusinessSummary':'Apple......这本词典比较长,这里省略了,里面包含了比如市盈率(PE)等信息:#公众号:Python实战宝典importyfinanceasyfaapl=yf.Ticker("aapl")aapl.info['forwardPE']#20.974085还可以得到每次分红的数据:#公众号:Python实用集importyfinanceasyfaapl=yf.Ticker("aapl")print(aapl.dividends)#Date#1987-05-110.000536#1987-08-100.000536#1987-11-170.000714#1988-02-120.000714#1988-05-160.000714#...#2021-05-070.220000#......获取资产负债表:#公众号:Python实战集importyfinanceasyfaapl=yf.Ticker("aapl")print(aapl.balancesheet)#2021-09-252020-09-262019-09-282018-09-29#总负债2.879120e+112.585490e+112.480280e+112.585780e+11#总股东权益6.309000e+106.533900e+109.048800e+101.071470e+11#其他流动负债5.357700e+104.786700e+104.324200e+103.929300e+10#总资产28e1+18e+18e+103.385160e+113.657250e+11#普通股5.736500e+105.077900e+104.517400e+104.020100e+10#......现金流数据:#公众号:Python实战集importyfinanceasyfaapl=yf.Ticker("aapl")print(aapl.cashflow)#2021-09-252020-09-262019-09-282018-09-29#Investments-2.819000e+095.335000e+095.809300e+103.084500e+10#负债变化1.400200e+10-1.981000e+09-2.548000e+099.172000e+09#1900e+2.400e+2以来投资活动产生的总现金流量。094.589600e+101.606600e+10#......新闻数据:#公众号:Python实战宝典importyfinanceasyfaapl=yf.Ticker("aapl")print(aapl.news)#[{'uuid':'476a41c6-c6dc-3050-9b8f-c3777c8485b2','title':"道琼斯期货在'硬'现实冲击市场后上涨;现在怎么办",'publisher':"Investor'sBusinessDaily",#'链接':'https://finance.yahoo.com/m/476a41c6-c6dc-3050-9b8f-c3777c8485b2/dow-jones-futures-rise-after.html',#'providerPublishTime':1653305573,'类型':'STORY'},{'uuid':'721d466d-5394-3f3c-a9c3-b0920d44c7f3'......总之,神器yfinance,除了高频数据,其他美股数据获取不到.都可以搞定,有需要的朋友可以试试,非常好用。