こんにちは!
ナビゲータのEVEです。
先日「エンジンを吹かしていきたい」といいながら、中小企業診断士2次試験の今日、まったりと過ごしてしまいました。ただ、収穫はありました。昼間仮眠をとったのですが、かなり深い眠りになったようで、頭の中がハッピーです(笑)。
といいながら、今まで、Prototype EVEの株式情報ダウンロード処理の仕様を変更していました。
[無尽蔵]
現在、無尽蔵から株式情報を毎日、crontabを使用しダウンロードさせて頂いています。ただ、このサイト予告なく閉鎖する可能性があるなどの忠告が掲載されているため、このブログで何回か紹介していますが、Yahooから株式情報をダウンロードしようと、EVEシステムの開発を急いでいます。
ただ、開発が完了するまでは、利用させて頂くしかなく、もし停止されたら大変なことになります。そのような状況の中、2023年10月25日水曜日から株式情報がダウンロードできていない。ようは、ダウンロードエラーとなりシステムが停止している状況です。バグかもしれないと思い、ソースを追っかけたのですが、プログラム的には問題なさそう・・・。じゃ、システムとデータの不整合かと想定し、無尽蔵のデータを見て分かったのですが、ダウンロードした株式情報の銘柄名が入っていない???銘柄名が入っていないのは、ダウンロード後のCSVファイルなので、手動でダウンロードしたところ、銘柄名が入っている。
おかしいな〜っていうことで、つい先ほどまで、どのロジックで銘柄名が消えるのか調べていました。
その結果分かったこと・・・。無尽蔵の株式データ、CSV形式なのですが、ZIPで圧縮されています。その圧縮されているファイルを、バッチ処理でシステムを起動しダウンロード後、プログラム内で解凍しているのですが、どうもその解凍時に銘柄名が消えてしまっているようです。こんなことあるのですかね???
CSVの形式は以下の通りです。
2023/10/25,6525,11,6525 KOKUSAI ELECTRIC,2116,2436,2108,2350,34234200,東証P
当該レコード1レコードだけ表示していますが、同レコードの「KOKUSAI ELECTRIC」という名称が消えてしまうのです。半角だからというわけではありません。他の半角の銘柄名はデータとして取得できています。想像できるのは、KOKUSAIとELECTRICの間の全角・・・?これが入ることにより、解凍時に文字が消えてしまうという事象になっているのかなって想定していますが、今現在原因不明です。
[対応方法]
今回の問題のだいたいの箇所は判明したのですが、私の作ったシステムから恒久的な対応をすることできるないため、銘柄名が""だった場合、"None"という値を挿入するという暫定的な対応をとることにしました。これにより、先週末までの株式情報をダウンロードすることができました。
今現在は、企業情報管理テーブル、株式情報履歴管理テーブルとも、正規の名前、「KOKUSAI ELECTRIC」をUPDATE文で挿入し、データ的にきれいな情報になっています。
[あとがき]
証券コード6525、実は、この障害があった2023年10月25日に上場した会社で、データ受信初日でした。そのため、10月25日にこのようなシステム障害が発生したのですが、今後は、ダウンロードした情報に不足している部分がある場合、データベース、企業情報管理テーブルから持ってくるようになっているので、明日以降は問題なく動作すると思います。
ただ、この障害、全く経験したことがなく、予想していない部分だったので、時間がかかりました。仮眠で目がさめていてよかったです。
今日、X(旧ツイッター)で中小企業診断士二次試験の状況について、ログを見たり、会話を聞いたりしたのですが、非常に難しかったようです。生活を改めて、明日から頑張りましょう。明日からが多いような気がしますが(苦笑)。
では、また!
■無尽蔵
https://mujinzou.com/