上一篇文章 說明了不要讓單一標的大跌對整體部位造成毀滅性傷害,必要且有效的方法就是將資金分散到多個標的,也就是投資組合。因為看錯標的不見得會受傷,受傷的原因是看錯又重壓,而加槓重壓則造成完全毀滅。標的的選擇和比重的設定這是不同的功課,必須逐步拆解,基礎打穩後再加入擇時因子分析以伸縮部位,無法一蹴可及。若無穩扎穩打的知識體系和管理能力,無定而流動的財富可能暫時經過,卻絕無法長期停泊。
投資組合不是死板板的東西,倒像是一個球隊,期望比賽有好表現必須強強聯手,每個球員入選必定先要具備某項特長,本身就要夠強,這是基本的要求;進一步再考慮到合作和互補,讓單一球員的弱點被團隊能力所遮罩,或讓個別優點更容易發揮。正如球員的甄選需要長期的觀察和尋尋覓覓的過程,投資標的的選擇又何嘗不是這樣?我們也首先需要對個別標的的選擇做一些研究探討。
標的選擇首重基本面的了解!這句話是在打滾數十年後的今天,幾乎是近一年才有的理解。回頭看來,實在是花太多時間在技術分析,量價結構,籌碼分析,選擇權等複雜商品的原理學習,國內外指數期貨之短線交易等等;雖說用心學過體驗過一定還是多少留下一些生命養分,但實在還是有點後悔!為何不多花點時間去了解產業結構,各公司在其中的位置和優劣勢,從終端消費分得的利潤分額,主導人類生活發展的力量來源等較宏觀的思考方向?
買一張股票就是與那家公司的經營團隊同一陣線,共同看好公司的發展,只是有經營權的他們付出的是勞心勞力,我們付出的金錢,同樣是用寶貴的青春所換來的,本質上都是付出代價而來的,所以必須盡可能的理解他們的認知。而經營事業所需的能力和知識實在是太廣泛了,若想尋找一個標準化流程是不可得的,正如商學院僅能傳授基本的知識框架,每個時代具有引領潮流大氣魄的商業領袖,都是突破框架的,他們提供「案例研究」給商學院學習而非取自於它。
身為一個程式員努力打造一個好的管理與分析系統,雖然的確開發出讓自己很興奮的功能,但還是要先痛扁自己一頓,這些功能在整個投資體系裡實在是何等微不足道,工具充其量就是工具,長久致勝的關鍵還是那不可取代的腦袋,連同全人情緒管理能力之感性理性偕同運作之終極結果。連系統目標也因不同人在不同階段或狀態而不同,利潤最大化只是選項之一。所以投資活動的關鍵在人,對選用的各種工具都先要有正確的定位,認知其功能和限制,謙卑的面對複雜多變的市場,才能期望獲取合理的利潤。本系統著墨於量化分析的基本部分,還需要做許多基本面的功課搭配使用。
歷史資料需要取用幾年才夠?不是越多越好;雖說人性千古不變,所有資料理論上都存在參考價值,但變的是科技文明和社會氛圍,而且也要考慮資料處理和計算的複雜度,因此大致上取了五年的資料。五年足以讓市場行為的驅動邏輯大幅改變,我就先假設忽略五年以上的影響力吧。每天一筆資料是合理的頻率,開高低收是非常標準化的金融資料,因著眼於長期的趨勢所以只取每日收盤價,感謝 yahoo finance 提供功能完備的資料庫和 api。
雖然大部分財經網站也可以輕易取得每日行情,但下一步就不見得了:還原日線。所謂還原日線就是以最新收盤價為基準,考慮除權息後將每日報酬率確實反映到收盤價,任何時間只要發生除權息事件,所有歷史資料都要重新滾過,算是有點麻煩的動作,但卻是很基本且重要的,yahoo finance 也非常大方的提供了,如以下台積電的資料中顯示 12/15 除息,則那一天以前的所有收盤價都已顯示回朔調整的結果:
這樣的服務在國內網站就不是太容易取得,少數的確提供還原日線的功能,但若僅僅用眼睛觀察廠商精心設計賞心悅目的畫面,真正能解讀的資訊也非常有限。此計算基礎若不釐清扶正,接下去的計算可想而知就是 GIGO,連報酬率的定義都錯了,所有的分析結果就別寄望有何價值了。另外,台股大盤的指數型被動投資是很重要的 benchmark,所有策略至少要優於它,否則「打不贏大盤就加入它」也不失為一個分析模型的有效結論,衡量大盤報酬的指數必須去證交所網站抓取「加權股價報酬指數」,這與還原日線為異曲同工,還原日線是對齊最後一天,報酬指數是對齊第一天。這就是本系統最重要的計算基礎。
有了收盤價後開始計算「與前一日的差額」,除以前一日的價格而成為「日報酬率」,其意義就是前一天收盤前的瞬間買進持有此標的,忍受它的不確定性經過一天抱到收盤,市場所賞賜的報酬率,若經過很多天就是這些數字乘起來。不過這樣算有一個問題,就是一段期間的報酬率取決於「起始日」。比如說「2022 年初至今的報酬率」,從五年前起算與從一年前起算不一樣,這樣實在很困擾。實務上報酬金額大小的確是這樣沒錯,除了本年度的標的物價格變動以外當然也取決於以往長時間累積的資本,這大家股吹的複利效果我理解,但這兒做分析的目的是「單純呈現本年度的表現」,為了達此目的我們將日報酬率用相加的而非用乘的,所代表的意義就是「定額曝險」。假設今天價格上漲,在收盤前賣出部分,反之則買進部分,讓市值維持與起始金額相同,每天微調部位,這是很重要的理論基礎,如此計算複雜度大幅降低,邏輯也變得單純清晰。
以上為針對報酬率的回測方法,其實重要性不是最高的,因為「歷史績效不代表未來績效」,以歷史報酬當成期望報酬的統計量,這理論基礎非常薄弱。我一開始在玩回測時看到高的報酬率就很興奮,隨著被市場修理次數夠多後才漸漸不再那麼容易自嗨。其實回測比較大的價值還是在於「風險」的評估,風險值表現得比較具有一致性,評估風險最重要的數據莫過於 MDD (Max Draw Down) 了,以定額曝險基礎的計算邏輯,MDD 超過 100% 是可能的,意味著若最倒楣的狀況發生,投入第一天開始震盪下跌,每次跌時均加碼維持市值,最多淨加碼金額有可能超過本金的一倍!價格雖然未歸零但卻因下跌過程的「累積比例值」已經賠了百分之百;意思是此狀況需要準備兩倍的資金,多出的資金為預備加碼使用。
以實際數字模擬說明,若連續 100 天每天下跌 1 %,累積虧損將達 100 %,但價格為 0.99 的 100 次方,大約是 37%。以波動頗大的 6488 環球金為例,在 2018 下半年出現 MDD 接近 100%,價格大約從 600 跌到剩三分之一約 200,因加碼的關係賠掉本金的一倍,但之後卻迎來可觀的漲幅。此例也可以如此理解:要扛住 100% 的 DD,若能控制初始槓桿在 0.5 倍,雖然在市況變差的過程逐步被迫放大投入比例到接近滿百,但還是能安全維持策略運作,獲得長期投資績效。反之若在 2018 年中 100% All In 則在下跌過程中因無資金加碼,所以可能只損失三分之二,但相對的後續漲幅因本金基礎改變所以也都要打三折;另一極端情形若借錢來投資,也就是槓桿大於一,則非常可能會完全歸零破產。實務操作必須保有彈性,機械化的理論框架計算結果可以成為一個很好的參考基準。
接下來要探討「波動率」了,這也是評估風險值最一般性的指標。波動是一種很複雜的感受,但計算波動率是個簡單的數學公式,就標準差而已。而為了統一基準,一率採用「年化」,一般以 252 個交易日認定。平均年化報酬除以年化標準差就是 Sharpe 指標,注意年化報酬是平均報酬 * 252,年化標準差是標準差 * sqrt(252)。另外若把「正波動」去掉,只算負報酬的標準差,則得出 Sortino 指標,這些都很容易查詢取得,不須多費篇幅。
以上詳細列出系統處理資料的方式和計算邏輯,我相信在選擇標的這複雜的工作上打了很好的基礎,原則上就是在追求高報酬率的同時,考量自己是否願意為此報酬率承受波動風險和拉回的過程,系統可以快速計算任何 yahoo finance 上的任何標的,非常好用,連美股都可以喔,看一下最近崩壞的 Tesla,散戶這麼愛的存股標的怎麼這樣?可見投資真的不是可以仰賴單一概念或一知半解而輕易為之的!
此外系統已經開發了許多功能,將慢慢地把其價值論述整理出來。
Newman 2022/12/23
導覽頁:精明管家