LoginSignup
0
3

More than 5 years have passed since last update.

「Pythonでk-db.comから株価の時系列データを取得する」プログラム環境作成メモ

Last updated at Posted at 2017-07-28

Cloud9開発環境にて、jupyterをインストールしてその環境で、k-db.comからの株価取得プログラムを動作させる。

追記 2018.2.22
k-dbが2017年末でサービス終了とのことでした。

deep learningを勉強中で、株のデーターを用いて株価予想をするプログラムを考えています。
しかし、色々と探しても5分足で東証全銘柄のデーターを取得する方法が殆どありません。そして、やっと見つけたのがk-db.comです。
こちらのサイトは4日分ですが個別銘柄の5分足の情報が掲載されています。しかし、これをいちいちダウンロードして編集するには大変な時間がかかってしまいます。そしてこちらのサイトから自動的に5分足での株価データーを取得するプログラムを発見しました。それが下記のURLにあります。

k-db.comから株価を取得するプログラム
「Pythonでk-db.comから時系列データを取得する」プログラムはこちらを使用させていただきました。
http://qiita.com/sawadybomb/items/03c3814268d3e2904e6c
cloud9 , python初心者でなかなかうまく行きません。

環境

cloud9(有料版)
jupyter
python 3.5.3

手順

まずはanacondaやjupyterの環境作成。

こちらを参考
http://qiita.com/KenjiKitagawa/items/e0225d9be10ea3dbdafc

k-db.comからの株価取得プログラムのダウンロード、展開

https://github.com/sawadyrr5/pykdb
こちらからプログラムをPCにダウンロードして、cloud9のjupyter配下に展開。

setup.pyというファイルを起動

ダウンロードしたファイルのsetupを実行する。
python setup.py install をコマンドラインから実行

example フォルダー配下の「tutorial_stocks.ipynb」をjupyterから起動したところちゃんと動作しました。

しかし、銘柄によっては、データーが抜けている部分があり、取得元のk-db.comを見てもやはりデーターが入っていませんでした。
対処法は下記に書きました。

プログラム実行結果 NANがデーターがない部分
stock1.jpg

データの一部がNANとなってしまう場合の対策法の例

k-db.comの元データがNANとなっているので、データーを取得することは不可能です。
このデータは人工知能のdeep learningに使用するために本来はちゃんとした数値が必要ですが、NANの個数が少ないことから前後の数値から数値を予想して(線形数値)入力することにしました。

exampleディレクトリ配下にある、サンプルプログラム中のdf=obj.hoge 配下に df= df.interpolate(hoge を入れる。


df = obj.price(date_from=start, date_to=end, symbol=i_old, freq=stock_freq)
df = df.interpolate(method='index') #NANのデータを前後の線形数値で補間する

補完後
stock2.jpg

0
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3