「ウルトラ回収率」の実験/06

最終更新時間:2011年01月14日 21時21分52秒

 ここまでの実験では、TARGETの出馬表分析の抽出処理を用いて、「裏技」ひとつひとつについて、ちまちま該当する馬を検索していたが、これはいかにも面倒。
 いろいろ検討した結果、不完全ながら何とかこの手順を自動化することが出来た。
 これにより、30分以上かかっていた抽出作業を、20秒ほどで終えることができるようになった。
 以下に、自動化までの環境構築の手順を記す。

「PC-KEIBA Database for JRA-VAN Data Lab.」の導入

 結局は、TARGETと同じような、JRA-VANのデータを検索できる環境を構築することになる。JV-Link(JRA-VANからデータを引っ張ってくるアプリケーション)はTARGETと共用するため、こちらの環境もWindows上に構築することになるが、これには、「PC-KEIBA Database for JRA-VAN Data Lab.」を用いることにした。こちらのページからダウンロードしてきたファイルを実行し、手順したがってインストールするだけ。
 データベースはSQLite(デフォルトのまま)。
 JRA-VANのデータのセットアップ手順等も、PC-KEIBAのウェブサイトの指示どおりに行えば問題なし。

「A5:SQL Mk-2」の導入

 PC-KEIBAのウェブサイトでは、SQLエディタの例として「Common SQL Environment」が取り上げられ、スクリーンショットが表示されているが、私の環境(Windows7 64bit)ではインストール時にエラーメッセージが出てなんだか気持ち悪いので、「A5:SQL Mk-2」の方を使うことにした。
 予めSQLite用のODBCドライバをインストールした後、「A5:SQL Mk-2」をダウンロード、インストールするだけ。

SQLを書く

 PC-KEIBAのウェブサイトにサンプルとして示されているSQLのコードを参考に、それぞれの「裏技」をSQLで表現してみる。SQLなんか書いたことがないので拙いものだが、例えば「裏技」22の「中山ダートで、父がスウェプトオーヴァーボード、かつ牡馬」は以下のような感じ。

---- 裏技22
SELECT
  '' AS URAWAZA_TANSHO
, '22' AS URAWAZA_FUKUSHO
, DATE(RA.KAISAI_NENGAPPI) AS NENGAPPI
, KE.CONTENT AS KEIBAJO
, RA.RACE_BANGO AS RACE_BANGO
, KS.CONTENT AS KYOSO_SHUBETSU
, KJ.CONTENT AS KYOSO_JOKEN
, RA.KYOSOMEI_HONDAI AS KYOSO_HONDAI
, RA.KYORI AS KYORI
, TR.CONTENT AS TRACK
, UM.WAKUBAN AS WAKUBAN
, UM.UMABAN AS UMABAN
, UM.BAMEI AS BAMEI
, SE.CONTENT AS SEIBETSU
, UM.BAREI AS BAREI
, UM.KISHUMEI_RYAKUSHO AS KISHU
, UM.FUTAN_JURYO AS KINRYO
, UM.CHOKYOSHIMEI_RYAKUSHO AS CHOKYOSHI
, PE.KETTO1_BAMEI AS TITI
, PE.KETTO5_BAMEI AS HAHATITI
, RA.RACE_CODE
, UM.KETTO_TOROKU_BANGO
FROM
  JVD_UMAGOTO_RACE_JOHO UM
INNER JOIN JVD_RACE_SHOSAI RA
ON UM.RACE_CODE = RA.RACE_CODE
LEFT OUTER JOIN JVD_KEIBAJO_CODE KE
ON KE.CODE = RA.KEIBAJO_CODE
LEFT OUTER JOIN JVD_KYOSO_SHUBETSU_CODE KS
ON KS.CODE = RA.KYOSO_SHUBETSU_CODE
LEFT OUTER JOIN JVD_KYOSO_JOKEN_CODE KJ
ON KJ.CODE = RA.KYOSO_JOKEN_CODE_SAIJAKUNEN
LEFT OUTER JOIN JVD_TRACK_CODE TR
ON TR.CODE = RA.TRACK_CODE
LEFT OUTER JOIN JVD_SEIBETSU_CODE SE
ON SE.CODE = UM.SEIBETSU_CODE
LEFT OUTER JOIN JVD_KYOSOBA_MASTER PE
ON UM.KETTO_TOROKU_BANGO = PE.KETTO_TOROKU_BANGO
WHERE 1 = 1
AND RA.DATA_KUBUN <= '6'
AND UM.UMABAN <> '00' -- 馬番
--
AND RA.KEIBAJO_CODE = '06' -- 中山
AND RA.TRACK_CODE = '24' -- ダート
AND PE.KETTO1_BAMEI = 'スウェプトオーヴァーボード' -- 父
AND UM.SEIBETSU_CODE = '1' -- 牡
--
GROUP BY
  RA.RACE_CODE
, RA.KAISAI_NENGAPPI
, KE.CONTENT
, KS.CONTENT
, KJ.CONTENT
, RA.KYORI
, TR.CONTENT
, UM.WAKUBAN
, UM.UMABAN
ORDER BY
  RA.RACE_CODE ASC
;

 前走の結果を参照する「裏技」については、かっこよく一発でまとめることができず、2回も3回もSQLを発行することになってしまったが、これは今後の宿題ということで。
 中山と京都に関する「裏技」31個に該当する馬を抽出するSQLはこちら

2011/01/14提供データの検索結果

 金曜日に提供されている出馬表データから、上記SQLを「A5:SQL Mk-2」で実行し、該当する馬を抽出してみた。枠順が確定している土曜全レースと日曜メインレースについて抽出することができた。
 番号に「*」についている「裏技」は、条件としてオッズによる足切りが含まれているもので、現時点では対象馬かどうか未定であるという意味。
 また、「A5:SQL Mk-2」の出力(エクセル形式をCSVで保存)をFreeStyleWikiの表形式に変換するスクリプトも書いたのだが、変換するついでに、JRA-VANのデータに含まれているレースコードと血統登録番号をもとに、netkeiba.comへのリンクをつけてみた。レース名からのリンクはまだページが作成されていないためエラーページが表示されるが、次週以降にはリンクされるものと思う。

日付場所レース名芝ダ距離枠番馬番裏技単勝裏技複勝着順単勝配当複勝配当馬名性別年齢騎手斤量調教師種牡馬母父名
1/15中山33歳未勝利ダ右180030628ストロングシリウス3木幡初広56宗像義忠キングヘイロードクターデヴィアス
1/15中山64歳上500万ダ右180040425マチカネユウビ4三浦皇成54小島茂之ブライアンズタイムサンデーサイレンス
1/15中山74歳上500万芝右200040619*エイシンサクセス5松岡正海57藤岡健一オペラハウスブライアンズタイム
1/15中山9黒竹賞 3歳500万ダ右180050922ダイワモービル3後藤浩輝56田中清隆スウェプトオーヴァーボードUnbridled
1/15中山9黒竹賞 3歳500万ダ右180061228セリトスガッテン3木幡初広54桜田浩樹オンファイアミルジヨージ
1/15京都13歳未勝利ダ右180071338クードテアトル3上村洋行56中尾秀正バゴブライアンズタイム
1/15京都13歳未勝利ダ右18003054741サクラテリオス3池添謙一56岡田稲男サクラプレジデントトニービン
1/15京都13歳未勝利ダ右180081643オースミラバー3高倉稜54崎山博樹クロフネスペシャルウィーク
1/15京都23歳未勝利ダ右120030539*ペプチドサファイア3武英智54境直行ゼンノロブロイサクラローレル
1/15京都23歳未勝利ダ右120020447ラブギャラクシー3池添謙一54本田優ネオユニヴァースエルコンドルパサー
1/15京都33歳新馬ダ右180030338グレートディール3松山弘平55飯田雄三マチカネキンノホシブライアンズタイム
1/15京都33歳新馬ダ右180081343ウィキマジック3岩田康誠56領家政蔵ゴールドアリュールアジュディケーティング
1/15京都43歳500万ダ右12001014741ショウナンアリビオ3池添謙一56岡田稲男フレンチデピュティダイナマイトダディ
1/15京都53歳未勝利芝右外180071433タガノエベンヌ3岡部誠54加用正ハーツクライジェイドロバリー
1/15京都53歳未勝利芝右外180010144ジェントルマン3池添謙一56中尾秀正シンボリクリスエスアドマイヤベガ
1/15京都74歳上500万ダ右140061139*アルテミス4国分恭介53清水出美ゼンノロブロイBianconi
1/15京都74歳上500万ダ右140040747プリンセスエリー4池添謙一54鶴留明雄スペシャルウィークカコイーシーズ
1/15京都10石清水S 4歳上1600万芝右外160010134ホッコービクトリー6小牧太57笹田和秀マーベラスサンデーヤマニンスキー
1/15京都11大和S 4歳上OPダ右140071447コロナグラフ6池添謙一56浅見秀一ジャングルポケットジェイドロバリー
1/15京都124歳上1000万ダ右180050638エナージバイオ6武豊57梅田智之アグネスタキオンブライアンズタイム
1/15京都124歳上1000万ダ右180081238スーサンストリーム4和田竜二56岩元市三クロフネブライアンズタイム
1/15京都124歳上1000万ダ右180040441タガノアッシュ7赤木高太57岡田稲男マヤノトップガンダンスインザダーク
1/16京都11日経新春杯 4歳上OP芝右外240081235コスモヘレノス4丹内祐次56菊川正達グラスワンダーエリシオ
1/16京都11日経新春杯 4歳上OP芝右外240010136ドモナラズ6北村友一54音無秀孝アフリートナリタハヤブサ
1/16京都11日経新春杯 4歳上OP芝右外240060944ゲシュタルト4池添謙一56長浜博之マンハッタンカフェエンドスウィープ
裏技単勝裏技複勝購入配当条件
192〜3歳限定以外の中山芝で、父がオペラハウス、かつ単勝オッズが100倍未満だった馬
22中山ダートで、父がスウェプトオーヴァーボード、かつ牡馬
25中山ダートで、小島茂之厩舎に所属する馬
28中山ダートで、木幡初広が騎乗、かつ2枠〜7枠の馬
33京都芝で、加用正厩舎に所属する馬
34京都芝で、笹田和秀厩舎に所属する馬
35京都芝1800m以上の重賞で、関東の厩舎に所属する馬
36京都芝外回りで、音無秀孝厩舎に所属、かつ4歳以上の馬
38京都ダートで、母の父にブライアンズタイムを持つ牡馬
39京都ダートで、父にゼンノロブロイを持ち、かつ単勝オッズが100倍未満の馬
41京都ダートの平場で、岡田稲男厩舎に所属する馬
43京都ダート1800m、かつ500万下から下のクラスで、大外枠の馬
44京都芝外回りで、池添謙一騎手が騎乗、かつ5歳以下の馬
47京都ダート、かつ2歳限定以外のレースで、池添謙一騎手が騎乗した馬

 

<- 前のページ 次のページ ->

  • 01 - 2011年01月05日 16時30分30秒
  • 02 - 2011年01月08日 16時53分26秒
  • 03 - 2011年01月09日 16時50分41秒
  • 04 - 2011年01月10日 16時56分20秒
  • 05 - 2011年01月12日 19時03分44秒
  • 06 - 2011年01月14日 21時21分52秒
  • 07 - 2011年01月15日 17時15分07秒
  • 08 - 2011年01月16日 17時30分24秒
  • 09 - 2011年01月21日 20時38分56秒
  • 10 - 2011年01月22日 17時28分06秒
  • 11 - 2011年01月23日 17時20分13秒
  • 12 - 2011年01月25日 16時59分15秒
  • 13 - 2011年01月28日 18時25分14秒
  • 14 - 2011年01月29日 21時09分37秒
  • 15 - 2011年01月30日 17時49分05秒
  • 16 - 2011年02月05日 18時35分27秒
  • 17 - 2011年02月08日 21時40分10秒
  • 18 - 2011年02月12日 17時44分10秒
  • 19 - 2011年02月13日 16時59分28秒
  • 20 - 2011年02月14日 20時31分50秒
  • 21 - 2011年02月19日 17時09分23秒
  • 22 - 2011年02月20日 18時09分39秒
  • 23 - 2011年02月26日 18時14分40秒
  • 24 - 2011年02月27日 17時09分48秒
  • 25 - 2011年03月05日 18時39分48秒
  • 26 - 2011年03月07日 09時24分30秒
  • 27 - 2011年03月19日 17時22分43秒
  • 28 - 2011年03月20日 18時14分51秒
  • 29 - 2011年03月21日 23時04分19秒
  • 30 - 2011年03月26日 17時07分08秒
  • 31 - 2011年03月27日 17時44分55秒
  • 32 - 2011年04月02日 17時41分14秒
  • 33 - 2011年04月03日 17時56分50秒
  • 34 - 2011年04月09日 16時53分51秒
  • 35 - 2011年04月10日 18時04分23秒
  • 36 - 2011年04月16日 17時11分21秒
  • 37 - 2011年04月17日 17時52分59秒
  • 38 - 2011年04月23日 17時15分18秒
  • 39 - 2011年04月24日 16時56分50秒
  • 40 - 2011年04月30日 21時06分53秒
  • 41 - 2011年05月01日 17時21分46秒
  • 42 - 2011年05月07日 17時13分02秒
  • 43 - 2011年05月08日 17時40分58秒
  • 44 - 2011年05月09日 13時18分05秒
  • 45 - 2011年05月14日 16時51分11秒
  • 46 - 2011年05月15日 17時14分21秒
  • 47 - 2011年05月21日 16時48分45秒
  • 48 - 2011年05月22日 17時11分21秒
  • 49 - 2011年05月28日 17時34分53秒
  • 50 - 2011年05月29日 16時50分15秒
  • 51 - 2011年06月04日 17時00分09秒
  • 52 - 2011年06月05日 17時15分52秒
  • 53 - 2011年06月11日 17時22分22秒
  • 54 - 2011年06月12日 17時41分48秒
  • 55 - 2011年06月19日 17時25分10秒
  • 56 - 2011年06月26日 17時09分21秒
  • 57 - 2011年07月03日 17時40分58秒
  • 58 - 2011年07月10日 19時10分34秒
  • 59 - 2011年07月17日 17時01分47秒
  • 60 - 2011年07月24日 17時00分20秒
  • 61 - 2011年07月31日 16時00分58秒
  • 62 - 2011年08月07日 18時51分24秒
  • 63 - 2011年08月14日 16時48分18秒
  • 64 - 2011年08月21日 17時04分41秒
  • 65 - 2011年08月28日 16時49分02秒
  • 66 - 2011年09月04日 17時33分40秒
  • 67 - 2011年09月11日 16時46分16秒
  • 68 - 2011年09月19日 17時04分05秒
  • 69 - 2011年09月25日 16時38分47秒
  • 70 - 2011年10月02日 17時45分35秒
  • 71 - 2011年10月10日 17時04分33秒
  • 72 - 2011年10月16日 17時35分05秒
  • 73 - 2011年10月23日 17時01分54秒
  • 74 - 2011年10月30日 17時05分19秒
  • 75 - 2011年11月06日 17時31分49秒
  • 76 - 2011年11月13日 17時41分44秒
  • 77 - 2011年11月21日 18時28分07秒
  • 78 - 2011年11月27日 17時19分23秒
  • 79 - 2011年12月04日 17時36分58秒
  • 80 - 2011年12月11日 16時51分49秒
  • 81 - 2011年12月18日 17時52分12秒
  • 82 - 2011年12月26日 18時30分21秒
  • 83 - 2012年01月04日 02時27分40秒