mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Yahoo!ファイナンス - 株価データ取得・再修正!

[ pc_tips, 株式 ] [ ]

【はじめに】
Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止されています。(参照
以下の記事を参考にすることもお勧めしません。

こんばんは。

前回、銘柄情報をVisualBasicでExcelVBA(XMLHTTPオブジェクト)を介して取得していたものをVisualBasicで直接XMLHTTPオブジェクトを使用して取得するようにしました。

そこで、まだExcelVBA(XMLHTTPオブジェクト)を介して取得していた株価データも、VisualBasicで直接XMLHTTPオブジェクトを使用して取得するようしました。

基本的にExcelVBAと記述は同じでよいので、さほど手間はかかりませんでした。

かといって、簡単にここで説明できるものではありませんので、現時点では詳細は記載できません。

「こんなことをしました」という報告ですので。

まあ当然、ExcelVBAでできることはVisualBasicでもできますよね。。。

最初から気づいていれば。。。

「Yahoo!ファイナンス」からのデータ取得についていろんなサイトで調べると ”ExcelVBAでWebクエリを使って・・・” というようなものばかりだったんで。。。

(時々 ”ExcelVBAで文字化けする場合があるのでWebクエリではなくXMLHTTPオブジェクトを使って・・・” というのがありました)

VisualBasicでのXMLHTTPオブジェクトの使用については、特に調べなくてもExcelVBAのものをほとんどそのまま移植することで完成しました。(同じVBなんで当然ですが・・・)

そして、実行速度についてですが、

  • 3,749銘柄
  • 6,829,902件(各銘柄は優先市場のみ)
  • 2000年1月~2009年12月(10年分)

の取引データを「Yahoo!ファイナンス」から取得してSQLServerに書き込む。

という処理で、Excelを介して取得していたときよりは1時間くらいは早くなりました。

(といっても、18時間強かかりました。1日分の全銘柄取得なら10分はかかりません)

ま、そういうことで。

今日は以上です。

では。

Comments