日本の株式市場の株価・財務データを取得するツールです。
各種データは、 Yahoo!ファイナンス からスクレイピングしています。
動作は、Python2.7, 3.4 で確認しています。
PyPIからのインストールが簡単です
$ easy_install jsm
or
$ pip install jsm
jsm.Quotesのインスタンスを作成
import jsm
q = jsm.Quotes()
以後、作成したインスタンスを使って各種データを取得します。
当日の株価の取得(例ではYahoo!の証券コードを指定)
q.get_price(4689)
過去の株価の取得
q.get_historical_prices(4689)
デフォルトでは当日から過去1ヶ月のデイリー株価を取得します。
週間, 月間の株価の取得
q.get_historical_prices(4689, jsm.WEEKLY) # 週間株価を取得
q.get_historical_prices(4689, jsm.MONTHLY) # 月間株価を取得
指定した期間の株価の取得
import datetime
start_date = datetime.date(2011, 1, 1)
end_date = datetime.date(2011, 2, 1)
q.get_historical_prices(4689, jsm.DAILY, start_date, end_date) # 2011/1/1 〜 2011/2/1までの株価を取得
2000/1/1〜現在までの株価の取得
q.get_historical_prices(4689, jsm.DAILY, all=True) # 負荷をかけるので要注意
株価取得メソッド(get_price, get_historical_prices)の戻り値は、PriceDataクラスのインスタンスです。
PriceDataについては、下記Data項を参照してください。
jsmには、取得した株価をCSV形式で保存する為の便利なクラスが用意されています。
株価をCSV形式で保存
c = jsm.QuotesCsv()
c.save_price(4689)
c.save_historical_prices(4689) # get_historical_pricesと同じ使い方
対象の財務情報を得る為には、以下のメソッドを利用します。
財務情報の取得
q.get_finance(4689)
財務情報取得メソッド(get_finance)の戻り値は、FinanceDataクラスのインスタンスです。
FinanceDataについては、下記Data項を参照してください。
またjsmでは、業種別の銘柄情報を得ることができます。
業種別の銘柄情報を得る為には、以下のメソッドを利用します。
業種別の銘柄情報の取得
q.get_brand() # デフォルト:全業種
また以下のIDを引数に渡すことで、それぞれ業種別の銘柄情報を得ることができます
'0050' # 農林・水産業
'1050' # 鉱業
'2050' # 建設業
'3050' # 食料品
'3100' # 繊維製品
'3150' # パルプ・紙
'3200' # 化学
'3250' # 医薬品
'3300' # 石油・石炭製品
'3350' # ゴム製品
'3400' # ガラス・土石製品
'3450' # 鉄鋼
'3500' # 非鉄金属
'3550' # 金属製品
'3600' # 機械
'3650' # 電気機器
'3700' # 輸送機器
'3750' # 精密機器
'3800' # その他製品
'4050' # 電気・ガス業
'5050' # 陸運業
'5100' # 海運業
'5150' # 空運業
'5200' # 倉庫・運輸関連業
'5250' # 情報・通信
'6050' # 卸売業
'6100' # 小売業
'7050' # 銀行業
'7100' # 証券業
'7150' # 保険業
'7200' # その他金融業
'8050' # 不動産業
'9050' # サービス業
銘柄情報取得メソッド(get_brand)の戻り値は、BrandDataクラスのインスタンスです。
BrandDataについては、下記Data項を参照してください。
PriceData
date # 日時
open # 初値
high # 高値
low # 安値
close # 終値
volume # 出来高
FinanceData
market_cap # 時価総額
shares_issued # 発行済株式数
dividend_yield # 配当利回り
dividend_one # 1株配当
per # 株価収益率
pbr # 純資産倍率
eps # 1株利益
bps # 1株純資産
price_min # 最低購入代金
round_lot # 単元株数
years_high # 年初来高値
years_low # 年初来安値
BrandData
ccode # 証券コード
market # 市場
name # 銘柄名
info # 銘柄情報