2022年7月4日 星期一

MahoMangaDownloaderVer16.6更新

這次更新主要是這兩天有使用者回報, EX有些舊資源沒辦法下載, 原本我reproduce不出來, 後來有使用者詳細提供訊息後總算找出原因了, 原來是EX這幾天有改版, 下載原尺寸圖檔這功能已經不再完全開放了, 如果是今年5月以前的資源, 點擊下載原尺寸圖檔時網站可能會跳出以下訊息:

"Downloading original files during peak hours requires GP, and you do not have enough."


從字面意思來看, 要下載原尺寸圖檔的話, 網站只會在非尖峰時段提供下載, 如果是預設的圖片則是不受影響, 我自己測試的情況如果是銀牌帳號也不會受限制, 所以以下載器來說, 如果你的cookie是一般帳號 + 你有啟用下載原尺寸圖檔的話, 就可能會下載失敗。

這問題因為是帳號跟網站限制問題, 所以這邊能做的也只有改善log, 遇到這問題時會顯示在log上面, 才不用找問題找老半天, 之前版本的下載器在做下載原尺寸圖檔時只有打request取跳轉的header, 所以沒辦法知道失敗的原因, 這次改版會針對這個failed把網頁內容輸出到log, 這樣看log才知道對應的失敗原因。


另外之前log都只預設輸出log level=info的log, debug level是hidden setting, 要建一個debug_on的空檔才會啟用, 畢竟開debug level會把網頁內容不管三七二十一都寫到log, log增長速度會超快, 所以才只做成hidden setting在需要的時候才啟用, 不過發現這樣對使用者也不方便, 我這邊也會增加討論時的障礙, 就決定還是把enable debug log加在UI setting上了, 只要啟用就會改log level=debug。

最後還有修個漫畫櫃的部分老漫畫不能下載的問題, 如果檔案是webp可能會下載失敗, 這塊有改善讓它能正常下載, 像這種特殊問題都只能看到一個解一個, 超麻煩...。


至於今天題外話的部分, 最近把"那就是聲優!"填坑完了, 這部動畫真的做得超有愛, 是目前聲優動畫裡面最喜歡的一部, 動畫內容是透過菜鳥聲優的工作生活, 介紹聲優這個行業, 每一集都有超有名的聲優客串演出, 而且每一集的ED都不同, 透過廣播 + 點歌的形式做ED真的超有才, 大推!!




OP

https://www.nicovideo.jp/watch/sm26658100


ED (1-4)


Only點歌片段


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

2022年2月19日 星期六

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

接前篇: [網站開發] 美股選擇權定價模型

目前自己試用選擇權估價模型大概一個月, 實際上靠估值模型真的抓到物廉價美獲利機會&交易的大概只有一兩檔, 其他的選擇權交易都是根據自己的持股做操作配置而已(理論跟現價偏差不怎樣), 原因在於, 即便是理論跟實際市場價高偏差的合約, 也不一定就是值得交易的標的, 原因有以下幾個:

1. 併購導致的高偏差值

例如因為公司併購導致的大幅跳漲, 這會導致波動率在單一日大增, 可是之後的波動率就會變得極低, 畢竟那波大漲就是瞬間被吃掉的套利空間, 會一下子價格就逼近併購價, 之後價格就大概是那樣了, 選擇權會變得幾乎0價值, 可是對直接用公式算出來的估價模型來說並不會知道這件事, 所以才會導致估值跟實際價格偏差過大, 像這種雜訊只能透過人工過濾。


2. 單一事件導致的高偏差值

像是財報公布或是有利多利空消息發布, 導致股價一天的大幅變動, 會導致估值模型在計算波動率時過分高估, 這種只發生單一次的事件對只用公式計算的模型來說沒辦法區別, 所以計算出來的理論估值會高估不少, 不能因為偏差過大就去做交易, 像這種情況也只能透過人工過濾才行。


3. 超便宜但行權率極低的高偏差合約

如果一個合約價格超便宜, 可是估值模型計算卻很有價值, 照理說我們可以盡量買進, 在大數法則的情況下只要持續交易下去, 長期下來是正報酬率的機率應該會蠻高的, 可是這也有幾個問題必須要克服:
  1. 資金配置問題 - 因為是行權率極低的合約, 而預期報酬也相對的更難預測, 所以資金配置就更加困難, 到底該一次投資多少資金, 太多是絕對不行的, 太少則是讓報酬跟投入的心力不成比例, 一般這個問題可以透過凱利公式解決, 不過要計算估出凱利公式的參數也是一大難題...。

  2. 心態問題 - 行權率極低, 就表示要忍受多次虧小錢的交易, 做久了會懷疑人生的, 完全不覺得自己做得到... 據說黑天鵝&反脆弱&雜訊的作者塔雷伯就有做這樣的交易, 買入深度價外的合約持續等待黑天鵝或肥尾效應的一次大筆獲利, 這除了要能確實精算合約價值以外, 沒有超乎常人的心態應該很難做到...。

扣除上述三種情況, 剩下的偏差過大的合約才是我感興趣的, 1&2因為是市場消息面的問題, 只能透過人工過濾解決, 不過3的話是有機會自動過濾的, 只要不只是看估值模型的偏差值, 也同時計算合約的履約機率即可, 履約機率高的選擇權就可以傾向buy call / put, 履約機率低的選擇權則傾向sell call / put。

這邊要強調的是, 並不是說這樣的策略是好的, 實際上只看履約機率操作是極度糟糕的, 還要搭配估值模型的理論&現價的偏差, 以及做好資金配置&風險控管才行, 會用這樣的策略, 只是想盡量讓我自己的交易是舒服的, 畢竟交易心態要是出現偏差了會很可怕, 與其選擇理論上最好的策略, 我更傾向選擇使用適合自己的良好策略就好。

至於要計算選擇權履約機率, 其實可以直接看風險係數Delta (Δ)值就好, 這邊乾脆也一起列出最常見的五個風險係數值:

1. Delta (Δ)值
  • 標的資產上漲一點, 權利金變動幾點。
  • 選擇權價格對標的資產的一階微分, 意味著物理中的速度。
2. Gamma 值(γ)
  • 標的資產上漲一點, 權利金變動加速度。
  • 選擇權價格對標的資產的二階微分, 意味著物理中的加速度。
3. Vega 值(ν)
  • 隱含波動率上漲1%, 權利金變動幾點。
  • 選擇權價格對隱含波動率的微分, 衡量市場預期心理的改變。
4. Theta 值(θ)
  • 時間每過一天, 權利金變動幾點。
  • 選擇權價格對時間做偏微分。
5. Rho 值(ρ)
  • 選擇權價格對無風險利率變化的敏感度。
  • 選擇權價格對利率的微分。

網路上介紹選擇權風險係數的文章很多, 這邊推薦芝加哥交易所的線上課程, 影片很簡單易懂, 每篇影片長度也只有2~3分鐘, 有興趣的可以看看:


這邊我主要想看的是Delta值, Delta值如果是call會介於0~1之間(put則是-1~0之間), 當Delta是0, 不論標的資產變化多少, 合約價格都不會有變動, 代表選擇權根本沒有履約的可能, 通常合約價格會極低甚至接近0; 而Delta是1的話則標的資產的變化跟合約價格的變化相同, 這代表合約根本上來說是幾乎一定會履約了, 所以兩邊的差價變化才會幾乎一樣(畢竟要是不一樣就會有套利的空間), 基本上就是深度價內的合約才會Delta等於1。 所以如果想挑高機率履約又有賺頭的合約買進的話, 可以找Delta值大於0.5~接近1的合約 (再次強調, 不是這種合約就是值得買進的合約, 全看你的交易策略為何)。

確定需求之後, 再來就是實作風險係數了, 基本上網路上也有現成的公式, 直接參考加到後端API server就好, 然後前端的部分就增加對應的欄位, 結果如下:

Backend code


Frontend code


投資網站


Demo



另外也加在自己個人網站上, 這樣我就不用針對感興趣的標的一個一個Query, 一次Query全部就好~。



這次更新差不多就醬, 希望之後選擇權交易能更加順利~。

2022年2月18日 星期五

MahoMangaDownloaderVer15.8更新

這次更新主要是有使用者回報, hitomi.la網站沒辦法新增漫畫了, 測試了一下發現網站有改版, 資源相關的標題及內容都藏在js裡, 沒辦法在只打一個API取得了, 總之就是改版了一下, 改用瀏覽器跑js解決~。

這次題外話決定貼祝賀圖, 勇者赫魯庫要動畫化啦~~~!!!


作者推特:

https://twitter.com/nanaki_nanao/status/1492876705639579659


bookwalker套書:

bookwalker小編貼文:

還沒看過的人大力推薦入坑喔, 人類很可惡XDDD

2022年2月11日 星期五

MahoMangaDownloaderVer15.7更新

Ver15.7更新內容如下:

1. 修復copymanga換新domain導致不能下載問題(copymanga.com -> copymanga.net -> copymanga.org)

2. 修復EH站漫畫名稱最後如果是空格, 導致windows非法路徑不能下載問題

3. 更新下載器關於我blog網址


這次題外話想來點不一樣的, 想推薦最近看的投資理財漫畫: "巴比倫致富聖經"




這本漫畫是改編原作: 巴比倫理財聖經

基本上故事內容類似, 可是人設跟劇情完全不一樣, 不過要表達的觀念是相同的, 書中主要提倡以下箴言&致富法則:

  ◎吸引黃金的7句箴言
  1.存下收入的1/10。
  2.為欲望訂下優先順序。
  3.讓存款為你工作。
  4.堅守財富,避開危險和天敵。
  5.選擇良好的住所。
  6.從現在開始替未來的生活做好準備。
  7.讓自己成為最大的資本。
 
  ◎人生致富5大法則
  1.為家人和自己的將來,存下1/10以上的收入。
  2.為黃金尋覓能夠錢滾錢的投資去處。
  3.認真聆聽理財專家的建言。
  4.只對自己熟悉的領域、投資專家看好的項目進行投資。
  5.企圖謀取不切實際的利益,聽信有心人士的花言巧語,或是盲目相信自己不成熟的經驗,財富將會遠離你。

這些內容會以漫畫的形式呈現為什麼上述法則可以致富, 而原作也是用各種小故事搭配說明, 基本上兩本書都大力推薦, 非常建議先看漫畫, 在看原作!!

另外這作者喬治.山繆.克拉森還有一本著作: 巴比倫最有錢的人,刻字匠阿卡德的財富自由之路, 不過這本書就不推了, 因為其實內容就是原作巴比倫理財聖經的閹割版, 只有小故事沒有論述說明, 直接看原作就夠了, 我也是買了才知道...。

最後附上這部漫畫裡我最喜歡的一篇故事, 喜歡的話可以購買漫畫, 整本漫畫的每個小故事都好看!











祝大家投資理財都能順順利利, 也期許自己能盡早達到財富自由, 自由的做各種自己想做的工作!!

2022年1月24日 星期一

[網站開發] 美股選擇權定價模型

最近開始研究美股選擇權, 其實美股選擇權好幾年前就稍有接觸, 基本規則也都了解, 不過過去自己都是Naked Put亂買, 或是Cover Call簡單就把持股賣掉了, 常常權利金小賺但賠錢在持股, 後來就好幾年沒碰選擇權了..., 最近開始又興起了重新學習選擇權的念頭, 希望能讓自己的投資績效更好一些!

既然決定重新學習選擇權, 就決定買本書來看了, 目前是買了這本: 

選擇權價格波動率與訂價理論:高級交易策略與技巧


算是有K完了一遍, 基本上這本書算淺顯易懂(扣掉公式的部分不提的話), 從最基礎的規則到選擇權的估價以及各種指標都有介紹說明, 蠻推薦給已經對選擇權的規則有簡單理解的人閱讀。


接著就是要來想想, 如果我想靠選擇權賺錢, 可以用哪些方法, 分析了下有以下這些方法:

1. 短線買賣合約賺差價 -> 短線投機成分太重, 加上對身心都不太好, 自己想像了下也覺得不適合自己, 故不考慮。

2. 尋找套利機會 -> 難度很高, 要有高規格的設備去即時掃描所有市場, 就算真的找到有套利機會的標的, 自己的資本額也完全不足以賺到錢, 再加上交易成本等等, 基本上也是完全不用考慮了...。

3. 搭配現股做避險或加碼操作, 做中長線投資 -> 感覺最適合自己, 不過以前自己這樣做成效不彰, 必須要想辦法改進自己的策略

4. 尋找市價跟估值乖離過大的合約交易, 只要不是黑天鵝事件等級, 在均值回歸下長久下來應該能賺錢 -> 這個感覺也有研究的價值, 不過如果只是找乖離過大標的, 在不考慮公司基本面的話, 就只是單純的做交易而不是當股東, 風險控管部分得更確實, 而且某方面來說可能會搞成像方案1, 如果要做這塊必須更小心謹慎。


這樣看來能玩的就是3 & 4了, 如果要做這兩塊, 最重要的就是針對選擇權做估值, 估算目前市場上的選擇權合約, 相對於標的價格到底是貴還是便宜, 如果合約市價比合理價貴, 我們就可以賣出合約賺權利金; 相反的如果合約市價比合理價便宜, 那我們就可以買進合約, 賭賭看能不能履約賺到標的價差。 至於合理價要如何計算得出, 就可以靠選擇權估價模型, 而最具代表性的有以下三種:

1. Black-Scholes Model - 參考資料

套入數學公式就能計算出合約理論價格, 公式太複雜恕小弟不解釋(我也有看沒懂, 頂多知道參數代表的意義而已, 為什麼公式長這樣我也霧煞煞)


2. Monte Carlo Simulation - 參考資料

對標的價格的變化做隨機模擬, 在假設符合常態分佈的情況下進一步推算出合約價格。 公式其實我也是看不懂, 只懂概念而已。


3. Binomial Tree (二元數, 二項式定理) - 參考資料

從估值日開始建樹, 每次的分支都是一個時間的價格的變化(波動率), 持續建樹直到節點到行權日為止。 也是這三種模型中唯一可以計算美式賣權的模型。


現在知道有三種代表性的模型, 再來要做的, 就是對美股市面上所有的選擇權合約做估值, 這塊當然不可能靠人工計算, 包含抓市場資料以及計算估值, 都打算直接透過程式處理, 幸好三種估值模型網路上有一堆程式碼了, 抓Yahoo財經資料的library也有, 我只要專心串起來做整合就好, 做好的成果如下:

Github:

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

程式寫成Web API Server的形式, 這樣之後可以直接串我寫的其他網站, 目前提供四種API:

  • [GET] /stock/history
  • [GET] /option/quote
  • [GET] /option/quote-valuation
  • [Websocket] /option/quote-valuation

第一個API是取得個股歷史股價, 這個API我主要拿來計算個股的歷史波動率, 第二個API則是取得美股個股的期權鏈, 也就是個股的所有選擇權合約, 前兩個API就只是直接抓Yahoo財經的資料, 而第三個API則是取得選擇權的合約以及估值結果, 只要輸入個股代號就會幫你抓該個股的所有合約以及針對每一份合約算出上述三種模型的合理估值。 至於為什麼還有第四個Websocket API, 原因是這個網站我是架在Heroku當免費server用, 可是卻因為選擇權估值模型計算太久採到Heroku 30秒timeout的雷, 為了workaround才開的API, 有興趣的人可以看這篇文章


另外網站前端的部分則是直接在Norn-Stockscreener多開一個選擇權估值頁面:

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

這頁面提供兩種模式:

1. 美股個股盤後選擇權估值

2. 查詢&計算個股選擇權估值




上面的表格是Calls, 下面的表格是Puts, 以(1.) 美股個股盤後選擇權估值來說, 就是收盤後掃全部美股的期權鏈資料, 在分別計算上面提到的三種選擇權估值模型.....是很想這麼做, 可惜做不到..., 原因在於美股有幾千甚至一萬多檔個股, 然後每檔個股的選擇權合約數量又會隨著行權日跟行權價格的組合成倍數成長, 以AAPL來說, 光是一個月內的近月選擇權就有幾百檔合約, 要去爬這些資料並計算估值, 跑沒多久就會被Yahoo財經ban IP, 更不用說還需要龐大的電腦運算資源跑估值模型(Black-Scholes Model只需要一行公式就能算出, 可是Monte Carlo Simulation & Binomial Tree得跑超久...), 所以只能加上一些限制條件, 只針對比較有用的合約跑估值就好, 我目前是只針對以下的個股選擇權跑估值模型:

1. 標的(個股)市值超過500萬鎂

2. 近月選擇權 (近45日內行權)

3. 最小成交量 >= 10

4. 最近一次交易日 (3天內)

這樣過濾後就能只針對比較有機會交易 & 流動性風險也較低的合約做估值, 不過即便如此, 符合這些條件的合約做完估值後還是一大把, 我必須得讓程式自動挑出我感興趣的合約, 所以又針對這些已經做完估值的合約, 計算估值後的價格以及目前市場價格的乖離率(Bias), 乖離率越大代表市場價格跟理論價格差異越大, 在均值回歸下獲利的可能性也較大。 以我目前想交易的策略來說, 我主要針對下面兩種情況做過濾:

1. Valuation Bias: last price > 0.1; premium > 100% (合約現價被嚴重低估)

last price > 0.1 代表最近一次交易的權利金價格超過0.1元, 畢竟權利金要是更低, 光是交易手續費就不划算了, 在加上權利金低於0.1塊八成也很難交易成功(除非有地上的鈔票可撿), premium > 100%表示理論價格大於目前市價100%以上, 代表現在合約價格是被嚴重低估的, 如果我們buy call或buy put, 那獲利的機率可能會比較高。


2. Valuation Bias: last price > 0.1; discount > 50% (合約現價被嚴重高估)

一樣last price > 0.1 , 而discount > 50%表示現在合約價格跟理論價格比至少打折超過50%以上, 代表現在的合約價格是被嚴重高估的, 如果我們sell call或sell put, 那獲利的機率可能會比較高。


3. Self Query

其實就是打上面提到的/option/quote-valuation API, 即時查詢&計算個股的選擇權合約以及三種模型的理論估值, 不過因為是用免費的伺服器, 計算估值模型又要花很多運算資源, 如果是像AAPL那種超多行權價以及行權日的合約, 就得跑超久, 如果真的需要做大量查詢或是常常失敗, 上面也有提供程式原始碼, 可以自己架個Server用自己的環境跑API。


說明就先到這邊, 接著來試著使用看看吧, 首先我想找合約現價被嚴重低估的call或put合約, 表格的Valuation (Avg) 是三種估值模型計算後的平均合約價, Bias (Price) 則是上述價格跟合約最後成交價(Last Price)的乖離程度。 從下圖可以看到, 針對Bias排序後, ARNA行權價100元, 行權日2/18的合約, Bias竟然有70倍。 看一下合約市價只有0.1元, 可是理論估值卻是7.19元, 的確是超過70倍沒錯:


可是這樣就代表真的是超划算的賺錢機會嗎? 這可不一定, 我們可以看看合約標的ARNA的股價走勢看看:

可以看到, ARNA在12/13後忽然暴漲80%以上, Google了一下原因是這則新聞:

輝瑞收購喜訊加持 Arena Pharmaceuticals
美國生技公司 Arena Pharmaceuticals 周一(13 日)傳出輝瑞同意以 67 億美元收購喜訊,換算每股收購報價為 100 美元,為上周五收盤價的 2 倍,盤中股價應聲大漲近 80%,接續盤前漲勢。

如果對選擇權估值模型的公式還有印象的話, 其中有一項最重要的參數為"波動率", 選擇權簡單一句話解釋, 就是買合約的有行權的權利, 賣合約的有履約的義務, 最終還是在賭會不會行權, 行權時的價差有多大。  而估值模型的所有輸入參數中, 波動率是最重要且未知的參數, 波動率大就代表行權的可能性大, 波動率小則相反, 所以波動率越大, 合約價格就會越貴; 相反若波動率越小則越便宜。

But, 雖然你提供的未來波動率參數越準確, 則估值模型計算出的合約價格就越精確, 可是未來是不可知的, 我上面跑估值模型是直接計算標的過去一年的波動率, 所以遇到上述情況, 可以預期提供給模型的波動率是嚴重高於未來波動率的, 所以這個估值並不可信, 不能單純看這個乖離率去買進買權。

繼續往下看, 那些乖離率極高的, 幾乎也都是上述這種情況, 所以還是得一個一個過濾, 把這些雜訊濾除掉, 不過靠這表格至少已經從恆河沙數的合約過濾到剩92筆合約。 

繼續往下看, 看到有一檔FAF:




標的現價73.64, 行權價75.00, 離行權只差1.85%價差, 而合約現價只有0.25, 估值價則是1.08, 乖離率3.33倍, 其實不看乖離率就覺得這合約超便宜, 會這麼便宜應該是這幾天大跌, 市場情緒是覺得這檔會繼續下跌吧, 可是如果止跌了可以預期會獲利頗豐, 要賭我也會想賭這種的。


再來試著找合約現價被嚴重高估的合約吧, 看表格符合條件的call合約有3304筆, put合約有2221筆, 因為是當賣方, 最好結果也就合約到期不用行權, 所以乖離率最高就等於1, 也就是合約其實完全沒價值(即便還沒到期也一樣):



看表格一排的AMZN(Amazon), 來看看AMZN到底發生了什麼事:


這樣看就很清楚了, 因為最近美股大跌, AMZN近一年的波動率其實不大, 可是最近這兩根大跌破讓股價大跌, 上面表格的行權價看起來都不太可能行權了, 所以合約市價極低。不過因為AMZN過去的歷史波動率低, 而我的估值模型又是直接套用歷史波動率, 所以估值模型計算出來這合約根本不可能行權, 合約價格直接給0, 所以才會乖離率為1。 

這個問題其實有點麻煩, 照理說估值模型如果算出合約價為0, 那我們應該可以爽爽的賣合約爽賺權利金, 可是合約市價現在也跟屎沒兩樣, 就算比0好也不代表一定要賣合約, 畢竟過去的波動率不代表未來的波動率, 模型就算真的運氣好用歷史波動率給你算很準, 也都還是機率問題, 沒有確定的答案, 來個肥尾效應就輸到脫褲了。

會有3000多檔符合條件的合約, 應該有一大半都是上述這種情況, 這邊改一下表格的過濾條件, Valuation (Avg) > 0.05, 並且不看AMZN, 排序下來找到ALGN, 標的現價462.78, 行權價570.00, 離行權差23.17%價差, 合約現價6.77元, 可是估值只有0.06元, 乖離率高達0.99。 


離行權日只剩兩週, 照理說兩週要漲23%感覺很有難度, 感覺這權利金應該很好賺, 來看下ALGN股價走勢:



原因跟AMZN一樣是最近暴跌, 不過看起來比AMZN還要有賺頭(合約跟行權價差有1.18%, 兩個禮拜賺1.18%算很不錯), 不過問題是裸賣空是很危險的, 要是來個V轉就會為了賺1.18%賠十幾二十%都說不準, 真的要玩也得做好避險才行...。

這次DEMO大概就到這邊結束, 下面會開始講估值模型的歷史波動率計算, 以及一些開發歷程踩的雷, 有興趣的在繼續往下看吧~。


上面文章有簡單提到, 選擇權估值模型中, 最重要也最未知的參數即為未來波動率, 因為這個值我沒方法推算出來(有不少研究有去試著計算跟預測, 不過我還沒研究), 所以我不打算去預測未來, 而是直接用歷史波動率做為估值模型的參數, 只要沒有黑天鵝或肥尾效應或重大突發事件, 並且手動去除雜訊的輸出, 在均值回歸的作用下, 對乖離率偏差過大的合約做反向操作, 獲利的機率應該是比擲銅板還高。 至於歷史波動率的計算, 可以參考下面這兩篇:

Historical Volatility Calculation

How to Calculate Historical Volatility in Excel

因為我只看過去一年的股價資料, 所以我也只計算過去一年的波動率, 而波動週期因為我主要想交易近月選擇權, 所以週期選一個月工作天數(21天)比較符合我的需求, 之後就是計算sliding windows的平均波動率, 就可以得出月週期的年平均波動率。

再來重點來了, 以過去歷史股價資訊來說, 我們都知道越近期的資料參考價值越高, 而越古老的資料則參考價值越低, 所以我們直接用年平均波動率並不太好, 應該要以權重的方式, 越近期的波動率權重越高, 越遠期的波動率權重越低, 這樣參考的歷史波動率才更能反映未來(單純跟平均波動率相比來說)。

這個問題可以透過EWMA(指數加權移動平均)解決, 書中公式如下:


λ越小近期資料權重越大, 相反λ如果趨近於1, 則就相當於平均權重。 不過書中的a_(n) > a_(n-1) 好像寫錯了, 因為λ介於0~1之間, 照理說n越大a_(n)會越小, 應該反過來a_(n) < a_(n-1) 才對, 所以這裡我實作是把a_(1)當最近期資料, a_(n)則是最遠期資料。

https://github.com/zmcx16/Norn-Finance-API-Server/blob/master/models/formula.py#L24


歷史波動率的問題解決了, 不過我在實作cron job天天抓所有個股期權鏈時也遇到不少問題, 像是Yahoo Finance v8 API 特別容易被ban IP, 試了一週參數還是繞不過去, 然後試著用GCP Cloud Function跑Yahoo API也沒用, IP一開始就被鎖死了...。 不過幸好抓期權鏈不用v8 API, 只有抓歷史股價才會用到v8 API, 這邊歷史股價就新增marketwatch作為資料源, 幸好順利解決了ban IP的問題, 不過也讓我的Server API變成更四不像就是了...。

這次分享就差不多到這, 再來打算針對選擇權這塊做更多嘗試, 看能不能找到更多賺錢的機會!!