【競馬データ分析】ExcelVBAとAccessDBを使って独自の指数を構築する- PERT 1 概要編-

競馬_VBA

過去の記事でも書いたので詳細割愛しますが、一度作成したファイルやデータを全て削除してしまったので全く無の状態から1回スタートさせます。何回かに分けて、ポイントを絞って解説していきます。

 

まずはやりたいことを決める

ゴールから逆算して実現したいことに対して何を用意しなければいけのかを考えます。

色々作業が進んでいた後にあれも必要だったとなると手戻りになるし、ぐちゃぐちゃになります。

最初に何をするのかある程度設計を考えてから開発に入るのが基本ですね。

この部分は非常に大事なので見切り発車せずに時間をかけて構想を練りましょう。

僕の場合、指数を作ったうえで分析できるようにすることが要件になるので、そのために何が必要かと考えていくことになります。

以下のように、ざっくりとやることを整理しておきます。

<①:過去のレースの指数を求める>

WebサイトAから過去レースのデータを集計する(txt) ⇒ ターゲットからファイルをダウンロードする(CSV) ⇒ これらを突合して一覧化する・・・アウトプット1(Excel) ⇒ 指数を計算して馬ごとの指数値をだす(VBA)・・・アウトプット2(Excel) ⇒ データベースに突っ込む・・・アウトプット3(Access-tabelA)

<②:レースごとの成績データを作る>

ターゲットの成績から必要ファイルをダウンロードする(txt,CSV) ⇒ エクセルに展開する ⇒ アウトプット3(Access-tabelA)と出馬表を突合して必要な情報を出力(VBA) ⇒ 仮指数を計算 ⇒ レース結果(オッズ、着順)を反映(VBA)  データベースに突っ込む(Access)・・・アウトプット4(Access-tabelB)

<③:指数のロジックを作る>

アウトプット4(Access-tabelB)をエクセルに展開して分析する(必要な情報はこれまでの作業工程で全てこのtabelBに集約させていること))  ロジックをプログラムに落としこむ・・・アウトプット5(VBA)

 

必要なもの

Office365(有料)

今回登場してくる言語は基本的にVBAだけです。なぜかというと僕がそれしかできないからw

Excelのほうでコードを書いていて、Accessのほうはデータベースとして使用します。

Accessは普通だと入っていないのでOffice365を利用します。

※PythonやMySQLなどを使える方はそっちのほうがいいと思います(無料ですみますし分析機能が充実してたりする)。Excelは大量データの処理に向いているとは言えないので。

Datalab(有料)・・・TARGET frontier JV

収集するデータはJRA公式のDatalabからTARGET frontier JVを経由して取得します。

TARGET frontier JVはフリーソフトですがDatalabにお金がかかります(月2000円くらい)。

このへんの出費は正直致し方ないところですね。

Webスクレイピングで必要なデータをネット上から取得する技術もありますが、僕はハードルが高いので断念してます。

 

次回:commig soon

【競馬データ分析】ExcelVBAとAccessDBを使って独自の指数を構築する- PERT 2 データ収集編-

 

コメント

タイトルとURLをコピーしました