SSブログ

データ取得更新マクロ総括 [システムトレード]

昨日の公開で最後にしたかったのですが、今朝からデータの連続取得を実行したところ、思わぬ不具合が発覚し、修正作業に追われました。
最初の不具合は、昨日のコラムに追記しましたように、単純なケアレスミスだったのですが、その後の動作確認で個別の銘柄毎の不具合が生じる場面がありました。

Yahoo!ファイナンスサイトに証券コードが存在しない場合は、もちろんデータを取得せずに処理を進めるのですが、上場したての上場投信などで、稀に全く売買が行なわれずに株価データが存在しないことがあります。

そのような状況は全くの想定外だったため、マクロ内で対処しておらず、その結果、エラーが生じて処理が停止するという事態が生じました。
それに関しては何とかマクロを修正し、データ連続取得処理を進めたのですが、今度は更に不可解な現象に見舞われました。

それは、上場廃止した銘柄で、Web上には何も表示されないものの、証券コードや銘柄名、単元株数などの情報がHTMLドキュメントに残存し、それを取得してしまうというものです。
もちろん、株価データは存在しませんから、処理はエラーとなってしまいます。

挙動的には証券コードがあるにもかかわらず株価データが存在しないわけですから、前述の上場投信の対処と同じでいいと考えていたのですが、それでは上手くいきません。
結局、やや冗長になってしまいましたが、処理を分けることで解決いたしました。

そうやって、何とかエラーの発生は収まったのですが、連続した証券コードを設定してデータを連続取得して行くと、存在しないコードが非常に多いことに気が付きました。
その場合、マクロシート上のリストでは、エラーメッセージを表示させて処理を先にすすめているのですが、当然、非常に無駄の多いリストになってしまいます。

これは不具合という訳ではなくあくまで仕様の問題なのですが(トヨタと同じ理屈ですね(^_^;))、新たに機能を追加して、株価データが存在しない銘柄(証券コード)をリストから削除できるように改定いたしました。

これでようやく、データ取得更新マクロは完成したのではないかと考えます。今後は、大幅な改定は当分行なわない予定です。
もちろん、新たなバグやサイト仕様の変更などに伴う異常動作に対しては、継続的に対応して行きます。

現在、東証に上場している全銘柄(サイト上の証券コードの末尾が"t"の銘柄)のデータを取得すべく、連続稼動していますが、そう言っている矢先に、2392セキュアード・キャピタル・ジャパンのデータ修正で、処理が停止してしまいました。
どうやらデータ修正プロシージャの中にバグが紛れているようです。

そんなわけで、中途半端ですが今日はこれで失礼いたします。
度々で申し訳ありませんが、近々再びマクロを更新することになりそうです。何卒ご容赦ください。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。