株価ぶっこ抜きプログラム

ちょっと時間があったのでYahoo!ファイナンスから指定した銘柄の株価をとってくるプログラムを書きました。もちろん使う言語はPython。楽チンです。10行くらいのプログラムを書けば、それだけで過去何年ぶんもの株価の推移を表すデータが持ってこれるのです(PerlでもRubyでもPHPでも同様なことは簡単にできますね)。これを各銘柄ごとにやれば、証券所のデータがいくらでも取ってこれるというわけです(Yahoo!のサーバーには負担をかけてしまいますし、データを持ってくるのにはかなり時間がかかりますが)。とくに日付指定を1900年1月1日~2999年12月31日なんて範囲指定すれば、過去から現在までの全データが持ってこれます。

実は株式投資のための予備情報を作るのに使えそうなアイディアを思いついたのです。そのためのデータ集めをしたくてこんなプログラムを書いたのでした。自分が株式投資を行うわけではありませんが、株式投資をする人たちにシェアウェアとして提供できるようなものができればいいなと思っています。そのほうがよっぽど堅実ですから(僕は臆病なので株には手を出せませぬ)。キーワードは相互相関係数、因子分析、多次元尺度法あたりの、僕がいつも使っている多変量解析の仲間です。まぁ僕が思いつくようなものは、その道のプロの人々はすでに考案済みで、実際にそれを使って投資(しかもおそらくコンピュータによる自動投資)が行われているんでしょう。でも素人さんが手を出せるくらいのレベルで情報公開するのも面白そうかな、と。

いまのところ持ってきたデータは無整形なので以下のような形をしています。とりあえず先月と昨日までのエイベックスのデータ。エイベックスを選んだのは昨日あたりにYahoo!ファイナンスのトップページにあったから(値上がり幅が高かったのかな?)。Yahoo!ファイナンスには1999年12月8日からのデータのみありましたが、途中で株の分割を行ったりしているので、それの処理もできるようにしたほうがよさそうです。でも僕のデータ処理には必要ないかな。

日付     始値 高値 安値 終値 出来高 調整後終値
2005 9 9 1944 2035 1923 2010 453900 2010
2005 9 8 1950 1960 1922 1943 304100 1943
2005 9 7 1987 1987 1958 1975 360400 1975
2005 9 6 2010 2025 1970 1990 465700 1990
2005 9 5 1842 2085 1841 2050 1820500 2050
2005 9 2 1800 1840 1800 1831 502600 1831
2005 9 1 1790 1796 1780 1790 226900 1790
2005 8 31 1751 1785 1750 1778 185500 1778
2005 8 30 1750 1758 1734 1748 149200 1748
2005 8 29 1748 1750 1727 1732 105100 1732
2005 8 26 1750 1759 1740 1747 125400 1747
2005 8 25 1778 1790 1727 1736 326300 1736
2005 8 24 1793 1793 1773 1778 175600 1778
2005 8 23 1774 1800 1771 1793 251600 1793
2005 8 22 1767 1775 1750 1759 136500 1759
2005 8 19 1743 1747 1729 1747 231500 1747
2005 8 18 1700 1729 1700 1723 220900 1723
2005 8 17 1713 1718 1693 1694 186100 1694
2005 8 16 1716 1730 1713 1717 130600 1717
2005 8 15 1736 1744 1710 1717 82400 1717
2005 8 12 1746 1756 1734 1735 108200 1735
2005 8 11 1737 1743 1730 1733 122200 1733
2005 8 10 1743 1748 1725 1739 186400 1739
2005 8 9 1696 1740 1696 1731 148000 1731
2005 8 8 1680 1700 1661 1695 392100 1695
2005 8 5 1754 1754 1712 1712 165200 1712
2005 8 4 1784 1788 1736 1758 166900 1758
2005 8 3 1800 1809 1783 1784 129000 1784
2005 8 2 1798 1809 1784 1798 370400 1798
2005 8 1 1744 1800 1744 1794 324500 1794

次は銘柄コードぶっこ抜きプログラムを作らないと。