pagetakaBlog

最近リフォームと鳥取県日南町の記事多め。写真、PC、ネット等の話題も

東証株式相場表:PDFMinerで解析しMySQLへの流れ(4)XAMPP起動、テーブル設定

XAMPPをインストールし起動など

東証株式相場表(日報、PDF)を解析しMySQLに保管します。PythonつかうときにMySQL(手動またはサービス)も多くの場面で必要です。phpMyAdminを使う場面もあります。XAMPPなどをインストールしといた方が楽ではないかと思います。

MySQLをつかう場面

Excelでも処理可能な範囲もありますが、(1銘柄13項目/日) × (市場日数) × (銘柄数) となれば相当大変だとご想像いただけるかと…。
MySQLをつかう場面を正直に書きます。

  • Excel単独ではチョット荷が重そう。なので、PythonスクリプトとMySQLを使う
  • 東証データを無料でいただき、解析した結果を保管する
  • 株で一儲けしようという爺の妄想を実現するプログラムのデータにする

以上です…ええ。現在、前半がなんとかなったかな、という状態(怪しい)です。

DLした後、東証株式相場表(日報、PDF)をPython上のPDFMinerで解析しCSVにするときには、MySQL不要です。Excel使う予定がない場合、PDF解析結果をCSV化せず直接MySQLにデータ書き込む方法もありそうです。爺は、MySQLのデータを使いExcelをインターフェースというか表示画面のように使おうかと妄想してます。

MySQL:データベース上にテーブルを作る

XAMPP上でphpMyAdmin起動

XAMPPコントロールパネルが表示されている場面からスタート。Windowsの機能「サービス」ですでにApacheとMySQLが動いている場合…みたいな…です。「手動」にしている方は説明不要かと…ええ。
www.apachefriends.org>

【XAMPPコンパネ:phpMyAdmin起動】
【XAMPPコンパネ:phpMyAdmin起動】

XAMPPコンパネの緑色になっているMySQLを右に見て行って[Admin]をクリックすると、普段使っているWEBブラウザにphpMyAdmin画面が表示されます。

phpMyAdmin使って、データベース「stock」作り、テーブル「market_data」設定

「stock」「market_data」ともに爺の場合です。Pythonスクリプトもそれを前提に書いてます。
「stock」を作るのはすぐできるかと…。で「market_data」設定です。

【MySQLテーブル「market_data」:項目設定】
【MySQLテーブル「market_data」:項目設定】

※mng:前場、afn:後場
爺がつくった「market_data」設定は画像の通りです。東証株式相場表から得られるデータはこれ以外もありますが、一部省いてます。同表に含まれているデータの種類などについては「東証株式相場表:PDFMinerで解析しMySQLへの流れ(2) - pagetakaBlog」に書きました。

次回以降のPythonスクリプトでは、上図のテーブルが稼働している前提です。

データの扱いで右往左往したのは以下の点です。

  • 日付データを「market_data」に含めた:日付のみ別テーブルにし参照番号を振れば、と当初考えました。実際の利用時にテーブル連結するひと手間が面倒なので、結局含めました。このテーブルだけで必要最小限のものがある、というイメージです。
  • 日付データを「整数」型にした:当初「日付」型にしていましたが、Pythonスクリプトで大小関係のみをつかうので「整数」型でも問題ないのでデータ量節約で「整数」型にしました。日付計算の時は、Python側で型変換のつもりです。
  • 数値データの多くで「Null」を受け入れた:東証データには「-」が含まれているので数値0とは異なることが気になってました。項目設定で多くを「Null」OK状態に変更しました。その後、「-」を含むデータを入れてみたら、phpMyAdminで表示したら数値0が表示されましたが、SQL文「SELECT * FROM `market_data` WHERE 'afn_close'="null";」の結果、たくさんヒットしました。つまり「Null」は生きている…ということみたいです。

10/28追記:「まとめ」UP

東証株式相場表をDLし、PDFMinerでCSV化。「LOAD DATA INFILE」でMySQLへUP、というながれをまとめました。