2020年7月18日星期六

改變…為了走得更遠


在上文「看走得幾遠」中的實戰測試,終於走到季尾,結果是怎樣?當然是….未「贏」。事實既然如此,唯有繼續努力,先總結一下在這些年內的不同想法及思路。

老某「賭馬再培訓」的啟發點是受中大教授的官司開始,經深入了解後深信賠率優勢是永恆不敗。如經營賭場一樣,只要長期運行就立不敗之地,至於怎樣尋找優勢就沒有賭場般容易,一切要靠過往數據的解讀,利用大數據法則,這全都是不容易的事。

池兄在「積微錄」最新貼文中說明「砌模型」的最高心法是對馬匹「定價」的準確度,老某是完全同意,輸錢證明了「定價」失敗,這與經營生意一樣,長期計「錯價」就需要接受結業的懲罰。

在過去一直使用Binary Logistic Regression(簡稱LR) 的方法直接計算馬匹的機會率,點解?因為初期什麼都不知,看到Bill Benter的論文上說了算,沒有知識深究原因。這一年覺得模型差不多到了瓶頸,不如道原因只加到三十幾個Factors後就加不進去,當然這與數據的質量有關,老某只用馬會提供給公眾的通用數據,沒有半點自家製或其他內部資訊,亦完全認同一些獨特而有效的數據(如賽後評論),會提高模型的有效性。

近一年,試了很多Factors,無論在指標及回測上都未有太多改善,現時老某是用八年數據作Train(相對池兄來說這可能多了一點)在過程中隨意保留15%數據作回測,整體回測結果如下:

1)      以平注投注過往八年有賠率優勢的馬匹,回測結果是-10%,如只引用2019馬季至今的平注投注計算大約-9%,與預期差不多,這證明實際操作與預測一致。
2)      如以Kelly 下注2019馬季至今,結果是-4%,但在實際操作上這是會有所偏差的,因為臨場是不可能捕捉到最後賠率,而回測是用馬會提供的最後賠率。
3)      老某對這個計算結果亦感到意外,比想象好。今季沒有按預期以機械式下注(對一個馬迷來說始終覺得太悶了),仍然以經驗及模型結果作多方嘗試,但成績卻比只用模型下注為差,好彩仍未破產退場。

無論是-9%-4%一樣是負數,結果都是「輸錢」,有師兄會說買大一點用回扣就有勝機,但在實際操作下,對老某的資金壓力太大及這亦不是一個可靠的做法。

在此總結一下模型的近況,有多點是值得一提,亦希望各師兄能相助給老某一點啟示:

a)          如只買模型機會率最大的2-3匹馬,竟然是贏錢的!如只投注(不論是否有賠率優勢)機會率最大的12、甚至是3大機會馬,統計結果是有5%7%的利潤,與模型的回測的結果是大致相同,但建立模型的初始概念是尋找錯價的對象,而不是勝出的機會排列,加上Kelly Criterion在這情況下是沒有發揮的機會,「道」有所不同。老某實在不知原因何在?這可能與LR模型準確度有關吧?

b)          老某的模型,少有計算到低於3倍,以機率=p/1+pp>1才有2倍以下的賠率。在實戰中一些低於3倍的大熱門,甚本上是沒有賠率優勢,感覺上只要大熱門勝出,投資就泡湯了,這証明模型低估了部份熱門的真正實力,要增加有效Factor才可解決,但要增加Factor又絕不容易,困局也!

c)           LR模型是用Factors直接估算馬匹的勝出率,當然要經簡單運算,估計出來的勝出率,只代表單馬的情況,沒有與其他參賽馬直接互動的。再者,一場參賽馬估算的機會率加起來,一定不會等如1,有可能小或大於1,老某會再做Normalization,這動作已增加了不確定性,加上用線性的方法去標準化非線性的機會率,至今仍然未找到正確的做法。

d)          老某砌模型的方法始終是參考已經有二十多年歷史的Bill Benter(1994)資料做藍本,論文中他是使用Logistic Regression。但在2004 ICCM論壇中,他所講述的模型與1994方法已經大大不同,加上在1997後,馬會不再提供服務給他,他需要15分鐘前派人到投注站下注,即最後賠率在當時顯得比較不重要了,所以老某推論在後期他的模型與初期的不同,可能連方法也改變了。常言道不進則退,變幻才是永恆。

e)          有很多師兄認為不需深究方法,應集中數據運用,只要將現時的做到比公眾更優勝便可,可惜今時今日所謂的公眾會與已往一樣嗎?已證明不是。因老某的背景,深知不同工序有其限制及準確度,就算魔改後的蛙式也永遠快不過自由式的。老某自已是懷疑LR是不可能打敗現今的公眾,LR雖然在醫療判斷可是極佳的選擇,但用於賽馬就可能未必相同。

f)            老某深信賽事結構影響了部份因子的數據分佈及有效度,令Regression誤判有效但方向相反。這同樣會發生在其他運算方法,必須要有合適的數據處理方法去配合不同運算方法,可能是老某的表達有問題,往往令人誤解為數據精加工而增加over fitting的機會。

g)          又用名次及完成時間作比較,在同等的條件,分段時間/完成時間給予更多的資訊但無法掌握,而名次只有單一資訊。在高低班、快慢地、升降班時,同是冠軍但內裡卻是大不同的。雖然大家都知名次是一個極有效的因子,但不要放棄時間能給予的資訊更多。在老某實戰的經驗就是因為上賽/平均名次而吃虧,特別是一些班次升降機,EO計算時升班時偏熱,降班時偏冷的狀況經常出現。

h)          Two Step Model這步驟不會提升馬匹賠率優勢,只可以將「定價」拉近,大部份沒有賠率優勢的馬匹不會因Two Step而改變,尋找「錯價」是全靠One Step的準確度。當然Two Step也有其優點的地方,老某觀察自家模型數據所得,經Normalized後的最後EO,整體的投注量會減小,對「贏錢」有正面的影響。

老某砌模型的方法是參考有三十年歷史的Bill Benter資料作為藍本,並深知在過去成功不代表現在如是,加上沒有其他模型數據可作對比,總是覺得LR未必是一個合適的利器,認為是時候改變一下,故三個月前又嘗試用其他方法去「砌模型」,嘗試用馬匹預測實力(CP) + Monte Carlo 模擬估算各馬匹名次的機會率,結果怎樣...

20/8/2020補充說明:

錯了!老某終於發現有概念及系統性的錯誤,並解答了一直未能解決的疑惑。不刪除此文是因為這是老某的個人記錄。各師兄留意上述的資料展述可能有誤,不值得參考。再一次多謝各師兄的提醒,老某會再努力的。老賭徒

31/8/2020補充說明:

Conditional LR在 SAS是Parametic Hazard model, 在SPSS 是用 Cox regression, 均是一個醫學上估計生存時間。老某在開始時因為用minitab 做regression, 不知怎樣執行conditional, 所以自行想一些方法代替,就是將需要grouping 的因子做了排列後才放入模型,盡量減少影響。如今Andy師兄提醒,所以用SPSS Cox regression再做一次,結果如師兄所述差不多,不可以說是更好,但需要時間調整。
同老某說錯了,除了使用Regression 有不同外,還有一個重要指標做錯,就是回測數據用了一些比算式生成前的Test數據作測試,Test的回報率比Train的更佳,引起誤判及概念上有問題。

2019年9月17日星期二

看走得幾遠!


看走得幾遠!

2016-17年馬季開始,老某利用測試模型實戰投注獨贏及連贏彩池作回測試驗,其間不斷修改模型數據及因子,直到上季完結後結算,仍然是以「輸錢」結束。

在今年抖暑期間,以八年賽事數據再一次重造模型(過去是用4年數據),及加入以「贏錢」為基礎的回測,暫時回測結果是有利可圖的,但在實際操作可能有所不同。所以狠下決心今季將動用六位數字的預算作正式投注獨贏、連贏及三重彩,直至預算「破產」為止,看看可以走得幾遠!!

如再一次失敗,這該是「終結」時候了。

2019年1月17日星期四

死心不息



以今季實戰計算,老某現時的賽馬模型確有不少進步,準確度及可用性提高很多,賽前分析及賽後資料整理均可在30分鐘內達成,今季極有信心在獨贏投注方面達至「唔輸」的階段。現時只有三十個Factors左右,雖然近期積極尋找因子,但最後都是徙勞無功。花了不少力氣使新增的數據在統計上達有效,卻在使用另一組數據回測時毫無作用,可能模型已經到達階段性的瓶頸,需要較大外力才有突破,故此暫時放下。

放下了Factors的尋找,死心不息地將名次計算的資料(Ordering Probability)重讀多遍,看看有否突破?說實話,老某對每份論文都是一知半解,特別是算式及運算部份,老某跟本沒有能力解釋這類數學問題,嘗試的資格也沒有。還好!最終發現是老某自已計錯數,用錯了Independence Probability計算連贏(Q)及位置連贏(PQ) 的機會率 ,引致EO完全錯誤,造成熱門EO偏細,冷門EO偏大的趨勢,如一個模型大部份時間輸出「搏冷」指示,相信那有不輸的道理。

有了這重大「突破」,加上對用作推算23名的Discount Model了解深了,即全力修正程式,期望盡快再上征途,以下為(16/1/2019跑馬地)初次使用的成績:





當晚8場賽事中,只有R3R4 Kelly完全不建議投注,獨贏(W) 4/6、連贏(Q) 4/6、位置連贏(PQ) 5/6,當晚回報以連贏最佳,獨贏最差。

就是這麼簡單??? 所謂「路遙知馬力,要放長雙眼先得!

2018年9月2日星期日

2018-19馬季累積表現

2018-19投注獨贏、連贏累積表現如下:

23/12(上圖) 26/12(下圖) 累積表現:


















2-9-2018: 估唔到今日獨贏的成績好過連贏 :)

5-9-2018: 共投注6場賽事,中左2Qin 、3Win,連贏投注繼續下潛:(


9-9-2018: 共投注7場賽事,中左3Qin、2Win。有3場第二(潮州小子、都市神話、鞍歌、以短距離敗陣,輸運氣也)。老某覺得優化後的模型似乎有多少進步。


12-9-2018: 共投注6場賽事,選中3Qin、3Win。今日連贏回報率比獨贏為佳,因為高注中左第六場「極皇-上浦猛將,有70幾倍 :-)


22-9-2018: 共投注8場連贏、3場獨贏賽事,選中4Qin、2Win。連贏只中一場「豐彩皇-快樂神駒」高注,其餘3場平手或微利。為了盡量在紅燈後下注,希望更準確掌握賠率走勢,以便執行刪馬指令,時間實在太迫了,雖然有「半自動下注」幫助,但一樣買得連贏就買唔到獨贏真的要認真考慮專注一個彩池。直到現在,仍然以獨贏的累積表現最佳


26-9-2018: 共投注5場連贏、6場獨贏賽事,選中3Qin、4Win。高注獨贏中「紫電明珠、飛霸龍。因模型近況不錯,所以在今賽開始調升獨贏Kelly比率,但連贏投注比率保持。


1-10-2018: 共投注7場連贏、6場獨贏賽事、只選中1Qin、1Win。高注獨贏中「清新動力」,差小小中正99賠的「勁有波幅」。連贏投注比獨贏輸得多中得少,可能要考慮改一改策略。另:今年決定不投注分級賽,觀賞為上。


3-10-2018: 共投注6場獨贏賽事,全敗 :-(

提高Kelly比率後輸得更多,要好好反省一下。


7-10-2018: 共投注6場獨贏賽事,全部有錢收,只可惜賠率優勢不大,只有微利。原本高注中「共創更好」及「安喜」,但前者截止投注、後者告甩由只有微利的「開心神駒」頂上。

10-10-2018: 因上星期三跑馬地大敗,所以今次採用較保守策略,共投注4場獨贏賽事,高注中勝得威,整晚只有微利。今季到現在為沒有再花時間修改或優化任何factors,只在計算時微調取樣數據的時段,這令老某更加了解現有型的優劣。

13-10-2018: 只高注中「最新鮮」,今日要輸錢,投注模的累積表現開始負數。這結果除了同模型準確度有關外,還有自已紀律問題。老某是一個資深馬迷,要老某整日只跟模型結果投注任何思考或評估,這需要多一點時間及信心。如買「同歡樂及「銀城福星就大大注,因自已認為冇得輸,同樣買「勝利仔時就信心不足,自行調低Kelly比率。

18-10-2018: 將個模型微調小 共投注4場獨贏賽事,只中「順其自然」及「紅運戰士,只有微利。要再等機會才有較高回報。

21-10-2018: 不在香港,沒有現場投注。

24-10-2018: 又是星期三跑馬地,都是小心為上,只是小注檢視一下模型情況,投注了2場獨贏全敗輸錢,但連贏卻有微利。老某覺得現時模型在今季的表現是有很大改進,冷熱分佈正常與RO差距不大,但始終未夠好引至輸錢,會再改進的。

28-10-2018: 今日又輸錢!創今季新低。似乎老某模型對跑馬地賽事準確度一般,馬匹及模型都表現非常波動,真需要想想改善方案才有生機。

31-10-2018: 今晚全泥,成績比預期為好,高注中「怪獸都市」及「好腳頭」。最近模型表現不太穩定,反複查看後,發覺有一些資料錯誤,及有一個因子方向相反及重複計算,希望見改善這問題後可減少不穩定性。

4-11-2018: 其實今日賽事整體優勢不大,只有尾場較有分頭,系統搏冷成功。今日開始暫停投注連贏彩池,因為找不到合適的推算第二名的方法,加上成績不太理想,所以都係專注獨贏算了。希望日後有能力時,才再跟進。

7-11-2018:由今賽事開始,主力投注獨贏彩池。

18-11-2018: 今日三場分級賽,加上「雷神」回歸,小注為妙。
個人認為有「雷神」未必有edge,只會將賠率扭曲,熱上加熱,如尾場「威進駒」2.6倍開跑,老某只計到EO是3.1倍已是機會最高的馬匹,所放棄跟隨糸統投注,只買心水「威進駒一匹獨贏中左都覺得有D唔抵。

25-11-2018: 相信自已再加一點運氣,看似不可能的也會發生。一場雨再加一點堅持,就能在尾兩場反勝。六倍EO「世界記錄」,肥美!

5-12-2018: 今晚國際騎師邀請賽,太多不明因素,所以只投注其他場次,高注中「銀亮之星,真肥仔!回想一下,銀亮之星多次後上不及,今次好運在終點線上以全晚最快未段取勝,跑多次我都信他會贏跑馬就是這樣的,形勢也

9-12-2018: 今日國際賽香港隊第一次全勝,可喜可賀。今日老某成績一般,不贏不輸。由今日開始,累積表現圖表,由累積金額總數,改為LN累積金額/開始金額。

12-12-2018: 今日成績麻麻,要輸錢。又要尋找多幾個Factors先得了。

26-12-2018: 終結篇。計算至今晚賽事,共獲利2%累積投注額,老某對模型的成績極之滿意,但對自已在執行力的表現有所不滿。

老賭徒是一般馬迷多於一個賭徒,會犯相同錯誤,當一些不如自已想像的狀況出現時,往往會選擇自相信的表面的事實,而忘記建立模型的初心,客觀分析

大部份人都會相信「富貴險中求」,要獲取厚利,就要對着幹,股神的金句人人都明,但又有幾多人可以運用自如,確切執行。今季至今,已經有好幾次不執行運算結果,而錯過了獲利的機會,當然也有正確的。26/12/2018尾場模型只建議投注,「勇冠王」、「文藝學家」及「比卡超」,但老某自已認為不太可能吧!反而自行重注「紅運戰士」及「軍民歡」,結果是怎樣,大家都很清楚。事實証明大份獲厚利的場次,均是同一面倒的大熱門對賭的。有準確的模型,也要一顆「相信」的心才行。

因執行力出現問題,會再思考投注方式,在2019重新開始。祝願大家新的一年「旗開得勝」,身體健康。





2018年8月31日星期五

準備開鑼

準備開鑼

多得馬會改版,今季用了較多時間準備,所有重要優化已經按期完成,萬事俱備只欠運氣,期望來季有更好的成積,達至「唔輸」。老某今季模型除增加了近況及操練因子外,還會綜合上季輸錢經驗,嘗試在投注前加入「刪馬」法,用「老某AI」將有賠率優勢但有重大疑問的馬匹刪除,不作投注,希望減少注碼,值此可以提高回報率,但此舉對模型的準確度完全沒有關係的。

作為個體戶的老某在提升型模的準確度方面,確實遇到困難,加上不知因子數量要達什麼水平才合適,要知道發掘一個有效而可靠的因子需要花費大量精力,因此今季會暫時放下這方面的工作,努力嘗試尋找其他出路。至於,「刪馬」法是一種傳統賭馬智慧,結合操練評分,是老某在今季的新嘗試。

今季投注策略將會有變,以連贏為主獨贏為副,並會將今季收支紀錄全程更新如下圖所示,但計算結果則不會再提供:







2018年8月8日星期三

遲來的季後檢討


2018遲來的季後檢討

差不多有幾個月沒有更新,其間仍然不斷努力將模型修改,測試修改再修改,但主要factors數量未有太多增加,仍然維持在30個以下,真的不知道還需要什麼數據才能超過半百?馬季結束差不多有一個月了,就來一個簡單的總結吧!

·         上季為全季使用LR模型投注的季度,終於以「輸錢」結束,損失了大約10.7%總投注額,成績比亂買好一些,但只是一般未達預期。

·         上季以獨贏W為主、連贏Q為副的投注策略。多數輸錢在熱門場次,大部份是賠率沒有優勢下而不作投注,變相造成刻意求冷,或與熱門對賭的情況,老某相信這與「雷神」有莫大關係!當然計算不準確也是致命傷之一。

·         因子(Factor) 增加問題,發現有很多因子是統計有效,但實際是沒有預測能力,甚至是有相反效果。例如,一個顯著有效的因子,可以令一些因子(特別是只使用如0,1簡單數據的)在統計計算上有效,但作用是相反的。因子如「上賽是否入位」理應是上賽人位會越好一些,但模型卻指示反方向。在情況之下老某又怎可以採用這些有疑問的因子作計算,最後只好「刪」個痛快,因此因子數量不但沒有增加,反而減少了。

·         現時老某是將所有數據輸入LR軟件計算,不分類別、場次、班次、路程... 運算後系統自動給出結果,除了有效性,通常給出越大越好或越細越好的方向性,即是代表此因子有正或負面影響。老某發覺現時所輸入的數據資料可分為2個類別,一為與個別場次比較,如名次、走位。另一為與整體數據比較,如時間、負磅、評分等。

·         說到這裏,可能各位有點不明及混亂,老某只想表達有一些數據是要修正及改造才有真正效果,將數據盡量改造為同一類別。正如「名次」及「時間」,為何運算結果只有「名次」是有效而「時間」是無效或變成負面影響。這也解答了早前有Blog友向池兄提問,他的模型其中一個因子「累積獎金」對勝出預期竟然有負面影響,即越低越有機會勝出?沒可能吧!這與大眾想法相反。這可能大多數的勝出馬匹的累積獎金,並不如想像般在整體數據的高位,而是在一般低的位置,原因是中低班獎金賽事遠比高班為多。如將「累積獎金」在個別場次排名先後,結果可能是不一樣。

·         下季將加入操練及馬匹近況的因子,花了不少時間下載及整理三年操練記錄,用了大概20個因素,只組合到2個有效因子,與找金礦一樣困難。

以上純粹個人觀點。

期望下季有更好的成積,以現時情況來看,要戰勝馬會可能性極少,唯有將目標及範圍修改一下,以「興趣」為先,「贏錢」為次。

2018年3月9日星期五

皇子的啟示



新春期間去了葡國深度行,景色怡人及游人較少,實際比出發前想象為好,值得推介。因此,已經連續4個賽馬日沒有臨場參與,但老賭徒沒有停止思考及反省現時情況,至今整體賽馬投注仍然未贏,雖然只是幾個%負數,但同老某的長遠目標仍然有一段遠距離。

老某今個賽季已經加強資料管理及更新、不斷優化因子、最終只能使用不足三十個因子作計算,這個數量(因子)同專業團隊根本不可比較,比一般初學者還少。曾經有問過自已,這樣行不行的? 現時肯定沒有答案,但認為季末的結果就是最佳答案。要知道發掘一個有效因子,實在太費心神及時間了,所以決定今季餘下時間集中記錄現有模型的「得」與「失」,並加強資料及計算自動化,不再因一兩天的失利而盲目優化。

最近在旅遊期間,有緣看到「撒旦皇子」的新Blog,老某有留意他在「積微錄」的留言,展述他從固定賠率的投注項目中獲取了穩定的收入,少有地戰勝馬會的經歷,當時老某是半信半疑的,但當遊覽他的新Blog後,發覺不是沒有可能。他在短短的4次投注中已經贏取了約80%的本金,但相對老某經過一整天的賽事,仍然在幾%內浮沉,令老某重新思考一此問題:

1)      買得大是否會贏得大?「撒旦皇子」兄用10萬本金,每次投注20~40%,這個比例對老某來說實在太大,認為模型贏率必須在八成以上才能恆久,老某當然相信沒有這樣的投注比例,那會有財務自由的可能!現時因老某對模型仍然未有足夠信心,至今仍然只用0.1Kelly投注。

2)      買得多是否會贏得多?究竟是場場投注或只揀選合適場次下注,如「撒旦皇子」不論賠率只投注機會率最大的場次。老某現時的模型,如有賠率優勢的馬匹勝出,經Kelly平衡後,每場回報率大約投注額的1.0-1.5倍不等(視乎勝出頭馬的賠率優勢),換算為命中率,10場賽事必須勝出4~5場以上才有贏錢的機會。心想如果能避開不中的場次,成績肯定會好一些,令Kelly的倍增威力大增。

7/3/2018賽事為例,老某在8場賽事中了3 (勇者勝、幸運興龍、威信),結果輕微負數,但如果不投注「歡喜心」 (1.9) 及「天下為攻」(1.5) 的場次就有利潤。雖然老某的模型已計算到這兩匹是機會率最高的馬匹,但賠率沒有優勢下而不作下注,變成刻意求冷。日後如相同情況,必須認真考慮考慮是否避戰。

老賭徒深信要戰勝馬會不是短時間的事情,必須經長時間的磨練及進步才有機會。現時花費在這方面的時間和精神與收入相比實在太懸殊了,與老某正職相比更尤如微塵。但老某為何仍然繼續原因只有一個字: 「興趣」是也。