2022年11月24日 星期四

資金管理策略研究 - 馬丁格爾法 vs 反馬丁格爾法

這幾年下來, 自己在投資方面一直都是歐印流, 只要存夠一筆錢就匯到美股戶頭買股票, 就算出清持股也會立刻轉換其他標的, 畢竟完全不覺得自己在擇時進出交易這件事有優勢... 不過今年因為開始研究選擇權模型, 無可避免的一定會接觸到槓桿, 所以開始想認真研究資金管理策略。 而第一個想研究的策略, 就是鼎鼎大名的馬丁格爾策略。

馬丁格爾策略(Martingale)也被稱為賭博必勝法, 原理也很簡單, 虧損時加碼, 獲利時減碼。 只要下注輸錢了, 下一把就加倍籌碼賭回來, 不管輸幾次, 只要贏一次就把前面輸的全都賺回來了, 當然我們知道現實上不太可能這麼美好, 主要原因如下:

1. 玩家沒有無限的資金 or 信用可以借貸, 連續輸的次數可能超過你的想像, 如果有詐賭就更是如此了。

2. 莊家對最大投注是有設上限的, 即便你有資金也不會讓你這樣下注, 而投資市場也是一樣, 市場不一定有這麼高的流動性可以讓你交易 (當然小散戶幾乎不太需要擔心這問題)。

簡單來說就是現實世界中你不一定每次都能凹到贏的那一次, 而只要一次失敗了, 就幾乎等於GAME OVER了, 當然現實中真的使用馬丁格爾投注法也不會真的去用倍倍投注法, 不過真的遇到非預期的連輸時也會造成資產的大幅虧損。


理所當然的, 之後又衍生出另一種反馬丁格爾策略(Anti-Martingale), 顧名思義跟馬丁格爾策略相反, 虧損時減碼, 獲利時加碼, 當然這就更不可能用倍倍投注法了, 畢竟不管贏幾次, 只要輸一次就真的破產了, 不過在有趨勢的情況下, 反馬丁格爾投注法可以放大獲利, 減少虧損, 也是一般投資書籍裡比較建議的投資策略。

關於馬丁格爾&反馬丁格爾策略就簡單介紹到這, 有興趣想了解更多可以自行Google, 網路上有更多豐富的介紹。 而這次想做的就是在投資市場跑回測看看, 將馬丁格爾 & 反馬丁格爾策略套用到資金管理上效果會如何, 就決定寫個回測系統來驗證看看了。


寫好的程式如下:

這個程式主要是用 backtrader 這個回測套件開發, 會選backtrader最主要就是看github星星的數量, 再加上他的討論區還蠻熱絡的, 網路教學也多, 就決定用這套件了, 實際上也真的超好用, 該有的功能幾乎都有了, 我只要包裝一下專注寫策略就好。


這次回測的馬丁格爾策略邏輯如下:
  1. 最低至少會維持20%資產部位在市場上
  2. 看過去252天的最高收盤價(1年), 如果從最高點下跌5%, 就加碼到40%資產部位
  3.  看過去252天的最高收盤價(1年), 如果從最高點下跌10%, 就加碼到60%資產部位
  4.  看過去252天的最高收盤價(1年), 如果從最高點下跌15%, 就加碼到80%資產部位
  5. 看過去252天的最高收盤價(1年), 如果從最高點下跌20%, 就加碼到100%資產部位
  6. 如果是反向上漲, 碰到上述的門檻值就會調整回對應的資產部位
  7. 為了避免流動性問題, 設定一天交易最多5%資產部位
  8. 為了避免市場一直在策略的交易門檻不斷震盪導致過度交易, 設定5%的門檻誤差, 有超過門檻誤差才會真的交易
  9. 回測交易從2000/01/01到2021/12/31, 因為交易第一天要先看過去252天的歷史資料, 所以實際上回測資料是使用1999/01/01到2021/12/31
  10. 因為這次的回測只是想比較資金管理策略, 並沒有要真的做交易, 為了避免太複雜就不設定手續費, 滑價等因素

而反馬丁格爾策略則跟上面的策略參數全部一樣, 唯一不一樣的是看的是從過去252天的最低收盤價(1年), 如果從最低點上漲X%, 就加碼到Y%資產部位。

分別對標準普爾500 ETF(SPY), 那斯達克100 ETF(QQQ), 英特爾(INTC), 花旗銀行(C)跑回測程式, 最後跑出來的回測結果如下:


首先來看看SPY的回測結果, 看起來歐印的累積報酬最高, 而反馬丁格爾稍差一些, 可是反馬丁格爾策略的最大回落只有37%, 而歐印則有54%, 這代表反馬丁格爾策略有達到我們希望的減少虧損目標, 虧損風險比歐印以及馬丁格爾策略小得多。



那為什麼馬丁格爾策略累積報酬這麼低呢? 20年下來的累積報酬足足小3倍左右, 最大回落也只比歐印好一點點, 來看看回測的線圖:


下圖的五個區間藍色線就是馬丁格爾策略的交易觸發門檻, 綠色指標是買進, 紅色指標是賣出, 可以看到他的確是在價格下跌時買進, 上漲時賣出, 可是最大的問題在於, SPY這20年是長期上漲的趨勢, 這導致馬丁格爾策略沒辦法有效利用資金, 上圖的紅線是現金水位, 藍線是總資產水位, 可以看到紅線在大多數時間都是維持在高檔, 代表馬丁格爾策略因為價格一直上漲的關係, 所以一直維持高現金水位, 導致沒辦法享受到這波大多頭的獲利。

再來看看反馬丁格爾的回測線圖:


可以看到上圖的紅線幾乎都維持在低檔, 代表反馬丁格爾策略有充分運用資金交易, 而在2020年3月那波疫情大跌時也有快速減碼, 之後V轉時也有快速加碼回來, 在這種趨勢明顯的標的上可以說交易的非常漂亮, 不過因為跟歐印相比還是沒辦法充分利用資金, 所以累積報酬還是小輸一點點, 可是最大回落小17%對比較在意風險的投資人來說個人覺得是非常有吸引力的。


再來看看科技股ETF的QQQ, 首先累積報酬竟然比SPY還差, 原因在於2000年網路泡沫的關係, 如果我們把回測資料往後延兩年, 反馬丁格爾策略的累積報酬SPY會從343%->434%, QQQ則是從312%->830%, 大幅超過SPY, 這表示像QQQ這種高波動的成長股, 如果你從高點歐印的話, 可能得花10年的時間才有機會損益兩平, 而且即便是反馬丁格爾策略, 最大回落也高達73%, 等於你要有資產虧損7成也抱得住的心理準備, 才有機會享受之後的大多頭獲利。




至於為什麼馬丁格爾策略在QQQ的累積報酬竟然只有49%, 比起SPY更是驚人的少, 來看看回測線圖:


顯而易見很淒慘的, 它在第一波下跌時就幾乎加碼光了(畢竟是設定成最大下跌20%就歐印), 等於之後的更大波下跌它都是用100%本金去虧, 而之後終於開始多頭了, 它卻也早早的減碼了, 在一直維持高水位現金的情況, 完全沒辦法享受到科技成長股的大多頭報酬...。


看完最主流的ETF之後, 再來看看馬丁格爾策略套用在個股交易的情況吧, 因為上述的ETF都是成長趨勢, 所以個股就不挑持續上漲的公司了, 這邊先選擇英特爾(INTC)作為回測對象, 雖然是晶片龍頭可是早早就已經是成熟型公司, 所以股價幾乎都是一直盤整, 更不用說這幾年還被AMD一直搶市占...


這次馬丁格爾策略終於扳回一城了, 累積報酬跟最大回落都顯著贏過歐印 & 反馬丁格爾策略, 來看看回測線圖:


可以看到INTC因為幾乎都是在盤整, 即便有趨勢也是一直以盤整漸漸上漲的趨勢, 所以馬丁格爾策略就會一直低檔買進高檔賣出, 看上圖紅線現金水位一直有變化, 代表它有在積極運用資金, 所以報酬就相當不錯(不過也是大輸SPY & QQQ ETF就是了XD)

再來看看反馬丁格爾策略的回測線圖:


看上圖的紅色線一直維持低檔, 代表它也是很積極地運用資金, 可是一直在高買低賣, 不斷的被割韭菜, 所以交易績效理所當然的爛到爆...。

看完INTC後, 最後來看看花旗銀行(C)吧:


所有策略的績效幾乎都一樣爛, 20年下來還虧60~70%, 會故意挑這檔主要是故意想挑個有死亡風險的公司, 因為花旗銀行金融海嘯時, 股價從50塊跌到剩1塊(調整後價格則是從500塊跌到25塊), 最大回落將近98%, 要是你2008年前歐印的話, 2008年後只會剩2%的資金, 而之後過12年股價最多也才漲3倍, 如果是只做多頭策略, 就算是神仙也難救了。

不過這邊就有個奇怪的點, 歐印跟馬丁格爾策略會直接死亡沒錯, 目標是縮小虧損的反馬丁格爾策略為什麼也損失慘重呢, 來看看回測線圖:


看線圖其實很清楚了, 在金融海嘯那波大跌, 其實也夾雜著好幾波大漲, 所以反馬丁格爾策略在那段時間也傻傻地跳進去交易, 總資產水位的藍線也在2008年直接接近死亡...。


回測跑到這邊, 對馬丁格爾&反馬丁格爾策略, 大概有以下心得:

1. 如果你交易的是大盤指數ETF (SPY, QQQ), 因為科技長期是進步的, 經濟長期是成長的, 只針對投資報酬的話歐印是最好的策略, 如果想降低最大虧損風險的話則可以考慮搭配反馬丁格爾策略。 當然如果是有顯著趨勢的成長股也很適合反馬丁格爾策略, 前提是你非常相信它未來真的會長期上漲。

2. 如果你交易的是比較成熟產業的公司股票, 尤其是大多數時間都在盤整的公司股票, 那馬丁格爾策略會是不錯的選擇, 不過如果盤整的幅度不夠大的情況, 那績效可能完全比不上直接買大盤。

3. 面對死亡性風險, 單一公司炸掉的情況不管怎樣只要是多頭策略都沒用, 分散投資降低非系統性風險才是最重要的。


另外之後還有不少想研究的課題:

1. 這次的回測是在不考慮槓桿只用現有資金交易的情況, 所以很大情況馬丁格爾策略會不好是因為沒辦法有效利用資金, 可是如果是針對複合投資部分做資產再平衡, 不知道馬丁格爾策略跟反馬丁格爾比較的結果如何, 之後有時間打算也來測試看看。

2. 想針對槓桿的部分繼續做資金管理的策略研究&回測, 在設定最大維持率的情況下, 馬丁格爾策略跟反馬丁格爾策略表現又會如何, 感覺十分有意思也想測試看看。

3. 這次的策略參數都是自己憑直覺定義的, backtrader也有簡單的tune參數方法, 針對不同的投資標的本來就有不同合適的參數, 根據波動性決定策略參數這塊也蠻有意思的, 之後也想研究如何找出策略合適的參數。

這次的分享差不多就到這裡, 感覺要研究的東西好多, 希望能有更多成果, 能對自己的投資績效改善有幫助的話就更棒了XD

2022年11月5日 星期六

[網站開發] 2022年最有價值品牌 (Norn-StockScreener投資網站開發)

接過去兩篇:

* [網站開發] 透過Clarivate百大創新機構報告尋找投資標的

[網站開發] 透過最有價值品牌尋找投資標的


之前有整合2021年最有價值百大品牌的資料到投資網站上, 最近發現Interbrand發佈2022年度最有價值品牌了, 就花了點時間把新資料整合進來。

Interbrand - Best Global Brands網頁連結:
https://interbrand.com/best-global-brands/


Norn-StockScreener投資網站: https://norn-stockscreener.zmcx16.moe/ranking/

Github: https://github.com/zmcx16/Norn-StockScreener



網站基本介紹就不多提及了, 想知道更多細節可以參考之前的文章或是自行Google, 關於這次2022年的百大品牌, 基本介紹網站的連結都有, 想看更多細節的話也可以填一填資料下載整份報告, 下圖是2022年報告入榜的新品牌:


這次入榜的有airbnb, 紅牛以及小米, 至於最重要的投資這塊, airbnb有在那斯達克上市所以可以投資美股, 紅牛的話很遺憾是私營公司沒有公開上市, 而小米則是美股有ADR, 可是只有OTC場外交易, 交易量少得可憐, 基本上不建議接觸場外交易, 所以認真說只有airbnb有機會投資。

看了下YAHOO財經, airbnb近一年的盈利很不錯, 獲利有持續成長, 這週財報公布Q3獲利也很亮眼, 有興趣的話也可以上財報狗看一下電話會議記錄:
https://statementdog.com/analysis/ABNB/earnings_calls/237604

airbnb上市才兩年左右, 然後P/E跟P/B也特別高, 是標準的成長股, 以現在的價格來說在歷史低點是蠻誘人的, 只是成長股的估值真的很困難, 我應該會再研究看看, 有機會的話可能會挑低價小投資試水溫看看吧, 畢竟疫情應該不可能回到2020年那種大恐慌了, airbnb應該不會再發生因為疫情導致大虧損...。


另外這份報告也有針對品牌價值的成長做排行:


微軟打敗了亞馬遜成為了品牌價值第二名, 我猜想有八成原因是近年Azure的成長比AWS快速不少的關係, 至於其他的就不一一介紹了(研究這麼多太累了...), 以我個人來說, 我會先用自己的投資網站做排序, 找跌幅最深 + 品牌價值又有持續成長的公司, 有找到後才會在研究這間公司是不是值得投資:



用自己做的投資網站排序後, 今年度跌最深 + 品牌價值有持續成長的公司有PayPal, Nike, Sony, Salesforce, Youtube (Google), Tesla, Ford, etc...。 目前我是有投資Nike, Sony則是有嘗試交易價外賣權賺權利金, 至於其他標的的話, PayPal因為成長趨緩導致今年跌幅超大讓我很想試著撿便宜, Salesforce跟Tesla則是太難估值基本上不考慮, 目前應該會在挑個幾檔放到我的選擇權清單, 如果有划算的合約在交易看看吧!

2022年10月2日 星期日

[個人網站開發] 新增持股相關企業-近期業績公布日資料

最近又到美股財報季了, 由於現在個人持股已經到22檔, 管理上越來越困難, 尤其是財報季的時候, 通常在自己持股的公司公布財報前, 我也會想知道相關產業的公司業績如何, 提前知道相關產業的營運績效, 心裡對自己持股的公司的產業情況也比較有個底, 提前當作參考做個心理準備也好~。

要做這個也很簡單, 寫個爬蟲抓YAHOO財經的資料, 先抓自己持股頁面的類似公司有那些, 然後再跳到那頁面抓取業績公布日就好, 之後就把資料丟到個人網站上, 整理後結果大概就像這樣:


個人網站頁面: https://project.zmcx16.moe/?page=investment-stocks
Github: https://github.com/zmcx16/zmcx16.github.io

上面的Similar就是我的持股標的, Date跟Symbol則是Yahoo分類的該公司的類似企業的股票代號以及業績公布日, 而Similar顯示"-"的則代表那標的就是我持股的業績公布日, 點擊後就會跳到Yahoo財經對應的頁面, 簡單寫個小爬蟲以後就能輕鬆許多XD 


最後稍微分享下這次的小爬蟲程式, 程式碼如下:
https://github.com/zmcx16/zmcx16.github.io/blob/master/.github/script/build_similar-earning-data.py


程式是直接打https request到Yahoo財經個股首頁抓網頁內容, 不使用yfinance是因為雖然yfinance可以查詢業績公布日, 卻沒辦法取得個股相近的股票代號, 所以沒辦法只好打https request取得整個網頁檔再自己寫parser。

運氣好的是, Yahoo財經擋爬蟲做得很陽春, 只要request header有帶user-agents就不會特別阻擋(沒帶的話會回404 error, 做這麼簡單的方式真棒XD)。 然後可能Yahoo財經是老網站了, 前後端分離做得很陽春, 個股首頁的資料沒有獨立成API(其他頁面有), 可是也不是純SSR (Server-Side-Rendering), html網頁碼長得像這樣:


所有資料直接以dict的形式塞到root.App.main變數裡, 我連寫regular expression都不用, 直接抓這一行再把頭尾去掉再當json載入就好, 個股首頁所有用到的資料都放在這裡, parser可以寫這麼輕鬆真的是太棒了XD

這次分享差不多就到這邊, 美股最近依然持續大跌, 希望能稍微跌慢點, 這樣我才有加碼的機會啊~~~。

2022年9月24日 星期六

[網站開發] 美股選擇權定價模型 - 新增業績公佈日 / 除息日 / 行權機率

最近在交易選擇權時, 有時會看到模型的分數後就草草交易, 沒有多花時間確認近期新聞 / 合約到期日前是否會公布業績 or 除息, 導致交易到一些看似勝率高, 結果反而是風險高的合約, 為了避免之後再遇到這種情況, 就決定把業績公布日 / 除息日也整合到選擇權頁面, 這樣就不用為了這些資訊每次都去Google查詢, 也不會忘記查詢相關資料 + 節省更多時間。

關於資料取得方面, 業績公布日是從YAHOO取得, 而除息日YAHOO的資料通常是最近一期的除息日, 可是這資料對選擇權來說根本沒意義, 有意義的是近期公布的未來除息日, 這個資料可以從這網站取得:

https://www.dividend.com/ex-dividend-dates/

整合到網站後成果如下:

Github:

https://github.com/zmcx16/Norn-StockScreener

https://github.com/zmcx16/Norn-Finance-API-Server


Norn-Stockscreener選擇權估值頁面:

https://norn-stockscreener.zmcx16.moe/options/



如果業績公布日 or 除息日在選擇權合約到期前的話會用紅色特別標註, 如果是已經過了或是沒有資料就不顯示, 這樣就可以快速知道這個合約的價格是不是因為這些事件的關係所以才有高溢價 / 折價, 如果有的話就不能單純相信模型算出來的分數。

另外因為業績公布日這資料是透過YAHOO取得, 而YAHOO要是爬蟲抓資料太頻繁會被ban ip, 所以這個欄位我只實作在Self Query以及自己的個人網站上, 主頁面的資料是取自marketwatch, 就不支援了...。


此外, 這次也多加了一個行權機率的欄位, 會加這個欄位主要是因為, 凱利公式如果計算出的建議下注比率分數很高, 有可能是高勝算高獲益 or 高勝算低獲益 or 低勝算高獲益, 可是大多時候比起最終的建議下注比率分數, 我更傾向只交易高勝率的合約, 如果今天凱利公式的分數高是因為合約價格溢價太高但是勝率並不高, 那我可能會更傾向不交易這個合約, 這時候如果有單純的行權機率可以參考的話對我的幫助很大。

其實真的要看行權機率, 單看Delta也可以間接知道這合約的行權機率, 不過Delta這數字對我不太直覺, 所以還是想要一個真實的機率值。至於這機率值的計算方式就是單純用蒙地卡羅模擬股價變化直到合約到期日, 然後再計算行權數 / 模擬次數就好, 直接簡單易懂XD


這次分享差不多就這樣, 再來有空也會繼續搞新東西, 希望今年績效能早點轉正阿~。

2022年8月28日 星期日

[網站開發] 美股選擇權定價模型 - 新增隱含波動率計算凱利公式

接前篇: [網站開發] 美股選擇權定價模型 - 用蒙地卡羅模擬計算凱利公式

之前做的美股選擇權估值模型中, 計算凱利公式時用到的蒙地卡羅公式中的標的資產波動率, 是使用該對應資產的指數加權移動平均歷史波動率計算出來的, 藉由波動率模擬標的資產的價格變化, 來計算選擇權到期時預期的獲利或虧損來計算公式。 

不過畢竟歷史波動率是過去的資料, 過去的波動率也不能代表未來會一樣, 資產價格的變化也不是常態分布, 所有的估值模型也只能做為參考, 不可能有精確預測未來的模型, 不過只要衡量的估值跟真實的價值誤差能減少, 對於投資交易的績效改善應該就十分有幫助了。

至於這次想做的, 只是想多個相對的交易參考點, 之前做的蒙地卡羅資產模擬是完全用資產標的的過去資料(歷史波動率)模擬資產價格的變化, 如果用選擇權合約的隱含波動率來模擬的話, 效果會如何呢, 關於選擇權合約的隱含波動率介紹, 可以參考市場先生下面這篇文章:

隱含波動率vs.歷史波動率》一次看懂兩種波動率該如何使用


隱含波動率簡單來說, 就是把合約的現在價格, 套用既有的選擇權估值模型, 去反推公式中的輸入參數波動率是多少, 這樣反推出來的波動率就不是輸入參數, 而是輸出結果, 而這輸出結果也可以間接表示當前市場的情緒所反映的標的資產預期波動率。

通常來說, 選擇權的隱含波動率跟標的資產波動率應該是無關的, 每個合約都有自己的價格, 所以也都會有自己的隱含波動率, 可是標的資產只有一個, 所以真實的波動率也只會有一個, 這樣想想拿選擇權的隱含波動率去套用在標的資產的價格模擬上是件很奇怪的事。 

不過實際上來說, 標的資產價格跟標的期貨價格以及標的選擇權合約的價格本來就是息息相關的, 投資人在買期貨或選擇權時會以現在的資產價格做參考基準, 反之在買進資產時也可能會參考目前期貨或選擇權的價格來決定是否要交易, 也會透過買期貨或選擇權幫現貨避險, 甚至是尋找現貨跟期貨跟合約的折溢價做套利交易, 所以某方面來說, 透過隱含波動率來模擬標的資產價格其實也是可以作為一種交易的參考(至於相關性多高, 有多大的參考價值又是另一回事就是)。

這樣分析下來, 用隱含波動率去做標的資產價格模擬雖然可能有參考價值, 但好像比歷史波動率相關性還低, 那為什麼要這麼做呢? 最主要的原因是, 用歷史波動率是用過去資料做估值計算; 而用隱含波動率則是可以用現在的市場預期價格(情緒)換算出來的波動率做估值計算。 這樣我的估值模型就多了一個可參考的點, 歷史波動率算出來的估值模型是用過去資料模擬的結果; 隱含波動率算出來的估值模型則是用當下市場資料模擬的結果, 我可以只專注交易這兩種結果勝率皆高的合約來改善自己的投資績效。 

做出來的成果如下:

Github:

https://github.com/zmcx16/Norn-StockScreener

https://github.com/zmcx16/Norn-Finance-API-Server


Norn-Stockscreener選擇權估值頁面:

https://norn-stockscreener.zmcx16.moe/options/


因為每個選擇權合約都有自己的隱含波動率, 要把所有合約都跑標的資產的蒙地卡羅模擬計算量太大了, 所以這次做的凱利公式(隱含波動率) 只支援Self Query即時打API的功能, batchjob跑所有合約的就不提供了。

首先來看看上週五跌超慘的3M (MMM)吧, 3M這麼有名的公司就不介紹了, 直接看估值模型跑出來的賣權合約結果:



綠色框起來的部分是標的資產的歷史波動率, 以及用歷史波動率計算出來的凱利公式(EWMA)下注比率, 歷史波動率都一樣是因為這是用標的資產的歷史資料算出來的, 不會因為選擇權合約的不同有所不同; 藍色框起來的部分則是該合約的隱含波動率, 以及用隱含波動率計算出來的凱利公式下注比率(IV)。 可以看到因為隱含波動率比標的資產的歷史波動率皆大得多, 所以計算出來的凱利公式(IV)的投注率跟凱利公式(EWMA)相比皆低得多, 要做賣出賣權的話可能就得考慮一下, 至於為什麼會落差這麼大, 可以看看近期3M的股價走勢:

上週五有一根超級大跌, 原因Google了一下, 除了上週五美股大跌以外, 3M這邊有個新聞:

破產聲請遭駁回 3M撇不開耳塞案賠償重挫近10%

看起來是法官駁回3M子公司的破產保護, 可能導致3M面臨大規模的耳塞瑕疵索賠, 這消息直接反映在3M的股價以及選擇權合約的價格上, 所以選擇權估值模型計算出來的凱利公式(IV)的投注率才會低得多, 以歷史波動率來說即便是指數加權平均, 這種單一根大跌也很難反應在整體的波動率上, 如果只看凱利公式(EWMA)下注的話風險就會高得許多。

再來看看美股版的中華電信AT&T: 



隱含波動率跟歷史波動率落差沒有很大, 所以計算出來的凱利公式也差不多, 這代表市場現在預期跟標的資產過去表現差異不大, 像這類的個股就比較好估值, 會出現非預期的大風險的機率也比較小。

這次分享差不多就到這邊, 最後說個題外話, Norn-Finance-API-Server的Self Query目前是接在免費的Heroku服務上, 可是Heroku今年11月28號後就要取消免費了, 所以Self Query這個功能不確定會不會繼續免費開放, 如果有找到其他免費的代管server會考慮再搬過去, 殘念哪...

https://blog.heroku.com/next-chapter




2022年8月13日 星期六

MahoMangaDownloaderVer16.8 & 16.9更新

有使用者後續反應copymanga幾個問題, 一個是章節標題有"-"後面會自動被截掉的問題, 另一個是有機率新增漫畫時會卡很久然後跳空白清單, 第一個問題算好解決, parser改個地方換個寫法就好, 後者就很麻煩, 應該是有防爬蟲機器人的邏輯, 總之也只能試著繞過看看了..., 目前自己測試應該是有改善不少...。

Ver16.9 更新內容:

* 修復copymanga章節標題有"-"標題會被截掉問題

* 改善新增漫畫時機率性跳出空白清單問題


檔案位址:

https://drive.google.com/file/d/10FsEGc-jlqslplyuvYiKIAFL4YUJ5DYQ/view?usp=sharing

32位元版本:

https://drive.google.com/file/d/10O26LdMcnJrLsDEwvxmUzdgZUvLsn8He/view?usp=sharing


2022年7月4日 星期一

MahoMangaDownloaderVer16.6 & 16.7更新

今天有使用者反映漫畫櫃下載的圖片都不能看, 可是舊版可以, 看起來應該是16.6版為了某些不能下載的webp漫畫修改的header造成的, 不過我也沒辦法reproduce, 所以要改也很兩難, 太多特殊個案了...。 總之先改成, 用舊版的header先下載, 失敗的話再用新header下載了, 遇到這種沒辦法reproduce + 部分特殊邏輯的問題真的覺得很麻煩...。

Ver16.7 更新內容:

2022年6月5日 星期日

[網站開發] 透過Clarivate百大創新機構報告尋找投資標的

接前篇:

[網站開發] 透過最有價值品牌尋找投資標的 (Norn-StockScreener 新增Ranking Indicators頁面)

上篇文章提到透過Interbrand每年的最佳品牌報告尋找投資標的, 以品牌作為投資的參考指標, 這次則是想新增以創新為主的指標, 研究了一下發現可以參考Clarivate每年的全球百大創新機構報告:

Clarivate (科睿唯安, 原湯森路透智慧財產權與科技事業部, 擁有超過60年的專業服務經驗) 是一家獨立的公司(美股代號: CLVT),擁有並經營著一批以訂閱為基礎的商業服務,主要為全球客戶提供科學和學術研究、專利分析和監管標準、製藥和生物技術情報、商標保護、品牌保護和智慧財產權管理等服務。

以下為入選Clarivate 2022年創新百大機構的清單:

https://clarivate.com/zh-hant/top-100-innovators/the-top-100/?clv-award-year=2022



另外網站上也可以直接下載整份年度報告, 裡面除了百大創新機構清單以外, 還有一些他們如何選出這些機構的評量指標, 基於產業 / 地區 / 國家的創新排名, 以及總結&未來預測等等, 整份報告只有28頁而且有中/英文版, 有興趣的人也可以下載看看(下載要填註冊企業相關資料, 我是當個人企業在填, 只要有填就可以下載了)。


另外分享一些在整理這份創新機構清單時&網站整合時的小心得:

1. 因為研究對象是創新機構, 所以入選的機構不一定會是上市公司企業, 例如今年入選的機構有法國國家科學研究中心、原子能和替代能源委員會以及工業技術研究院(沒錯, 就是台灣的工研院! 我看到的時候也嚇到了...)

2. 有些機構雖然是公司企業, 可是不一定有上市, 有上市也不一定在美股有ADR, 像這種機構就跟之前整合品牌指標到網站上時一樣, 股票代號會以"-"表示, 如果是有上市但美股ADR沒有, 一樣還是可以看到股票代號, 不過相關的基本面以及績效資料就不會顯示在整合網站上。

3. 跟之前整合品牌指標時不同, 創新指標的入選機構有非常多化學、工業、電子、半導體等產業, 其實也不意外, 創新跟專利&智慧財產權是密不可分的, 而化學、工業、電子、半導體等產業競爭當然特別重視專利跟智慧財產權這塊。

4. 2022年的入選機構增加了特別多的汽車&電子製造&半導體機構, 電子&半導體機構不說, 汽車產業有這麼多公司入選讓我蠻意外的, 或許這代表現在傳統的汽車大廠真的認真在研發電動車領域了, 或許也是一個投資的好機會。

5. 因為Clarivate百大創新機構報告沒有對入選機構特別做排名, 可是我還是想排序, 所以就以這11年下來入選幾次做為排序的基準了。


最後整合好的頁面如下:

Norn-StockScreener投資網站: https://norn-stockscreener.zmcx16.moe/ranking/

Github: https://github.com/zmcx16/Norn-StockScreener


總共有21個機構並列第一, 都是連續11年入選百大創新機構的企業。 而74名後的27個機構則是今年第一次入選的機構, 裡面有不少台灣的電子產業公司以及全世界各大傳統汽車公司。

這次分享差不多就到這, 不過還是老話一句, 跟品牌指標一樣, 創新指標只能做為參考用, 持續創新的公司不代表就會有競爭力&持續成長&賺大錢, 還是要做各方面的研究後, 在決定是否要投資這間公司!

2022年5月22日 星期日

[網站開發] 透過最有價值品牌尋找投資標的 (Norn-StockScreener 新增Ranking Indicators頁面)

最近看的投資理財的書, 有介紹到一些不錯的尋找優良公司投資的方法, 像是透過公司品牌價值、研發佔營收比例等等, 覺得蠻有意思的, 我自己主要是透過自製的選股工具找好標的, 可以做基本面條件過濾(P/E, P/B, ROE...etc), 也可以用多因子選股模型計算個股分數(價值因子, 成長因子, 動能因子...etc), 或是就挑一些自己熟悉的公司, 而像品牌價值這種主觀性很高的指標, 就沒辦法直接套用到我目前的選股工具上。

既然沒辦法做進去, 那乾脆就開個新頁面吧! Ranking Indicators這個頁面我打算就用來表示一些特殊指標挑出來的公司, 一方面透過這些獨特的新指標, 可以讓我的資產更多樣性; 另一方面我也可以藉此學習更多基本面, 技術面以外的領域, 讓投資方法更多元化!


Ranking Indicators頁面第一個整合的指標: "Interbrand - Best Global Brands", Interbrand成立於1974年, 是全世界最大的綜合性品牌諮詢公司, Interbrand每年都會公布世界最有價值品牌排行榜, 而品牌這個價值也是財報的資產負債表上看不到的, 就像蘋果(AAPL)的P/B高達33, 但是蘋果也已連續九年位居全球最有價值品牌榜首, 不能單從P/B就覺得蘋果的股價太高, 蘋果的最大資產並不是他的固定資產或浮動資產, 而是品牌&設計&技術力, 就算是一塊眼鏡大小的擦拭布, 蘋果賣600塊台幣還能大熱銷, 只能說真的超神XD

Interbrand - Best Global Brands網頁連結:
https://interbrand.com/best-global-brands/



幾乎都是耳熟能詳的品牌, 點擊對應的品牌, 還可以看到這個品牌的介紹以及歷年來估計的品牌價值, 像剛剛提到的蘋果, 品牌價值一直是顯著上升, 尤其是iPhone & Mac筆電上市後, 品牌價值的成長速度更是顯著提升。


再來就是想要怎麼把這些品牌, 連結到投資上了, 要做的方式其實很簡單, 找出這些品牌的公司, 並看看對應的公司能不能投資, 有沒有在公開市場上市這樣, 下面分享下整理後的一些心得:

1. 有些品牌是私有公司持有, 並沒有在公開市場上市, 像是Chanel(香奈兒)、IKEA(宜家家居)、LEGO(樂高)、Cartier(卡地亞)、Huawei(華為), 像這種情況就不用想投資了~。

2. 有不少公司不在公開市場交易, 只有場外交易(OTC), 而且成交量可能極低, 不一定適合一般散戶投資人買賣。 (100個品牌中就有30幾個品牌是這樣, 靠品牌賺錢在公開市場募資的必要性大概也不大, 有價值的品牌本身就是一個不需競爭的強大優勢)

3. Louis Vuitton(路易威登) 除了自己的品牌, 還有Tiffany & Co.(蒂芙尼), Hennessy(軒尼詩), Sephora(絲芙蘭); 而Dior(迪奧)又有LVMH(路易威登)大多數的股權, 這些奢侈品品牌在過去不斷的併購結合, 感覺真的蠻可怕的..., 畢竟都是自己人, 定價權就在自己身上了...。


再來是整合的部分, 因為Interbrand的資料是品牌價值, 不是上市公司, 所以要連結在一起總會有些障礙或限制:

1. 品牌持有是私有公司的部分, 股票代號會直接顯示: "-"。

2. 品牌對應的公司已被收購, 會直接用母公司的股票代號代替。

3. 目前我的資料庫並沒有場外交易(OTC)的資料, 所以大概有1/3的品牌只提供股票代號, 沒有基本面以及績效資料。

4. 基本面跟績效資料非實時更新, 更新頻率為每日一次。


最後整合好的頁面如下:

Norn-StockScreener投資網站: https://norn-stockscreener.zmcx16.moe/ranking/

Github: https://github.com/zmcx16/Norn-StockScreener



首先簡單來試用一下, 今年股市像溫水煮青蛙, 大盤一直跌, 來看一下在大盤一直跌的情況下, 這百大品牌的公司誰績效最好:


今年績效最好的分別是家樂氏、嬌生以及可口可樂, 感覺也完全不意外, 畢竟民生必需品最抗跌, 投資市場再慘通膨在誇張, 也還是要吃飯啊...。


今年跌最慘的是Netflix, 畢竟今年Netflix訂戶大量流失導致股價大跌, 加上升息關係科技股一片血海也不意外阿...。中間多一個Ford福特汽車倒是讓我蠻意外的就是。

關於這頁面的使用方法, 以我個人來說, 大概會幾個禮拜或一個月來看一下這頁面, 看一下這些公司有沒有便宜可以撿, 並分析一下對應的品牌有沒有可能繼續成長或衰退的可能, 做為多元投資的其中一個參考項目。


這次分享差不多就到這, 不過最後想多分享一個自己的想法, 畢竟品牌跟公司營運不是絕對的關係, 有可能品牌價值一直成長, 公司卻一直虧錢; 或是品牌價值已經開始走下坡下跌了, 公司營運或財報上卻可能還看不出有什麼端倪, 建議如果想從品牌價值尋找投資機會的話, 還是要充分做好基本的調查跟分析。 如果品牌價值持續成長當然很好, 不過記得要看一下這間公司目前營運如何, 股價最近有沒有被炒作太高; 如果一間公司你很想投資, 可是品牌價值開始停滯不前甚至開始下滑的話, 最好再多考慮一下, 是不是這間公司開始走下坡了, 多思考研究一下後再做投資決定。


2022年5月6日 星期五

MahoMangaDownloaderVer16.5更新

這次更新主要是有使用者回報NH站偶爾會有抓不到資源的問題, 測試了下發現是爬蟲的keyword問題, 判斷的keyword出現時可能資源還沒載入完畢, 總之先換個更嚴謹的keyword測試後看起來是沒問題了, 至於後續會不會再發生就在觀望看看。


至於今天題外話的部分, 想要來推廣最近火紅的SPY×FAMILY間諜家家酒!  這季最推薦的新番之一 (另外兩部是派對咖孔明還有輝夜姬第三季XD)



巴哈介紹:

每一個人都擁有不想讓任何人看見得自己的一面―― 位在世界各國於檯面下進行激烈情報戰的時代。東國與西國已經維持了數十年的冷戰狀態。所屬西國情報局對東課 <WISE> 厲害的間諜〈黃昏〉,為了前往找尋被譽為是會威脅到東西國和平的危險人物,東國的國家統一黨總裁 唐納文・戴斯蒙德 所正在籌備的戰爭計畫,被賦予了一項極秘任務。其名稱為 Operation〈梟〉。內容講述「在一週內組建家庭,並潛入戴斯蒙德兒子所就讀的學校吧」。但是,他所遇到的「女兒」是會讀心的超能力者、「妻子」則是暗殺者!為了互相的利益而成為家庭,決定在隱藏真實身分的情況下共同生活的 3 人。世界的和平就託付即將發生一

動畫瘋連結:

https://ani.gamer.com.tw/animeVideo.php?sn=28798


OP


ED


既搞笑又暖心, 讓人看了會心一笑的動畫! 挖庫挖庫!


2022年4月17日 星期日

MahoMangaDownloaderVer16.4更新

注意!!  Ver16.4版開始必須安裝VC++ 2019可轉散發套件, 舊版使用的VC++ 2015不支援新版程式!!

VC++ 2019下載連結:

x64: https://aka.ms/vs/17/release/vc_redist.x64.exe

x86: https://aka.ms/vs/17/release/vc_redist.x86.exe


微軟VC++連結:

https://docs.microsoft.com/zh-tw/cpp/windows/latest-supported-vc-redist?view=msvc-170


這次更新主要是解決cocomanga最近改版, 導入reCAPTCHA v3導致下載器不能下載問題, 後來更新了CefSharp到最新版加上一些小設定後看起來是有bypass過去了, 不過也不知道是不是所有人的環境都能pass, 畢竟reCAPTCHA判斷是不是機器人的基準是黑箱, 也只能遇到再想辦法了...。

另外一個修改則是上一版在加hitomi的設定是文字寫反了, 因為是先POC implement在加UI, 只確定功能work, 沒注意到wording跟實際實作的功能判斷邏輯是反過來的, 是收到使用者的回報才知道, 有點丟臉XD

再來是這次的題外話, 開始追2022的新番, 想一個一個來推廣, 這次想推廣漫畫一直有追的: "派對咖孔明" (巴哈動畫瘋沒代理真的很殘念...)

wiki介紹:

《派對咖孔明》(日語:パリピ孔明)是四葉夕ト原作、小川亮作畫的日本漫畫作品。從《Comic DAYS》在2019年12月31日起開始連載。描述五丈原之戰中病死的諸葛亮以年輕之姿轉生到正在舉辦萬聖夜遊行的現代日本東京都澀谷,並因此與創作歌手月見英子相遇,於是為了實現他的夢想而以他的軍師身分活躍的故事。


OP:


ED:


另外OP原曲是出自匈牙利這首歌, 比較影片:


有興趣的話可以追追看, 漫畫跟動畫都超推薦~。


2022年4月16日 星期六

[網站開發] Norn-StockScreener 新增在外流通股過濾條件 & 多因子交互選股模型因子參數

最近在想還有什麼好方法可以找出適合投資的公司股票, 剛好正在看的書有提到巴菲特比起發股息, 更喜歡透過回購庫藏股的方式回饋股東(畢竟不用課稅), 就想說剛好趁這次機會, 一併實作這個方法到自己做的投資網站的選股過濾器以及多因子交互選股模型~。

至於要怎麼找出積極回購庫藏股的公司呢? 透過查詢上市公司近幾期財報的在外流通股數, 就可以知道最近這陣子公司的在外流通股變化, 就可以間接判斷這間公司是否有在回購庫藏股。 如果在外流通股增加, 就有可能公司在進行增資, 發行更多股票來吸取更多資金擴展公司營運; 反之如果在外流通股減少, 就有可能公司在進行減資, 將資金還給股東讓股數減少, 這樣分母小了公司未來賺的錢就可以分更多給股東, 每股盈餘也更好看。 另外還有股票分割跟反分割, 這個對公司營運本質上沒差, 只差在市場上看到的價格而已。

具體的增資、減資、股票分割、股票反分割這邊就不再多加說明, 想更瞭解可以參考市場先生這篇文章:

減資是什麼意思?股票減資對股價有怎樣的影響?


另外這邊想再強調, 增資跟減資沒有絕對的好與壞, 對正在擴展市場急需資金的公司來說增資是好的, 可以用增資得來的資金繼續擴大公司規模; 反之手邊資金持有過多且短時間又沒有資金運用需求的公司減資則是好的, 把多餘的資金還給股東, 可以讓每股盈餘更好看, 等同於每個股東可以分到更多公司的獲利。

至於要怎麼取得這間公司過去的在外流通股, 一個是可以看過去的財報取得, 或是簡單點這個網站就有整理好的資料了:

https://sharesoutstandinghistory.com/


最後整合好的功能如下, 多加了近半年&近一年在外流通股變化條件過濾&因子參數:

Norn-StockScreener投資網站: https://norn-stockscreener.zmcx16.moe/

Github: https://github.com/zmcx16/Norn-StockScreener


再來就來Demo一下吧, 首先我想找最近半年 & 一年有回購庫藏股近5%的公司(註: 5%算非常多了, 通常市值越大的公司這個數字會越小, 畢竟代表要拿出的資金會更龐大), 另外為了避免挑到營運不好虧損才想減資的公司, 所以有額外設定ROA, ROE皆大於5%。

另外如果是只顧私利的惡劣管理層, 可能會用公司的資金回購股票拉抬股價, 然後管理層個人在狂賣自家的公司股票, 所以也設定內幕人士持股以及交易權重為1, 這樣用多因子選股模型排序出來的公司就是在外流通股漸漸減少, 同時內幕人士也對公司有信心願意持有或買進自家公司的股票。



用多因子分數排序第一的是GCO服飾零售商, 來看看這間公司的流通股歷史紀錄:



可以看到這間公司的在外流通股持續減少, 不過這也有可能不是回購庫藏股(e.g. 股票反分割), 另外這個網站我觀察偶爾會混一些異常資料, 所以還是要Google一下這間公司的新聞以及SEC文件, 看是不是真的有持續回購庫藏股, 查了一下這間公司的確是有持續在回購自家公司股票。

Genesco Board Boosts Share Buyback Authorization By $100 Mln - Quick Facts

另外這間公司最近一年獲利持續成長, 股價疫情之後也是持續往上爬, 初步看是值得長期投資的公司, 不過2022Q2分析師預估EPS會大減, 就不知道最後到底會怎樣了~。



再來反過來, 如果今天我們想找的不是持續回購股票的價值股公司, 而是持續增資想積極擴展市場的成長股公司的話, 那我們只要把過濾條件從<-5%改成>+5%, 多因子參數從+1改成-1就好, 這樣就代表過濾出來的公司是近半年以及近一年增資5%以上的公司, 然後多因子參數則是輸入負權重, 這樣流通股越減少分數越高的因子就會變成流通股越少分數越低了, 多因子分數排序下來就會是流通股增加越多分數就越高, 另外因為成長股公司通常內幕投資人絕大多數都是一直賣股票套現, 所以內幕投資人交易因子權重就不使用了, 查詢結果如下:


結果這一年增資近5%, ROE & ROA > 15%的只有三檔, 其中前一二名多因子分數相同, 其中一檔還是鼎鼎大名的COIN(比特幣基地), 會持續增資取得市場資金完全不意外阿, 畢竟現在虛擬貨幣交易所正在戰國時代, 當然是盡可能的增資獲取營運資金, 快速的擴佔市場規模。 

 


這次的分享大概就到這邊, 流通股因子我個人覺得是想要長線投資才會用到的因子, 如果想找長線投資標的的話可以參考看看~。

2022年4月8日 星期五

MahoMangaDownloaderVer16.3更新

這次更新主要是有使用者回報, hitomi有些資源會載幾頁就停了, 後來查了一下發現原因是webp轉檔的問題, hitomi的資源幾乎都有被轉成webp or avif藉以節省網路流量, 而下載器最一開始在處理webp時, 是採用轉檔的方式處理, 會先根據檔名判斷看能不能知道原檔名, 能判斷原檔名就轉換回原檔案類型(bmp, jpg, png, gif), 不能判斷就預設轉成png。 像hitomi這種圖片位址完全看不出原檔名的就一律轉成png。 然後出問題的地方就在於, 有些CG資源是有含動態圖的, 像這種動態圖的webp, 照理說要轉檔成gif, 可是下載器沒辦法從圖片位址判斷他是不是gif, 硬轉成png圖檔才造成轉檔失敗...。

要解決這問題有兩種方案:

1. 程式提供hitomi專屬設定 - 停用自動轉檔, 這樣載下來的就都是webp, 就不會有問題, 不過缺點是得用特別的影像瀏覽工具才能觀看。

2. 程式去偵測raw file看是不是動圖, 是動圖就轉gif, 不是動圖就轉png / jpg, 這塊要研究看看才知道怎麼做, 需要花些時間。

最後決定先採用方案1, 加個設定檔下載原始檔案不轉檔, 比較一勞永逸不怕之後又有轉檔怪問題~。


另外剛剛又有一個使用者回報, wnacg的壓縮檔整包下載有問題, 變成只會一頁一頁下載, 快速地看一下是html碼有改導致parser失靈, 修一下parser就好了~。


最後題外話部份, 昨天看了繪師咔嚓121381 畫的一部真實故事改編的漫畫: "回想", 內容是霸凌&社會問題有關的題材, 看完後勁超大, 花了不少時間心情才平復, 有興趣的人可以看一看...。



漫畫連結:

https://www.ptt.cc/bbs/C_Chat/M.1649382173.A.0DD.html


作者原始發佈連結:

https://tieba.baidu.com/p/7687901234?pn=1

P.S. 這部漫畫最後有if線, 在上面連結的第8頁開始, 看完心情會好很多, 不過建議可以看完本篇後隔一天在看會更有感觸~。


2022年3月26日 星期六

[網站開發] 多因子交互選股模型 - 價值-績效乖離因子 - 新增股價區間因子(52W)

關於多因子交互選股模型的介紹, 可以參考以前這篇文章:

多因子交互選股模型 - 個人網站開發


最近選股找標的, 除了會找產業指標以及市場指標乖離過大的公司以外, 也會開始關注價值跟趨勢績效乖離過大的產業&公司, 例如最近發現露營車產業有不少好公司, 營收以及獲利每季都在不斷成長, 可是整個產業的股價今年一直狂跌。 

能想到的原因一個是美國地方政府開始要立法規範把露營車當住家所造成的公共道路&公園濫停的問題, 另一方面則是油價大漲的影響。 除了上述原因以外也有其他各種可能, 像是單純炒作, 升息或是我不知道的各種變數等等, 不過能做的也只有評估自己看得到的這些問題, 對產業的影響會是短期還是長期, 會不會對產業有實質上的破壞性影響, 如果評估後都PASS的話, 就可以進場賭賭看是不是能挖到寶了~。

為了更有效率的找到價值跟股價績效乖離過大的產業或公司, 思考了一陣子有沒有什麼好方法可以創造對應的因子, 結果想了一些作法都覺得沒意義 or 沒用, 像是原本想拿EPS的成長以及股價績效的距離作為評估因子, 可是這兩者的變動程度每間公司落差極大, 像有些公司可能剛好這季EPS爆成長500倍, 可是原因只不過是上一季EPS太低, 所以就算成長500倍也沒賺多少, 拿這個去跟股價上漲下跌的績效相比根本沒意義...。

後來想了想還是沒輒, 沒辦法創造一個價值-績效乖離單一因子, 那就只能靠原本多因子選股模型的作法, 分開計算因子分數, 藉由價值因子的組合以及動能因子的組合變相作為價值-績效乖離多因子了...。

簡單做法就是, 可以把ROE / ROA因子或其他價值因子+ 股價下跌因子做組合, 舉例來說, 如果ROE / ROA很高&股價也下跌很多, 代表價值跟動能乖離過大, 就可以進一步檢視這些公司, 看有沒有什麼好公司可撿。 

除了ROE / ROA, 也可以看EPS成長率, 營收成長率等等。 至於股價下跌因子, 可以看股價績效week / month / quarter / year / ytd 的漲跌%數, 可是到底要用哪個時間區段並沒有標準答案, 而且也很容易因為時間區段切點導致各種偏差, 想了想之後決定就不要看漲跌幅績效了, 我直接新增一個股價區間52W因子, 看目前的股價在近一年的區間的落點, 就可以簡單知道近一年來目前的股價是低或高, 也間接等於知道目前的股價績效是看漲還是看跌。

做好的成果如下, 已經加到自己的個人網站以及Norn-StockScreener:

https://project.zmcx16.moe/?page=investment-formula

https://norn-stockscreener.zmcx16.moe/



為了只看這次想要的價值&績效乖離因子, 先把其他的因子權重都設成0, 只把ROE / ROA跟股價區間因子權重設為1, 不過如果只看這兩個因子, 會得到不少奇怪的公司, 所以還是要設基本過濾條件, 我只要P/B小於2的公司, 搜尋後再用多因子分數排序, 得到的結果如下:



有劃線框起來的, 是我最近觀察到的價值-績效乖離過大的產業, 從Finviz的產業頁面看今年的股價績效排序也可以看到這兩個產業基本面很好, 可是今年股價卻狂跌:

https://finviz.com/groups.ashx?g=industry&v=152&o=perfytd 



除了一開始提到的露營車產業以外, 住宅建設是今年跌最兇的, 我是想大跌可能的原因跟今年為了抑制通膨要開始升息有關, 因為今年升息還是剛開始階段, 所以暫時還沒有想在住宅建設產業撿便宜, 打算過幾個月後再來觀察看看是否有好公司可以撿!

這次分享大概就醬, 目前今年第一季投資績效很不錯, 希望能繼續好下去, 期許自己能早日達到財富自由!!

2022年3月18日 星期五

MahoMangaDownloaderVer16.2更新

這次更新主要是有使用者回報welovemanga又換網域名了, 這個網站真的是看過換網域+更新最頻繁的網站, 還好幾乎網站版面都沒改, 新增支援網域名就可以了...。


最後題外話部份, 雖然已經過一陣子, 不過還是想慶祝一下, 虎與龍15週年啦! 角川還特意做了15週年慶祝網站跟PV:

https://dengekibunko.jp/special/toradora/



想當年喜歡這部的程度, 收藏了全套輕小說10+3卷, 為了玩虎與龍PSP遊戲而去買PSP, 把PSP遊戲所有結局都破完, 收藏遊戲卡, 布偶, 各種精品周邊等等, 現在想想真的很瘋狂, 過了15年了, 還是超喜歡這部(看我部落格就知道了XD)

還沒看過這部酸酸甜甜校園劇的人歡迎入坑, 建議先看動畫在追原作最後在玩遊戲, 遊戲的亞美線做超棒!!


2022年3月11日 星期五

[網站開發] 新增美股蒙地卡羅股價模擬頁面

接前篇: [網站開發] 美股選擇權定價模型 - 用蒙地卡羅模擬計算凱利公式

之前為了做凱利公式後端都寫好蒙地卡羅模擬了, 就想說乾脆前端也多做一頁美股蒙地卡羅股價模擬頁面吧, 成果如下:


另外這功能也一樣有做在選擇權估值頁面, 可以直接可視化股價模擬:



Backend code



Frontend code


投資網站


Symbol欄位是股票代號, 後端會自動用這代號去抓該個股的歷史股價, 並計算加權移動波動率以及過去一年的資產報酬率, 在拿來模擬股價, 如果不想用後端自動計算的波動率跟資產報酬率也可以自己輸入, 這樣後端伺服器就會用手動設定的值, 另外蒙地卡羅的公式如下:


這邊一樣附上雷大的文章:

雷大的Python投資筆記: 如何用蒙地卡羅模擬股價?


這次的實作差不多就是這樣, 再來會繼續想有什麼其他好玩的東西可以做XD

2022年3月5日 星期六

[追加更新] MahoMangaDownloaderVer15.9 & 16.0 & 16.1更新

今天有使用者回報, N站下載的資源有高機率重複頁, 我剛剛測試了下的確有這問題, 不過上一版測試的時候沒遇到這問題, 不知道到底是運氣太差沒測到, 還是網站又改了什麼導致網頁跳轉時不會立即render造成, 也可能是CefSharp的雷..., 總之先加個防呆處理了...。



2022年2月28日 星期一

[網站開發] 美股選擇權定價模型 - 用蒙地卡羅模擬計算凱利公式

接前篇: [網站開發] 美股選擇權定價模型 - 新增風險係數 (希臘值)

做完選擇權估值模型大概快一個半月了, 目前我可以用選擇權理論估值跟目前市價計算Bias程度, 合約有大幅溢價時可以賣出選擇權; 相反的有大幅折價時則是買進選擇權,  另外我也有Delta值可以知道合約估值的行權機率, 用這些數據來決定要作買方還是賣方, 不過還有一個大問題, 今天我想買進或賣出時, 我到底應該要買進 / 賣出多少部位, 才能達到利益最大化呢?  

另外也還有個問題, 今天我透過理論值以及實際值的偏差可以知道折價溢價, 在均值回歸的作用下, 長期的進行溢價時賣, 折價時買, 大數法則下通常長期下來是會有正報酬的, 可是今天也有可能, 大眾的方向一直是對的, 會溢/折價是因為大方向趨勢就是那樣, 跟著群眾大方向作對, 搞不好長期下來反而造成負報酬也說不定。

所以現在有兩個問題想要解決:

1. 交易時我該買進 / 賣出多少部位, 才能利益最大化?

2. 不考慮選擇權折溢價, 單純從標的物(股票)順勢交易的角度看, 我到底該買進, 還是賣出?


剛好這兩個問題, 都可以透過凱利公式解決, 關於凱利公式我相信有在投資的人應該都不陌生, 不過這邊我還是貼一下參考資料:

兼具強固性的下注建議 - 凱利公式 (Kelly Formula)


另外也推薦愛德華・索普這本書: 

他是賭神,更是股神:從賭城連贏到華爾街的天才數學家,關於風險、財富和人生的第一手告白




我自己之前也有針對個股做自動計算凱利公式的網站:




簡單重新介紹一下公式:



從上圖可以看到, 凱利公式是由賠率、獲利機率、虧損機率這三個參數計算得出, 今天如果賠率非常高而且獲利機率也非常高, 那我們就可以下重注, 就算運氣差輸了, 多賭幾次在大數法則下也能賺回來; 而如果賠率很低或虧損機率高, 導致公式算出來是負值, 那就會建議你不要下注了, 這個遊戲長期玩下來輸錢的可能性很高。


再來要做的, 就是思考怎麼把選擇權交易套用在這個公式上, 這樣就能知道這選擇權合約我是不是該交易, 並且交易多少部位才合適。 以買進買權/賣權來說, 獲利無限且風險有限, 所以我們可以得出虧損金額就是買進合約的價格, 但是其他參數就不確定了, 獲利無限代表獲利金額不確定(畢竟投資市場不是賭博遊戲, 賠率不是固定好的), 獲利機率跟虧損機率, 則是看合約到期時, 標的物價格是否達到行權價 + 你付出的合約價的機率, 這個值也沒有一個確定可用的值(delta是行權的機率, 可是不包含合約的價格, 所以也不適合), 沒辦法把估值模型的結果套用在凱利公式上。


後來思考了幾小時, 想到這個問題或許可以用蒙地卡羅解決, 我只要用蒙地卡羅模擬未來標的物到合約到期日的價格, 我就可以用這個結果, 去得到預期賠率, 獲利機率以及虧損機率。 關於蒙地卡羅模擬未來價格這塊, 可以參考雷大寫的這篇文章:


公式:



另外雷大也有做個網站模擬器, 有興趣的人也可以玩玩看。

蒙地卡羅公式的參數部分等等會再提, 先來看看怎麼完成選擇權的凱利公式吧, 首先我們可以先假設個股A的最近收盤價為100, 近一年報酬率為15%, 年化波動率也是15%, 跑10次蒙地卡羅模擬, 可以得到下面這張圖:



可以看到這10條線模擬, 最高股價可以到接近140塊, 最低則是80幾塊, 會這樣不均勻是因為年化報酬率是正值的關係, 如果我們把年化報酬率設成0, 則是如下:


看起來均勻一點了, 如果我們把模擬次數調更高, 結果應該會更顯著。

再來我們想計算個股A的某張B買權合約, 假設B合約行權價是102元, 離到期日還有100個交易日, 合約市價目前是3元, 來畫兩條橫線以及一條直線, 橫線分別是行權價(102)以及行權價 + B合約的市價(102+3=105), 直線則是到行權日還有幾個交易日(100)。



根據模擬結果, 紫線上在105元上面的6個點是模擬結果為有獲利的; 而紫線下面的4個點則是虧損, 其中介於紫線跟橘線的1個點是部分虧損(有行權但是扣掉合約價格為虧損), 橘線下面的3個點則是固定虧損(沒有行權故損失合約價), 這樣我們就能得到凱利公式所有需要的參數了:
  • 獲利金額: (106-105)+(106-105)+(107-105)+(108-105)+(114-105)+(116-105) = 27元
  • 獲利機率: 6/10 = 60%
  • 虧損金額1(有行權但扣掉合約價為虧損): |(103 - 105)| = 2元
  • 虧損金額2(沒有行權直接損失權利金): 3 + 3 + 3 = 9元
  • 總虧損金額: 2 + 9 = 11元
  • 虧損機率: 4/10 = 40%

賠率b = 27 / 11 = 2.4545; 下注比率 = p - (q / b) = 0.6 - (0.4 / 2.4545) = 43.7%

凱利公式建議每次下注可以下43.7%, 這邊要特別提醒的是, 凱利公式的前提條件是可重複的特定賭局, 而選擇權交易是不可重複的, 所以得出來的結果千萬不要就直接拿來用, 一定要估個安全邊際, 才能確保不會被雜訊或肥尾事件搞爆, 畢竟在不是重複賭局的情況, 賠率, 獲利機率跟下注比率每次都不一樣, 要是遇到一次高投注比率之後幾百次都是低下注比率, 那輸那一次就輸慘了, 公式只能是參考, 千萬不要盲信!  

再來就是蒙地卡羅的模擬次數不夠多, 樣本數不夠的情況下, 模擬結果的信心程度也會大減, 下注比例最主要還是要以自己可承受的風險為最高原則。

上面計算的是買進 call / put的凱利公式計算, 而賣出 call / put的凱利公式其實算法也一樣, 畢竟選擇權是零和遊戲, 把獲利跟虧損換過來就行了(獲利有限, 風險無限)。


再來就是直接計算真實的選擇權合約了, 這部分已經實作進選擇權估值模型, 年報酬率的取得直接使用近一年的個股回報率, 波動率則是用之前做好的EWMA Volatility, 另外關於蒙地卡羅股價模擬的參數, 過去的波動率跟未來的波動率通常差距不大(除非有重大事件或營運忽然變化太大), 所以直接拿來用我覺得是可行的。 可是個股回報率這塊其實有點雞肋, 畢竟真要說起來, 過去的績效不代表未來的績效, 當然也有那種公司跟股價一起穩定成長的公司, 可是像景氣循環股, 或是相對公司營運反而炒作成分較大的個股, 用過去的個股回報率去模擬未來股價我反而覺得失真會更大, 所以這部份我乾脆就通通計算了, 分別使用個股年回報率=0以及過去一年回報率來計算對應的凱利公式。

整合後的結果如下:

Backend code


Frontend code


投資網站


可以看見, Bias折價極高的合約, 凱利公式大多建議是當買進一方, 大多數情況下, 極大折價的合約做買方是比較有優勢的, 不過相反情況其實也有可能, 如果Bias顯示是折價, 可是凱利公式建議你當賣方, 那表示可能合約價格的影響極低, 所以扣掉合約價(風險後), 剩下的就只剩勝算了, 只看勝算的話那Bias等於沒用(畢竟看折溢價要站在對立方才有意義, 價差不大就只剩波動率問題了), 等於只看能不能行權。 

像上表其中一筆AMZN, 雖然折價高可是凱利公式建議當賣方, 可以看到因為AMZN的delta值極低(0.05), 這代表這份合約會行權的機率極低, 所以凱利公式建議我們當賣方是合理的。 

那為什麼估值上Bias折價為什麼那麼高呢? 原因是比例問題, AMZN的目前股價3075元, 行權價3800元, 行權價跟現價差了23.55%, 距離行權日3/18只剩三星期, 所以很難行權, 可是合約還是有在交易, 而且便宜的驚人(0.35), 合約市價只佔標的物價格的0.0114%, 幾乎快跟免錢沒兩樣了, 而估值模型估出來的合理價是7.32元, 佔標的物價格的0.238%, 也是超級便宜, 所以估值模型的Bias會跟凱利公式不同調, 只是因為AMZN股價太高, 所以便宜的合約的Bias敏感度也跟著被拉高, 這也是不能單看Bias去做交易的關係, 而多了一項凱利公式作為判斷的基準, 讓我們在做買進 / 賣出決策時多了一個更好的參考點。


那反過來說, 是不是專挑凱利公式投注比率最高的交易就好呢? 來看看用凱利公式排序Buy的結果:



排序下來得到的都是價內合約, 所以delta值也幾乎是1, 照理說價內合約應該幾乎沒時間價值, 賠率低勝算高, 那為什麼凱利公式算出來的投注比率會高呢? 可以看看合約的最後交易日期, 都沒有最近一次交易日2/25, 代表這些合約其實都有點深度價內, 沒人在交易了, 所以標的物價格離很遠, 看起來賠率很高&因為在深度價內所以勝算也高, 但實際上這些合約都買不到了, 上面的價格已經是好幾天前的價格, 這些資料對交易基本上沒有參考價值。


看完Buy排序的結果, 再來看看Sell排序的結果吧:


跟想像的一樣, 都是深度價外的合約, delta值也都趨近於0, 代表這些合約幾乎不可能行權, 所以凱利公式才會建議下大注賣。 

值得一看的是跟排序Buy不同, 最近一次交易日有近一半是2/25, 代表這些合約在最近一次交易日是有被交易的, 這表示不少人喜歡買這種深度價外的合約, 就像買樂透一樣用少少的錢去賭一把看能不能行權, 然後也可以看到其實這些合約還是有些小Bias折價的, 而到底要看Bias溢價折價當買賣方, 還是看凱利公式決定, 這沒有標準的答案, 不過我自己個人看法是, 如果兩邊都是同調&強力的話, 挑選這些合約做交易, 我相信長期下來獲利的機率是會比較大的。

這次的分享就到這裡, 連假剩最後一天, 終於可以好好休息了~~~ XD