Гугл финансы. Получение real-time данных с Google Finance

    Google Finance - est un service en ligne gratuit publié par Google en 2006. Il permet de suivre le cours d actions et de devises. v · d · … Wikipédia en Français

    Google Finance - Infobox Software | name = Google Finance caption = A screenshot of MasterCard s stock graph shown on Google Finance. developer = Google latest release version = latest release date = latest preview version = latest preview date = operating system … Wikipedia

    Google Finance - Google URL http://www.google.de (Deutsche Version) http://www.google.ch (Schweizer Version) http://www.google.at (Österreichische Version) … Deutsch Wikipedia

    Google - Cet article concerne l entreprise Google Inc. Pour le moteur de recherche, voir Google (moteur de recherche). Pour les autres significations, voir Google (homonymie). Logo de Google … Wikipédia en Français

    Google (services en ligne)

    Google translator - Liste des services en ligne de Google Google propose de nombreux services en ligne et tente de s imposer comme leader sur ce marché. En voici une liste (pas forcément exhaustive). Sommaire 1 Classement par date de lancement 1.1 1998 1.2 2000 … Wikipédia en Français

    Google - (Гугл) Крупнейшая поисковая система Google, сервисы и инструменты Google История создания поиска Google, собственники и руководство Google, Google Apps, Google Maps, Google Chrome, Google Earth ,Picasa, Google Video, Google Images Google+,… … Энциклопедия инвестора

    Google (homonymie) - Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Google peut désigner: l entreprise Google son moteur de recherche Google (moteur de recherche) Google China, filiale chinoise de Google PageRank… … Wikipédia en Français

    Google Data Liberation Front - Le Google Data Liberation Front (En français: Front de libération des données Google) est une équipe de l ingénierie chez Google, dont l objectif est de faciliter le déplacement des données des utilisateurs dans et hors des services de… … Wikipédia en Français

    Google.org - is the charitable arm of Internet search engine company Google. It lists its mission as helping with global poverty, energy and the environment. It is a for profit charity, which means it is taxable. This also allows them to lobby and fund… … Wikipedia

Книги

  • Python. Создание приложений. Библиотека профессионала , Уэсли Дж. Чан. Вы уже знаете язык Python, но хотите узнать больше? Намного больше? Погрузитесь в разнообразие тем, связанных с реальными приложениями. Книга охватывает регулярные выражения, сетевое…
  • Banker"s Guide to New Small Business Finance. Venture Deals, Crowdfunding, Private Equity, and Technology , Charles Green H.. Detailed, actionable guidance for expanding your revenue in the face of a new virtual market Written by industry authority Charles H. Green, Banker"s Guide to New Small Business Finance…

Существует класс алгоритмов, основанных на корелляции цен активов на разных рынках. Для того, чтобы исследовать такие корелляции, например, между американским и российским рынком, необходимо иметь доступ к данным в реальном времени с западных бирж, поставку которых предлагают специальные провайдеры за довольно существенную плату.Однако, есть возможность использования вместо платного датафида парсинг данных real-time с сайта Google Finance. На таких данных высокочастотную стратегию, конечно, не построить, но для более медленных стратегий такой способ вполне подойдет. Впрочем, на высоких частотах сильной корелляции с американцами уже давно нет, и HFT алгоритмы с такой идеей не работают, а вот на длинных промежутках времени есть очень широкое поле для исследований. Как осуществить получение данных с Google Finance рассмотрено в блоге Pawel Lachowicz , перевод которой представлен ниже.

В этом посте мы рассмотрим, как получить данные реального времени, транслируемых на сайте Google Finance, для использования их в качестве исходных данных бэктеста или в реальном торговом приложении. Эти данные можно применять для внутридневных торговых систем. В заглавии поста показан пример отображения котировок Apple на Google Finance.

Ядро нашего кода, написанного на языке Python, представляет собой небольшую функцию, делающую основную работу.Для определенного тикера компании на сайте Google, она парсит данные непосредственно с сайта, получая последнюю текущую цену актива:

# Hacking Google Finance in Real-Time for Algorithmic Traders # # (c) 2014 QuantAtRisk.com, by Pawel Lachowicz import urllib, time, os, re, csv def fetchGF(googleticker): url="http://www.google.com/finance?&q=" txt=urllib.urlopen(url+googleticker).read() k=re.search("id="ref_(.*?)">(.*?)<",txt) if k: tmp=k.group(2) q=tmp.replace(",","") else: q="Nothing found for: "+googleticker return q

Для правильной работы программы нужно убедиться, что тикер написан верно (как будет показано ниже). Далее, отобразим на экране местное текущее время и затем заменим его на нью-йоркское (биржевое) время. Мы делаем это, так как будем получать цены акций, торгующихся на NYSE или NASDAQ. Если вы хотите получать значения английского индекса FTSE100, то нужно сменить время на универсальное (Лондон):

# отражаем местное время print(time.ctime()) print # устанавливаем время NYC os.environ["TZ"]="America/New_York" time.tzset() t=time.localtime() # string print(time.ctime()) print

Сделав это, применим стороннюю функцию combine для помещения всех считанных данных в переменную-список языка Python:

Def combine(ticker): quote=fetchGF(ticker) # используем функцию ядра t=time.localtime() # фиксируем момент времени output= return output

На вход мы подаем тикер интересующей нас компании с сайта Google:

Ticker="NASDAQ:AAPL"

для которого открываем новый текстовый файл, где будем сохранять все запросы в реальном времени:

# задаем имя файла для записи fname="aapl.dat" # удаляем файл, если он уже существует os.path.exists(fname) and os.remove(fname)

Далее создаем окончательный цикл по всему торговому дню. В нашем примере мы получаем последние данные в 16:00:59 по нью-йоркскому времени. Ключевой параметр программы - переменная freq, где мы задаем частоту внутридневной нарезки данных (в секундах). Автор определил, что оптимальным значением будет 600 сек (10 мин), так как при более частых запросах Google Finance может зафиксировать высокую активность с вашего IP и посчитать это флудом. Впрочем, вы можете найти наименьшее значение для вашего IP.

Freq=600 # запрашиваем данные каждые 600 sec (10 min) with open(fname,"a") as f: writer=csv.writer(f,dialect="excel") #,delimiter=" ") while(t.tm_hour<=16): if(t.tm_hour==16): while(t.tm_min<01): data=combine(ticker) print(data) writer.writerow(data) # записываем данные в файл time.sleep(freq) else: break else: for ticker in tickers: data=combine(ticker) print(data) writer.writerow(data) # записываем данные в файл time.sleep(freq) f.close()

Чтобы проверить, как программа работает на практике, автор запустил ее 9 января 2014 года по времени Нью-Йорка 03:31:19. Полученные данные записались в файл в следующем виде:

Thu Jan 9 03:31:19 2014 ...

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

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

Tickers=["NASDAQ:AAPL","NASDAQ:GOOG","NASDAQ:BIDU","NYSE:IBM", \ "NASDAQ:INTC","NASDAQ:MSFT","NYSEARCA:SPY"] # определяем имя выходного файла fname="portfolio.dat" # удаляем файл, если он уже существует os.path.exists(fname) and os.remove(fname) freq=600 # запрашиваем данные каждые 600 sec (10 min) with open(fname,"a") as f: writer=csv.writer(f,dialect="excel") #,delimiter=" ") while(t.tm_hour<=16): if(t.tm_hour==16): while(t.tm_min<01): #for ticker in tickers: data=combine(ticker) print(data) writer.writerow(data) time.sleep(freq) else: break else: for ticker in tickers: data=combine(ticker) print(data) writer.writerow(data) time.sleep(freq) f.close()

Запись котировок в реальном времени получилась такой:

Thu Jan 9 07:01:43 2014 ...

где мы можем увидеть значения текущих цен для 6 акций и одного биржевого фонда ETF через каждые 10 минут.

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

  • Information on personal finance from Google
  • Google Finance offers a broad range of information about stocks, mutual funds, public and private companies, interactive charts, news and fundamental data
  • Excellent site for financial information
  • Google"s tool for searching financial information
  • Real Time quotes and market overview
  • Google Finance offers financial data and news for most publicly-traded companies
  • Excellent interactive charts for any stock, mutual fund or currency for right now or any date in the past (historical data) with annotations for dates of big news events
  • Get live streaming statistics from wall street
  • Search stocks and get real time stock quotes
  • Perform stock research to evaluate a stock or mutual fund before investing and get quick price charts for analysis
  • Business information, news, and interactive charts. Get market summary, market news, stock quotes, and videos related to the economy and market news. Find real-time, last sale prices from the New York Stock Exchange (NYSE) for free, along with those from NASDAQ. Wondering what Ford (F) is trading at today? Search for it on Google or Google Finance and keep the page up to have the quotes stream live. Access to real-time financial information has traditionally been limited to investors with brokerage accounts and other users via subscription fees. This free access was made available on Google Finance beginning in June 2008. Other features available on Google Finance includes the ability to create a personal, customized portfolio overview of stock values that you want to monitor