2017年12月7日 星期四

失敗的喜悅

記得在中學時期,有一次中文作文題目是XX的喜悅。賭某作的題目跟“熱門”的題目相若,反而令賭人至今仍印象深刻的題目卻是-失敗的喜悅。很多人都追求自己心中的“成功”,幾乎沒有人會因為失敗而感到喜悅,更沒有人會享受甚至愛上失敗。雖然賭人認為失敗乃成功之母是安撫失敗者的說話,但最近的經歷令賭人開始明白䓢中的樂趣。



在上一個馬季最後一個賽馬日,賭人損失約8成資金。心感氣餒之餘,更甚的是連自已都開始懷疑一直做的事。記得賭人第一次接觸用期望值(Expected value)賭馬是在去年相若的時間,因為連續輸好幾個賽馬日而萌生用其他方法如數學/統計學以達致贏馬。機緣巧合之下,看到池兄的blog,認識到只要長期買正預期回報(positive expected return)的馬就可以笑到最後。當時的感覺真的有如茅塞頓開,深深以為自己已經知道了中大教授-顧鳴高贏錢的先決條件。隨即用了大約兩個多月時間建立自己的賽馬統計模型,並在建模後的第一個賽馬日錄得3成盈利。意想不到的順利不但令賭人對自己信心大增,還令賭人加大賭博的注碼,最後一敗塗地。

尼可洛·馬基維利認為人生至少有50%是靠運氣,“黑天鵝效應”作者塔雷伯也曾講過運氣常常被低估。個人運氣好壞無人得知,賭人寧可承認失敗也不把輸錢的事實推作運氣差。

最近看到老賭徙嘅一篇文章,令賭某重新思考期望值賭馬的問題。賭人在前文曾提到因為隨機性(randomness),不確定性以及很多未知的因素所影響。儘管大數據可以減輕randomness嘅影響,對每匹馬要計算出完全客觀/合理的機會率依然是不可能甚或乎不存在的。即使能夠計算出相對於公眾有優勢的機率,賽馬結果也可以是不科學的,但這也是賽馬吸引人的地方。因此如果大家基於相若的數學模型計算出每駒的機率,誰對誰錯很難定斷。

眼見他人春風得意,自己卻一敗塗地,失敗的滋味不好受。在12月6日跑馬地9埸賽事以及最近的賽馬日,賭人又經歷挫敗。可喜的是,賭人知道錯處並立即更改。賭人漸漸明白,失敗的喜悅在於勇敢承認自己的失敗及不足,避免下一次的失敗。屢敗屢戰,找出成功之道。

2017年5月28日 星期日

OUR LIFE HAS BEEN HACKED?

一個NSA 用以監控民眾保障國家安全的0Day(未被公開的軟件漏洞)-MS17-010公開後,以致最近WannCry 勒索軟件在全球爆發,有見及此,賭人當然不會放過這個 抽水 討論的機會。賭人先來班門弄斧一下。 首先,對於勒索軟件信相對有“睇新聞”或從事IT的人而言不是新鮮事,中毒而“被勒索”的情況亦時有發生。以賭人為例,早在幾年之前就聴聞過有關的事。看起來這次事件也是“平常事”,沒有被用作新聞來娛樂大眾的價值。但在賭人認為這次的勒索攻擊事有二個有趣的地方。



第一,這次的攻擊令賭人關想到一套劇集-駭客軍團(MR. Robot) 中對跨國大型公司 E Corp 的資料庫(所有電子文件以及所有hard copy)全部銷毀,達至解放所有人所背負的債務,在電子文件中正是用加密的方式。此劇集令賭人為之著迷的地方是其駭客攻擊的手法及無政府主義的思想。令人思考到人為財死,鳥為食亡的哲理。其範模與是次攻擊極為相似。



賭人自小就對各種駭客攻擊手法極有興趣,在睇未來戰士 2 (Terminator 2) 時就非常羨慕電影中的主角約翰·康納可以令ATM嘔錢的情節。雖然在現實中也有同樣的事情發生,但由於這涉及比較專業的知識,賭人不會在此討論。話雖如此,其中一種的駭客攻擊手法-社交工程(Social Engineering)卻不是這一回事,例如在香港常見的電話騙案正是用了社交工程的手段。

第二,在是次攻擊中,一位22歲的網絡保安專家,在偶然情況下停止了近日影響全球近 100 個國家的網絡勒索程式 WannaCry 的傳播,只透過一個域名登記的作業。雖然賭人認為這並不是“偶然”,而是該名網絡保安專家用Reverse Engineering 的手法以及相關的Toolkit如Wireshark 反覆測試出來。

而賭人在Internship 的時候也曾與同事討論過解決“被勒索”的威脅,但畢竟RSA, AES 等加密算法(algorithm)太精密,難以從算法中反向(reverse)把密文(digest)計算至明文(Plain text)。而事實也証明這是想錯方向,應從勒索軟件中的缺陷(bug)着手。

PS. 在幾個月前寫完"MLR 賭馬 Part 1"後,由於該文章太過虛無,賭人一直希望在其model定下來後寫一篇完整的包括教學的文章,可惜時間所限令model 的變數至今仍未定下來,另外在相關的program 方面還有待完善。

2017年4月27日 星期四

差之毫釐 謬之千里

與其說統計模型(statistical model)是馬圈中一大兵器,那麼「蝴蝶效應」就是統計模型的致命傷。據維基百科的解說,蝴蝶效應是指事物發展的結果,對初始條件具有極為敏感的依賴性,初始條件的極小偏差,都將可能會引起結果的極大差異。記得幾年前理工大學曾做過預測輪盤的物理模型,其教授說過因蝴蝶效應而無法作出有效預測。在賽馬上,時常聽到有人說只有準確地計算出每匹馬勝出的機會率,不然一切都是徒勞無功。賭人認為此說法是荒謬的, 先講數個例子後再加以說明。



1996年6月4日,亞利安5號運載火箭首次測試發射。在風和日麗的法屬圭亞那太空發射場,計劃運送4顆人造衛星到預定軌道。但火箭發射後37秒,在4000米的高空被迫自行引爆。其自行引爆的原因在於64位元(bit)的運算錯誤地變為16位元的運算,造成程式崩潰後處理器發生數字溢流,將感測角度的垂直讀值錯誤的代入到水平值做運算,導致火箭在高速下進行90度水平滾轉而崩解,觸發自毀裝置的啟動。

事實證明一個亳不起眼的operand error令整個價值起過5億的火箭連衛星化成灰燼。事件冇做成人命傷亡算是不幸中的大幸。言而一個亳不起眼錯誤不但有機會賠上金錢,更帶來生命的隱憂。



1991年2月25日,由於愛國者飛彈失效,令一枚伊拉克飛毛腿飛彈擊中了沙烏地阿拉伯宰赫蘭的一個軍營,殺死了美國陸軍第十四軍需分隊的28名士兵。經調查後指出該次失敗歸咎於飛彈系統時鐘內的一個軟體錯誤。在此之前,愛國者飛彈連在載赫藍已經連續工作了100小時。每一個小時,系統時鐘會有一個毫秒級延遲。飛彈系統時鐘暫存器設計為24 位,精度也只限於24位的精度。這個精度誤差漸漸放大,100小時後,飛彈的時鐘已經偏差了三分之一秒,相等於600公尺距離誤差。

雖然在在飛毛腿飛彈擊中軍營後一天雷神公司提供了更新軟體,但已做成28名士兵死亡。證明了蝴蝶效應實在無法避免。

在4月23日的沙田賽馬日,賭人初以「真飛」試驗,結果出帥不利,大敗而回。也証實positive expected return 必須經歷長時間才有預期回報。

第一埸,重新裝上左前蹄的蹄鐵的「明多多」於起步後不久失去左前蹄的蹄鐵,只得第五名。

第五埸重注的西方快車,小注的彩福,人民武士和永旺年年。出閘後「西方快車」被「加州議長」碰撞後失去平衡,賽後該駒練馬師蔡約翰亦言「西方快車」今仗走勢令人失望。最後由下注時24倍但派彩時只有10倍的彩福跑出,令原本平手離埸變成虧蝕。而連續數埸的虧蝕令賭人失去超過一半資金,奠定敗局。

由上可見,在賽馬上準確無比的機會率很難計算,也許是不可能的任務,一個簡單的因素足以支配全盤結果。正如在華爾街之狼(The Wolf of Wall Street) 中 Matthew David 曾說過 "Number one rule of Wall Street. I don't care if you're Warren Buffett or if you're Jimmy Buffett. Nobody knows if a stock is gonna go up, down, sideways, or in fucking circles." 

最後賭人以一歐洲中世紀的寓言詩作為總結。






2017年3月26日 星期日

理性 Vs 非理性

經過近三個多月來的努力,初歩用於賽馬研究的 logit model總算是完成了。由最初零知識到今日也只是“識少少”,當中的過程十分艱苦,充滿挑戰。猶如在砌一幅無限大的"puzzle" ,是無了期的。

在講model 之前,賭人想先講一埸「非理性」的戰爭-秦滅燕之戰。

公元前227 年,在紙上談兵的趙括戰敗而斷送40餘萬將士性命的長平之戰和荊軻刺秦王事敗後,秦王派王翦率兵攻打燕國。燕國的易水長城是燕國的一道非常重要的防線。易水長城沿易水河的北岸伸廷,而河岸與城牆之間的是一片爛泥沼澤,主要是用於防胡和秦/趙秦兵要攻城就必先攻下燕國的易水長城。說到這裏,稍有「理性」的人都知道這埸仗燕國該如何對應,就是守城-用䀆所有士兵在城牆上以遠距離武器對抗以雲梯/投石器等兵器以及必須經過爛泥沼澤緩慢前進的秦兵。此時兩軍會是長時間運動戰的拉鋸局面,而且對攻城的一方十分不利。再者,當拉鋸時間越長。時即使秦軍有強大的資源作後盾也未必敵得過易水河河水氾濫的季節。




而人總是有「不理性」的時候,燕國不但沒有用易水長城的防守優勢。而是出兵到易水河西岸與秦軍展開了一埸亳無勝算的戰爭。結果當然是秦軍大敗燕軍和前來支援的代軍,攻陷薊都。最「不理性」的地方是戰敗的燕國處死太子丹,以其首級意圖向秦王求和。結果相信大家也可想而知。

這故事說明了利用別人的不理性可以把敵人擊倒,甚至取勝。我相信不論任何事情上都是如此。
就以今日沙田賽馬日第兩埸賽事為例,以搵銀天皇配合新騎師潘明輝為大熱門(最後賠率為3.2)。與賭人計算出的合理賠率有差異,最後大熱倒灶,也可算是公眾「不理性」的時侯。




PS. 得悉騎師潘明輝墮馬受傷入院,希望早日復!


2017年2月20日 星期一

賭埸老千-工程師化身賭神



相信大家還記得澳門女賭神 贏金沙巴黎人逾億元的傳奇,最近賭人看過一篇同樣是在數日從賭埸贏取過萬的文章,令賭人感興趣的是其手法。

2014年,一名在美國聖路易斯賭埸的會計帥發現賭埸的老虎機在數天內出了問題,由於這些老虎機中安裝的軟件都是經過政府審核和批准的,所以這些機器中的數學計算方法是固定的。這意味著賭場可以精確地知道這些老虎機可以給他們帶來多少利潤,即平均下來玩家每投1美元賭場就可以盈利7.129美分。奇怪的事情發生了,在6月2日和3日這兩天,賭場內有幾台老虎機竟然在沒人中jackpot的情況下吐出了好多錢,技術人員在對程序代碼進行了審查之後也沒有發現任何異常,所以唯一合理的解釋就是:有老千!

賭場保安隨即翻查監控錄像,終於發現了罪魁禍首—男性,三十歲左右,黑色頭髮,身著Polo衫,手拿棕色方形錢包。與大多數作弊者不同的是,這個人並沒有對機器做任何手腳(所有設備均為澳洲Aristocrat Leisure公司所生產的舊款老虎機-Aristocrat Mark六代老虎機)。他與其他玩家一樣,投幣然後按下按鈕,但唯一不同的是他會在遊戲過程中悄悄地拿著他的iPhone手機貼近老虎機的屏幕。

自從2009年開始,俄羅斯就已經成為了老虎機詐騙犯罪滋擾的溫床,當時俄羅斯甚至禁止了國內一切與賭博相關的活動。據報導,當時的俄羅斯總理普京認為此舉可以打壓格魯吉亞犯罪集團,而該項禁令也使得俄境內的數千家賭場不得不以低廉的價格賣掉他們的老虎機。這時,那些老千似乎看到了商機,他們以低價收購老虎機之後,便開始研究如何在這些舊款老虎機的電路板中通過修改遊戲來實現作弊。

pseudorandom number
而令賭人最為着迷的地方也在於老虎機的遊戲結果是由一種叫做偽隨機數生成器(pseudorandom number generators)的程序所控制的(以下統稱為PRNG),要識別出老虎機的運行模式,這非常困難。但由於偽隨機數生成的數字並非真正意義上的隨機。因為偽隨機數生成器是由人類通過編碼指令創造出來的,所以偽隨機數也有其規律可循。例如用時間生成(system clock)的偽隨機數, 令其有機會預測下一個生成的偽隨機數。

例如頂頂大名的TP-Link 路由隨機生成的無線密碼就可以被計算出來,令brute force 的時間由2000年減至數小時。

最後,俄羅斯犯罪集團利用一部Iphone 和Skype 就完成這個浩大的“工程”,其“老千+黑客”也相繼被起訴。有趣的是,老舊的老虎機中的PRNG算法漏洞沒有被修復,仍然為賭埸所用

2017年1月13日 星期五

MLR 賭馬 Part 1




要知道MLR 能否應用到賭馬上, 首先當然是要知what is MLR?  對於未接觸的事物,小弟習慣訴之google / Wikipedia 以找到合適的答案。而google 的search suggest top 10竟然佔了4個與賭馬/賽馬有關。

小弟stat的知識只去到中學程度,加上數學的能力有限,要全完理解Multinomial Logit Regression(MLR)的原理有難度。幸好小弟還識少少program知識,希望對於「practical」上有幫助。但似乎小弟這次想得有點簡單,  打開MLR 的wiki page的後果是一環扣一環的新terms, 在browser 上一個接一個的新tab 以及無止境的閱讀。經過數小時的博鬥,換來的當然不是明白MLR,而是chrome 不勝負荷而crash! 令小弟感到這一切都遠遠超出了自己的能力範圍。

引用Warren F. Kuhfeld一篇文章中的首句”Multinomial logit models are used to model relationships between a polytomous response variable and a set of regressor variables.“。小弟認為這一句勝過千言萬語。

本着越是難,越要解決的精神。小弟決定先做下去,一方面盡可能地解決自己對於這範疇知識貧乏的大問題。對於建立一個完善的MLR model, 需要專業的統計分析軟件:SAS, SPSS, MiniLab, MatLab等都可以做到。小弟有幸用過MatLab, 但其以SAS, SPSS對MLR的support較好(其實只要對mlr有認識,軟件的分別不大),加上SAS University Edition 為免費版本,對於身無分文的小弟最為合適。



小弟嘗試了幾個Logistic Regression的example後,問題又出現了!由於看不到整個程序的過程,小弟對於output的表達全完不明白。看來還是要買有關多統計學/多元統計的書以解決小弟知識貧乏的大問題。


Reerence:
https://en.wikipedia.org/wiki/Multinomial_logistic_regression
https://onlinecourses.science.psu.edu/stat504/book/export/html/171
https://support.sas.com/techsup/technote/mr2010g.pdf
https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_logistic_sect052.htm





2017年1月9日 星期一

賭博方程式 - 計不完?

How did you go bankrupt? Gradually, and then suddenly. - Ernest Hemingway

前文提到,小弟最近看過池兄談及kelly criterion 的一篇文章和Haghani & Dewey的一篇論文 。其論文中提到有趣的觀點-“If a high fraction of quantitatively sophisticated, financially trained individuals have so much difficulty in playing a simple game with a biased coin, what should we expect when it comes to the more complex and long-term task of investing one‘s savings?”
意思大約是相比一些複雜的長線投資,叫一群專業財經人才去玩一個有偏差(結果是不公平的)拋硬幣遊戲有多大的困難?(有興趣的朋友可以到reference 的網頁測試)

以為小弟只是無知才未聽過kelly criterion, 閱讀文章後發現原來包括史丹佛和MIT在內的美國五所高尚學府都沒有提及kelly。這又重燃小弟幾年前的興趣—機會率。

相信很多人都希望一朝致富,以致六合彩、賽馬、抽獎等多年來在香港及世界各地歷久不衰。還記得香港電台製作的實況劇「賭海迷途」,小弟並不是在這以賭為題勸人戒賭。而是對其中一集記憶猶新,並對機會率產生興趣。

賭海迷途 2015

故事大約是溫浩一(溫one),精於數學,同時是電腦高手,是「必勝網」的匿名版主,教人「百家樂必勝方程式」。因為這是勸人遠離賭海的實況劇,結局當然是溫浩一所謂的「樂必勝方程式」只是理論,不能實行。(有興趣的朋友可以到youtube/rthk 重温)但這卻引發小弟思考一個問題—數學幾乎可以套用在各種事情上,在賭博中可否用數學公式預測或作為賭術策略,從而達到必勝?還是像電影-有你終生美麗中的諾貝爾經濟學得獎數學家約翰·奈許/賭徒謬誤,只是他們一廂情願? Scam or not, that is the question!

相信很多賭仔有留意賭博的人,都認識以數學應用於賽馬的幾名賭徒-William Benter, Alan WoodsZeljko Ranogajec,以數學公式應用於21點的Edward Thorp以及MIT Blackjack Team等。這都不禁令人懷疑賭博中是否隱藏着一條必勝的數學方程式。
21 (2008)


跟大部分人一樣,每次遇到問題小弟都會去google。經過一番拼博後,發現大多數的所謂必勝方程式都是中學所學到的基本概率(probability)和統計學(statistic)。但隨着社會越來越複雜,賭徒們把數學應用到賭術的難度亦隨之而上升。例如賭徒秘笈「計得精彩」和blogger – 池兄的「積微錄」等,小弟都覺得是學術性質高於賭博的作品。為了提高勝算而達至贏錢的目的,連pure maths 甚至大學程度的數學/經濟學理論如Integral,Differential,Statistical model等都搬了出來,小弟真心服到五體投地!(但這一切你叫只有<=F.5-7程度的賭仔情何以堪呢⌣́_⌣̀)

LoL
而當中最為人知的是MLR (multinominal logistic regression) 應用到賽馬之上,小弟才疏學淺,這個term 也是第一次聽(可能聽過,但唔記得)。Google 後更是令愚蠢的小弟目定口呆(對於未學過/未見過的範疇,小弟都認為,都係識就笑死,唔識就嚇死),但越是難,越要解決。正好又是小弟無所事事的時候,把這一切當作小弟2017的第一個personal project 來研究就最好不過。

Reference:
- https://www.youtube.com/watch?v=R3v-9MIaJos 
          賭海迷徒 #3: 計不完
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2856963  
           Haghani & Dewey 2016
http://poolshunter.blogspot.hk/  
         積微錄
- https://zh.wikipedia.org/wiki/%E8%B3%AD%E5%BE%92%E8%AC%AC%E8%AA%A4
          賭徒謬誤
http://www.worlds-greatest-gamblers.com/
           greatest gamblers
-  http://coinflipbet.herokuapp.com/
          Coin Flip test

footnote 1:
 "We reviewed the syllabi of introductory finance courses and
elective classes focused on trading and asset pricing at five leading business schools in the United
States. 18 Kelly was not mentioned in any of them, either explicitly, or by way of the topic of
optimal betting strategies in the presence of favorable odds."     -Haghani & Dewey 2016

2017年1月7日 星期六

集思廣益

小弟素來對有興趣的事物投放精神鑽研,其中以未知/未學過的事物興趣為深。小弟自問資質平庸,才疏學淺。但本着「越是難,越要解決」的格言,不斷學習/研究。 其中研究的topic 有電腦、數學、科技,當然也包括這blog的主題賭。多年來,有興趣的事物用紙筆記錄,加以研究。因為各種原因,其實是懶,小弟並沒有寫blog的習慣。但由於研究的過程都係只有自己單打獨鬥,根本不知對錯。有些甚至多年後先發現其實係錯,白白浪費時間精神。
加上最近看過的一篇paper(Haghani & Dewey)和一些blog。經過反覆的掙扎思量後,都係決定寫一個自己的blog,記錄自己personal project研究的過程,對錯則由大家衡量。希望經過高人批評指引後,有集思廣益之效。
由於小弟中文差,有時文章結構奇怪,文筆不好,詞不達意請見諒,你就當是我自己的「賭人瘋語」吧!