首页 > 其他 > 详细

ystockquote.py

时间:2014-03-11 11:14:04      阅读:573      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#!/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
        
bubuko.com,布布扣

 

使用方法:

1 import ystockquote
2 print ystockquote.get_price(600887.SS)

ystockquote.py,布布扣,bubuko.com

ystockquote.py

原文:http://www.cnblogs.com/tmtfinder/p/3589920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!