PHPでプログラムを作成して東京証券取引所が公表している空売り集計を取り込んでいたのだが、8月10日分が失敗していた。cronで月曜から金曜の16時10分に動くように設定しているのだが、これまでも東証側の公表が遅れて失敗することがあった。が、今回は原因が違うようだ。データ取り込みプログラムを手動で起動しても失敗する。
調べるしかないので調査。
PHPプログラムでやっていることの流れは
1)curlで東証の空売り集計ページの読み込み
2)空売り集計のPDFファイルのファイル名特定
3)curlで空売り集計のPDFファイル読み込み
4)pdftotextでPDFファイルをテキストに変換してデータ取り出し
5)データのDB登録
という感じ。
調べてみると空売り集計のPDFファイルのファイル名を見つけられていないようだ。次期デリバティブ売買システム(J-GATE)稼動時には、東京証券取引所が公表している先物の取引参加者別建玉残高、取引参加者別取引高のファイルの中身が大きく変わっていたが・・・今回は何も変わっていないように見える。でも、動かない。ん・・・分からない。困った。
と思っていると、違いに気付いた。空売り集計のPDFファイルのファイル名が今までのパターンと違っている。今までは"150809-m.pdf"だったのに、8月10日は"1508010-m.pdf"だ。月と日の間に"0"が入っている。
これなら修正は簡単。
$dt->format( 'ymd' )
を
$dt->format( 'ym0d' )
と変更。修正箇所は1行のみ。
修正したプログラムを手動で実行してみる。動きました。空売り集計(空売り比率)のデータ取り込めたよ。
しかしだ、これおかしいよね?東証のミスだよなあ。月と日の間に"0"が入るなんて。というか、なぜこんな間違いをするんだ?もしかして東証って、手作業でデータ公表しているのか?だから公表される時間にバラツキがあるのか。
0 件のコメント:
コメントを投稿