Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Home Premium : Excel 2007)
「中央競馬JRA」及び「南関競馬(TCK他)」のサイトより「単勝オッズ」及び「複勝オッズの小値と大値」を取り込む方法
投稿日時: 18/11/30 10:52:48
投稿者: thanhlongtradin
メールを送信

小生、競馬のソフトを作成しています。
出走馬の能力値(各種あります。走破タイムとか3ハロンのタイムとかこれまでの着順とか、各人の思いつきや着想によって数限りなくあります)には一切関係無く、その日に発表される各種オッズの値を2回取り込みその「乖離値」より判定する方法を思いつき、10年ほど検証を重ねてきた結果、驚異的な的中率を誇れるほどになりました。
「回収率は?」と、問われたら今のところ自信がありません。
何故なら小生の場合「荒れると判定したレースのみ(一日に3〜4レース多くても6レースくらい、ときには1レースとか全く投票しないとかもあります)」に投票するからで尚且つ今のところ「ワイド1点」しか買いませんのでそのような買い方をする限り的中率及び回収率は「かなり凄い!」と言えますし例えば1レースしか投票しなければその日は的中率も回収率も「0」ですのでその言からすれば自信を持って言う事は出来ません。
もっと点数を買っていたらその方が的中率も回収率もとんでもなく上がるでしょうが・・・・。
正確には「3連複」が一番「的中率」も高く「回収率」も高いと考えます。
 
小生の歳(71歳になります)やら身体障害者である事(従って車も無いため杖をつきながら徒歩で移動)、経済的な事を考えると今のところ「VBA」を学ぶ金銭的な余裕と時間的な余裕、何より頭の出来の悪さからしてもかなり難しく、何とか助けを請うしか方法が無いと思いこちらに登録させて頂き質問に至りました。
 
1.先ず「単オッズと複オッズ(小値と大値それぞれ別々に2回)の自動的な取り込み」をさせて「乖離値」を求める。
 
2.その求めた「乖離値」に順位をつける。
 
3.その順位により各種買い目(競馬会が言うところの「勝ち式(勝ち馬投票券」)を作成して自動的に表示させる。
 
と言う作業を自動で出来ないかと考えております。
 
この件に関しまして何とかご助言を頂けないものでしょうか?
 
どうぞ宜しくお願い申し上げます。
 
 Embarassed

回答
投稿日時: 18/11/30 20:25:19
投稿者: mattuwan44

引用:
と言う作業を自動で出来ないかと考えております。
  
この件に関しまして何とかご助言を頂けないものでしょうか?

 
まず、自動化できないかという話ですが、
これは出来ます。
ただし、
2〜3日で作れるか、2週間で作れるのか、
はたまた、1年掛かっても作れないか、
それは、個人により差ができるとおもいます。
 
なので、自動化に拘らず、
とりあえず、Webサイトから、コピペでシート上にオッズを取り込んでみてはいかがでしょう?
いま、ヤフーのサイトでやってみたら、余分にタイトル行が入りますが、
表にはなるようです。
あとは、表計算ソフトの得意分野なので、
ご自分の考案された計算法を入力して表示させるだけだと思います。
 
その辺はVBAだのマクロだのというより、エクセル君の強力な関数群を利用した方が、
開発が楽になるはずです。
 
それで、計算が出来るようになったら、
エクセルにはWebクエリというWebの情報を取り込む機能がありますので、
それを使って取り込むようにしてみてはいかがでしょうか?
 
それが出来るようになったら、VBAで文字列を生成できるようになりましょう。
 
例えば、
    
2018年12月2日(日) | 4回中京2日 | 15:30発走
 
第19回チャンピオンズカップ(GI)

 
↑これのオッズを見るには、
 
https://keiba.yahoo.co.jp/odds/tfw/1807040211/
 
↑こういうアドレスにアクセスすればいいわけですが、
 
最後の
1807040211
の意味は、
18 → 2018
07 → 中京
04 → 4回
02 → 2日
11 → 11レース
という意味ですので、
 
https://keiba.yahoo.co.jp/
のサイトから、次回のレース情報の表をWebクエリで取得して
その情報から各レースの情報を取得するためのアドレスを生成してやれば、
自動で出来ると思います。
 
まぁ、回収率が高いなら、5万くらいでフリ―ランスのサイトで頼めないかなぁ。。。
って、それを頼んだ人も使われちゃったらオッズが変わるかもなぁ。。。
https://www.lancers.jp/work/detail/1390279
 
僕ならとりあえず書籍を買い漁るかな。
2〜3万使えば、とりあえずそれくらいのことは出来るようになると思いますが。。。
それで解らなければここで、聞きながら完成させればいいと思いますよ。
(でも、焦って一度に買わないこと。いまどんな本が自分に必要かを理解して、段階を踏んで買う事)
 
あと、参考になりそうなURL>>
https://keiba-thetop.com/keiba-programming1/
https://www.yannies.com/diy/index.htm

投稿日時: 18/12/01 09:26:21
投稿者: thanhlongtradin
メールを送信

いやぁもうホントに詳しく記載して頂きまして感謝に耐えません。
 
仰るとおりにいろいろ試行錯誤してみます。
 
実は既に「コピペの作業をしながら目視確認して買い目作成」と言う作業は出来ております。
 
要するに「2回のオッズ取り込み」をしなければ「そのお互いの乖離率」を計算させることが出来ず、さらに「1回目のオッズ取り込み時間」が午前3時〜4時(中央競馬のみ、南関はそうは行かず投票締め切りの「1回目:30分前」と「2回目:10分〜5分前」が必要)頃と言う条件付なので「一度オッズ取り込みソフト(確か、そう言うソフトを有料ですが使った事があります。無料も有ったはず)」で取り込んでコピペなり自動取り込みなりさせねばなりません。
 
小生の持論は、あまたある各種の有料無料のデータを一切使わず「純粋にオッズのみ」で判定すると言うロジックを確立し(既に確立しております。理論的には)それを完全自動化してどうしてもお金が必要な小生と同様の生活を送っている方の助けになれないか?と言う大げさな事を目論んでおります。
 
世の中の小生と同じような年代の方たちはいわゆる「段階の世代」で、長年連れ添った相方を殺して自殺だの逮捕だの「この日本はいったいどうなってるんじゃい?」と言う事件が毎日のように起こっています。
アメリカやドイツに住んで、俯瞰的に日本を見てくると、この日本と言う国のあまりのおかしさ不自然さに気づきます。
 
もちろん世の中「金の問題」だけではないですし「金・物・利権(つまりすべて数字で表せる)」に関しては小生は必要ないと思っている人間なので(日本古代神道と仏教を長年学んでいる)上記の問題は簡単に解決できるはずもないですが、「シルバー人材センタ」に登録したら少しパソコンが出来るというだけで「何とか少しでも稼げんじゃろか?」と言う相談を受ける訳です。
 
60代70代でも肉体労働しないと、スズメの涙の年金では喰っていけないのが現実だと判ります。
適度な肉体労働は体力維持のためには宜しいですがね・・・。
これは皮肉そのものの言葉で、実際はそんな簡単なノーテンキな問題じゃないですからね。
 
余計な事を書きました。
 
とりあえず御礼を申し上げます。
 
 

回答
投稿日時: 18/12/01 18:18:51
投稿者: simple

こんにちは。
 
競馬必勝法ですか。
すごいですね。
 
冒頭から失礼しますが、
[EXCEL2007で作成中の競馬予想ソフトに「南関競馬(中央競馬)」のオッズを取り込みたい!]
https://oshiete.goo.ne.jp/qa/10512374.html
の質問者さんと同じかたですか? (検索していたらたまたまヒットしました)
250万は安いとか、すごいですね。
 
ところで、今作成されている(完成した?)ソフトは、
どのようなプログラム言語で作成しているのでしょうか。
というのは、仮にデータ取得部分ができたとしても、
データのやりとりのことを考えると、VBAを理解される必要があると思います。
VBAを学習するお積もりがあるかどうか、は分岐点ですね。
 
こちらの質問掲示板では、コード作成依頼は、
https://www.moug.net/faq/kiyaku.html
の禁止事項にて、禁止されています。
ですから何もかも作ってというのは無しですね。(できるかどうかは別にして)
 
ヒントをもとに、ご自分でトライされるのがよろしいかと思います。
そう言うつもりがないのでしたら、
お金を払って作成依頼するのがよいと思います。
先行投資と考えれば回収可能じゃないですか?
 
これだけだと何ですので、参考になりそうな情報を。
かんじんのデータ取得については、ネットで検索するのも手ですね。
[JRA 単勝オッズ取得 コードまとめ と ・・・]
https://ken3memo.hatenablog.com/entry/2017/07/22/044845
なども参考になるでしょう。

投稿日時: 18/12/02 11:16:44
投稿者: thanhlongtradin
メールを送信

コメント頂きましてまことに有難うございます。
 
aimple様の仰るように同一人物です(笑)。
 
私は既に71歳にならんとするジジィで、身障者のため行動範囲がおのずと制限され且つ歩き過ぎると腰椎ヘルニアで歩けなくなるというリスクを背負っております。
 
それでも毎日2km以上は歩くようにしておりますが・・・。
 
昔はレーサーで300km/h近い世界で生きていたのが嘘のようですが、今でもコースに出て思い切りぶっ飛ばしたいと言う思いに駆られます。
 
余計な事を書きました。
 
「1回目取得の各種オッズ」と「2回目取得の各種オッズ」の「乖離値計算」は、NET上をあちこち探し回って計算式を調べ挿入して出来るようになりましたが、「言語」は私には判りません。
 
現在使用している「EXCEL」は2007ですので、お金に余裕があれば最新版にしたいのですが、あまりに長い間(10年以上)使ってきて慣れているのでどうも新しいものにするのが面倒で多少不安もあると言う事もあって、そうするとこの先を考えると教科書もどうしたらいいのかなぁとか考えて入手しておりません。
 
「乖離率」も何種類も計算させていて、「このパターンの場合はこの乖離率とこの乖離率」の組み合わせで的中する」、「このパターンの場合は?」と全てデータ取りしてあり、ほぼ100%の確率で的中します。
 
「こんなもの世の中に出すのは止めといた方がいいですよっ」て言うご意見もございますが、自分としては何とか「全自動化」して誰にでも使えるように「WINDOWS版」にしたいと言うのが本音です。
 
私はいわゆる「団塊の世代」ですから、今の日本のクソみたいな状況を考えると「何とかならんのだろか?」と言う思いでいっぱいなんです。
 
海外に住んでましたからあちらからこちらを見てまた日本に関するニューズを海外版で見てますから、日本の各局のニューズ内容とのあまりにもギャップがあるのにも驚きますし、何より「日本のマインドコントロール」の巧みさが凄いとしか言いようが無いので一時期日本に戻るのも悩みました。
 
今でもTVは見ませんし(毒されるのが嫌ですから)見るのは「海外版の洋画やドキュメント物」だけです。
 
昨年「シルバー人材センタ」に登録しましたが、実際には「肉体労働」しか仕事がありません。
 
「草刈り」とか「ホームセンター」での雑用とかですね。
 
ご老人(失礼)でもある程度のスキル(設計図を引けるとかCADが出来るとかですね)を持っておる方は70歳になっても引く手あまたと言う話もありますし、そう言う方達を専門に募っているサイトもあります。
 
でも大方は「○○さん、パソコン詳しいのなら何とかパソコンで少しでも稼ぐ方法はないのかね?」って言うレベルの方達ですね。
 
そんな方達にお教えして少しは楽して頂きたいと言うのが私の本音です。
 
但し「競馬はギャンブルじゃねぇかよ!」って言う浅はかな考えの方が大半(ほぼ100%)なのも問題ありですが・・・・。
 
とにかくこの場を持ちまして御礼申し上げます。
 

回答
投稿日時: 18/12/02 19:24:57
投稿者: simple

こんばんは。
  
身辺雑記は別として、
例えば、私の紹介したサイトは見て頂けたのですか?
データが取得できるはずですけどねえ。
  
それと、私とは違う方針のかたもいると思いますから、
データ取得したいサイトのURLくらい載せて、
そのどちらの項目と説明したらどうでしょうか。
 
有料でデータを提供しているところもあるようですし、
南関競馬(TCK他)
などといわれても分からないと思いますからURLが必要です。

投稿日時: 18/12/03 12:05:04
投稿者: thanhlongtradin
メールを送信

simple様
 
思慮不足のジジィにお付き合い下さって有難うございます。
 
お示し頂いたURLにはアクセスして見ております。
 
中央競馬(JRA)のURLは下記の通りでございまして、たまたまこれは
12月2日の中京11R 第19回 チャンピオンズカップ(GI)
のものです。
 
http://www.jra.go.jp/JRADB/accessO.html
 
このオッズを見ますと「単勝」がある一列に表示されていて、さらに次の列に「複勝の小値」がさらに「−」が表示されている列があって次の列に「複勝の大値」が表示されています。
 
つまりこの3種のオッズ「単勝」、「複勝の小値」、「複勝の大値」を「午前2:00〜午前4:00」に一回目として取り込む必要があります。
 
さらに時間をずらしてもう一回(つまり2回目です)「午前8:30〜午前9:30」の間に取り込む必要があります。
 
さらにこの2度の取り込んだオッズ間の「乖離値」を求めますがこれは簡単です。
 
これは「ただの割り算」ですから全く簡単な計算です。
 
 
その計算した乖離値の大きさ(小順と大順)、両方求めます。
 
式は下記の通り。
 
=RANK(J3,$J$3:$20,0)
 
=RANK(J3,$J$3:$20,1)
 
つまり「小順」と「大順」両方求めています。
 
南関競馬(4箇所の競馬場があります)の場合はさらに面倒で、「単勝」は同じですが「複勝の値」が同じ列の中に記載されていますので「小値」と「大値」を別々に引き出さねばなりません。
 
http://www.nankankeiba.com/odds/201811302109050101.do
 
2018年11月30日第9回川崎競馬 第5日
 
の締め切り後のオッズ値です。
 
ここまでの計算はしておりますので結局は「肝心のオッズの自動取り込み」とさらに計算済みの乖離値の順位から「パターン別(ここでは明示できません)」の分けて、使用する「乖離値」を選出しそれを元に最終的な「勝ち式」を決定します。
 
これらの作業はもちろん慣れれば数分出で出来ますが、いかんせん人間ですから迷う事もあり、結果「投票に間に合わない」とか「選出するべき馬番」を間違ってしまった」とかのトラブルが起きる訳です。
 
これらの作業を全自動化できたら前代未聞のソフトが出来上がるのではないかと自負しております。
 

回答
投稿日時: 18/12/04 21:07:24
投稿者: simple

こんばんは。
年齢のことは結構ですよ。
余り珍しくないです。私も同じようなものです。
 
>お示し頂いたURLにはアクセスして見ております。
活用して、ダウンロードできましたでしょうか?
単勝、複勝も取り出せたと思います。
これでJRAは終了ですね。
 
ちなみに、
http://www.jra.go.jp/JRADB/accessO.html
はパラメータエラーになると思いますよ。
 
南関東競馬のほうは
http://excel-keiba.tumblr.com/post/63593788033
の本文ではなく、コメント欄に提供されているExcelブックが使えませんか?
 
うまくいけば、これで2つともクリアーですね。
じゃあ、私はこの辺で。

投稿日時: 18/12/05 11:26:43
投稿者: thanhlongtradin
メールを送信

simple様
 
またまた、ご丁寧なご返信有難うございます。
 
そうなんですね、小生と変わらぬ御歳とは恐れ入りました。
 
やっぱり歳は取っても学ぶ事は大事な事と今更ながらに痛感しました。
 
アホか?と言われそうですがやっぱり毎日気付きの連続であります。
 
また判らん事が有りましたら質問させて頂きますので、その節は何卒宜しくお願い申し上げます。
 
翠山
 
 

トピックに返信