一、获取Yahoo数据
1.1 实时数据
深圳交易所
http://finance.yahoo.com/d/quotes.csv?s=000625.sz&f=snohgl1v
000625.SZ CHANGAN AUTOMOBIL 12.4 12.8 12.4 12.69 9787354
上证交易所(API异常,目前无法获取数据):
http://finance.yahoo.com/d/quotes.csv?s=600600.SS&f=snohgl1v returns
600600.SS 600600.SS N/A N/A N/A 0 N/A
1.2 历史数据
下面两个只是域名不同,直接ping测试,指向相同IP
- http://ichart.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d
- http://table.finance.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d
===下面为转载==================
1.获取实时数据
http://finance.yahoo.com/d/quotes.csv?s=股票名称&f=数据列选项
s — 表示股票名称,多个股票之间使用英文加号分隔,如“XOM+BBDb.TO+JNJ+MSFT”,罗列了四个公司的股票:XOM, BBDb.TO, JNJ, MSFT。
f — 表示返回数据列,如“snd1l1yr”。更详细的参见附录
2.历史数据请求
http://ichart.yahoo.com/table.csv?s=string&a=int&b=int&c=int&d=int&e=int&f=int&g=d&ignore=.csv
s — 股票名称
a — 起始时间,月
b — 起始时间,日
c — 起始时间,年
d — 结束时间,月
e — 结束时间,日
f — 结束时间,年
g — 时间周期。
Ø 参数g的取值范围:d->‘日’(day), w->‘周’(week),m->‘月’(mouth),v->‘dividends only’
Ø 月份是从0开始的,如9月数据,则写为08。
示例
查询浦发银行2010.09.25 – 2010.10.8之间日线数据
http://ichart.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d
查看国内沪深股市的股票,规则是:沪股代码末尾加.ss,深股代码末尾加.sz。如浦发银行的代号是:600000.SS
附录
雅虎股票API f参数对照表
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 |
Percebt 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 |
python获取yahoo财经信息工具类
ystockquote.py
#!/usr/bin/env python # # Copyright (c) 2007-2008, Corey Goldberg (corey@goldb.org) # # license: GNU LGPL # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. import urllib """ This is the "ystockquote" module. This module provides a Python API for retrieving stock data from Yahoo Finance. sample usage: >>> import ystockquote >>> print ystockquote.get_price('GOOG') 529.46 """ def __request(symbol, stat): url = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (symbol, stat) return urllib.urlopen(url).read().strip().strip('"') def get_all(symbol): """ Get all available quote data for the given ticker symbol. Returns a dictionary. """ values = __request(symbol, 'l1c1va2xj1b4j4dyekjm3m4rr5p5p6s7').split(',') data = {} data['price'] = values[0] data['change'] = values[1] data['volume'] = values[2] data['avg_daily_volume'] = values[3] data['stock_exchange'] = values[4] data['market_cap'] = values[5] data['book_value'] = values[6] data['ebitda'] = values[7] data['dividend_per_share'] = values[8] data['dividend_yield'] = values[9] data['earnings_per_share'] = values[10] data['52_week_high'] = values[11] data['52_week_low'] = values[12] data['50day_moving_avg'] = values[13] data['200day_moving_avg'] = values[14] data['price_earnings_ratio'] = values[15] data['price_earnings_growth_ratio'] = values[16] data['price_sales_ratio'] = values[17] data['price_book_ratio'] = values[18] data['short_ratio'] = values[19] return data def get_price(symbol): return __request(symbol, 'l1') def get_change(symbol): return __request(symbol, 'c1') def get_volume(symbol): return __request(symbol, 'v') def get_avg_daily_volume(symbol): return __request(symbol, 'a2') def get_stock_exchange(symbol): return __request(symbol, 'x') def get_market_cap(symbol): return __request(symbol, 'j1') def get_book_value(symbol): return __request(symbol, 'b4') def get_ebitda(symbol): return __request(symbol, 'j4') def get_dividend_per_share(symbol): return __request(symbol, 'd') def get_dividend_yield(symbol): return __request(symbol, 'y') def get_earnings_per_share(symbol): return __request(symbol, 'e') def get_52_week_high(symbol): return __request(symbol, 'k') def get_52_week_low(symbol): return __request(symbol, 'j') def get_50day_moving_avg(symbol): return __request(symbol, 'm3') def get_200day_moving_avg(symbol): return __request(symbol, 'm4') def get_price_earnings_ratio(symbol): return __request(symbol, 'r') def get_price_earnings_growth_ratio(symbol): return __request(symbol, 'r5') def get_price_sales_ratio(symbol): return __request(symbol, 'p5') def get_price_book_ratio(symbol): return __request(symbol, 'p6') def get_short_ratio(symbol): return __request(symbol, 's7') def get_historical_prices(symbol, start_date, end_date): """ Get historical prices for the given ticker symbol. Date format is 'YYYYMMDD' Returns a nested list. """ url = 'http://ichart.yahoo.com/table.csv?s=%s&' % symbol + \ 'd=%s&' % str(int(end_date[4:6]) - 1) + \ 'e=%s&' % str(int(end_date[6:8])) + \ 'f=%s&' % str(int(end_date[0:4])) + \ 'g=d&' + \ 'a=%s&' % str(int(start_date[4:6]) - 1) + \ 'b=%s&' % str(int(start_date[6:8])) + \ 'c=%s&' % str(int(start_date[0:4])) + \ 'ignore=.csv' days = urllib.urlopen(url).readlines() data = [day[:-2].split(',') for day in days] return data
使用工具类
import ystockquote print ystockquote.get_price('600887.SS')
=======================
最近想自己写个股票查询的小软件,网上找到了新浪的javascript接口,比较方便,但是新浪的接口没有把换手率等信息直接返回,刚好看到和讯网的接口有这个信息,所以记录下来。 查询接口例: http://bdcjhq.hexun.com/quote?s2=000001.sh,399001.sz,399300.sz,601186.sh
返回结果:
|
参考:
http://0411.iteye.com/blog/1068239
http://www.goldb.org/ystockquote.html
http://hi.baidu.com/mryongzhang/blog/item/352bde597b862892800a1893.html
--heipark
相关推荐
### Python爬虫实战笔记-股票爬取示例 #### 概述 本文旨在详细介绍Python爬虫的实际应用,尤其是针对股票数据的爬取和分析。文章首先通过模拟登录的例子介绍了如何利用Session对象保持登录状态;接着讲解了爬取API...
1. 数据获取:通常涉及从股票交易所、财经新闻网站或API(如 Yahoo Finance、Alpha Vantage 或 Quandl)获取历史和实时数据。Python 库如 `pandas_datareader` 和 `yfinance` 在此过程中大有帮助。 2. 数据清洗与...
在Java编程语言中,开发一个连接雅虎财经的股票系统是一项常见的任务,这涉及到网络通信、数据抓取和解析等技术。以下是一些关键的知识点: 1. **Java网络编程**:首先,我们需要使用Java的Socket编程来实现与雅虎...
有一次,两家公司都不允许通过其API免费访问股票数据,而我需要订阅API。 从那时起,我开始在Google表格中构建示例数据,并将其导出到CSV以进行基本测试。 如果有什么算法看起来很有希望,我会花钱在可靠的API数据...
1. **数据收集**:从各种财经数据源如Yahoo Finance、Google Finance或者专门的金融API获取股票历史数据。 2. **数据清洗**:处理缺失值,去除异常值,统一日期格式等,确保数据质量。 3. **特征工程**:创建有意义...
- **新闻资讯**:提供最新的财经新闻和市场评论,为决策提供参考。 - **风险管理**:设置止损、止盈点,帮助用户控制风险。 2. **交易终端类型**: - **桌面终端**:通常功能全面,适用于专业交易者,提供深度...
由于新浪是中国知名的互联网公司,它涉及到的领域包括新闻、社交媒体、财经等多个方面,这个压缩包可能包含了这些领域的数据集、分析报告或者是关于新浪网站或微博平台的研究资料。 描述中的内容同样简洁,只重复了...
这些数据可能来自股票交易所、财经新闻网站或者公开的金融数据库,例如 `.csv` 文件存储的股票历史价格数据。 3. **配置文件**:如果项目需要连接到特定的金融数据服务或者API,可能会有一个配置文件(如 `.json` ...
1. 数据获取:从交易所、财经网站或者API接口获取历史交易数据。 2. 数据预处理:清洗数据,处理缺失值、异常值,可能还需要对时间序列数据进行归一化或标准化。 3. 特征工程:根据交易策略的需求,创建新的特征,...