日足データの取得とシグナル出力

久しぶりの更新になってしまった。
Blogでこんなに更新空いてしまったら意味ないのであるが、
仕事の方と体調不良のため作業がなかなか進まない。
今日は土曜日ということで、合間を見て作業を行った。
また、シグナルも出力してみた。
まず、今日完成したのは、日足データの取得。
なぜ、今さら・・・という感もあるが、今までは履歴から取得していたので、
特に不自由もしなかったので作成が後回しになってしまった。
ただ、毎日の更新を考えると当然に必要な機能である。
今、3900銘柄を管理しているので、過去履歴で1日を取るのと、
最新の値だけをまとめて取得できるのでは、効率が全くちがう。
作成は例のごとくPerlで作る。
内容は特に難しいものはない。
また、取得は1回のリクエストで50銘柄とした。
ただ一つ、いままで通りで動かない部分があった。
それは、日本語の処理である。
Yahooはご存じのとおり、EUCで書かれている。
EUCはUNIXには非常に都合の良い文字コードであるが、
PCレベルではShiftJISな方が読める環境が多い。
そこで、今回はシステムはすべてソースコードをShiftJISに統一している。
そんなわけで、htmlソースは、
EUC => UTF16 => SHIFT_JIS
と、変換して処理している。
以前はjcode.plというので処理していたが、Encodeで処理するようになり、
最近、Jcodeが更新されたので、Jcodeに戻っている。
おかげで、今まですこぶる快調だったのだが、今回はどうしても止まってしまう。
どうも、一覧で取得する場合に、特定の文字コードが邪魔をしているようである。
結局、
$jconv->set( $a->content() )->euc;
$tree->parse( $jconv->sjis );
と、していたところを、
$tree->parse( Jcode::convert( $a->content(), ‘sjis’, ‘euc’ ));
と、して解決した。
やってることは全く同じなんですけどね・・。
直接変換しているようでも、内部ではutfで処理してると思ったんですけどね・・。
とりあえず、動いたので良いことにします。
今回の、日足データ取得で、毎日早い時間にシグナルを出すことができるようになる。
早速計測。
日足データ取得(全銘柄)  3分
指標計算(必要分のみ)  2分
シグナル計算(必要分のみ) 3分
シグナル抽出    0秒
全部合わせても10分かからないですね。(^^v
これなら、昼の間に20分遅延で処理しても、後場までには十分計算できそう。
半日足データでシグナルを出せるともう少し精度が上げられるかもしれない。
そんなわけで、相変わらず意味がないかもしれないが、
本日のシグナル。
+——+————+———–+———–+———–+——-+——-+
| code | date | point_max | point_avg | point_min | rieki | kikan |
+——+————+———–+———–+———–+——-+——-+
| 1914 | 2006-05-26 | 100 | 100 | 100 | 12 | 25 |
| 9717 | 2006-05-26 | 100 | 100 | 100 | 68 | 8 |
| 9621 | 2006-05-26 | 100 | 100 | 100 | 49 | 17 |
| 7201 | 2006-05-26 | 100 | 94 | 85 | 66 | 29 |
| 5233 | 2006-05-26 | 100 | 98 | 97 | 8 | 10 |
| 5196 | 2006-05-26 | 100 | 99 | 98 | 18 | 6 |
| 4921 | 2006-05-26 | 100 | 100 | 100 | 251 | 25 |
| 4186 | 2006-05-26 | 100 | 100 | 100 | 64 | 25 |
| 9731 | 2006-05-26 | 100 | 100 | 100 | 14 | 20 |
| 3337 | 2006-05-26 | 100 | 100 | 100 | 85 | 15 |
| 2730 | 2006-05-26 | 100 | 100 | 100 | 85 | 6 |
| 2578 | 2006-05-26 | 100 | 100 | 100 | 21 | 13 |
| 9479 | 2006-05-26 | 99 | 99 | 99 | 5110 | 5 |
| 9475 | 2006-05-26 | 97 | 89 | 80 | 122 | 27 |
| 6440 | 2006-05-26 | 96 | 95 | 95 | 10 | 5 |
| 9715 | 2006-05-26 | 96 | 95 | 93 | 138 | 5 |
| 9003 | 2006-05-26 | 96 | 92 | 90 | 17 | 66 |
| 1972 | 2006-05-26 | 94 | 87 | 84 | 16 | 6 |
| 8194 | 2006-05-26 | 94 | 93 | 93 | 79 | 7 |
| 3106 | 2006-05-26 | 93 | 91 | 89 | 8 | 19 |
| 4634 | 2006-05-26 | 93 | 93 | 92 | 19 | 19 |
| 4042 | 2006-05-26 | 93 | 87 | 84 | 10 | 7 |
| 8234 | 2006-05-26 | 92 | 85 | 64 | 34 | 7 |
| 1964 | 2006-05-26 | 92 | 91 | 91 | 7 | 6 |
| 7447 | 2006-05-26 | 91 | 70 | 50 | 183 | 13 |
+——+————+———–+———–+———–+——-+——-+
25 rows in set (0.01 sec)
いつものごとく、この情報をもとに取引されても自己責任でよろしくお願いします。
ちなみに私はまだ取引してません(^^;
早く自動売買作らないと・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です