Блог им. dip

Как вы качаете исторические данные с yahoo.finance ?

    • 08 октября 2018, 19:41
    • |
    • dip
  • Еще
Ну собственно сабж. Созрел обработать множество тикеров. Кто как качает? Что за программулины используете? Как автоматизируете ? 
Спасибо! 
★7
31 комментарий

Качаем данные из TWS(Interactive brokers).

Своим софтом.

Тарас Громницкий, на сколько глубокую историю они отдают ? 
avatar

dip, всю, которая есть по инструменту.

Главное соблюдать таймауты между запросами и параметры самих запросов.

Этим занимается программа.

Заряжаем тикеры, задаём фрейм, период и идём курить.

Тарас Громницкий, спасибо, интересно. там есть история с дивидендами ? 

avatar

dip, это вопрос.

С ходу даже не скажу.

Тарас Громницкий, читаю доки. не подскажете куда посмотреть что бы узнать «таймауты между запросами и параметры самих запросов.»
avatar
dip, вижу ADJUSTED_LAST — видимо это оно
avatar

dip, помнится в документации нашёл не всё.

Поэтому общался с поддержкой.

Не более 2000 баров за 1 запрос.

Таймаут не менее 2х секунд между запросами.

Не более 60 запросов за 10 минут(немного можно превышать).

Вы собираетесь писать самостоятельно ?

Могу адаптировать наш модуль и дать на пробу.

Интерфейс там простой и понятный.

Вопрос лишь в каком формате скидывать данные в файл.

Тарас Громницкий, да, я сам пишу. 
правда быстрый поиск код сэмпла на их сайте не дал результата(пока просмотрел с++/с# на предмет запроса исторических данных). 
Если что-то есть, что не жалко дать коллеге по цеху примерно показывающее как инициализироваться, послать запрос на историю, и получить коллбэк — буду оч благодарен ( dip2000 собака gmail.com )
и да — спасибо за ответ про лимиты! Очень признателен. 
avatar

dip, примеры реализации API тут

www.interactivebrokers.com/ru/index.php?f=5866

Get statred здесь

www.interactivebrokers.com/ru/index.php?f=11698

Документация

interactivebrokers.github.io/tws-api/index.html

Если понадобится помощь, пишите.

Тарас Громницкий, снимается. я просто слепой! :) Нашел код делающий reqHistoricalData()
avatar
Скрипты на языке R это могут.   Тут об этом:
stackoverflow.com/questions/48568159/get-data-from-yahoo-finance-to-r
и вот тоже об этом:
blog.revolutionanalytics.com/2015/08/plotting-time-series-in-r.html

avatar
Качество данных на яхе после мая прошлого года ужасное. Любые другие API типа Tiingo или Barchart гораздо лучше.
avatar
Anton Shabunin, а в чем косяки данных с яхи ? 
avatar
dip, они в прошлом году прикрыли неофициальные фиды, в оставшихся там вот такие проблемы
www.amibroker.com/kb/2017/06/30/wrong-close-price-in-yahoo-data/
avatar
Я использовал дату из yahoo через xlq. Удобно линковать с excel. Купил одну лицензию, поставил на три машины. Через IB выкачивал тоже данные в R, но сталкивался с рядом ограничений. Сейчас всю выкачку делаю через платный bloomberg terminal, но и там столкнулся с ограничениями, и даже умудрился за месяц перелимитить количество запросов по бумагам.
Алексей Макаренко, с какими ограничениями в IB столкнулись?
Тарас Громницкий, Я столкнулся с ограничениями информационного характера. Ряд запросов по облигациям не смог удовлетворить через их апи.
Алексей Макаренко, т.е. истории по некоторым бумагам у IB нет?
Я не смог вытащить купоны по ряду облигаций. Историческую дату по акциям тащило хорошо, но шаг влево — шаг вправо, и уже всё не так радужно. Была проблема с дивами и сплитами по акциям. Вероятно, это моя проблема, и вероятно, именно я не до конца разобрался, но их апи часто просто подвисало во время торгов, и после очередного раза встал вопрос надежности поставщика котировок. 

Алексей Макаренко, вероятнее всего не соблюдали какие-то ограничения API.

Я облигации не тащил, но акции и фьючи выкачивал нормально.

Вплоть до минуток.

Разумеется, при меньших фреймах время загрузки увеличивается.

Тарас Громницкий, Да, это так. Я с их саппортом сидел на телефоне регулярно, чтоб найти причины зависаний, но как считаю, основная причина была в большом количестве запросов. То есть, в теории, мне говорили, что проблем возникать не должно, а по факту было иначе. 

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

Если их соблюдать, то всё нормально работает.
Тарас Громницкий, сколько тикеров в минуту максимально Вам удавалось вытащить без проблем (если, конечно же, такая задача стояла)? Так же интересно, какие конкретно запросы были, помимо запроса исторической цены?

Алексей Макаренко, в единицу времени даже не скажу.

Грузил в один поток пару сотен тикеров за 5-7 лет.

По времени занимает(не соврать бы) около 20-30 минут.

Получал именно бары OHLCvolume.

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

Тут конечно всё быстрее.

Вам сколько тикеов, какого фрейма и за какой период необходимо получить ?

Тарас Громницкий, Касаемо акций, мне нужны были данные по дивам, по daily close, description'y. Инструментов — от 800 до 2000 тикеров, в зависимости от активности торгового портфеля. 

Алексей Макаренко, какая глубина истории ?

Нужны именно дневки или мельче ?

Про дивы пока ничего сказать не могу.

Но практически уверен, что со всеми бустами история в IB будет дешевле, чем в Bloomberg.

Тарас Громницкий, Это — то, что требовалось ранее. Сейчас всё стало иначе, без блума уже тяжело

Алексей Макаренко, если всё стабильно, то хорошо.

Однако, на досуге прикиньте выгоду и удобство.

Если увидите плюсы в работе с IB, то обращайтесь.

Практически весь API IB освоен и обкатан на практике.

От работы с данными до создания полностью автономных торговых систем.

Тарас Громницкий, благодарю Вас.
Алексей Макаренко, да пока не за что.

теги блога dip

....все тэги



UPDONW
Новый дизайн