allister2007さんのブログ

最新一覧へ

« 前へ119件目 / 全142件次へ »
ブログ

スクリーニング

スクリーニングを行うとき、自分は自作のプログラムを使って行っている。プログラムは独学で適当なので拙いものだし、まだまだ改良していくべきなのだが我慢すればまぁ使える。今日、株価データベースへのアクセスに関しての修正を行ってみた。もともとがひどいものだったので、10倍くらいの速度が出るようになった。

今までのシステムでは、株価のデータを取り出す際、終値(コード、日付)一つ取り出すためにデータベースへアクセスを行っていた。つまり1日の日足を書こうとすると4回アクセスする。そのため、平均とるための期間が長かったりすると同じデータを取るために2度、3度無駄にアクセスが必要となりパフォーマンスはよろしくなかった。いつかは変えようと思っていたのだが、まぁいいかーと。。。

Stockクラスが株価のデータ取得をAccessManagerクラスを介して行っている。Stock.get(code,date,str)によって終値から出来高までを得ることができる。Stock.TempというMapを新たに作り、ここに一時的にデータベースから得たデータを保存しておくことにした。そのためStock.allocateTemp(code,date,str,length)とStock.releaceTemp()を加えた。Stock.allocateTempによりデータベース一回のアクセスでlength期間におけるデータをTempに割り当てることができる。Stock.Tempにデータが割り当てられている場合Stock.getはデータベースにアクセスせずにStock.Tempからデータを引き出せるようになった。

チャートを描く時間もスクリーニングする時間も満足良く感じに仕上がりました。解析すんぜー。そのうち(1年くらいのスパン)ですが。
コメントを書く
コメントを投稿するには、ログイン(無料会員登録)が必要です。