結果報告

久しぶりに更新。

 

今年の3月から購入式作り直して買ってきた馬券の結果報告です。

8月5日でやっと黒字化になりました。

4,5,6月といいとこなしでしたが、7,8月と上調子。

f:id:equinescience:20180808222446j:plain

 

 

競馬場ごとの回収率。

10場中、5場赤字。まだまだですねー。

f:id:equinescience:20180808222457j:plain

 

 

 

今日は過去ログで面白い書き込みあったので紹介。

JRA控除率は2014年6月7日から変更となりました。

オッズ計算式も複雑だったものがシンプルになりました。

f:id:equinescience:20180808225843j:plain

f:id:equinescience:20180808230005j:plain

f:id:equinescience:20180808230018j:plain

 

計算式が変わったことにより単勝馬連でもおいしい思いをする機会が増えるようです。

馬連職人 あぁ万歳。

f:id:equinescience:20180808231230j:plain

accessメモ #4

JRDBから基準オッズやIDM、蹄などのデータを馬王に反映させてみたいと思います。

 

DBmanから過去データを取り込み

f:id:equinescience:20180219213023j:plain

 

次に馬王ファイルの中にあるBaoZAccessファイルを開く

f:id:equinescience:20180219213339j:plain

 

Accessファイルの中の外部データ>新しいデータソース>データベースから>Accessを選択

f:id:equinescience:20180219213540j:plain

 

 

インポートするテーブル選択画面が表示されるのでD競走馬データ、D成績データを選択。

D競走馬データは競走馬単位でのデータが格納されています。

D成績データは気配コードをとってくるためにインポートしています。

 

これは毎週月曜に成績データの更新、開催日前日夜のタイミングで予想データ配信されるので一度、インポート済のデータを削除。

次にインポートでデータの入れ替えを行います。

accessメモ #3

2か月のぶりの投稿になります。

今回はタイトルの通りaccessメモをつらつらと書いていきます。

最近になってデータベースが壊れてしまい、キーワードも消えてしまうという悲劇...

(バックアップ取っておけばいいんですが)

そんな時にここ見れば労力つかわないで登録していけるかなと思い忘備録代わりに。

今回はJRDBのデータを引っ張ってくるキーワードが含まれています。

サブクエリーを使う式がほとんど。サブクエリーが使えればかなり幅が広がると思います。

 

◆カスタムキーワード

上から順に対象テーブル、カスタムキーワード名、計算式になります。

//はコメント記号で//以降に書いた文は、その行の最後まではコメント(注釈)とみなされ、削除して実行されるのでSQL文の実行には影響を与えない。

 

出走馬T

競走成績キー //JRDBのコードと同様のコードをさK巣栄する必要があるため作成

RIGHT(出走馬T.血統登録番号,8) & FORMAT(出走馬T.年月日,"yyyymmdd")

 

出走馬T

前走1競走成績キー //気配コードを参照する際に使用

SELECT D競走馬データ.前走1競走成績キー

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

出走馬T

IDM

SELECT D競走馬データ.IDM //IDMは全角英数なので注意

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

出走馬T

基準オッズ

SELECT D競走馬データ.基準オッズ

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

出走馬T

馬主会

SELECT C場.場

FROM *1
異常区分コード not between 1 and 3

レース 過程値b合計 
int(sum(過程値b)*10)/10

出走馬 調節値 
abs( (100.1-過程値b合計)*10)
異常区分コード not between 1 and 3

出走馬 勝率 
IIF(頭数<調節値,過程値b+int( ( (調節値-0.1*頭数)/頭数/10)*10)/10,
IIF(頭数<調節値,過程値b-int( ( (調節値-0.1*頭数)/頭数/10)*10)/10,
IIF( (過程値b合計<100) and (IDM順位>(頭数-調節値)),過程値b+0.1,
IIF( (過程値b合計>100) and (IDM順位<(頭数-調節値)),過程値b-0.1,過程値b))))
異常区分コード not between 1 and 3

 

*1:レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー)

LEFT JOIN C場 ON D競走馬データ.馬主会コード=C場.場コード

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

出走馬T

蹄コード

SELECT D競走馬データ.蹄コード

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

出走馬T

SELECT C蹄.蹄

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN C蹄 ON S.蹄コード=C蹄.蹄コード

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

※蹄を1つのキーワードで表示させたい場合

SELECT C蹄.蹄
FROM ((レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN D競走馬データ ON S.競走成績キー=D競走馬データ.競走成績キー)
LEFT JOIN C蹄 ON D競走馬データ.蹄コード=C蹄.蹄コード
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬T

気配コード

SELECT D成績データ.気配コード
FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)
LEFT JOIN D成績データ ON S.前走1競走成績キー=D成績データ.競走成績キー
WHERE S.競走コード=出走馬T.競走コード
AND S.馬番=出走馬T.馬番

 

出走馬T

気配

SELECT C気配.気配

FROM (レースT INNER JOIN 出走馬T AS S ON レースT.競走コード=S.競走コード)

LEFT JOIN C気配 ON S.気配コード=C気配.気配コード

WHERE S.競走コード=出走馬T.競走コード

AND S.馬番=出走馬T.馬番

 

IDM勝率計算式

 

レース IDM平均値a 
INT(AVG(IDM)*10)/10

レース IDM平均値b 
INT(AVG(IDM)*10)/10
IDM>IDM平均値a-20

レース 最低勝率 
INT(10/頭数*10)/10

出走馬 過程値 
IIF( (IDM-IDM平均値b+14)<=0,"0",INT( (IDM-IDM平均値b+14)^4*10)/10)
異常区分コード not between 1 and 3

レース 過程値合計 sum(過程値)

出走馬 過程値a 
INT(過程値/過程値合計*100*10)/10
異常区分コード not between 1 and 3

出走馬 過程値b 
IIF(異常区分コード between 1 and 3,0,IIF(過程値a<最低勝率,最低勝率,INT(過程値/過程値合計*100*10)/10

accessメモ #2

前回もaccessメモとして投稿はしましたが、これがどのように表示されるものなのか紹介したいと思います。(遅いけど...)

 

紹介するのは前回書いたこれ。

Format(オッズ取得時刻, 'オッズhh:nn ') & (SELECT IIf(Sum(金額) Is Null, '', ' 投票' & Format(Sum(金額),'#,###円') &

accessメモ - equinescience diary

これをレース>ステータスバーの表示で貼り付け。

f:id:equinescience:20170811103848j:plain

 

こうすると下のように券種別に売上比率が表示される。

ちなみにこの画面は先週のレパードステークスのもの。

f:id:equinescience:20170811104028j:plain

 

このコードは馬王の過去ログから見つけました。

これ考えた人たちってクリエイティブですよね。ほんとすごいわ。

このコードを参考に色々とできそうですよね。

 

ではまたー

ターゲットを使って2歳馬DBを作成する

今回はターゲットを使って2歳馬のDBを作成したいと思います。

DBといってもエクセル張り付けるだけだけど。ここ重要。

 

まずはターゲット起動画面

メニュー>産駒データ検索>検索対象を2歳に限定する。

f:id:equinescience:20170619214103j:plain

上のような画面が表示される。この時タブは誕生時父母年齢にしている。

 

※ちなみに産駒集計で全体の割合も確認できます。

f:id:equinescience:20170619220216j:plain

 

産駒データ一覧で画面で馬データ検索

f:id:equinescience:20170619220110j:plain

この画面をコピーしてエクセルへ貼り付け。

 

 

f:id:equinescience:20170619221910j:plain

 

よし。完成。

 

エクセルで先頭行選択して表示>ウィンドウ枠の固定>先頭行を固定

データ>フィルター>で検索しやすく。

それぞれ列選択してホーム>条件付き書式>セルの強調表示ルール>文字列で牝馬牡馬分けると見やすい。

 

 

今日はここまでにしとこう

 

統計

競馬とはしばらく縁を切って、思いついたことをつらつらと書き込んでいこう。

 

今回は自分を知る。つい最近まで就職活動を行っていた学生は、自己分析になじみがあるだろう。

 

最近になっておもしろい自己分析(といってもまったく根拠のないものではなくて統計的に得られた分析結果)を知った。

 

それがこれ STRENGTHSFINDER

これは簡単な質問に答えていくことで自分の資質が簡単に分析できる。

 

知ったきっかけは勝間勝代の断る力を読んでいて紹介されていたから。

有益な情報を持ってる人は強い。情強。

情弱なら情強者の先見性にあやかるしかない。

 

個人的な分析結果

f:id:equinescience:20170411221339p:plain

 

なるほど。最も強い資質が収集心か。

次はこれをどう生かすか。それが問題。社会人生活に生かせればいいんだけど。

 

 

買い方の分析

3日間の変則競馬開催が終わりました。皆さん結果はどうでしたか。

私はもっぱら馬券の買い方に迷い足掻いた結果、買えませんでした。(優柔不断なので..笑)

今回は馬券の買い方について考えてみようと思います。

 

 

 

以前(といってもだいぶ前に作ったもの)、エクセルで検定をやっていたので久しぶりに見てみた。

期待値は回収率と的中率の積。総合値は馬券件数と期待値の積になります。

検定値は仮にこの条件のもと、買い続けた場合回収率がどの程度に収束するかを数値化したもの。(ここで大体の場合は回収率良くても80になることが多い)80超えていればある程度理にかなっているファクターと言えます。

 

f:id:equinescience:20170108174119p:plain

 

我ながら、この時は熱が入っていたのもあってよくできてるな。

検定値は統計的にみてどれくらいの値に収束するかを趣味レーションした値。

一番下の条件のもと去年、今年とシミュレーションすると...

 

f:id:equinescience:20170108174415p:plain

 

通算回収率は107.6

点的中率12.9

 

検定値は1.10回収率でいうと110%くらい。なのに下回ってるじゃないか。これが今回巻き返して110に戻るのか否か気になる...(まあでもおそらく予想を大きく上回るようなことは考えられにくい)

 

この条件のメリットは条件式にオッズ関係を採用していないことだと思ってる。この後の開催はこの条件のもと買ってみようか。

 

大切なのは一喜一憂しないこと。静観すること。

"買い続けた結果、気づいたらプラスでした"が目標。