學會烏龍轉桌,再也不怕當股市反指標!?

學會烏龍轉桌,再也不怕當股市反指標!?

JN-avatar-img
發佈於計算機
更新於 發佈於 閱讀時間約 8 分鐘

一、前言


烏龍轉桌,常用來形容股市網紅在預測股票失準後,硬要自圓其說的行為,常見的情況大概是..


漲了就 PO 文:
一切預告在前!恭喜有跟上的粉絲!

跌了就改口:
早就提醒要賣!有跟著賣的都在數錢了!

等風頭過了就改推別檔,然後再輪迴一次。


這種網紅勝率永遠 100%,非常厲害。這篇文不是要推崇或抨擊這種人,反而是在想,如果烏龍轉桌的是我,如何轉的既優雅又風騷?都給我烏龍轉桌的機會了,要怎麼轉,獲利才能最大化


二、定義問題


為了簡化問題,做一點操作上的限制

  • 全額交割,有錢才能買,賣後T+2日入帳
  • 庫存上限為 1 張
  • 每天股價一價到底


那麼,題目是:

已知某檔股票過去 N 天的股價,請問何時買、何時賣,才能最大化獲利?最大獲利是多少?


例如,

股票代號 0116

人生越來越難控股公司 (隨便舉例),

已知過去 5 天的股價是:

[2, 3, 4, 1, 3]


那麼最佳操作是? 答案為:

[買, 賣, 等, 買, 賣]

最大獲利是 3 塊。


說明如下,

Day 1,股價 2,買進1張

Day 2,股價 3,賣出1張,獲利 1

Day 3,股價 4,等錢入帳,只能觀望

Day 4,股價 1,買進1張

Day 5,股價 3,賣出1張,獲利 2

共獲利 3 塊。


有的人會吹噓賣在最高點,但由上述範例可以發現,賣在最高點未必有最大獲利,如果第 3 天股價 4 塊時選擇賣出股票,就會錯過第 4、5 天的 2 塊價差。烏龍轉桌在天數少的時候,可以慢慢算慢慢轉,當天數一多,就沒那麼容易了。


如果對解這種題目感到好奇,

請繼續閱讀...


如果沒興趣,

請先按個愛心再走,

我會祝福您,

勝率一百趴,炒股笑哈哈。


三、解題思路


首先,了解問題後,

可以將交易者可以歸納成三種狀態,

  1. 就緒:等待買進股票
  2. 持有:持有股票
  3. 冷卻:等錢入帳 (T+1)

每天一定是三種狀態的其中一種。


交易者可能有以下三種操作,

  1. 觀望:沒買沒賣
  2. 買進:買 1 張
  3. 賣出:賣 1 張

每天都會進行其中一種操作。


搭配下圖一起看,

第一天狀態是就緒,操作上有兩個選擇,觀望買進。若選擇觀望,隔天狀態依然是就緒。若選擇買進,隔天狀態變成持有

就緒時,可以選擇觀望或買進

就緒時,可以選擇觀望或買進


第二天後,

若狀態為持有,操作上有兩個選擇,觀望賣出。若選擇觀望,隔天狀態依然是持有。若選擇賣出,隔天會進入冷卻狀態。

持有股票時,可以選擇觀望或賣出

持有股票時,可以選擇觀望或賣出


若狀態為冷卻,操作上只有一個選擇,就是觀望,因為在等錢入帳,隔天狀態將變為就緒

若還在冷卻期 (T+1),只能選擇觀望

若還在冷卻期 (T+1),只能選擇觀望


知道這些規則後,可以輕易地用列舉法把所有操作組合列出來。下圖以前一章股票代號 0116 五天的股價為例,列舉一部分的操作組合。因全部畫出來會太滿,有興趣的讀者再自己補齊,應該不難。

raw-image

上圖黑色箭頭的路徑,

代表的是這五天的操作:

Day 1,股價 2,觀望

Day 2,股價 3,買進1張

Day 3,股價 4,觀望

Day 4,股價 1,觀望

Day 5,股價 3,賣出1張,獲利0

最下方節點裡的數字,

代表的是最後的總獲利。

所以這五天的獲利是 0 元。


恩...很像我的操作...


上圖可以發現,大部分時候,每天有兩種操作可以選擇,所以五天的所有操作組合,共有約 2 x 2 x 2 x 2 x 2 = 32 種。若問題改成一個月 20 天,那就必須列舉出 2 x 2 x .... x 2 = 220 種操作組合 (約一百萬種),然後再從一百萬種操作組合,找出最大獲利的操作組合。由於實務上非常困難,下一章將分享另個更簡單的解法。


四、最佳化


其實在列舉幾種結果後,應該能觀察到一些規則,然後發現可以用回推的方式,算出最大獲利跟操作組合,下面繼續以0116的股價為例,演示一遍。


raw-image

從 Day 5 開始,股價 3,

若狀態是就緒,觀望能獲得 0 元,買進能獲得 -3 元,所以選擇觀望,以 0 和 [p] 記錄獲利 0 元和觀望操作。

若狀態是持有,觀望能獲得 0 元,賣出能獲得 3 元,所以選擇賣出,以 3 和 [s] 記錄獲利 3 元和賣出操作。

若狀態是冷卻,只能選擇觀望並能獲得 0 元,以 0 和 [p] 記錄獲利 0 元和觀望操作。


raw-image

Day 4,股價 1,

若狀態是就緒

觀望能獲得 0 元,加上 Day 5 就緒狀態記錄的 0 元,共獲得 0 元。

買進能獲得 -1 元,加上 Day 5 持有狀態記錄的 3 元,共獲得 2 元。

所以選擇買進,以 2 和 [b, s] 記錄這兩天最大獲利 2 元和對應的操作組合。


raw-image

繼續把 Day 4 填完,

若狀態是持有

觀望能獲得 0 元,加上 Day 5 持有狀態記錄的 3 元,共獲得 3 元。

賣出能獲得 1 元,加上 Day 5 冷卻狀態記錄的 0 元,共獲得 1 元。

所以選擇觀望,以 3 和 [p, s] 記錄這兩天最大獲利 3 元和對應的操作組合。


raw-image

照上述流程把表格填完,到 Day 1 時,由於狀態是就緒,所以持有冷卻不用填,以 x 表示。


raw-image

Day 1,股價 2,

狀態是就緒

觀望能獲得 0 元,加上 Day 2 就緒狀態記錄的 2 元,共獲得 2 元。

買進能獲得 -2 元,加上 Day 2 持有狀態記錄的 5 元,共獲得 3 元。

所以選擇買進,以 3 和 [b, s, p, b, s] 記錄這五天最大獲利 3 元和對應的操作組合。

說明:

Day 1,股價 2,買進 (b)

Day 2,股價 3,賣出 (s),獲利 1

Day 3,股價 4,觀望 (p)

Day 4,股價 1,買進 (b)

Day 5,股價 3,賣出 (s),獲利 2

共獲利 3 塊


靠這樣回推,就能找出最大獲利和操作組合。


五、結論


感謝讀到這邊的讀者!

這篇的解題思路跟之前的 西洋棋中的 八皇后問題 很像,其實人生中很多問題也是,當有問題想不通,覺得人生越來越難控的時候,試著把不同選擇一步步畫出樹狀圖,便能一目了然,甚至能觀察圖中是否有潛在規則,進而簡化問題。

最後還是要說,精通烏龍轉桌,除了可以幫助我們在社群上 PO 出獲利率最高的操作之外,對投資一點幫助都沒有。不想當股市反指標,誠實面對才是正道,注意資金控管,隨時持盈保泰。共勉之~


附錄


簡單寫,沒檢查 bug

簡單寫,沒檢查 bug


若 20 天股價為:

[2, 3, 4, 1, 3, 3, 4, 1, 3, 1, 2, 3, 4, 1, 3, 1, 4, 1, 4, 1]

最大獲利和對應的操作是:

2: buy
3: sell
4: pass
1: buy
3: pass
3: pass
4: sell
1: pass
3: pass
1: buy
2: pass
3: sell
4: pass
1: buy
3: sell
1: pass
4: pass
1: buy
4: sell
1: pass

Max Profit: 11

有興趣的讀者可以試著用紙筆,以回推的方式驗證看看。

avatar-img
JN的沙龍
62會員
29內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
留言
avatar-img
留言分享你的想法!
JN的沙龍 的其他內容
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣