SSブログ

データ取得更新マクロの不具合について [システムトレード]

最近不具合が顕著になってきたデータ取得更新マクロですが、ようやく原因が分かり、改定版を研究所サイトに公開いたしました。
ただし、今回の改定はあくまで不具合を潰すという対症療法で、抜本的な改定ではありません。

データ取得更新マクロは、私が初めて作成したマクロであり、今から見直して見るととても酷い出来となっています。
内容はゴチャゴチャ、変数の使い方は適当、リンクがあっちこっちに飛び、修正すらままなりません。

そのため、ヤフーファイナンスのサイト仕様が変更になったりすると、もうてんやわんやです。本当であれば、一から全面的に作り直すべきなのでしょうが、それを度重なる修正で誤魔化してきたがために、このところはちょっとした修正でさえも手間取ってしまいます。

幸いにも、今回の修正は比較的軽微な内容で済みましたが、ヤフーファイナンスの時系列表示ページの仕様が大幅に変更になったりした場合は、もはや修正は不可能かもしれません。
その場合は、重い腰を上げて一から作り直さなければいけないと覚悟しています。

ちなみに、今回の不具合の主な内容ですが、一つは当日データの取得に失敗する場合があるということ、もう一つは特に株価指数の更新を行った場合に前日データが消えてしまうというものでした。
なお、処理速度が決定的に遅いという重大な問題がありますが、これについては今回はご容赦ください。

前者については、ヤフーファイナンスサイトの仕様変更(いつの時点からかは分かりませんが)により、前日比変わらずの表示が"0"から"---"になったことが原因でした。
アンカーとしているタグでは終値を直接取得できないため、前日終値と前日比データから終値を求めていました。

その前日比データが"---"になってしまうと、終値の計算が出来ずにエラーとなり、その結果、エラー処理ルーチンで全てのデータを"0"にして出力していたわけです。
そこで、前日比データが"---"の場合は"0"に置き換えることで、終値が正しく計算されるように修正いたしました。

後者については、できるだけ処理時間を減らすために、取得したサイトソースのアンカータグのカウントをある数値範囲に絞っていたのですが、最近その範囲が変わってしまったために、データの取り溢しが生じていたことが分かりました。
結局、タグの取得範囲を拡大することで、データの取り溢しを防ぐようにしました。

それ以外にも、従来は取得したデータにエラーがあっても、株価データシートを開いてみないとデータが正しく取得で来ているかどうか分からなかったのですが、データ取得更新マクロで取得したデータの終値を表示することで、データの取得ミスが直ちに判明するように仕様を変更いたしました。

それ以外にもいくつかの細かな修正を行なっていますが、その詳細につきましてはマクロを直接ご確認ください。
とは言いましても、冒頭に述べましたようにとても人様に見せられるようなものではありませんので、気分が悪くならないようご注意ください。

話は変わりますが、先日公開いたしました可変ポジションシステムβ版において、その後の検討で、運用後資産推移の計算に不具合があることが分かりました。
具体的には、建玉の増減を行なった際に取引単位を考慮した場合、運用後資産推移の計算に用いる建玉数の計算が正しく行なわれないというものです。

現在、修正を試みていますが、有効な対処法方は見つかっていません。解決にはもうしばらく時間が掛かりそうです。
なお、取引単位を未考慮にした場合や、運用後資産推移以外の計算では上記の不具合は生じません。


PS.先日、ハードオフでグラフィックボードが安く売られていたため、思わず購入してしまいました。チップはGeForce8600GTで、現在主流のGeForce9600GTと比べると処理性能は半分程度しかありませんが、価格が3,150円だったためコストパフォーマンスはやや上回っています。

Gatewayマシンに付いていたGeForce8400GSを外してそこに取付け、外した8400GSはデュアルコアマシンに取り付けました。
デバイスドライバのインストールもWindowsの標準ででき、動作も問題ありません。

Gatewayマシンは今までグラフィック性能がボトルネックだったのですが、8600GTに付け替えたことで、エクスペリエンス インデックスのスコアが大幅に向上しました。
Webサイトの表示も心なしか早くなったように感じます。

これで、4台ある全てのパソコンにグラフィックボードが搭載されたことになります。もっとも、VAIOには最初から標準で搭載されているのですが。
暑い最中の取付け作業は大変でしたが、その甲斐はあったように思います。

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

nice! 0

コメント 0

コメントを書く

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

Facebook コメント

トラックバック 0

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