- 登入
- 註冊


量化通社群問題筆記系列文章,是整理自量化通 LINE 社群裡的第一手真實案例與實戰中常常遇到的問題。我們摘錄社群的原始對話內容,並整理成專題文章。
社群的真實討論很有價值,雖然這不是標準教學,而是大家在實踐量化交易中留下來的問題與心得。除了策略開發、回測、串接與下單設定之外,尤其是心理面與經驗分享才是精華所在。這類問題很難在網路或官方文件裡直接找到答案,但在每次提問和交流中,真正的問題核心點就會慢慢浮現出來。
所以這系列文章不是要給一個標準答案,而是把當時的討論脈絡整理出來,順著問題本身往下拆,變成更有參考價值的內容給大家。
*贊助商內容
社群成員A:我很好奇 看權值打指數 在看五檔掛單 甚至觀察是先拉台積還是最後在拉。
社群成員A:因為在主觀判讀段上一開盤就拉台積的盤容易開高走低
社群成員A:這種有辦法程式化嗎
社群成員B:幾乎很難吧
社群成員C:理論上做得到 實際上可能overfitting
社群成員A:人沒把他想法程式化真可惜 主觀會賺錢程式應該也會賺
社群成員B:不一定 因為想法會變 他有時覺得拉機時 是最後一拉 有時覺得是盤勢發動 他過一段時間就變一下
量化通-Tony:我的經驗是主觀交易要程式化難度很高
量化通-Tony:簡單的邏輯都能做到
量化通-Tony:但主觀交易者的成功有一部份來自於一直變換的盤感
量化通-Tony:這東西要程式化就很難了
量化通-Tony:至少我自己的盤感我就寫不出來
量化通-Tony:慢慢就放棄要把主觀邏輯轉程式化了
量化通-Tony:就算沒用之前的主觀方法 程式也有太多種方式可以寫出賺錢的邏輯了
社群成員A:但我覺得還是要程式化 保持一致性
在現在 AI 這麼發達的時代下,寫程式碼早已不是什麼問題。問題在於:原本靠手動判斷、靠盤中感覺、靠經驗看出來的東西,到底有沒有辦法提煉成量化的邏輯?
這次表面上是在討論「能不能寫成程式」,但真正卡住的地方通常不是程式本身,而是那個判斷到底能不能被講清楚。你說「這裡看起來可以進場」,那這個「看起來」是什麼?你說「這邊不要做」,那不要做的條件是什麼?如果這些東西還停留在主觀感覺,程式就很難處理。
所以我當時會先把問題回到一件事:不是所有手動交易的經驗,都能直接搬進程式裡。能不能程式化,重點在於規則能不能被明確定義,資料能不能支撐回測,以及這個判斷到底是策略規則、臨場判斷,還是心理干預。
社群裡問「這種有辦法程式化嗎」,這句話其實很常見。很多人不是完全不懂策略,也不是沒有交易想法,而是原本習慣用手動方式判斷,後來想把它變成比較穩定、比較可檢查的流程。
但主觀交易要程式化,難度高的地方就在於:手動交易裡很多判斷,當下看起來很自然,真的要寫成條件時,才會發現它不一定清楚。
例如,某個訊號「感覺差不多了」、某個位置「看起來不太對」、某種走勢「應該要避開」,這些在手動交易裡可能有意義,因為人會把很多背景一起放進腦中判斷。但程式不會自己補這些背景。程式需要的是清楚條件,而不是一句模糊描述。
這也是為什麼,從手動交易轉程式交易時,不適合一開始就問「這招能不能用程式做」。更應該先問的是:這個判斷能不能寫成明確條件?這些條件能不能被回測?如果不能,那它可能還停留在主觀交易的範圍裡。
這裡不是說主觀交易一定不好,也不是說程式交易一定比較好,而是兩者處理問題的方式不一樣,手動交易可以容納很多臨場判斷,量化或程式交易則需要把條件先說清楚。

社群裡後來也有人問到手動看訊號的問題:
社群成員:請問單買策略 適合看訊號手動做單嗎
量化通-Tony:沒有不行 但這就不量化了
量化通-Tony:這也可以回測做成量化
量化通-Tony:但你手動 就跟量化無關了
量化通-Tony:就沒有不行 但你要知道自己在幹嘛
這段對話的重點,不是在說手動看訊號不可以,而是要把邊界講清楚。
如果你只是看一個訊號,然後自己決定要不要做,這可以是一種使用方式,但它就不是完整的量化策略。因為中間多了一個人的判斷:看到訊號之後,要不要進?要不要等?要不要跳過?要不要臨時調整?這些如果都由人決定,那結果就會混入主觀因素。
反過來,如果這些條件可以被寫清楚,也可以拿去回測,那它就有機會往量化方向整理。重點不是名字叫什麼,而是過程裡哪些地方是規則,哪些地方是人為判斷。
所以看到訊號手動做單,並不是「不行」,但要知道自己正在做的是什麼,你是在用程式輔助主觀交易,還是真的把策略規則做成可以回測、可以檢查的量化流程?這兩件事不能混在一起看。
很多問題會卡住,就是因為前面說想做量化,後面又希望保留很多手動判斷;前面想看回測,後面又在實盤時不斷人工改動,這樣最後很難知道結果到底來自策略本身,還是來自中間人的干預。

從手動交易轉程式交易時,很容易把所有東西都叫做「策略」,但實際拆開來看,裡面可能有三種不同東西。
這類東西比較有機會被寫成明確條件,也比較有機會拿去回測,例如:某些訊號、某些進出條件、某些可以被定義的判斷,如果規則可以講清楚,後面才有討論程式化的空間。
這類判斷不一定不能用,但它常常比較難直接變成程式,因為它可能依賴當下狀況、個人經驗,或者很多沒有被明確說出的判斷背景,這些如果沒有先定義好,就直接寫成程式,很容易變成只是把模糊想法硬塞進規則。
當市場上下洗刷,我們會容易被干擾,像是看到訊號後臨時不敢做、看到虧損後想停損、或是行情改變就想改判斷,這些都源自於人類本能的心理反應。如果這些干預沒有明確規則,最後想轉成程式交易時,就會很難判斷到底是策略本身有問題,還是被情緒干擾了結果。
所以我比較在意的,不是某個手動想法能不能立刻變成程式,而是它現在到底屬於哪一類?是已經可以定義的規則?還是只是當下判斷?還是其實是心理上的介入?
這個拆法不是為了否定手動交易,而是為了避免把不同層次的東西混在一起,只要混在一起,後面不管是看回測、看績效,還是看實際執行,都會很難判斷。

社群裡也問到,如果本來有量化或程式交易,但又想手動干預,該怎麼看。
量化通-Tony:要手動干預量化 我還是會建議你開兩個帳號
量化通-Tony:讓戰績可查
量化通-Tony:做久了你就會知道自己有沒有那個天分
這句話不能被解讀成所有人都一定要怎麼做,也不是一個固定規則,它比較像是在提醒:如果你想看清楚量化策略本身的狀況,就不要讓手動干預和程式策略混成同一筆結果。
因為只要混在一起,你很難回頭判斷,策略本來的規則是什麼?哪些單是程式照規則做的?哪些是人手動介入的?最後賺賠到底來自策略,還是來自人工調整?
如果只是想用程式輔助判斷,那可以承認它是輔助主觀交易,這沒有不行,但就不要把它當成完整量化結果來看,如果是想驗證一套量化策略,那手動干預就會讓結果變得不乾淨。
這也是為什麼,討論這類問題時,我不會急著回答「可不可以」,很多事情不是可不可以,而是你要知道自己在做哪一件事。你是在跑策略?還是在看訊號後手動決定?還是在用程式提醒自己,但最後仍然靠主觀判斷?這些都要先分清楚。

社群對話裡也提到,有些判斷其實可以寫,也可以量化:
量化通-Tony:背離啥的都很好寫 也很好量化
這段比較適合放在「條件能不能被定義」的脈絡裡看,某些概念如果可以寫成明確條件,那就有機會進一步整理成可以回測的規則,可是這不代表所有主觀經驗都能直接程式化,也不代表只要能寫,就一定代表策略有效。
從手動交易轉到程式交易,最容易出現的誤會,就是把「我曾經這樣做過」直接變成「這就是一條規則」,但一次手動經驗,通常不足以直接變成程式規則。
中間至少要先確認:當時的判斷條件是什麼?哪些地方可以被明確描述?資料能不能支撐回測?如果只是事後覺得當時很合理,那還不能直接當成可驗證策略。
這裡要小心的是,不要把主觀判斷包裝成量化策略,主觀判斷可以存在,但它要被放在正確的位置。它可以是想法來源,可以是觀察方向,可以是後續整理條件的起點,但還不能直接等於一套可回測、可驗證的策略。
我們可以先用幾個問題把它拆開,不要一開始就急著找答案:
這些問題不是標準答案,也不是照著看就能判斷策略好壞,它們比較像是把問題整理乾淨的前置檢查,當條件不清楚時,直接談程式化,很容易越談越混亂。
先把問題拆清楚,再談能不能變成程式。

我會先把它改成幾個更具體的問題:它是明確規則,還是主觀判斷?它能不能被寫成條件?資料能不能支撐回測?如果中間還有人為干預,那這個干預要不要和原本策略分開看?
從手動交易轉程式交易,最容易卡住的不是程式碼,也不是單一訊號,而是沒有先把規則、判斷和心理干預拆清楚。主觀交易要程式化,難度高就高在這裡:很多人以為自己是在描述規則,其實描述的是經驗;以為自己在做量化,其實中間保留了很多手動判斷。
這件事不用急著下結論,手動可以有手動的用法,程式也可以有程式的用法,看訊號後手動做單不是不行,但要知道它跟量化的邊界在哪裡。真正重要的是,不要把一次手動經驗直接升級成固定規則,也不要把人工干預後的結果直接拿來代表策略本身。
所以這題可以先收斂成:在問能不能程式化以前,先確認你的判斷能不能被說清楚、被定義、被回測,再來寫成一個可以使用的量化交易策略!