nguồn dữ liệu chứng khoán lịch sử [đóng]


239

Tôi đang cố gắng tạo một trình giả lập thị trường chứng khoán (có lẽ cuối cùng phát triển thành AI dự đoán), nhưng tôi gặp khó khăn khi tìm dữ liệu để sử dụng. Tôi đang tìm kiếm một nguồn dữ liệu thị trường chứng khoán lịch sử (miễn phí).

Lý tưởng nhất, đó sẽ là một bộ dữ liệu rất chi tiết (khoảng thời gian thứ hai hoặc phút) với giá và khối lượng của mỗi biểu tượng trên NASDAQ và NYSE (và có lẽ các loại khác nếu tôi thích phiêu lưu). Có ai biết một nguồn cho thông tin như vậy?

Tôi đã tìm thấy câu hỏi này cho biết Yahoo cung cấp dữ liệu lịch sử ở định dạng CSV, nhưng tôi không thể tìm ra cách lấy nó trong một cuộc kiểm tra về trang web được liên kết.

Tôi cũng không thích ý tưởng tải xuống dữ liệu từng phần trong các tệp CSV ... Tôi tưởng tượng Yahoo sẽ khó chịu và tắt tôi sau vài nghìn yêu cầu đầu tiên.

Tôi cũng phát hiện ra một câu hỏi khác khiến tôi nghĩ rằng tôi đã trúng số độc đắc, nhưng thật không may là trang OpenTick dường như đã đóng cửa ... quá tệ, vì tôi nghĩ chúng chính xác là những gì tôi muốn.

Tôi cũng có thể sử dụng dữ liệu chỉ mở / đóng giá và khối lượng của mỗi biểu tượng mỗi ngày, nhưng tôi thích tất cả dữ liệu hơn nếu tôi có thể lấy dữ liệu đó. Bất cứ một đề nghị nào khác?


4
@rmeador, Yahoo sẽ không tắt bạn cho dù bạn có bao nhiêu yêu cầu, nhưng Google sẽ tắt bạn. Tôi đã có thể tải xuống khoảng 4GB giá lịch sử EOD từ Yahoo trong khoảng 5-6 giờ mà không bị tắt. Đó là khoảng 7.000 cổ phiếu với tất cả giá lịch sử EOD của họ kể từ khi họ tham gia thị trường. Xem câu trả lời của tôi để biết thêm thông tin và mã nguồn mẫu.
Kiril

Tôi cảm thấy dữ liệu EOD không đủ thông tin. Nếu bạn muốn báo giá và giao dịch tick-by-tick, tôi tin rằng polygon.io là rẻ nhất.
Quinton Pike

Câu trả lời:


226

Hãy để tôi thêm 2, công việc của tôi là lấy dữ liệu tốt và sạch cho một quỹ phòng hộ, tôi đã thấy khá nhiều nguồn cấp dữ liệu và nhà cung cấp dữ liệu lịch sử. Đây chủ yếu là về dữ liệu chứng khoán Mỹ.

Để bắt đầu, nếu bạn có một số tiền đừng bận tâm với việc tải xuống dữ liệu từ Yahoo, hãy lấy dữ liệu cuối ngày trực tiếp từ dữ liệu CSI , đây là lúc Yahoo lấy dữ liệu EOD của họ cũng như AFAIK. Họ có một API nơi bạn có thể trích xuất dữ liệu sang bất kỳ định dạng nào bạn muốn. Tôi nghĩ rằng đăng ký hàng năm cho dữ liệu là một vài đô la 100 đô la.

Vấn đề chính với việc tải xuống dữ liệu từ một dịch vụ miễn phí là bạn chỉ nhận được các cổ phiếu còn tồn tại, đây được gọi là Xu hướng sống sót và có thể cung cấp cho bạn kết quả sai nếu bạn xem nhiều cổ phiếu, bởi vì bạn sẽ chỉ bao gồm những cổ phiếu đã làm như vậy xa và không phải là những người đã được liệt kê.

Để chơi xung quanh với một số dữ liệu trong ngày tôi tìm hiểu về IQFeed , họ cung cấp một số API để trích xuất dữ liệu lịch sử, mặc dù chúng chủ yếu là trang phục cho các nguồn cấp dữ liệu thời gian thực. Nhưng ở đây có khá nhiều lựa chọn, một số nhà môi giới thậm chí còn cung cấp tải xuống dữ liệu lịch sử thông qua API của họ, vì vậy chỉ cần chọn chất độc của bạn.

NHƯNG thường tất cả các dữ liệu này không được sạch sẽ lắm, khi bạn thực sự bắt đầu kiểm tra lại, bạn sẽ thấy rằng một số cổ phiếu nhất định bị thiếu hoặc xuất hiện dưới dạng hai biểu tượng khác nhau hoặc chia tách cổ phiếu không được tính đúng, v.v. Và sau đó bạn nhận ra rằng lịch sử dữ liệu cổ tức cũng cần thiết và vì vậy bạn bắt đầu chạy theo vòng tròn, vá dữ liệu với nhau từ 100 nguồn dữ liệu khác nhau, v.v. Vì vậy, để bắt đầu với một nguồn cấp dữ liệu "giảm giá" sẽ làm được, nhưng ngay khi bạn chạy các backtests toàn diện hơn, bạn có thể gặp vấn đề tùy thuộc vào những gì bạn làm. Nếu bạn chỉ nhìn vào, giả sử, cổ phiếu S & P 500 điều này sẽ không có quá nhiều vấn đề và một nguồn cấp dữ liệu trong ngày "giá rẻ" sẽ làm được.

Những gì bạn sẽ không tìm thấy là dữ liệu trong ngày miễn phí. Ý tôi là bạn có thể tìm thấy một số ví dụ, tôi chắc chắn có khoảng 5 năm dữ liệu đánh dấu MSFT trôi nổi nhưng điều đó sẽ không giúp bạn tiến xa.

Sau đó, nếu bạn cần những thứ thực sự (sổ đặt hàng cấp II, tất cả các dấu hiệu như chúng đã xảy ra ở tất cả các sàn giao dịch), một lựa chọn "giá cả phải chăng", nhưng tuyệt vời là Nanex . Họ thực sự sẽ gửi cho bạn một ổ đĩa với terabyte dữ liệu. Nếu tôi nhớ đúng khoảng $ 3k-4K mỗi năm dữ liệu. Nhưng tin tôi đi, một khi bạn hiểu việc kiếm được dữ liệu tốt trong ngày khó đến mức nào, bạn sẽ không nghĩ rằng đây là rất nhiều tiền.

Không làm bạn nản lòng nhưng để có được dữ liệu tốt thì khó, thực tế là nhiều quỹ đầu cơ và ngân hàng phải chi hàng trăm ngàn đô la mỗi tháng để có được dữ liệu mà họ có thể tin tưởng. Một lần nữa, bạn có thể bắt đầu ở đâu đó và sau đó đi từ đó nhưng thật tốt khi thấy nó một chút trong bối cảnh.


Chỉnh sửa: Câu trả lời ở trên là từ kinh nghiệm của riêng tôi. Bài viết này từ Caltech về các nguồn cấp dữ liệu có sẵn sẽ cung cấp thêm thông tin chi tiết và đặc biệt khuyến nghị QuantQuote .


18
+1 để chỉ ra 3 cấp độ dữ liệu (lịch sử, nội bộ, cấp II) và nhận xét sâu sắc về câu trả lời của người khác (tính đầy đủ, sạch sẽ, kích thước lưu trữ, của bộ dữ liệu ...)
Peter Host

2
CSI là tuyệt vời, nhưng chỉ là FYI, các cổ phiếu bị hủy bỏ hiện đang là một dịch vụ cao cấp, không còn được bao gồm trong các gói cơ bản. Chỉ cần FYI.
Olie

1
CSI rất tuyệt nhưng giá thì đắt. Nếu bạn sử dụng Lợi thế không lành mạnh, bạn bị ràng buộc với ứng dụng của họ. Thật nhàm chán khi sử dụng nó hàng ngày để cập nhật lịch sử của bạn. Nếu bạn muốn tải xuống từ http hoặc ftp bằng CSI, bạn phải trả khoảng 200 € mỗi tháng. Xin lỗi, nhưng nó quá đắt.
davidxxx 14/03/2015

@davidh, CSI không có lợi thế có API ActiveX nơi bạn có thể tự động xuất tất cả dữ liệu đăng ký của mình. Sẽ mất khoảng một ngày để viết một công cụ xuất khẩu mạnh mẽ ... Nếu bạn biết về một sự thay thế rẻ hơn với chất lượng tương tự như CSI, vui lòng đăng một thay thế!
lukebuehler

Lưu ý về QuantQuote: họ xem xét / xử lý đơn đặt hàng của bạn trong vòng 48 giờ sau khi mua. Trong trường hợp bạn nghĩ rằng bạn có quyền truy cập ngay lập tức.
fionbio

94

CÂU TRẢ LỜI NÀY KHÔNG CÓ CHÍNH XÁC DÀI NÀO LÀ YAHOO FEED ĐÃ ĐƯỢC CHẤP NHẬN

Sử dụng phương pháp CSV của Yahoo ở trên, bạn cũng có thể nhận được dữ liệu lịch sử! Bạn có thể đảo ngược kỹ sư ví dụ sau:

http://ichart.finance.yahoo.com/table.csv?s=YHOO&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv

Bản chất:

sn = TICKER
a = fromMonth-1
b = fromDay (two digits)
c = fromYear
d = toMonth-1
e = toDay (two digits)
f = toYear
g = d for day, m for month, y for yearly

Danh sách đầy đủ các tham số:

a   Ask
a2  Average Daily Volume
a5  Ask Size
b   Bid
b2  Ask (Real-time)
b3  Bid (Real-time)
b4  Book Value
b6  Bid Size
c   Change & Percent Change
c1  Change
c3  Commission
c6  Change (Real-time)
c8  After Hours Change (Real-time)
d   Dividend/Share
d1  Last Trade Date
d2  Trade Date
e   Earnings/Share
e1  Error Indication (returned for symbol changed / invalid)
e7  EPS Estimate Current Year
e8  EPS Estimate Next Year
e9  EPS Estimate Next Quarter
f6  Float Shares
g   Day's Low
h   Day's High
j   52-week Low
k   52-week High
g1  Holdings Gain Percent
g3  Annualized Gain
g4  Holdings Gain
g5  Holdings Gain Percent (Real-time)
g6  Holdings Gain (Real-time)
i   More Info
i5  Order Book (Real-time)
j1  Market Capitalization
j3  Market Cap (Real-time)
j4  EBITDA
j5  Change From 52-week Low
j6  Percent Change From 52-week Low
k1  Last Trade (Real-time) With Time
k2  Change Percent (Real-time)
k3  Last Trade Size
k4  Change From 52-week High
k5  Percent Change From 52-week High
l   Last Trade (With Time)
l1  Last Trade (Price Only)
l2  High Limit
l3  Low Limit
m   Day's Range
m2  Day's Range (Real-time)
m3  50-day Moving Average
m4  200-day Moving Average
m5  Change From 200-day Moving Average
m6  Percent Change From 200-day Moving Average
m7  Change From 50-day Moving Average
m8  Percent Change From 50-day Moving Average
n   Name
n4  Notes
o   Open
p   Previous Close
p1  Price Paid
p2  Change in Percent
p5  Price/Sales
p6  Price/Book
q   Ex-Dividend Date
r   P/E Ratio
r1  Dividend Pay Date
r2  P/E Ratio (Real-time)
r5  PEG Ratio
r6  Price/EPS Estimate Current Year
r7  Price/EPS Estimate Next Year
s   Symbol
s1  Shares Owned
s7  Short Ratio
t1  Last Trade Time
t6  Trade Links
t7  Ticker Trend
t8  1 yr Target Price
v   Volume
v1  Holdings Value
v7  Holdings Value (Real-time)
w   52-week Range
w1  Day's Value Change
w4  Day's Value Change (Real-time)
x   Stock Exchange
y   Dividend Yield

Trang này có một bảng đặc biệt có thể được sử dụng trong URL.
user443854

9
Một vấn đề lớn với việc lấy dữ liệu từ Yahoo, hoặc bất kỳ dịch vụ trực tuyến nào, là bạn không nhận được các cổ phiếu bị hủy bỏ, vì vậy bạn sẽ nhanh chóng gặp phải sự thiên vị sống sót. Theo dõi tốt hơn lời khuyên của Eric H. hoặc của tôi và đi thẳng đến CSI.
lukebuehler

Trang này đã từng có một thẻ đặc biệt có thể được sử dụng trong URL ... "Yahoo cho rằng việc bạn sử dụng và phân phối công cụ và nội dung nằm ở ... cấu thành vi phạm các phần 6, 12 và 18 của Điều khoản dịch vụ (trong số các điều khoản khác), dẫn đến cạnh tranh không lành mạnh và khiến người khác vi phạm Điều khoản dịch vụ. ... Bằng cách can thiệp vào các mối quan hệ hợp đồng và kinh doanh này, bạn có khả năng làm tổn hại khả năng của những người dùng khác có được lợi ích của các dịch vụ được cung cấp tại trang Yahoo Finance ". Đồng ý với Yahoo
Mustapha George

Tôi đã thêm các công tắc còn lại từ ghi chú của mình, được sử dụng để tìm thấy trên trang web đó. Việc trình bày những thứ này ở đây dường như không vi phạm với ToS được tìm thấy ở đây: chính sách.yahoo.com / us / en / yahoo / terms / products-atos / apiforydn /. Yahoo phải buồn về công cụ dữ liệu Excel cũng bị làm phiền có sẵn trên trang web đó.
Fredrik E

2
Nguồn cấp dữ liệu này không còn nữa.
MichaelICE

47

Tôi biết bạn muốn "miễn phí", nhưng tôi nghiêm túc xem xét việc lấy dữ liệu từ csidata.com với giá khoảng 300 đô la / năm, nếu tôi là bạn.

Đó là những gì yahoo sử dụng để cung cấp dữ liệu của họ.

Nó đi kèm với một API phong nha và dữ liệu (theo như tôi có thể nói) rất sạch sẽ.

Bạn nhận được 10 năm lịch sử khi bạn đăng ký, và sau đó cập nhật hàng đêm sau đó.

Họ cũng chăm sóc tất cả những thứ khó chịu như chia nhỏ và cổ tức cho bạn. Nếu bạn chưa phát hiện ra niềm vui đó là làm sạch dữ liệu, bạn sẽ không nhận ra mình cần bao nhiêu, cho đến lần đầu tiên ATS (Hệ thống giao dịch tự động) nghĩ rằng một số cổ phiếu thực sự rẻ, chỉ vì nó tách ra 2 : 1 và bạn đã không thông báo.


1
ngôn ngữ nào được API của họ hỗ trợ?
dùng443854

1
họ có API ActiveX mà bạn có thể gọi bằng mã c ++ hoặc C # hoặc bất cứ thứ gì trong windows để lấy dữ liệu của bạn.
lukebuehler

1
Hấp dẫn. Việc phân chia và xử lý cổ tức khác với Yahoo như thế nào?
Khóa Matthew

1
@MatthewLock Tôi không 100% về vấn đề này nhưng tôi nghĩ Yahoo sử dụng một nhà cung cấp dữ liệu "sự kiện công ty" khác và sau đó chỉ sử dụng dữ liệu CSI thô được điều chỉnh bởi các sự kiện của công ty. Bài viết hơi cũ này cung cấp một số cái nhìn sâu sắc: amibroker.org/userkb/2007/09/23/yahoos-data-providers
lukebuehler

2
CSI là tuyệt vời, nhưng chỉ là FYI, các cổ phiếu bị hủy bỏ hiện đang là một dịch vụ cao cấp, không còn được bao gồm trong các gói cơ bản. Chỉ cần FYI.
Olie

16

Một bộ dữ liệu của mọi biểu tượng trên NASDAQ và NYSE trong khoảng thời gian thứ hai hoặc phút sẽ rất lớn .

Giả sử có tổng cộng 4000 công ty được liệt kê trên cả hai sàn (điều này có lẽ ở mức rất thấp vì có hơn 3200 công ty được liệt kê trên NASDAQ). Đối với dữ liệu ở khoảng thời gian thứ hai, giả sử có 6,5 giờ giao dịch trong một ngày, sẽ cung cấp cho bạn 23400 điểm dữ liệu mỗi ngày cho mỗi công ty, hoặc tổng cộng khoảng 93.600.000 điểm dữ liệu trong một ngày. Giả sử 200 ngày giao dịch trong một năm, đó là khoảng 18.720.000.000 điểm dữ liệu chỉ trong một năm.

Có lẽ bạn muốn bắt đầu với một bộ nhỏ hơn trước?


2
Tôi đã hoạt động với giả định rằng hầu hết các công ty sẽ không được giao dịch mỗi giây, vì vậy số lượng điểm dữ liệu sẽ ít hơn đáng kể. có lẽ đó là một giả định tồi. Tuy nhiên, tôi đã dự đoán về thứ tự 10 GB mỗi năm ...
rmeador

Một vài tháng dữ liệu chứng khoán cho khoảng 10 biểu tượng xuất hiện trên 3 DVD. Dữ liệu cũng được nén.
Alan

1
@rmeador điều đó đúng, nhưng cũng có một số cổ phiếu có khối lượng hàng ngày nhiều hơn số giây trong một ngày, nghĩa là họ giao dịch nhiều hơn một lần một giây - và không phải tất cả các giao dịch đều được đảm bảo ở cùng mức giá. Vì vậy, bạn phải quyết định xem bạn có quan tâm đến giá trong một khoảng thời gian, hoặc tại giao dịch
matt b

2
Nếu bạn muốn toàn bộ, ví dụ, báo giá cấp II của tất cả các sàn giao dịch, v.v ... một vài TB trong một năm ở định dạng nén suuuuper (khoảng 5 GB mỗi ngày giao dịch). Nếu bạn chỉ lưu trữ dữ liệu phút thực sự rất ít, khoảng 10 GB trong 10 năm cho tất cả các cổ phiếu ...
lukebuehler

16

Giới thiệu:
Từ yahoo bạn có thể nhận được giá lịch sử EOD (cuối ngày) hoặc giá theo thời gian thực. Giá EOD rất đơn giản để tải về. Xem blog của tôi để được giải thích về cách lấy dữ liệu và ví dụ về mã C #.

Tôi đang trong quá trình viết một "công cụ" nguồn cấp dữ liệu thời gian thực để tải xuống và lưu trữ giá theo thời gian thực trong cơ sở dữ liệu. Công cụ ban đầu sẽ có thể tải xuống giá lịch sử từ Yahoo và Nhà môi giới tương tác và nó sẽ có thể lưu trữ dữ liệu trong cơ sở dữ liệu bạn chọn: MS SQL, MySQL, SQLite, v.v. Đó là nguồn mở, nhưng tôi sẽ đăng thêm thông tin trên blog của tôi khi tôi đến gần hơn để phát hành nó (trong một vài ngày).

Một tùy chọn khác là người giao dịch nhật thực ... nó cho phép bạn ghi lại dữ liệu lịch sử với độ chi tiết thấp nhất là 1 phút và lưu trữ giá cục bộ trong một tệp văn bản. Về cơ bản, nó tải dữ liệu thời gian thực từ Yahoo với độ trễ 15 phút. Vì tôi muốn một giải pháp mạnh mẽ hơn và tôi đang làm việc trong một dự án trường học lớn mà chúng tôi cần dữ liệu, tôi quyết định viết công cụ cung cấp dữ liệu của riêng tôi (mà tôi đã đề cập ở trên).

Mã mẫu:
Đây là mã C # mẫu minh họa cách tải xuống dữ liệu thời gian thực:

public void Start()
{
    string url = "http://finance.yahoo.com/d/quotes.csv?s=MSFT+GOOG&f=snl1d1t1ohgdr";
    //Get page showing the table with the chosen indices
    HttpWebRequest request = null;
    IDatabase database =
        DatabaseFactory.CreateDatabase(
        DatabaseFactory.DatabaseType.SQLite);

    //csv content
    try
    {
        while (true)
        {
            using (Stream file = File.Create("quotes.csv"))
            {
                request = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
                request.Timeout = 30000;
                using (var response = (HttpWebResponse)request.GetResponse())
                using (Stream input = response.GetResponseStream())
                {
                    CopyStream(input, file);
                }
            }
            Console.WriteLine("------------------------------------------------");
            database.InsertData(Directory.GetCurrentDirectory() + "/quotes.csv");

            File.Delete("quotes.csv");
            Thread.Sleep(10000); // 10 seconds
        }
    }
    catch (Exception exc)
    {
        Console.WriteLine(exc.ToString());
        Console.ReadKey();
    }
}

Cơ sở dữ liệu:
Về phía cơ sở dữ liệu, tôi sử dụng OleDbkết nối với tệp CSV để điền vào DataSetvà sau đó tôi cập nhật cơ sở dữ liệu thực tế của mình thông qua DataSet, về cơ bản, nó có thể khớp tất cả các cột từ tệp CSV được trả lại trực tiếp từ Yahoo vào cơ sở dữ liệu của bạn ( nếu cơ sở dữ liệu của bạn không hỗ trợ chèn hàng loạt dữ liệu CSV, như SQLite). Mặt khác, chèn dữ liệu là một lớp lót ... chỉ cần chèn hàng loạt CSV vào cơ sở dữ liệu của bạn.

Bạn có thể đọc thêm về định dạng của url tại đây: http : //www.gummy- ware.org/Yahoo-data.htm


sử thi tôi ước tôi tìm thấy điều này sớm hơn
ojblass

Điều đó thực sự cung cấp dữ liệu thời gian thực như bạn đề xuất? Từ trang này, nó có tham số "k1", nhưng lần trước tôi đã kiểm tra, nó vẫn có một số độ trễ.
Antony

@Antony hầu hết thời gian có một độ trễ nào đó, vì vậy nó chỉ phụ thuộc vào mức độ chịu đựng của bạn đối với sự chậm trễ. Yahoo nói rằng họ cung cấp dữ liệu thời gian thực, nhưng chắc chắn nó không dành cho tất cả các mã. Các mã không theo thời gian thực bị trì hoãn tối đa 15 phút. Ngay cả khi bạn nhận được một máy chủ cùng vị trí trên sàn giao dịch, VẪN sẽ có "một số chậm trễ" . Vì vậy, loại trì hoãn nào bạn sẵn sàng chịu đựng?
Kiril

Nó không đáng tin cậy. Nói cho tôi biết, tại sao điều này không hoạt động ngay bây giờ chẳng hạn: real-chart.finance.yahoo.com/, được sử dụng từ finance.yahoo.com/q/
mmm

9

NASDAQ cung cấp 10 năm dữ liệu EOD lịch sử cho mỗi biểu tượng

http://www.nasdaq.com/aspx/historical_quotes.aspx?symbol=AAPL&selected=AAPL

Bạn có thể tự động hóa quá trình tải xuống dữ liệu này.


Nguồn đẹp. Họ đã thay đổi hệ thống yêu cầu, vì vậy bây giờ tất cả các yêu cầu được xử lý bằng JS (ví dụ: Nasdaq.com/symbol/aapl/historical ). Có cách nào để tự động hóa nó?
Anton Tarasenko

Có, có thể tự động hóa nó. Bạn cần sử dụng một trình thám thính như Telerik và xem cách thu thập dữ liệu (thông qua POST). Miễn là bạn gửi đúng các biến bài, bạn sẽ nhận được dữ liệu.
Nick_F

1
Nó vẫn còn hiệu lực phải không? Nó có chứa bất kỳ dữ liệu trong ngày?
Lee

8

Đối với dữ liệu miễn phí thiên vị sống sót, nguồn đáng tin cậy duy nhất tôi tìm thấy là QuantQuote ( http://quantquote.com )

Dữ liệu đến trong độ phân giải phút, giây hoặc đánh dấu, liên kết đến dữ liệu chứng khoán lịch sử của họ .

Có một gợi ý cho kibot ở trên. Tôi sẽ thực hiện tìm kiếm nhanh trên google trước khi mua từ họ, bạn sẽ tìm thấy rất nhiều bài đăng như thế này với các cảnh báo về các vấn đề về chất lượng dữ liệu kibot. Người ta cũng nói rằng sp500 miễn phí được cho là sống sót của họ chỉ có 570 biểu tượng trong 14 năm. Điều đó khá là không thể, sp500 thay đổi 1-2 ký hiệu mỗi tháng ....


3
kibot chỉ có 3 biểu tượng miễn phí. phần còn lại phải trả! anh ấy chỉ đang làm quảng cáo
bouncingHippo

Dữ liệu hàng ngày miễn phí của quantquote không có giấy tờ: không có tiêu đề cột trong các tệp csv và không có tài liệu nào.
dùng443854

có tài liệu, định dạng về cơ bản giống như bộ dữ liệu độ phân giải phút của chúng.
dùng788171

quantquote.com có ​​rất nhiều lỗi trong dữ liệu
Ivelin

Họ cung cấp dữ liệu miễn phí cho IBM từ năm 1998. Nó đủ tốt cho tôi. Tôi chỉ cần một biểu tượng để kiểm tra nén: kibot.com/buy.aspx
Sergei Rodionov

7

Thật không may, dữ liệu đánh dấu lịch sử là miễn phí rất khó để có được. Bây giờ opentick đã chết, tôi không biết bất kỳ nhà cung cấp nào khác.

Ở kiếp trước, tôi đã làm việc cho một hedgefund có hệ thống giao dịch tự động và chúng tôi sử dụng dữ liệu lịch sử rất nhiều.

Chúng tôi đã sử dụng TickData cho nguồn của chúng tôi. Giá của chúng là hợp lý và dữ liệu có độ phân giải thứ hai.


6

Chúng tôi đã mua 12 năm dữ liệu trong ngày từ Kibot.com và khá hài lòng với chất lượng.

Đối với yêu cầu lưu trữ: 12 năm dữ liệu 1 phút cho tất cả các cổ phần của Hoa Kỳ (hơn 8000 ký hiệu) là khoảng 100 GB.

Với tình huống dữ liệu tick-by-tick là ít khác nhau. Nếu bạn chỉ ghi lại thời gian và doanh số, đó sẽ là khoảng 30 GB dữ liệu mỗi tháng cho tất cả các cổ phiếu của Hoa Kỳ. Nếu bạn muốn lưu trữ giá thầu / yêu cầu thay đổi cùng với giao dịch, bạn có thể mong đợi khoảng 150 GB mỗi tháng.

Tôi hi vọng cái này giúp được. Xin vui lòng cho tôi biết nếu có bất cứ điều gì khác tôi có thể giúp bạn với.


1
Vẫn hài lòng với KiBot @ boe100?
JaredBroad

@ boe100 Họ có cả giá điều chỉnh và chưa điều chỉnh? Họ có betas và deltas?
dùng443854

Cả dữ liệu điều chỉnh và không điều chỉnh đều có sẵn. Có thể cập nhật dữ liệu của bạn bằng API HTTP hoặc tải xuống tài liệu lưu trữ mới từ máy chủ FTP hàng ngày. Không có betas hoặc deltas được tính toán.
boe100

@ boe100 bạn có thể chia sẻ dữ liệu của bạn?
Tomasz Waszchot

2
@Tomasz haha, bình luận của bạn đã tạo nên ngày của tôi: D
Corneliu Maftuleac

6

Hãy để tôi thêm một nguồn tôi vừa khám phá, tìm thấy ở đây .

Nó có rất nhiều dữ liệu chứng khoán lịch sử ở định dạng csv và được thu thập bởi Andy Pavlo, người theo trang chủ của ông là "Trợ lý giáo sư tại Khoa Khoa học Máy tính tại Đại học Carnegie Mellon".


Điều này là tuyệt vời cho bất cứ ai chỉ đơn giản là tìm cách gây rối với một bộ dữ liệu thị trường chứng khoán lịch sử đủ lớn.
Ciaran Gallagher

1
Trang web xuống ...
Brethlosze



4

Bạn có thể sử dụng yahoo để lấy dữ liệu hàng ngày (một bộ dữ liệu dễ quản lý hơn nhiều) nhưng bạn phải cấu trúc các url. Xem liên kết này . Bạn không thực hiện nhiều yêu cầu nhỏ mà bạn đang thực hiện một yêu cầu ít hơn. Rất nhiều phần mềm miễn phí sử dụng phần mềm này để họ không nên tắt máy bạn.

EDIT: Đây anh chàng nào đó, có lẽ bạn có thể có một cái nhìn tại gọi làm cho phần mềm của mình.


Lúc đầu, tôi nghĩ rằng liên kết đó có vẻ đầy hứa hẹn, nhưng dường như tôi không thể tìm thấy cách chỉ định dữ liệu lịch sử ... có vẻ như đó là tất cả thời gian thực. Tui bỏ lỡ điều gì vậy?
rmeador

bạn đúng rồi. Tôi đã thêm một liên kết khác của một người có phần mềm thực hiện các công việc lịch sử để tôi biết điều đó là có thể. Có lẽ có một cái nhìn vào các cuộc gọi phần mềm của mình thực hiện.
jimcon ổn định

4

Yahoo là tùy chọn đơn giản nhất để có được dữ liệu miễn phí sơ bộ. Liên kết được mô tả trong câu trả lời của eckesicle có thể dễ dàng được sử dụng trong mã trăn, nhưng trước tiên bạn cần tất cả các mã. Tôi sẽ sử dụng NYSE cho ví dụ này, nhưng nó cũng có thể được sử dụng cho các trao đổi khác nhau.

Tôi đã sử dụng trang wiki này để tải xuống tất cả các mã công ty với tập lệnh sau (Tôi không phải là một Pythonist rất tài năng, xin lỗi nếu mã này không hiệu quả lắm):

import string
import urllib2
from bs4 import BeautifulSoup

global f

def download_page(url):
    aurl = urllib2.urlopen(url)
    soup = BeautifulSoup(aurl.read())

    print url

    for row in soup('table')[1]('tr'):
        tds = row('td')
        if (len(tds) > 0):
            f.write(tds[1].string + '\n')


f = open('stock_names.txt', 'w')

url_part1 = 'http://en.wikipedia.org/wiki/Companies_listed_on_the_New_York_Stock_Exchange_'
url = url_part1 + '(0-9)'
download_page(url)

for letter in string.uppercase[:26]:
    url_part2 = letter
    url = url_part1 + '(' + letter + ')'

    download_page(url)

f.close()

Để tải xuống từng mã, tôi đã sử dụng một tập lệnh khá giống nhau:

import string
import urllib2
from bs4 import BeautifulSoup


global f

url_part1 = 'http://ichart.finance.yahoo.com/table.csv?s='
url_part2 = '&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv'

print "Starting"

f = open('stock_names.txt', 'r')
file_content = f.readlines()
count = 1;
print "About %d tickers will be downloaded" % len(file_content)

for ticker in file_content:
    ticker = ticker.strip()
    url = url_part1 + ticker + url_part2
    
    try:
        # This will cause exception on a 404
        response = urllib2.urlopen(url)

        print "Downloading ticker %s (%d out of %d)" % (ticker, count, len(file_content))

        count = count + 1
        history_file = open('C:\\Users\\Nitay\\Desktop\\Historical Data\\' + ticker + '.csv', 'w')
        history_file.write(response.read())
        history_file.close()

    except Exception, e:
        pass

f.close()

Lưu ý rằng nhược điểm chính của phương pháp này là dữ liệu khác nhau có sẵn cho các công ty khác nhau - Các công ty không có dữ liệu tồn tại trong các ngày được yêu cầu (được liệt kê mới) sẽ giúp bạn có trang 404.

Ngoài ra, hãy nhớ rằng phương pháp này chỉ tốt cho dữ liệu sơ bộ - Nếu bạn thực sự muốn kiểm tra thuật toán của mình, bạn nên trả một chút và sử dụng nhà cung cấp dữ liệu đáng tin cậy như CSIData hoặc người khác


Đặt một tuyên bố toàn cầu trong không gian tên toàn cầu là không cần thiết, dù sao phản ứng tốt.
Luke Taylor

1
Dịch vụ ngừng hoạt động ...
Brethlosze

3

Tại sao không mô hình một thị trường chứng khoán giả với Brownian Motion?

Rất nhiều nguồn lực để làm điều đó. Dễ để thực hiện.

http://introcs.cs.princeton.edu/java/98simulation/


1
:-) để làm cho nó thực tế hơn bạn cần phải tạo chuyển động Brown Fractional và thậm chí đó không phải là khá thực tế, đối với hầu hết các dữ liệu thực tế giả thị trường mà bạn sẽ cần phải có cũng là một khía cạnh thời gian fractal ... kim để nói nó trở nên khá phức tạp. Tốt hơn hết là mua dữ liệu thị trường thực sự ...
lukebuehler

Điều đó cũng không giúp cho phong trào chứng khoán không phải là bất thường :)
Paul Milovanov

3

Tôi sử dụng eodData.com. Nó có giá khá tốt. Với 30 đô la một tháng, bạn nhận được 30 ngày thanh 1,5 và 60 phút cho tất cả các trao đổi tại Hoa Kỳ và 1 năm dữ liệu EOD cho hầu hết những người khác.


2

Tôi sẽ thu thập thông tin tài chính (để báo giá) - hoặc finance.yahoo.com.

Cả hai sẽ trả lại các trang html cho hầu hết các trao đổi trên toàn thế giới, bao gồm cả lịch sử. Sau đó, đó chỉ là vấn đề phân tích HTML để trích xuất những gì bạn cần.

Tôi đã làm điều này trong quá khứ, với thành công lớn. Ngoài ra, nếu bạn không phiền khi sử dụng Perl - có một số mô-đun trên CPAN đã thực hiện công việc này cho bạn - tức là trích xuất trích dẫn từ Google / Yahoo.

Để biết thêm, xem Lịch sử trích dẫn


+1 kẻ thù các mô-đun perl, chúng giúp việc lấy dữ liệu trở nên cực kỳ dễ dàng
Matthew Lock

1

Một dự án trước đây của tôi sẽ sử dụng dữ liệu có thể tải xuống miễn phí từ EODData .


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.