【初心者向け】かんたん競馬プログラミング講座その①~システム構築の前提条件~

【初心者向け】かんたん競馬プログラミング講座その①~システム構築の前提条件~

なんで競馬ソフトが必要なの?

自前の競馬ソフトを作成すると、他者との差別化が図れるだけでなく、今まで手作業で行っていた事が大幅に効率化できます。また、手間の掛かる検証作業も作り込みによっては手軽に行えるようになるなど、競馬ソフトを作成するのは非常にメリットが大きいです。

しかしながら、プログラミングが未経験(私もほぼそうでした)だったり、IT知識がない方にとってはかなりとって、プログラミングはハードルが高いのも事実。ネットで調べて何かソフトウェアを入れようとしてもうまく行かなかったり、途中で挫折してしまう方も少なくありません。

そんな方におすすめなのがエクセル、アクセスを使ったVBAです。
VBAはプログラミング初心者でも比較的覚えやすい言語です。

当記事では、初心者でも簡単にデータベース、プログラム(VBA)が構築できるようにサポートしていきたいと思います。



スポンサーリンク

前提条件

特別なスキルを一切使わないことをコンセプトとしているので、スクレイピング等の難しい技術は使いません。

AI?Python?そんなのも当然使いません。

MySQLとかOracleとか、環境設定がめんどくさくてワケわかんないですよね?
はい、そういうのも一切使いません。

但し、データだけは正当性があって継続的に得られるものが必要なので、ちゃんとしたJRAの公式のものを使用します。

使用するソフトウェア類は以下を前提とします。
Excel(Microsoft)
⇒主にVBAでコードを組むのに使用します。
競馬の検証作業は表計算ソフトと相性が良いので、ワークエリアとしても利用できます。
ACCESS(Microsoft)
⇒データベースとして使用します。使い方によってはVBAも使用します。
同じMicrosoftなので当然ながらExcelとの相性が良いです。
速度もまずまず速いので、ストレスなくデータベースとして機能してくれます。
※エクセルはコンピュータにインストールされていても、アクセスが入っていないという方が多いかもしれません。
本物の製品を購入するのは高いので、個人的には私自身も利用しているOffice365を推奨します。
Microsoft Office 365 Solo (最新 1年更新版)|オンラインコード版|Win/Mac/iPad対応
Microsoft Office 365 Solo (最新 1年更新版)|カード版|Win/Mac/iPad対応
TARGET frontier JV
⇒データベースに登録するのに必要なデータを取得するのに使用します。
無料のソフトウェアですが、JRA-VANでデータラボ会員となる必要があるため実質有料です。
※セットアップ方法についてマニュアルどおりにやれば簡単にできますので割愛します
※いま現在僕はターゲット以外のソフトは使っていませんが、データラボ会員になればたくさんのフリーソフトが使えるようになります。中にはデータベースを作るソフトや馬王Zなど拡張性が高いと言われているソフトもあります。僕もかつて試しに導入してみたことがありますが、使いこなせませんでした。

ていうか、基本的にデータの取得はターゲットで賄えます。
ターゲットが優れている理由は、汎用性の高いデータの出力機能です。
欲しいデータを簡単にCSVやテキストファイルの決まった形で取得できるので、宣伝ではないですが結構な神ツールだと思います(笑)

独自システムの構成図

いま現在、私が構築しているシステムの概要はこんな感じです。

大雑把にいうと機能としては、

1:ターゲットからレース情報のデータを取得し、エクセル上で計算処理およびVBAを使って加工したのちにアクセスに格納

2:外部サイトからテキストファイルでレース情報のデータを取得し、エクセル上で計算処理およびVBAを使って加工したのちにアクセスに格納

3:アクセスからデータを取得し、ターゲットの出馬表をもとにVBAで出馬表・独自指数を作成

4:3で作成した情報をもとに自動予想

5:ターゲットから取得した配当金の情報とレース情報をマッチングさせて連結させる機能

などがあります。やっていることは簡単で、ターゲット→エクセル⇔アクセス間を連携させてあげるだけです。

データさえ出来てしまえば、後は表計算ソフトの利点を活かして集計したり加工したりするだけですので、検証から予想までほぼ自動でできるようになってます。まぁデータを加工するところで一部手作業はありますが、精々1週間で1時間程度の作業量で負担は少ないです。

VBAは簡単なので、このくらいのことは特段ITスキルがなくてもマスターできますのでチャレンジしてみては如何でしょうか。

■VBAを勉強したい方におすすめの書籍です■

<サンプル画像 例:エクセルの内容をアクセスに格納する処理>
メインとなるエクセル。このエクセルにVBAを集約させてます。
表示しているシートは作業エリアです。ここに一旦書き出した情報をアクセスに格納しています。

格納処理はマクロをポチるだけです。

すると、こんな感じでアクセスに保存されます。

逆に取り出すときは、キーを指定して一致するときのレコードを返す処理を書いてあげます。
例えば、こんな感じ。

Dim sql As String
sql = “SELECT * FROM T_HorseData2 AS T”
sql = sql & ” WHERE 馬名 = ‘” & key_bamei & “‘”
sql = sql & ” AND 日付 < 180407″
sql = sql & ” ORDER BY レース連番”
sql = sql & ” DESC”

次回

次回はターゲットからデータを取得する具体的な流れと必要性について解説します。

次⇒【初心者向け】かんたん競馬プログラミング講座その②~データ収集編~


スポンサーリンク


人気ブログランキングの評価をお願いします♪

管理人の統計データを活用した高期待値馬の情報配信です♪

私も参加しているレジまぐで有益な情報をGET♪
競馬予想のレジまぐ

競馬ITカテゴリの最新記事

%d人のブロガーが「いいね」をつけました。