さて、ちょっと前の記事でpandas datareaderで日本株のデータが取れるという話をしました。(データ元をstooqにすると取れる)
するとカルロ・スゴーンさんからAPI制限があって一日250回しか取れないけど、リストでデータを請求すると上限なく取れるということを教えていただけました。お教えいただきありがとうございました。
ちょっと今回それをやってみたので、ここに記録しておきます。
進捗プレイのお供にpandas datareaderを使ってみる
いまは、決算発表前なので、進捗率プレイがお得かもしれませんということで、そのデータを作っています。
進捗率のデータはそのへんからスクレイピングして取ってきました。
で進捗率が高い銘柄をがさっとその中からとってみました。(基準は内緒)ひとまず、468銘柄がピックアップされました。
その銘柄コードをリストに入れ、pandas datareaderを使ってstooqからデータを取得してみました。
するとぶりぶりと時間がかかりましたが、価格データが無事取得できました。やったー!
見慣れない形かもしれませんが、これがパネルというやつで複数の株価のデータなんかを扱うのに便利だったのですが、そのうち廃止されるということで、私も昔は愛用していたものの、とんと使わなくなりました。
Intro to Data Structures — pandas 0.23.4 documentation
久しぶりすぎてどうやって扱うのか忘れていました。ので、下のサイトを参考にさせていただきました。そうか、pandasはpanel dataが元でそんな名前になったのですね。しかし、panel dataはなくなると。
で、上の画像にありますが、panel.items()でデータの構造が見られます。見ると、銘柄コード別でなく終値、始値、高値、安値、出来高でデータの層が変わっています。では終値を見てみましょう。
1999年からデータが有って、データがNANばっかりでデータあるのかわからんので、直近の30本に変更すると。
ふむ、取れています。ちょうど前回の決算発表が落ち着いた頃合いの8月24日の終値がゲットできているので、進捗率が高い銘柄の株価のパフォーマンスを見てみましょう。
やっぱインデックス投資やな
チャートを見てみると、アップサイドもダウンサイドも同じような感じだったので、統計データを見てみると、メディアンがほぼ100で、75%ゾーンでも+2%、逆にダウンサイドは−5%となっていました。決算見たあと進捗率が良いからと乗り込んでも行っても、運用成績はパットしなかった可能性がありますね。
ちなみに同期間中の日経平均株価のパフォーマンスは+3%だったので、うむ、やはりインデックス投資やんけって感じです。
最近決算プレイで複雑骨折したので、ネガティブな結果にネガティブな感想が出てしまいましたが、決算を使ってどうアルファを出すかをファンダデータと価格データを使っていろいろやるってのは楽しいです。まぁ株式市場はある程度効率的なので、決算結果を見て買ったら儲かるほど甘くないということでしょう。
そりゃ、金融も発展せんわなー
日本株の価格データをpandas datareaderでポーランドのサイトから取ったわけですが、本来は日本の証券会社なんかがAPIなんかでさらっと取れるようにしてくれてればと思います。日本の金融は遅れているなんて話ですが、4本値みたいなデータが簡単に手に入らないのも、それに拍車をかけているのでないかと思いますね。そして運用技術も発達しない。
買ったらええがなという話かもしれませんが、そんなことでは裾野は広がらないし、簡単な4本値くらい誰でも簡単にAPIで取れたりすると良いなーと思います。仮想通貨の売買の盛り上がりなんかを見ていると、API開放するだけで売買が増えるのは確実なような。株なんかの場合は、売買の規制とかあって難しいということがあるそうですが、価格データの開放するだけで投資の裾野は広がるのになぁと思っています。
あと証券アナリストでも未だに電卓叩いてみたいな試験してるのはどうかと思うな。分析の入門本(教科書)ももっとRとかPythonとか使ったやつが出てきていいはずなのに、そんなことなく。それで金融の発達をとか行っても無理ですよねーw
ちなみに
ちなみに今Windowsでpandas datareaderをインポートするとis_list_likeがーぁっていわれてインポートできません。参った参った。なんでMacを使っています。