получить котировки акций из финансов Google, Yahoo Yahoo или самой биржи - PullRequest
17 голосов
/ 22 августа 2009

Я строю торговую систему на основе Интернета, в которой сигналы покупки и продажи будут генерироваться путем чтения котировок из финансов Yahoo, Google Finance или самой биржи (NSE of India). Моим первым предпочтением будет получение данных из этого URL :

http://www.nseindia.com/content/equities/niftywatch.htm

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

PS: Только что заметил в Google Finance, что они транслируют котировки в реальном времени для этого конкретного обмена, поэтому, если легко получить данные из Google (я понимаю, что у них есть apis практически для каждой их службы), объясните, пожалуйста, то же самое.

Ответы [ 7 ]

15 голосов
/ 24 августа 2009

Вот как можно получить исторические дневные цены акций (до сегодняшнего дня) из Yahoo Finance в формате CSV:

http://ichart.finance.yahoo.com/table.csv?s=AAPL

, где AAPL - символ тикера.

Вы можете ограничить то, что это возвращает, с помощью некоторых дополнительных параметров:

  • с - символ тикера. Это единственный параметр, который не является обязательным.

    Дата начала для исторических цен:

  • a - Номер месяца, начиная с 0 для января.

  • b - Номер дня, например, 1 на первое число месяца.

  • c - Год.

    Дата окончания для исторических цен (по умолчанию самая последняя доступная цена закрытия):

  • d - номер месяца, начиная с 0 для января.

  • e - номер дня, например, 1 на первое число месяца.

  • f - Год.

    И, наконец, частота исторических цен:

  • g - Возможные значения: «d» для ежедневного (по умолчанию), «w» для еженедельного и «m» для ежемесячного.

3 голосов
/ 22 августа 2009

Google действительно предлагает API для Google Finance, документированный здесь: http://code.google.com/apis/finance/

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

В любом случае, это не то, что вы хотите решить с помощью jQuery.Во-первых, вы не сможете читать какие-либо данные с другого сайта (например, с этого сайта nseindia.com), если на сайте не установлена ​​настройка скрипта JSONP, которую вы могли бы использовать.

2 голосов
/ 24 июля 2010

Я использовал простой сервис REST для получения котировки акций Yahoo, и я только что разместил на своем сайте для справки Люди могут просто пройти через это.

http://vikku.info/codetrash/Yahoo_Finance_Stock_Quote_API

1 голос
/ 22 марта 2011

Вместо публикации примеров, вот ссылка на документацию по API для финансов Yahoo. Он охватывает как CSV, так и REST API (хотя CSV, кажется, рассматривается более полно).

1 голос
/ 30 июня 2010

Вы можете скачать страницу, содержащую всю информацию о конкретной акции, используя wget . После сохранения страницы на локальном жестком диске вы можете проанализировать и получить цену в реальном времени (, p: "stock_price").

Например: wget http://www.google.ca/finance?q=some_particular_stock

Запрограммируйте это для регулярного получения информации, и вы получите трекер котировок в реальном времени.

1 голос
/ 24 сентября 2009

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

Вы говорите, что не можете совершать HTTP-звонки со своего сервера, потому что это запрещено политикой брандмауэра или каким-либо другим ограничением? Или вы говорите, что просто не знаете, как совершать HTTP-звонки со своего сервера?

Если это последнее, вы сможете легко найти библиотеку .NET для выполнения вызовов HTTP GET (я не использую .NET, поэтому не могу точно сказать, какую библиотеку использовать).

Как только вы поняли это, вам нужно выяснить, как вы собираетесь анализировать ответ. Это данные из таблицы HTML, это файл CSV, это фид XML или ...? У всех них будут разные потребности в разборе, поэтому сложно объяснить, как это сделать без какой-либо детализации. Скорее всего, будут доступны библиотеки, которые вы можете использовать и для этого, но это, безусловно, зависит от того, как выглядит ваш источник данных.

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

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

0 голосов
/ 03 марта 2010

Вы ищете данные на конец дня. Если это так, вы можете составить URL для бхавкопии или исторических данных между двумя датами (есть ограничение на продолжительность. Я думаю, 3 года или около того).

Интересно то, что когда вы загружаете исторические данные из nseindia, обратите внимание на предоставленную ими ссылку при загрузке zip-данных, скопируйте ее, измените ее в соответствии с вашим диапазоном дат, нажмите ее.

таким образом вы можете автоматизировать загрузку исторических данных из nseindia. На самом деле мы используем то же самое для http://kakup.com

конечно, мы конвертируем его также в формат метастоков. работает нормально.

...