источник исторических данных о запасах [закрыт]

239

Я пытаюсь создать симулятор фондового рынка (возможно, в конечном итоге превратиться в прогнозирующий ИИ), но у меня возникают проблемы с поиском данных для использования. Я ищу (надеюсь бесплатный) источник исторических данных фондового рынка.

В идеале это был бы очень мелкозернистый (второй или минутный интервал) набор данных с ценой и объемом каждого символа на NASDAQ и NYSE (и, возможно, других, если я предприму приключение). Кто-нибудь знает источник такой информации?

Я нашел этот вопрос, который указывает, что Yahoo предлагает исторические данные в формате CSV, но я не смог выяснить, как получить их при кратком рассмотрении связанного сайта.

Мне также не нравится идея загружать данные по частям в файлы CSV ... Я предполагаю, что Yahoo расстроится и отключит меня после первых нескольких тысяч запросов.

Я также обнаружил еще один вопрос, который заставил меня думать, что я разыграю джекпот, но, к сожалению, сайт OpenTick, похоже, закрыл свои двери ... слишком плохо, так как я думаю, что они были именно тем, что я хотел.

Я также мог бы использовать данные, которые просто открывают / закрывают цену и объем каждого символа каждый день, но я бы предпочел все данные, если смогу их получить. Любые другие предложения?

rmeador
источник
4
@rmeador, Yahoo не отключит вас, независимо от того, сколько запросов вы сделаете, но Google отключит вас. Мне удалось загрузить около 4 ГБ исторических цен EOD из Yahoo за 5-6 часов, не отключаясь. Это около 7000 акций со всеми историческими ценами EOD с момента их выхода на рынок. Смотрите мой ответ для получения дополнительной информации и образца исходного кода.
Кирилл
Я чувствую, что данные EOD недостаточно информативны. Если вы хотите тиковые котировки и сделки, я считаю, что polygon.io самый дешевый.
Куинтон Пайк,

Ответы:

226

Позвольте мне добавить свои 2 ¢, это моя работа, чтобы получить хорошие и чистые данные для хедж-фонда, я видел довольно много каналов данных и поставщиков исторических данных. В основном это данные по акциям США.

Для начала, если у вас есть деньги, не беспокойтесь о загрузке данных из Yahoo, получите данные конца дня прямо из данных CSI , вот где Yahoo также получает свои данные EOD AFAIK. У них есть API, где вы можете извлекать данные в любой формат, который вы хотите. Я думаю, что годовая подписка на данные стоит несколько долларов.

Основная проблема с загрузкой данных из бесплатного сервиса заключается в том, что вы получаете только те акции, которые все еще существуют, это называется Survivorship Bias и может дать вам неверные результаты, если вы посмотрите на многие акции, потому что вы включите только те, которые сделали это так. далеко и не те, которые были исключены из списка.

Для игры с некоторыми внутридневными данными, которые я изучил в IQFeed , они предоставляют несколько API-интерфейсов для извлечения исторических данных, хотя в основном они предназначены для каналов в реальном времени. Но здесь есть довольно много вариантов, некоторые брокеры даже обеспечивают загрузку исторических данных через свои API, так что просто выберите яд.

НО, как правило, все эти данные не очень чисты, как только вы действительно начнете тестирование, вы увидите, что некоторые акции отсутствуют или отображаются как два разных символа, или расщепление акций не учитывается должным образом и т. Д. И затем вы понимаете, что исторические данные Данные о дивидендах также необходимы, и вы начинаете работать по кругу, объединяя данные из 100 различных источников данных и так далее. Поэтому начинать с «дисконтной» подачи данных подойдет, но как только вы запустите более подробные тесты, вы можете столкнуться с проблемами в зависимости от того, что вы делаете. Если вы просто посмотрите, скажем, на акции S & P 500, это не будет такой большой проблемой, хотя подойдет и «дешевый» внутридневной корм.

То, что вы не найдете, это бесплатные внутридневные данные. Я имею в виду, что вы могли бы найти несколько примеров, я уверен, что где-то 5 лет тиковых данных MSFT распространяются, но это не продвинет вас далеко.

Затем, если вам нужны реальные вещи (книга заказов уровня II, все тики, как они происходили на всех биржах), один «доступный», но отличный вариант - Nanex . Они действительно отправят вам диск с терабайтами данных. Если я правильно помню, это около $ 3k-4K за год данных. Но поверьте мне, как только вы поймете, как трудно получить хорошие внутридневные данные, вы не будете думать, что это очень много денег.

Не обескуражить вас, но получить хорошие данные сложно, настолько трудно, что многие хедж-фонды и банки тратят сотни тысяч долларов в месяц на получение данных, которым они могут доверять. Опять же, вы можете начать с чего-то, а затем идти оттуда, но это хорошо, чтобы увидеть это немного в контексте.


Изменить: ответ выше из моего собственного опыта. Это сообщение от Caltech о доступных каналах данных даст больше понимания, и особенно рекомендует QuantQuote .

lukebuehler
источник
18
+1 за указание на 3 уровня данных (исторический, внутренний, уровень II) и за проницательные комментарии к ответам других (полнота, чистота, объем хранилища наборов данных ...)
Питер Хост
2
CSI - это здорово, но, к вашему сведению, исключенные из списка акции теперь являются платной услугой, которая больше не входит в базовые пакеты. Просто к вашему сведению.
Olie
1
CSI отличная, но цена дорогая. Если вы используете недобросовестное преимущество, вы обязаны их приложению. Скучно использовать его каждый день, чтобы обновлять свою историю. Если вы хотите скачать с http или ftp с CSI, вы должны платить около 200 € в месяц. Извините, но это слишком дорого.
davidxxx
@ davidh, CSI Unfair Advantage имеет API ActiveX, в который вы можете автоматически экспортировать все данные своей подписки. Написание надежного инструмента экспорта занимает около одного дня ... Если вы знаете более дешевую альтернативу такого же качества, как у CSI, не стесняйтесь опубликовать альтернативу!
lukebuehler
Примечание о QuantQuote: они проверят / обработают ваш заказ в течение 48 часов после покупки. В случае, если вы думали, что у вас будет немедленный доступ.
fionbio
94

ЭТОТ ОТВЕТ НЕТ БОЛЬШЕ ТОЧНОСТИ, КАК КОРМА YAHOO ПРЕКРАТИЛАСЬ

Используя вышеуказанный подход Yahoo CSV, вы также можете получить исторические данные! Вы можете перепроектировать следующий пример:

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

По существу:

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

Полный список параметров:

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
Фредрик Е
источник
На этой странице есть таблица специальных тегов, которые можно использовать в URL.
user443854
9
Большая проблема с получением данных от Yahoo или любого другого онлайн-сервиса заключается в том, что вы не получаете списанные акции, поэтому вы быстро столкнетесь с уклоном на выживание. Лучше следуйте советам Эрика Х. или моего совета и идите прямо в CSI.
Lukebuehler
Раньше на этой странице были специальные теги таблицы, которые можно использовать в URL-адресе ... "Yahoo утверждает, что использование вами и распространение инструмента и содержимого, расположенного в ..., представляет собой нарушение разделов 6, 12 и 18 Условия предоставления услуг (среди прочих положений) порождают недобросовестную конкуренцию и побуждают других нарушать Условия предоставления услуг ... ... Нарушая эти договорные и деловые отношения, вы потенциально наносите ущерб способности других пользователей получать преимущества услуг, предоставляемых на сайте Yahoo Finance ». Большие пальцы вниз на Yahoo
Мустафа Джордж
Я добавил оставшиеся ключи из своих заметок, которые раньше можно было найти на этой веб-странице. Представление их здесь, по-видимому, не противоречит установленному здесь ToS: policy.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/… Yahoo, должно быть, расстроился из-за инструмента данных Excel, который также был доступно на этом сайте.
Фредрик Е
2
Этого потока данных больше нет.
MichaelICE
47

Я знаю, что вы хотели "бесплатно", но я бы серьезно подумал о том, чтобы получать данные с csidata.com примерно за 300 долларов в год, если бы вы были вами.

Это то, что Yahoo использует для предоставления своих данных.

Он поставляется с достойным API, и данные (насколько я могу судить) очень чистые.

Вы получаете 10 лет истории, когда вы подписываетесь, а затем ночные обновления после этого.

Они также заботятся о всевозможных неприятных вещах, таких как расколы и дивиденды для вас. Если вы еще не обнаружили радости, связанной с очисткой данных, вы не поймете, сколько вам это нужно, пока ваш ATS (Автоматическая торговая система) в первый раз не подумает, что некоторые акции действительно очень дешевы, только потому, что они разделены 2 : 1 а ты не заметил

Эрик Х.
источник
1
какие языки поддерживаются их API?
user443854
1
у них есть ActiveX API, который вы можете вызвать с помощью кода C ++, C # или чего-либо другого в Windows, чтобы получить доступ к вашим данным.
Lukebuehler
1
Интересный. Чем отличается разделение и обработка дивидендов от Yahoo?
Мэтью Локк
1
@MatthewLock Я не на 100% об этом, но я думаю, что Yahoo использует другого поставщика данных "корпоративных событий", а затем просто использует необработанные данные CSI, скорректированные на корпоративные события. Эта довольно старая статья дает некоторое представление: amibroker.org/userkb/2007/09/23/yahoos-data-providers
lukebuehler
2
CSI - это здорово, но, к вашему сведению, исключенные из списка акции теперь являются платной услугой, которая больше не входит в базовые пакеты. Просто к вашему сведению.
Olie
16

Набор данных каждого символа на NASDAQ и NYSE с секундным или минутным интервалом будет огромным .

Допустим, на обеих биржах есть в общей сложности 4000 компаний (вероятно, это очень низкая сторона, поскольку на NASDAQ более 3200 компаний ). Для данных с вторым интервалом, если предположить, что в день торгуют 6,5 часов, это даст вам 23400 точек данных в день на компанию, или около 93 600 000 точек данных в целом за этот один день. Предполагая 200 торговых дней в году, это около 18 720 000 000 точек данных всего за один год.

Может быть, вы хотите начать с меньшего набора в первую очередь?

Мэтт Б
источник
2
Я действовал исходя из того, что большинство компаний не будут торговаться каждую секунду, поэтому количество точек данных будет значительно меньше. возможно, это плохое предположение. до сих пор, я предсказывал порядка 10с ГБ в год ...
rmeador
За пару месяцев на 10 DVD пришли данные о запасах примерно 10 символов. Данные были также сжатым текстом.
Алан
1
@ rmeador, это правда, но некоторые акции имеют гораздо больший дневной объем, чем количество секунд в дне, что означает, что они торгуют чаще, чем раз в секунду, и не все сделки гарантированно будут иметь одинаковую цену. Таким образом, вы должны решить, заинтересованы ли вы в цене на интервале или в торговле
Matt B
2
Если вы хотите всего этого, например, котировки уровня II всех бирж и т. Д., Это несколько ТБ в год в сжатом формате suuuuper (около 5 ГБ за торговый день). Если вы храните только мелкие данные, их очень мало, около 10 ГБ за 10 лет всех акций ...
lukebuehler
16

Введение:
с Yahoo вы можете получить EOD (конец дня) исторические цены или цены в реальном времени. Цены на EOD удивительно просты для скачивания. Смотрите мой блог для объяснения того, как получить данные и примеры кода C #.

Я нахожусь в процессе написания «механизма» подачи данных в реальном времени, который загружает и сохраняет цены в реальном времени в базе данных. Первоначально движок сможет загружать исторические цены от Yahoo и Interactive Brokers и сохранять данные в базе данных по вашему выбору: MS SQL, MySQL, SQLite и т. Д. Это с открытым исходным кодом, но я выложу больше информация в моем блоге, когда я подхожу к ее публикации (в течение нескольких дней).

Другой вариант - eclipse trader ... он позволяет вам записывать исторические данные с точностью до 1 минуты и сохранять цены локально в текстовом файле. Он в основном загружает данные в реальном времени из Yahoo с 15-минутной задержкой. Поскольку я хотел получить более надежное решение и работаю над большим школьным проектом, для которого нам нужны данные, я решил написать свой собственный механизм подачи данных (о котором я упоминал выше).

Пример кода:
Вот пример кода 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();
    }
}

База данных:
на стороне базы данных я использую OleDbсоединение с CSV-файлом для заполнения, DataSetа затем я обновляю свою фактическую базу данных через DataSet, это в основном позволяет сопоставить все столбцы из CSV-файла, возвращенного из Yahoo, напрямую в вашу базу данных ( если ваша база данных не поддерживает пакетную вставку данных CSV, например SQLite). В противном случае вставка данных является однострочной ... просто пакетной вставкой CSV в вашу базу данных.

Вы можете прочитать больше о форматировании URL здесь: http://www.gummy-stuff.org/Yahoo-data.htm

Кирил
источник
Эпопея, я хотел бы найти это раньше.
ojblass
Это на самом деле предоставляет данные в реальном времени, как вы предложили? Со страницы он имеет этот параметр "k1", но в прошлый раз, когда я проверял, он все еще имеет некоторую задержку.
Энтони
@ Энтони в большинстве случаев имеет место какая-то задержка, так что это зависит только от того, насколько вы терпимы к задержкам. Yahoo говорит, что они предоставляют данные в реальном времени, но, конечно, это не для всех тикеров. Тикеры, которые не в режиме реального времени, задерживаются до 15 минут. Даже если вы получите совместный сервер на бирже, все равно будет «некоторая задержка» . Так какую задержку вы готовы терпеть?
Кирил
Это не надежно. Скажите, почему это не работает сейчас, например: real-chart.finance.yahoo.com/… используется с finance.yahoo.com/q/…
ммм
9

NASDAQ предлагает 10-летние исторические данные EOD для каждого символа

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

Вы можете автоматизировать процесс загрузки этих данных.

Navi
источник
Хороший источник. Они изменили систему запросов, поэтому теперь все запросы обрабатываются с помощью JS (например, nasdaq.com/symbol/aapl/historical ). Есть ли способ автоматизировать это?
Антон Тарасенко
Да, это можно автоматизировать. Вам нужно использовать сниффер, такой как Telerik, и посмотреть, как получаются данные (через POST). Пока вы отправляете переменные post правильно, вы должны получать данные.
Nick_F
1
Это все еще доступно? Содержит ли он какие-либо внутридневные данные?
Ли
8

Для данных, не связанных с выживанием, единственным надежным источником, который я нашел, является QuantQuote ( http://quantquote.com )

Данные поступают в минутах, секундах или в тиковом разрешении, ссылаясь на исторические данные о запасах .

Было предложение по kibot выше. Я бы сделал быстрый поиск в Google, прежде чем покупать у них, вы найдете много таких сообщений с предупреждениями о проблемах качества данных kibot. Это также говорит о том, что их якобы оставшийся в живых без предубеждения sp500 имеет только 570 символов в течение 14 лет. Это практически невозможно, sp500 меняется на 1-2 символа в месяц ....

user788171
источник
3
Кибот имеет только 3 свободных символа. остальные должны заплатить! он просто делает рекламу
подпрыгиваяHippo
Бесплатные ежедневные данные quantquote не документированы: в файлах csv нет заголовков столбцов и нет никаких документов.
user443854
есть документация, формат в основном такой же, как у их наборов данных минутного разрешения.
user788171
quantquote.com имеет много ошибок в данных
Ивелин
Они предлагают бесплатные данные для IBM с 1998 года. Это было достаточно хорошо для меня. Мне нужен был только один символ для проверки сжатия: kibot.com/buy.aspx
Сергей Родионов
7

К сожалению, исторические данные тикеров, которые бесплатны, трудно найти. Теперь, когда opentick мертв, я не знаю ни одного другого провайдера.

В прошлой жизни я работал в хедж-фонде с автоматизированной торговой системой, и мы широко использовали исторические данные.

Мы использовали TickData для нашего источника. Их цены были разумными, и данные имели второстепенное разрешение.

Алан
источник
6

Мы приобрели данные за 12 лет на Kibot.com и очень довольны качеством.

Что касается требований к хранилищу: 12-минутные данные за 1 минуту для всех акций США (более 8000 символов) составляют около 100 ГБ.

С тиковыми данными ситуация немного отличается. Если вы регистрируете только время и продажи, это будет около 30 ГБ данных в месяц для всех акций США. Если вы хотите сохранить изменения цены и предложения вместе с транзакциями, вы можете ожидать около 150 ГБ в месяц.

Надеюсь, это поможет. Пожалуйста, дайте мне знать, если есть что-то еще, чем я могу вам помочь.

boe100
источник
1
Все еще довольны KiBot @ boe100?
JaredBroad
@ boe100 У них есть как скорректированные, так и нескорректированные цены? У них есть бета-версии и дельты?
user443854
Доступны как скорректированные, так и нескорректированные данные. Можно обновлять ваши данные с помощью HTTP API или ежедневно загружать новые архивы с FTP-сервера. Никакие бета-версии или дельты не рассчитываются.
Boe100
@ boe100 не могли бы вы поделиться своими данными?
Томаш Ващик
2
@ Томаш, ха-ха, твой комментарий сделал мой день: D
Corneliu Maftuleac
6

Позвольте мне добавить источник, который я только что обнаружил, найденный здесь .

Он имеет много исторических данных о запасах в формате CSV и был собран Энди Павло, который, согласно его домашней странице, является «доцентом кафедры информатики в Университете Карнеги-Меллона».

Ноам
источник
Это отлично подходит для тех, кто просто хочет поиграть с достаточно большим набором исторических данных фондового рынка.
Кьяран Галлахер
1
Веб-страница вниз ...
Brethlosze
5

Mathematica в настоящее время также предлагает доступ к текущим и историческим ценам на акции, см. Http://reference.wolfram.com/mathematica/ref/FinancialData.html , если у вас есть его копия.

Том Венселерс
источник
5
Наименьший временной шагday
kirill_igum
ха, спасибо, что дали мне знать - это действительно не так здорово ...
Том Венселерс
4

Вы можете использовать Yahoo для получения ежедневных данных (гораздо более управляемый набор данных), но вы должны структурировать URL-адреса. Посмотри это ссылку . Вы не делаете много маленьких запросов, вы делаете меньше больших запросов. Многие бесплатные программы используют это, чтобы они не закрывали вас.

РЕДАКТИРОВАТЬ: Этот парень делает это, может быть, вы можете посмотреть на звонки, которые делает его программное обеспечение.

jimconstable
источник
Сначала я подумал, что эта ссылка выглядит многообещающе, но я не могу найти способ указать исторические данные ... похоже, что это все в реальном времени. Я что-то упускаю?
rmeador
Ты прав. Я добавил еще одну ссылку кого-то с программным обеспечением, которое делает исторические вещи, так что я знаю, что это возможно. Может быть, посмотрите на звонки, которые делает его программное обеспечение.
jimconstable
4

Yahoo - самый простой способ получить предварительные бесплатные данные. Ссылка, описанная в ответе eckesicle, может быть легко использована в коде Python, но сначала вам понадобятся все тикеры. Я бы использовал NYSE для этого примера, но это можно использовать и для разных бирж.

Я использовал эту вики-страницу для загрузки всех тикеров компании с помощью следующего скрипта (я не очень талантливый Pythonist, извините, если этот код не очень эффективен):

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()

Для загрузки каждого тикера я использовал другой похожий скрипт:

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()

Обратите внимание, что основным недостатком этого метода является то, что разные данные доступны для разных компаний. Компании, у которых нет данных, существующих в запрошенные даты (недавно перечисленные), получат 404 страницы.

Также имейте в виду, что этот метод хорош только для предварительных данных - если вы действительно хотите протестировать свой алгоритм, вы должны заплатить немного и использовать надежного поставщика данных, такого как CSIData или других

Nitay
источник
Помещать глобальное объявление в глобальное пространство имен не нужно, но в любом случае это хороший ответ.
Люк Тейлор
1
Служба вниз ...
Brethlosze
3

Почему бы не смоделировать поддельный фондовый рынок с помощью Brownian Motion?

Много ресурсов для этого. Легко реализовать.

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

Майкл Тамм
источник
1
:-) чтобы сделать его более реальным, вам нужно создать дробное броуновское движение, и даже это не совсем реально, для наиболее реалистичных фальшивых рыночных данных вам потребуется также фрактальное измерение времени ... иголки, чтобы сказать это становится довольно сложным. Лучше просто покупать реальные рыночные данные ...
lukebuehler
Это также не помогает тому, что движение акций не является логнормальным :)
Павел Милованов
3

Я использую eodData.com. Это довольно прилично по цене. За 30 долларов в месяц вы получаете 30 дней по 1,5 и 60 минутным барам для всех американских бирж и 1 год данных EOD для большинства других.

Dez Udezue
источник
2

Я бы сканировал finance.google.com (для цитат) - или finance.yahoo.com.

Обе они вернут html-страницы для большинства бирж по всему миру, включая исторические. Затем нужно просто разобрать HTML, чтобы извлечь то, что вам нужно.

Я делал это в прошлом, с большим успехом. В качестве альтернативы, если вы не возражаете против использования Perl - есть несколько модулей на CPAN, которые сделали эту работу за вас - т.е. извлекли цитаты из Google / Yahoo.

Для получения дополнительной информации см. История цитат

Хаос
источник
+1 для модулей Perl, они делают получение данных очень легким
Мэтью Локк
1

Мой бывший проект собирался использовать свободно загружаемые данные из EODData .

Лохматая лягушка
источник