2014年07月27日

TARGET出力CSVファイル処理にAWKをオススメします

データ派あるいは指数派だとTARGETから出力されるCSVファイルを色々加工して、競馬予想に活かしたいというニーズがあると思います。

色々な方法はありますが、私の場合AWKというプログラミング言語を長年CSVファイルの処理に使っています。プログラミング言語というと敷居が高く感じるかもしれませんが、AWKはテキスト処理に特化した言語でCSVファイル処理が簡単にできます。また実行環境のインストールもファイルコピーのみでOKで、インストールなどは不要です。

AWKとTARGETから出力されるCSVファイル処理は相性がいいので紹介します。


■AWKの具体例

具体的には以下の様なコードを書くだけで

==========================
BEGIN{
FS=",";
OFS=",";
print "年月日","競馬場","R","馬番","馬名"
}
{
print $1,$2,$3,$4,$8
}
==========================

「CSVファイルの1行目にヘッダを追加し、特定列のみ出力する」
というような、CSVファイルを扱うのにありがちな処理が簡単に記述できます。

ちなみに上記のプログラムはTARGETの「出馬表分析CSV形式出力ファイル」

出馬表分析.png


を以下の様なCSVファイルに加工する処理になります。

年月日,競馬場,R,馬番,馬名
140719,函館,1, 1,ルミノーソ
140719,函館,1, 2,アルボルデヴィダ
140719,函館,1, 3,イシドールス
140719,函館,1, 4,シシャモショウグン
140719,函館,1, 5,フィールドリアン



■上記プログラムの概略説明

AWKは基本的に
  1. インプットされたCSVファイルを1行ずつ読込
  2. 読み込んだ行に何らかの処理を実施
  3. 処理結果を出力
  4. 上記をCSVファイル最終行まで繰り返し
のように動作します。

プログラム内部についても簡単に記述すると
  • BEGIN{}で囲まれた部分はCSVファイル読込までの事前処理を記述。
  • FS、OFSはそれぞれ、入力、出力CSVファイルの列区切りを示す文字の指定
  • printは文字列の出力
  • {}で囲まれた部分は読み込んだCSVファイル1行にたいして行う処理
  • print $1,$2,$3,$4,$8 はCSVファイルの1,2,3,4,8列目を出力
というような感じです。


■AWKのインストール方法

私はもう少し古いバージョンを使っているのですが、今からAWKを入手する場合

等からファイルをダウンロードすればいいでしょう。
ダウンロード後解凍し、任意のフォルダにコピーするだけでOKです。
以下

C:\AWK

というフォルダにファイル一式をコピーした前提で記述します。


■AWKプログラムの実行方法

上記のようなAWKプログラムを例えばC:\TG\DEN.AWK のようにテキストファイルで保存しておきます。
入力元のCSVファイルをC:\TGフォルダのDE.CSV、処理結果をDEN.TXTファイルに出力する場合、以下のようにコマンドプロンプトから実行すればOKです。

CD C:\TG
C:\AWK\GAWK -f DEN.AWK DE.CSV >DEN.TXT


■まとめ

上記の通りAWKはテキスト処理に特化しており、CSVファイル処理に向く言語です。無料で実行環境も簡単に作れますので、TARGETで出力されるCSVファイル処理を考えている人は試してみてください。

なお私はAWKは以下の書籍で勉強しましたが、現在は入手困難のようです。






posted by knaka at 09:06 | 競馬プログラミング | このブログの読者になる | 更新情報をチェックする

2014年07月24日

本ブログ「コンピューター競馬活用術」のURLが変わってます

先日独自ドメインを取得したため、本ブログ「コンピューター競馬活用術」のURLが以下に変わってます。


ちなみに独自ドメインは「お名前.com」で取得しました。



もしブックマークされている方は変更頂けるとありがたいです。
当面、旧URLでもアクセス可能ですが、将来はアクセスできなくなる可能性がありますのでご注意下さい。


posted by knaka at 22:45 | お知らせ | このブログの読者になる | 更新情報をチェックする

2014年07月23日

三浦リターン再調査(2014年前半)三浦皇成への乗り替わりは馬券的に狙い目かも

三浦皇成から違う騎手に乗り替わった馬がレースで好走することを指す「三浦リターン」。
以前、以下の記事で三浦リターンがデータとして現れるのかを調査しましたが、

2013年については実は三浦リターンはな存在しなかったという結論でした。

その状況が2014年になって変わっていないかを調査したところ、さらに衝撃?の結果でした。


■調査条件

調査の方法は、以前の記事と同じで

  • 前走三浦騎手から別の騎手に乗り替わった場合
  • 別の騎手から三浦騎手に乗り替わった場合

で成績を比較します。調査期間を2014年1月〜6月としてます。


■調査結果

TARGETでの検索結果は以下のとおりでした。

三浦→別騎手の戦歴
01.png



別騎手→三浦の戦歴
02.png


まずは単勝回収率、及び複勝回収率では

  • 三浦→別騎手:単勝回収率55%、複勝回収率88%
  • 別騎手→三浦:単勝回収率79%、複勝回収率103%

となっており、今年は更に三浦皇成騎手に乗り替わった場合の方が馬券の回収率が上がっていました。

人気信頼度(5番人気以内の馬を人気以上に走らせた確率)で比較しても

  • 三浦→別騎手:人気信頼度44.0%
  • 別騎手→三浦:人気信頼度48.3%

人気に応える確率も、今年に関しては三浦皇成騎手に乗り替わった場合の方が高くなってます。


■三浦皇成への乗り替わりは馬券的にはむしろ好材料

三浦皇成騎手は去年より更に結果を出していることになります。三浦リターンどころか、三浦皇成への乗り替わりは馬券的には狙い目と言えそうです。



posted by knaka at 06:25 | データ分析 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。