(更新:04-06-13)
新JRA‐VAN対応ソフト「LiteMining」自作教室(1-1)
2004年4月からサービスが開始された新JRA-VANデータ対応のソフトを作りましょう。ここでは新データの使い方を理解するために「データマイニング予想」用に提供されるデータを使って予想するソフト「LiteMining」を作ることを目標にします。
できあがりのイメージ画面はこちらを見てください。
ソフト作りの手順は大体次の感じで進めます。
1.取り扱うデータの種類と取得方法の練習
新JRA-VANのサンプル・プログラムのユーザーフォームにボタンを貼り付けて各種のデータをダウンロードするプログラムを作ります。
2.「LiteMining」の作成
新たにユーザーフォームを作って、上記のデータを総合的に扱って、出馬表や競走馬データの解析・表示、成績結果の照合を行います。
1.取り扱うデータの種類と取得方法
「LiteMining」で扱うデータは、下表のものですが、データの内容次第で変わるかも。
データ種別 レコード種別 備考 名称 ID フォーマットNo 名称 ID 取得タイミング データ単位 レース情報 RACE 2 レース詳細 RA 前日・当日・月曜 開催日単位 3 馬毎レース情報 SE 4 払戻 HR 当日または月曜(速報分があればなくても可) 6 単複枠オッズ O1 7 馬連オッズ O2 8 ワイドオッズ O3 9 馬単オッズ O4 10 三連複オッズ O5 速報レース情報 0B12 2 レース詳細 RA 当日(確定後) 開催日単位 3 馬毎レース情報 SE 4 払戻 HR 速報オッズ 0B30 6 単複枠オッズ O1 当日(随時) レース毎 7 馬連オッズ O2 8 ワイドオッズ O3 9 馬単オッズ O4 10 三連複オッズ O5 速報開催情報 0B14 21 天候馬場状態 WE 当日(随時) 開催日単位 22 出走取消・競走除外 AV 23 騎手変更 JC 速報データマイニング予想 0B13 24 データマイニング予想 DM 前日・当日 開催日単位
(1)データの使い方は、例えば前日に「レース情報(RACE)」の"RA"と"SE"、「速報データマイニング予想(OB13)」の"DM"のデータを入手して、「出馬表」や「競走馬」リスト及び「マイニング予想」リストを作ります。
(2)そして当日は「速報オッズ(OB30)」の"O1〜O5"や「速報データマイニング予想(OB13)」の"DM"データでオッズや予想を補足する。
(3)「速報レース情報(OB12)」は、確定成績の解析に使い、出走取消や騎手変更などの変更は「速報開催情報(OB14)」を随時入手して解析します。
(4)「レース情報(RACE)」のうち、"HR"、"O1〜O5"のデータは、過去のレースを解析するときには必要ですが、当日のレース計算には「速報オッズ」や「速報レース情報」があれば特には不要な感じ。
ここでは新JRA-VANから入手したExcelのサンプル・プログラムを利用して上表のデータをセーブしたり、表示したりするプログラムを作ります。利用するデータの種類により処理の方法が違うので、上表の5種類のデータを1つずつ取り込むパーツのようなプログラムです。まずは新データという「敵を知る」ためのプログラムです。実際の「LiteMining」では、これらのデータを一括で入手して計算に使えるようなプログラムにする必要があります。
下図が、各種データをダウンロードする「パーツ・ソフト」の動作フローチャートのイメージです。
(1)上部の点線枠内は新JRA-VANから入手したサンプル・ソフト(e2kparts-sample.xls)が実行している部分です。入手するデータの種類("RACE"など)を指定するとJV-Linkの中のJVOpenが自動的にJRA-VANのサーバーにアクセスして必要なデータをダウンロードして、自分のパソコンのcacheディレクトリにセーブします(*1)。JVReadでデータを読み出し、データの内容の一部をワークシートに表示します。
しかし、cacheに保存されたデータは暗号化されていて、そのままでは読めず、毎回JVOpenとJVReadが繰り返されるため、時間がかかります。
(2)そのために下部の点線枠内のようにプログラムを追加して、「年月日」に一致するデータを抽出して"COPY_DIR"というディレクトリを作り、"dat形式"に変換してセーブします。こうすれば、JVOpenやJVReadを使わなくても、いつでも"COPY_DIR"から直接「年月日」のデータを呼び出せます。
「データマイニング予想」をするのであれば、こんな面倒なことをせずにJVReadで呼び出したデータをそのまま加工する方が楽ですが、データの構造やダウンロード方法を理解するためです。
(*1)JV-Linkをデフォルト設定でインストールした場合。独自に設定していればそのディレクトリ。
(3)次に"COPY_DIR"にセーブしたデータを引っ張り出して、ワークシートに再表示するプログラムも作ります。上でダウンロード時にも表示はされますが、JVReadを使わなくても後でデータが利用できるという確認のためです。
![]()
JRA-VANのサンプルプログラムを利用する手順は次のとおりです。
(1)まず、ダウンロードしたデータや計算した結果の保存用フォルダ(ディレクトリ)を作ります。
自動的に作ることも可能ですが、簡単に作れるので「手動」で作ります。
図ではWindowsXPの場合を基本にしています。他のOSの場合は、本例を参考に作成してください。
保存用フォルダ(ディレクトリ)を作る場所を決め、「ファイル」→「新規作成」→「フォルダ」を選択する。
(場所は任意ですが、フルパスでの指定が必要なので、あまり下位のディレクトリは避けてください。またXPの場合、「マイドキュメント」は日本語で選択しても、実際には自動的に英語で指定されます。)
作成した「新しいフォルダ」を「New_JVAN_Data」に変更する。
この名前は任意でかまいませんが、他のソフトで使っている名前とは別にしてください。
さらに「New_JVAN_Data」の中に「CopyData」(ダウンロードしたJRA-VANデータを"dat形式"で保存するフォルダ)と「LiteMining」(計算したデータを保存するフォルダ)を作る。このフォルダ名も任意です。
以上の各フォルダ(ディレクトリ)のフルパスをプログラム指定するときは下記のようになります。
おおもとのディレクトリ「New_JVAN_Data」は
"C:\Documents and Settings\UserName\My Documents\New_JVAN_Data"
「CopyData」は、
"C:\Documents and Settings\UserName\My Documents\New_JVAN_Data\CopyData"
「LiteMining」は、
"C:\Documents and Settings\UserName\My Documents\New_JVAN_Data\LiteMining"
(注意)\UserNameの部分はXPで登録した各ユーザーの名前です。
XP以外では、 "C:\My Documents\New_JVAN_Data"のようになります。
「CopyData」と「LiteMining」を分ける意味は、JRA-VANから入手したデータは「CopyData」に保存して再利用ができるようにし、自作したソフトの計算結果は「LiteMining」に保存しておけば、ソフトを作り変えたときに「LiteMining」の方はフォルダごと捨てても構わないからです。ただし「CopyData」には解凍されたデータが残るので、ばかでかいファイルになります。1日3場所で大体2MB弱、年間100日で約200MB。ただ「年月日」別に保存するので古いデータはCD-Rなどに移しておけばいいと思います。
下図は「レース情報」を取得するプログラムを実行した一例です。「年月日」を意味する "040105" というフォルダはプログラムで自動生成します。
ユーザーフォーム(UserForm1)にLabelやTextBoxを配置するのは次回に説明します。
ホームへ このページのトップへ 新タラレバ競馬倶楽部へ 「LiteMining(1-2)」へ