スキップしてメイン コンテンツに移動

[Python][Google App Engine]日本株式個別銘柄の日足+出来高CSVダウンロード

久しぶりにGAE/Pythonを触ってみた。
Python2.7も対応で、マルチスレッド?同時リクエスト処理?にも対応してた。

早速作ってみたのはこれ↓
『証券コードと営業日数を指定してやると4本値+出来高が取得できるプログラム』

■使い方
URLに下記のように条件を指定してEnterキーをたたいてください。
http://test-004.appspot.com/dlhistorical?ticker=証券コード&days=営業日日数
※最大で450日分まで遡って取得できます。

例)
スターバックス(2712)の過去400営業日の日別データがほしい場合
http://test-004.appspot.com/dlhistorical?ticker=2712&days=400

すると、日別情報が画面に表示されますので、これをExcelに張り付ければ分析に役立ちますね!

■処理内容
裏側でhttpリクエスト実行
BeautifulSoupでHTMLパースしてtableをCSV化
検索条件でmemcacheにset
※2回目以降同じ条件のリクエストにはmemcacheから返す

■課題
GAE側ではmemcacheのみでデータ保持で遅い
memcacheが必ずしも最新の情報ではない可能性あり
裏のhttpリクエスト制約のせいで450件が最大日数

■参考
すぐに試せるリンクを作っておきます。
2012/2/24の東証1部出来高上位5銘柄の過去100営業日のデータです。

みずほ(8411)の過去100営業日分
http://test-004.appspot.com/dlhistorical?ticker=8411&days=100

三菱UFJ(8306)の過去100営業日分
http://test-004.appspot.com/dlhistorical?ticker=8306&days=100

野村HD(8604)の過去100営業日分
http://test-004.appspot.com/dlhistorical?ticker=8604&days=100

新日鉄(5401)の過去100営業日分
http://test-004.appspot.com/dlhistorical?ticker=5401&days=100

東電(9501)の過去100営業日分
http://test-004.appspot.com/dlhistorical?ticker=9501&days=100

何かあれば、コメントやTwitterで質問いただければと思います。

コメント

このブログの人気の投稿

[Python]redis-pyでRedis Pub/Sub実装

前から面白そうと思っていたRedisのPub/Sub機能。 redis-pyでどう実装すれば使えるか確認してみた。 ■Pub/Subについて http://ja.wikipedia.org/wiki/出版-購読型モデル ■pub.py from redis import StrictRedis def publish(channel,msg): """ redis-pyにはPUBLISHするためのメソッドがないので、 Redisのコマンドをそのまま実行する為のクラスを使う。 """ sr=StrictRedis() """ 第1引数にRedisのコマンド、第2引数以降は そのコマンドの引数をそのままセット """ sr.execute_command("PUBLISH",channel,msg) if __name__=="__main__": # チャネル"hoge"に"Hello"というメッセージを出版(Publish) publish("hoge","Hello") ■sub.py from redis import Redis def listen(channel): r=Redis() ps=r.pubsub() ps.subscribe(channel) while True: for i in ps.listen(): print i["data"] if __name__=="__main__": # チャネル"hoge"を購読(Subscribe) listen("hoge") ■実行方法・実行結果 (ターミナル1-準備) [user@localhost ~]# python sub.py 1 # => チャネ

[OS]VirtualBoxでCentOS6.5(x86_64)がKernel panicを起こした

完全に対処療法。 恥ずかしながら自分では原因がわかっていない。 忘れないようにメモしておく。 いろいろ設定したあと、何度目かの再起動のタイミングでKernel panicが発生して起動しないという事象が発生。 こちらの方法でなんとか起動させて。 [CentOS] SELinux 無効化後のカーネルパニック http://kuni255.blogspot.jp/2013/04/centos-selinux.html こちらの通り、/boot/grub/grub.confに設定を追加。 Kernel panic – not syncing: Attempted to kill init! http://h2np.net/mynotebook/post/130 設定変更後、以下の操作をそれぞれ10回ほど試した限りでは再発していません。  (1)halt+起動 (2)reboot 追記:と思ったらまた発生した。なんかもう解決できる気がしない。

[Python]システムトレード環境

最近、システムトレードをしている。 日本株は、自動売買までは実現できていないが、トレンド分析くらいはできるようになっている。 とりあえず、現時点の環境を整理しておきたい。 ■日本株 H/W:さくらVPS(2GBだったかな?) OS:CentOS6.4(x86_64) 言語:Python DB:SQLite3 データソース: http://www.data-get.com/main/ (有料) データ種別:株価データ、銘柄情報データ、分割併合データ ■FX H/W:DELL T100(6年前のもの)+CPU4コアに換装済+メモリ8GB化済 OS:Windows 7 64bit プラットフォーム:MetatTrader 4 言語:MQL4 取引業者:Alpari Japan ■クライアント H/W:MacBook Pro 13インチ(2010-Mid) 特に不満はないけど、さくらVPSが高い。 自宅のT100は古いけど重い処理をさせるわけじゃない。 そのうちさくらVPSから自宅PCのVirtualBoxかなんかの仮想環境に引っ越す可能性もある。 こんなところ。