`
heipark
  • 浏览: 2097463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

股票财经API笔记

 
阅读更多

一、获取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

 

 

===下面为转载==================

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

 

 

=======================

 

 

和讯网股票查询接口
2011-01-26 12:38

最近想自己写个股票查询的小软件,网上找到了新浪的javascript接口,比较方便,但是新浪的接口没有把换手率等信息直接返回,刚好看到和讯网的接口有这个信息,所以记录下来。

查询接口例:

http://bdcjhq.hexun.com/quote?s2=000001.sh,399001.sz,399300.sz,601186.sh

 

返回结果:

 

 <html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><script type='text/javascript'>document.domain='hexun.com';</script></head><body></body><script>try{parent.bdcallback({"399001.sz":{na:"深证成指",pc:"11446.372",op:"11459.016",vo:"2193906",tu:"379028",hi:"11624.467",lo:"11459.016",la:"11558.021",type:"1",time:"2011-01-26 11:30:22"},"399300.sz":{na:"沪深300 ",pc:"2938.654",op:"2939.773",vo:"21205501",tu:"2559517",hi:"2971.763",lo:"2939.356",la:"2960.847",type:"1",time:"2011-01-26 11:31:07"},"601186.sh":{na:"中国铁建",pc:"7.22",op:"7.22",vo:"174035",tu:"12804",hi:"7.42",lo:"7.22",la:"7.39",type:"2",time:"2011-01-26 11:30:15",sy:"18.45",lt:"24.50",sz:"911.74",hs:"0.71",is:"0"},"tofnow":{time:"2011-01-26 11:37:51"}})}catch(e){}</script></html>
 

 从返回的结果看,股票数据应该就是JSON串,因此解析就比较方便了。

各个字段的意义如下:

"601186.sh":          //股票代码

{

na:"中国铁建",       //股票中文名称

pc:"7.22",           //昨收盘

op:"7.22",           //今开盘

vo:"174035",         //成交量

tu:"12804",          //成交额

hi:"7.42",           //最高价

lo:"7.22",           //最低价

la:"7.39",           //现价

type:"2",            //类型,1:指数,2:股票?

time:"2011-01-26 11:30:15", //时间

sy:"18.45",          //市盈率= 现价/最近四个季度摊薄每股收益之和

lt:"24.50",          //流通股数(单位:亿股)

sz:"911.74",         //总市值(单位:亿)

hs:"0.71",           //换手率

is:"0"               // ??暂时未知

}

 

 

 

参考:

 

http://0411.iteye.com/blog/1068239

http://www.goldb.org/ystockquote.html

http://hi.baidu.com/mryongzhang/blog/item/352bde597b862892800a1893.html

 

--heipark

 

 

分享到:
评论

相关推荐

    印象笔记api上传笔记样式

    印象笔记api上传笔记样式,比较主流的样式,对于阅读器开发有用

    人人API笔记(1)实例

    人人API笔记(1)实例是针对使用人人网开放平台API进行开发的一份实践教程。人人网,曾是中国领先的社交网络平台,提供了丰富的API接口供开发者使用,以构建各种社交应用和游戏。这篇笔记将带你逐步了解如何利用这些...

    VC编程练习之API笔记(一)

    在这个“API笔记(一)”的实践中,我们将专注于基础的API调用和其在MFC(Microsoft Foundation Classes)框架中的应用。 首先,MFC是微软为Windows平台提供的C++类库,它简化了Windows应用程序的开发过程。MyMFC1...

    HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)

    HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源...

    google map api 学习笔记

    **谷歌地图API学习笔记** 谷歌地图API(Google Maps API)是一种强大的工具,允许开发者将谷歌地图集成到自己的网站或应用程序中,实现自定义地图、地理定位、路线规划等多种功能。这篇学习笔记主要涵盖以下几个...

    iFYTEK-ai2023-api笔记

    这里我们关注的是“iFYTEK-ai2023-api笔记”,这很可能是一个关于iFYTEK公司2023年AI相关的API使用、开发或优化的文档集。"c"标签可能表明这些笔记涉及到使用C语言实现或者调用API的情况。 首先,让我们深入了解...

    API笔记整理完之后加以完善

    API笔记整理完之后加以完善

    webApi笔记.zip

    在本文中,我们将深入探讨Web API的基本概念、结构、路由、控制器、模型绑定、数据验证以及如何与客户端交互。 一、Web API简介 Web API是一种轻量级的框架,用于构建可跨平台的HTTP服务,这些服务可以被多种类型的...

    Java常用的API笔记,pdf格式

    Java常用的API笔记 Java语言提供了许多有用的API(Application Programming Interface,应用程序接口),这些API可以帮助开发者更方便地编写程序、本地化应用程序和提高开发效率。在本文中,我们将对一些常用的Java...

    Windows API 学习笔记.rtf

    Windows API 学习笔记

    python中文api文档+学习笔记

    中文API文档和学习笔记是Python初学者和经验丰富的开发者的重要资源,可以帮助他们更好地理解和使用Python的各类库和功能。 首先,`Python v2.7帮助文档 .chm` 提供了Python 2.7版本的官方API(应用程序编程接口)...

    04-03 周三 使用印象笔记API批量更新笔记标题

    通过文档内容,我们可以了解到使用印象笔记API进行批量更新笔记标题的过程,这不仅提高了操作效率,也展现了编程在处理日常重复性任务中的巨大价值。同时,该过程也涉及到了印象笔记软件的一些功能点,以及如何通过...

    图像API学习笔记--开发环境 DELPHI 用实例介绍各种API函数

    本笔记将深入探讨在DELPHI开发环境中如何利用API函数进行图像操作。DELPHI作为一个强大的面向对象的编程环境,支持丰富的Windows API调用,使得图像处理功能得以增强。 首先,我们要了解什么是API。API...

    lua api 笔记1

    整理了之前使用lua capi时不足的地方

    python 中文API 和python学习笔记

    本压缩包包含的内容涵盖了Python 2.7的英文API、Python 2.5的中文API以及一份全面的学习笔记,为初学者和进阶者提供了丰富的学习材料。 首先,让我们来看看Python API。API(Application Programming Interface)是...

    学习cryptoapi的笔记

    这里介绍一些CryptoAPI的知识,也是让自己对CryptoAPI做一个系统的总结(针对证书操作这块)。 微软加密服务体系 微软加密服务体系CryptoAPI的结构如下图所示,微软加密服务体系包含三层结构和两个接口,分别为应用...

    WindowsAPI笔记

    本笔记将深入探讨Windows API的重要概念、使用方法以及常见功能。 一、Windows API的基本构成 Windows API由一系列函数、结构体、常量和消息组成,它们定义了如何与操作系统交互。这些接口覆盖了窗口管理、图形绘制...

    VC编程练习之API笔记(三)代码

    在本篇VC编程练习中,我们专注于API笔记的第三部分,主要探讨如何在Microsoft Visual C++(VC++)环境中利用Windows API进行程序开发。API(Application Programming Interface)是操作系统为开发者提供的函数库,...

    Ext API详解--笔记

    这篇笔记将深入探讨Ext Js的核心API,涵盖多个关键模块。 1. **Ext.Element**: `Ext.Element`是Ext Js中的基础元素操作类,它封装了对DOM元素的各种操作,如尺寸调整、样式修改、事件处理等。在`EXT核心API详解...

Global site tag (gtag.js) - Google Analytics