2017-05-18 15 views
6

Trong 1-2 ngày qua, truy vấn http mà tôi đã sử dụng để tải xuống giá cổ phiếu lịch sử từ Yahoo Finance đã không hoạt động. Các liên kết Tôi đã được sử dụng là một trong những đầu tiên dưới đây nhưng tôi cũng đã cố gắng ra ba người kia (kể từ khi tôi nhìn thấy những người khác sử dụng chúng):Có phải YQL/datatables.org từ ngày 17-18 tháng 5 năm 2017 không?

http://real-chart.finance.yahoo.com/table.csv?s=TRQ&d=6&e=3&f=2016&g=d&a=5&b=25&c=2016&ignore=.csv 
https://real-chart.finance.yahoo.com/table.csv?s=TRQ&d=6&e=3&f=2016&g=d&a=5&b=25&c=2016&ignore=.csv 
http://ichart.finance.yahoo.com/table.csv?s=TRQ&d=6&e=3&f=2016&g=d&a=5&b=25&c=2016&ignore=.csv 
https://ichart.finance.yahoo.com/table.csv?s=TRQ&d=6&e=3&f=2016&g=d&a=5&b=25&c=2016&ignore=.csv 

Một điều thú vị mà tôi nhận thấy là các liên kết rằng Yahoo trang web tự cung cấp (để tải dữ liệu theo cách thủ công) đã thay đổi. Các liên kết sử dụng để là người đầu tiên trong danh sách trên (sau khi tất cả, đó là nơi tôi đã nhận nó từ) nhưng bây giờ nó là như sau:

https://query1.finance.yahoo.com/v7/finance/download/TRQ?period1=1466805600&period2=1467496800&interval=1d&events=history&crumb=DuX0UxVwtN0 

Lưu ý rằng tất cả những liên kết này nên về mặt lý thuyết lấy dữ liệu giống nhau: chứng khoán giá cho TRQ (chỉ là một ví dụ, tôi đã cố gắng ví dụ như AAPL là tốt) từ 2016/06/25 đến 2016/07/03.

Liên kết mới này hoạt động trong trình duyệt hoặc trong chương trình của tôi, nhưng hầu như không thể mở rộng vì nó yêu cầu cookie phiên; nếu bạn chỉ cần bỏ qua tham số truy vấn cuối cùng, bạn sẽ gặp lỗi khi nói rằng bạn không được ủy quyền. This question hỏi về cách tạo cookie phiên cho biết theo cách tự động; tuy nhiên, tôi muốn hỏi về cách tránh vấn đề này hoàn toàn bằng cách cố truy cập trực tiếp cơ sở dữ liệu YQL.

tôi đã cố gắng sử dụng liên kết sau đây để trực tiếp sử dụng API YQL (chuyển đổi không gian để% 20 vv, mà không phải là vấn đề):

https://query.yahooapis.com/v1/public/yql?q= 
    select * from yahoo.finance.historicaldata where symbol = "TRQ" 
    and startDate = "2016-06-25" 
    and endDate = "2016-07-03" 
&format=json 
&diagnostics=true 
&env=store://datatables.org/alltableswithkeys 
&callback= 

liên kết này trả về một "kết nối từ chối" lỗi. Như this question cho thấy, điều này có thể là do trang web datatables.org bị hỏng (câu hỏi trong liên kết đề cập đến sự cố thời gian chết khoảng một năm trước). Có ai có thêm thông tin về điều này không?

Cảm ơn.

+0

Cảnh báo rằng ngay cả khi bạn có được cách có thể mở rộng để sử dụng liên kết mới với cookie phiên, dữ liệu Giá đã điều chỉnh không chính xác, ở đó nó không tính cổ tức. Kiểm tra SPY. Giá điều chỉnh luôn bằng với mức đóng cửa, trong khi sau khi chia cổ tức, việc điều chỉnh đóng trước khi cổ tức được điều chỉnh giảm. –

Trả lời

8

Yahoo đã chính thức xác nhận rằng API Yahoo Finance đã hết hiệu lực trong các chủ đề sau trong Help Yahoo (xem bài viết bằng tên người dùng Nixon):

https://forums.yahoo.net/t5/Yahoo-Finance-help/Is-Yahoo-Finance-API-broken/m-p/250503#U250503

Chúng tôi đều tự hỏi mình "bây giờ những gì ? "

Hãy chia sẻ những phát hiện của bạn với cộng đồng.

+2

xấu hổ trên yahoo !!! – user3552178

+0

Xem chủ đề này: [Giải pháp thay thế cho Yahoo Finance API?] (Http://stackoverflow.com/questions/44048671/alternatives-to-the-yahoo-finance-api) – Candamir

1

Dường như có vẻ không hoạt động. Quandl có lẽ là sự thay thế miễn phí gần nhất, nhưng nó không có tất cả dữ liệu giống nhau. Đặc biệt, tôi đang cố gắng truy xuất dữ liệu trên nhiều ETF khác nhau, chẳng hạn như VXUS và VTI, không hoạt động.

1

Một trong những tính năng tuyệt vời của dữ liệu Yahoo hiện đã ngừng hoạt động là "giá đã điều chỉnh" về cơ bản cung cấp tổng lợi nhuận của một công cụ. Vì điều đó cũng không còn được cung cấp, bạn cũng có thể sử dụng API tài chính của Google mà vẫn có thể được tự động hóa.Đây là một đoạn trích của những gì tôi sử dụng (excel VBA) để mở và lưu một tệp với dữ liệu. Ngày kết thúc tôi sử dụng ở đây là 2019 hoặc bất cứ điều gì bạn muốn- nó sẽ tải về cho đến ngày cuối cùng có sẵn mà không cần tạo ra một lỗi:

startdate = #3/15/2015# 
StartingMonth = Format(startdate, "Mmm") 
StartingDay = Format(startdate, "d") 
StartingYear = Format(startdate, "yyyy") 
startdate = StartingMonth & "+" & StartingDay & "%2C+" & StartingYear  
Symbol = "AAPL" 
ThisAddress = "http://www.google.com/finance/historical?q=" & _ 
      Symbol & "&startdate=" & startdate & "&enddate=Nov+1%2C+2019&output=csv" 
Workbooks(ThisBook).FollowHyperlink Address:=ThisAddress 
Application.DisplayAlerts = False 
ActiveWorkbook.SaveAs Filename:=Symbol, FileFormat:=xlCSV 
1

Trong một trong những bài viết diễn đàn, một nhân viên Yahoo đã xác nhận rằng các dữ liệu EOD miễn phí đã bị chấm dứt và sẽ không được giới thiệu lại. Hãy xem số thread này và tìm câu trả lời từ Nixon. Yahoo gần đây đã được Verizon mua lại và nó phải là hướng đi mới.

Tuy nhiên, nếu bạn kiểm tra trang tài chính của Yahoo, liên kết tải xuống CSV hoạt động, mặc dù khác nhau ngay bây giờ. Thông qua API mới sử dụng mã thông báo xác thực "crumb" được liên kết với cookie khi bạn truy cập trang.

Tôi đã tập hợp một số mã Python3 nhanh để tải xuống cùng một CSV như trước đây (với giá đã điều chỉnh) thông qua API mới này. Vui lòng xem dự án GitHub yahoo_quote_download.

Các vấn đề liên quan