「ウルトラ回収率」の実験/06
ここまでの実験では、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へのリンクをつけてみた。レース名からのリンクはまだページが作成されていないためエラーページが表示されるが、次週以降にはリンクされるものと思う。
日付 | 場所 | R | レース名 | 芝ダ | 距離 | 枠番 | 馬番 | 裏技単勝 | 裏技複勝 | 着順 | 単勝配当 | 複勝配当 | 馬名 | 性別 | 年齢 | 騎手 | 斤量 | 調教師 | 種牡馬 | 母父名 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1/15 | 中山 | 3 | 3歳未勝利 | ダ右 | 1800 | 3 | 06 | 28 | ストロングシリウス | 牡 | 3 | 木幡初広 | 56 | 宗像義忠 | キングヘイロー | ドクターデヴィアス | ||||
1/15 | 中山 | 6 | 4歳上500万 | ダ右 | 1800 | 4 | 04 | 25 | マチカネユウビ | 牝 | 4 | 三浦皇成 | 54 | 小島茂之 | ブライアンズタイム | サンデーサイレンス | ||||
1/15 | 中山 | 7 | 4歳上500万 | 芝右 | 2000 | 4 | 06 | 19* | エイシンサクセス | 牡 | 5 | 松岡正海 | 57 | 藤岡健一 | オペラハウス | ブライアンズタイム | ||||
1/15 | 中山 | 9 | 黒竹賞 3歳500万 | ダ右 | 1800 | 5 | 09 | 22 | ダイワモービル | 牡 | 3 | 後藤浩輝 | 56 | 田中清隆 | スウェプトオーヴァーボード | Unbridled | ||||
1/15 | 中山 | 9 | 黒竹賞 3歳500万 | ダ右 | 1800 | 6 | 12 | 28 | セリトスガッテン | 牝 | 3 | 木幡初広 | 54 | 桜田浩樹 | オンファイア | ミルジヨージ | ||||
1/15 | 京都 | 1 | 3歳未勝利 | ダ右 | 1800 | 7 | 13 | 38 | クードテアトル | 牡 | 3 | 上村洋行 | 56 | 中尾秀正 | バゴ | ブライアンズタイム | ||||
1/15 | 京都 | 1 | 3歳未勝利 | ダ右 | 1800 | 3 | 05 | 47 | 41 | サクラテリオス | 牡 | 3 | 池添謙一 | 56 | 岡田稲男 | サクラプレジデント | トニービン | |||
1/15 | 京都 | 1 | 3歳未勝利 | ダ右 | 1800 | 8 | 16 | 43 | オースミラバー | 牡 | 3 | 高倉稜 | 54 | 崎山博樹 | クロフネ | スペシャルウィーク | ||||
1/15 | 京都 | 2 | 3歳未勝利 | ダ右 | 1200 | 3 | 05 | 39* | ペプチドサファイア | 牝 | 3 | 武英智 | 54 | 境直行 | ゼンノロブロイ | サクラローレル | ||||
1/15 | 京都 | 2 | 3歳未勝利 | ダ右 | 1200 | 2 | 04 | 47 | ラブギャラクシー | 牝 | 3 | 池添謙一 | 54 | 本田優 | ネオユニヴァース | エルコンドルパサー | ||||
1/15 | 京都 | 3 | 3歳新馬 | ダ右 | 1800 | 3 | 03 | 38 | グレートディール | 牡 | 3 | 松山弘平 | 55 | 飯田雄三 | マチカネキンノホシ | ブライアンズタイム | ||||
1/15 | 京都 | 3 | 3歳新馬 | ダ右 | 1800 | 8 | 13 | 43 | ウィキマジック | 牡 | 3 | 岩田康誠 | 56 | 領家政蔵 | ゴールドアリュール | アジュディケーティング | ||||
1/15 | 京都 | 4 | 3歳500万 | ダ右 | 1200 | 1 | 01 | 47 | 41 | ショウナンアリビオ | 牡 | 3 | 池添謙一 | 56 | 岡田稲男 | フレンチデピュティ | ダイナマイトダディ | |||
1/15 | 京都 | 5 | 3歳未勝利 | 芝右外 | 1800 | 7 | 14 | 33 | タガノエベンヌ | 牝 | 3 | 岡部誠 | 54 | 加用正 | ハーツクライ | ジェイドロバリー | ||||
1/15 | 京都 | 5 | 3歳未勝利 | 芝右外 | 1800 | 1 | 01 | 44 | ジェントルマン | 牡 | 3 | 池添謙一 | 56 | 中尾秀正 | シンボリクリスエス | アドマイヤベガ | ||||
1/15 | 京都 | 7 | 4歳上500万 | ダ右 | 1400 | 6 | 11 | 39* | アルテミス | 牝 | 4 | 国分恭介 | 53 | 清水出美 | ゼンノロブロイ | Bianconi | ||||
1/15 | 京都 | 7 | 4歳上500万 | ダ右 | 1400 | 4 | 07 | 47 | プリンセスエリー | 牝 | 4 | 池添謙一 | 54 | 鶴留明雄 | スペシャルウィーク | カコイーシーズ | ||||
1/15 | 京都 | 10 | 石清水S 4歳上1600万 | 芝右外 | 1600 | 1 | 01 | 34 | ホッコービクトリー | 牡 | 6 | 小牧太 | 57 | 笹田和秀 | マーベラスサンデー | ヤマニンスキー | ||||
1/15 | 京都 | 11 | 大和S 4歳上OP | ダ右 | 1400 | 7 | 14 | 47 | コロナグラフ | 牡 | 6 | 池添謙一 | 56 | 浅見秀一 | ジャングルポケット | ジェイドロバリー | ||||
1/15 | 京都 | 12 | 4歳上1000万 | ダ右 | 1800 | 5 | 06 | 38 | エナージバイオ | 牡 | 6 | 武豊 | 57 | 梅田智之 | アグネスタキオン | ブライアンズタイム | ||||
1/15 | 京都 | 12 | 4歳上1000万 | ダ右 | 1800 | 8 | 12 | 38 | スーサンストリーム | 牡 | 4 | 和田竜二 | 56 | 岩元市三 | クロフネ | ブライアンズタイム | ||||
1/15 | 京都 | 12 | 4歳上1000万 | ダ右 | 1800 | 4 | 04 | 41 | タガノアッシュ | 牡 | 7 | 赤木高太 | 57 | 岡田稲男 | マヤノトップガン | ダンスインザダーク | ||||
1/16 | 京都 | 11 | 日経新春杯 4歳上OP | 芝右外 | 2400 | 8 | 12 | 35 | コスモヘレノス | 牡 | 4 | 丹内祐次 | 56 | 菊川正達 | グラスワンダー | エリシオ | ||||
1/16 | 京都 | 11 | 日経新春杯 4歳上OP | 芝右外 | 2400 | 1 | 01 | 36 | ドモナラズ | 牡 | 6 | 北村友一 | 54 | 音無秀孝 | アフリート | ナリタハヤブサ | ||||
1/16 | 京都 | 11 | 日経新春杯 4歳上OP | 芝右外 | 2400 | 6 | 09 | 44 | ゲシュタルト | 牡 | 4 | 池添謙一 | 56 | 長浜博之 | マンハッタンカフェ | エンドスウィープ |
- 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秒
関連ページ