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となってしまう場合の対策法の例
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のデータを前後の線形数値で補間する