當年今日
關於我們

源馬友筆|虛擬股海大屠殺 優生學式尋覓最強「炒股基因」(源馬)

蘋果日報 2021/06/21 00:00

源馬友筆源馬

上期發現樣本分析方法難以用常規方法處理後,源馬決定嘗試用「演進演算法」(Evolution Algorithm)方式,提煉有用的技術指標,並將指標放回backtesting工具測試,結果這個處於測試「此路是否通行」的algo,在78個技術指標出10個較通用指標,而且回測結果仍可接受。
TL;DR:收市價、10日平均線都高於50日平均線;50日線正在上升。陰陽燭:頂部十字星牛熊形態;黃昏之星(熊);吊人(熊);身懷六甲牛熊形態;陷阱牛熊形態;射擊之星(熊);短蠟燭牛熊形態。
empty
用anaconda運行algo
事實上,由78個指標抽10個指標的組合,數學上用二項式系數(binomial coefficient)可知共有12,583億個組合,難以窮盡,但develop過程的測試表現比預期中大為穩定,雖然每次得出的指標有些微分別,但整體上RSI(30買/70沽)、MACD柱正負的「基因」大多都被自然淘汰,反而和移動平均線相關的幾個指標則是「優質基因」常客,大概是源於樣本中有多隻如SQQQ的爆跌股,移動平均線發揮到保護作用。
從結論開始,因為algo尋覓的是通用的策略,要在17隻股票樣本中總計獲得最好的成績,所以對比亂買亂賣的隨機群組表現時,會發現algo顧到頭顧到尾不顧中間,嘗試收窄在下跌股的虧蝕,並在強勢股中爭取較佳回報,甚至在不同測試中,表現較佳的強勢股亦不同──畢竟456兆個的組合過龐大了。不過對於想靠一招走遍天下的朋友來說,結果是殘酷的:algo顧到頭顧到尾時,中間的就顧不到,表現往往較隨機群組差。
empty
從總結表中可以看出,優生學在處理強勢股Tesla、Apple、港視(1137)、港交所(388)、騰訊(700)裡,都跑贏隨機群組三成至近一倍。而下跌股方面則並不算十分突出,部份應歸因為優生學algo計分時包括沽空,但backtesting則不配容。
Algo中一個比較特別的地方是卓爾(2098),該股期內由經調整後的3元炒上11元,再瀉至0.5元,algo上演一幕股價跌8成(下圖灰線),但獲利達9成(綠線)的戲碼。這對algo整體策略有頗大影響,因為計分是所有樣本總和,而個股分數是買賣後結餘除以結束日收市價計算,意味algo假設11蚊沽貨,11除0.5相當22分,若以Tesla結束日收報676.88計,就要在30.76元位置買貨,才能獲得22分。
empty
empty
從學習進度圖中可見,綠線最高分基因很早已在頂部,意味一開始隨機編配「基因」時已出現「天才」,但平均數藍線和中位數橙線顯示,要到第10代左右才整體到較高水平,並在30代左右才進化到「全民皆識炒」的「近親繁殖」階段。
最後是algo運作介紹和有待改進的地方:
—完整原碼同樣可在github下載(blog有連結)
—測驗指標主要約60個陰陽燭,其他現階段只有MACD、RSI和移動平均線關係等,如5日線高於或低於10日線等。
—algo首先創造300人,並隨機將78個「基因」分配給他們,每人帶10個基因。於file頭可修改設定。
—測試所有股票樣本,股民根據股票技術面和基因相符程度決定買賣,較多符合的基因則買,反之則沽。
—計分後大屠殺表現最差的10%人口。
—剩下90%人隨機與另一人交配,湊合新基因;Top 10%有兩次交配機會,順便維持人口相同;遺棄上一代,下一代重覆大屠殺至第50代。代數於file頭可修改。
—完成後於console print出top10的基因
—algo使用的套件TA-lib其他還有很多如CCI等指標可方便地加入。
—目前基因過於「硬性」只有正與反,如RSI寫死了30/70,其實可加入參數,讓algo自行模索RSI最佳買入及賣出的位置。但牽涉較大程式改動,之後再處理。移動平均線情況也是一樣。
源馬友筆blog
Tg group
-----------------------------
蘋果App大升級 更簡潔更就手!了解更多立即下載體驗
-----------------------------
一書盡覽新手必讀資訊
-----------------------------
【全球樓行】 Dream House零距離
屬於香港人的移民攻略