2020年3月30日 星期一

硬性 & 軟性掛單 (1) 硬性寫法(Hard SL, TP and Pending)

初學者在學習寫交易程式的時候,我會建議盡量先採取 硬性(Hard)的寫法,硬性的寫法是指,我們盡量把掛單函數填滿、填好、填早,讓券商伺服器或回測軟體,能自動觸發相對應的交易行為。

舉例來說,你如果已經預期你進場之後要在特定價位加碼,那你可以在進場時直接 pending 加碼的 order 在特定位置:

也就是說,你的交易訊號一觸發,你的相對應的交易管理邏輯,可以的話就盡量通通先 pending、先放好初始的 SL/TP ,剩下就是交由券商伺服器方(Server Side)去幫忙做:

1. pending order 的到價檢查
2. Stop Loss / Take Profit 的到價檢查

交易系統的硬性寫法,是讓你把交易邏輯盡量在訊號產生的時候,就盡量先計算完,盡量先把所有的鍋甩到券商臉上,盡量減少自己交易程式中需要儲存的狀態變數(state variables)。

讓我們看更複雜的例子,如果我進場 1 lots 然後預計:

1. 上漲 5% 我要加碼 2 倍 (= 2 lots)
2. 上漲 10% 我要整組交易減碼 50% 
3. 上漲 15% 我要 Take Profit(=減碼 100%)

在硬性寫法中,我會先把單全部開好,也就是說連 PartialClose 我都要避免,盡量只使用 OrderSend, OrderDelete, OrderClose 三類函數:
 
但是硬性的寫法有 2 個在回測(Backtest)時的缺點:

2020年3月29日 星期日

模擬交易週記W18 (2020.3.23 - 3.27)

在此寫的週記有幾個主要目的,是為了彌補 MyFxBook 上面的不足

所以主要是告知大家,MyFxBook 上面可能不容易觀察到的資訊

最主要就是:

(1) MyFxBook vs. Terminal 的線圖,驗證交易邏輯無誤 (本周:無誤)

(2) 確切的 Equity Drawdwon (本周:無更新)


(3) 交易列表中無法解釋的事情 (無)


2020年3月26日 星期四

西方自然科學的起源 (3) 僅次於聖經的書:博物寓言

可先閱讀:
- 西方自然科學的起源 (1) 相似性 
- 西方自然科學的起源 (2) 奧利金詮釋系統


在奧利金具體歸納出他的詮釋系統之後,他的一個學生在隨後不久就跟著寫了一本著作,叫作〈博物寓言〉(Physiologus),紀載了約莫 40 多個動植物分類(還包含礦物),從神學去系統的解釋大自然。

當時基督教還需要很努力地去傳教,去對抗各種地方的信仰體系,基督教必須要有強而有力的詮釋能力,才能說服人「基督教更好!更對!」,由於奧利金解決了詮釋問題,所以對於教父、修女們立即的功課,就是趕緊把人日常生活會遇到的各種事物,作出合理的信仰解釋。


而這本〈博物寓言〉扮演了開天闢地之用,除了聖經之外,在中世紀最被人廣傳的書就是這本,被翻譯成 10 多國的語言,甚至曾有人說:「〈博物寓言〉掩蓋了亞里士多德 1000 年來的耀眼光芒。

舉例來說,在〈博物寓言〉中談到的「蛇脫皮」時:

1. 蛇在脫皮前不能吃東西
2. 蛇在準備脫皮時,會去尋找岩石中的窄縫
3. 蛇會進入窄縫弄到擦傷,也因此肌肉收縮得以脫皮

而這三點分別對應到基督教中的:

1. 信徒需要經常禁食齋戒
2. 真理的大門是狹窄的,不易進入
3. 信徒進入真理中是會受苦的,但受苦的最終得以蛻變


身為東方人 ,我們需要特別留意的是,這些對於「蛇」的細節觀察,和我們東方人在一些哲理譬喻上有很大的不同,例如打草驚蛇、蛇蠍心腸。通常我們東方人的寓言故事中,都是比較概括式、擬人式,因為這些故事只是要作一個譬喻。

但是從這個蛇的例子可以看出,由於基督教的教義,是把世界看成是神所造的,所以他不是在尋求一個「 80% 單純類比」而是在尋求一個「100% 徹底詮釋」

所以下次有人說,為什麼科學不會出現在東方的時候,問題絕對不是只有西方發達、東方鎖國的屁話,其實更大的因素是東西方從悠久歷史之中,就已經先天有所差異,從西元三世紀就有巨大差異。

延伸思考

從這本〈博物寓言〉的故事來思考,其實我不是那麼反對世界趨勢是以「我有槌子,所有問題都是釘子!」的角度發展,例如現在的「大數據」、「資訊革命」,就有一種全人類在寫一本--〈資料寓言〉的書的感覺。

然而,在博物寓言書出版之後的 100 年,歷史迎來一個重要人物:聖奧古斯丁,他在哲學層面的開疆闢土,也將導致自然科學發展的停滯... 

這是否會是未來資訊革命可能重蹈的覆轍呢?讓我們再來抽絲剝繭,小心翼翼地抓出重點,並在這個時代去避免。

2020年3月22日 星期日

在 ATR 後更上一層樓:GARCH

大家知道我是推薦新手習慣看線圖盡量搭 ATR:

1. 習慣去調整 ATR 的參數,4,7 或 14 和 22 等時間參數
2. 盡可能關注他的低點變化趨勢,而非高點

某種程度上 ATR 其實已經夠用,但是如果你今天交易很多個標的,或是在單一標的上面交易很多個時間尺度,ATR 有些反應可能有點滯後,這時候怎麼辦呢?

你可以使用 GARCH 模型,GARCH 模型在大多數程式語言中都有內建數學函數,在 MetaTrader 中也有網路免費的指標下載(下載頁面),大家都可以玩,底下會做示範,同時和 ATR 做簡單比較。

認識 GARCH 模型

很粗糙來說,GARCH 是是一種數學假設,他考慮在一個資料趨勢底下,他的波動率也有一個特徵:


GARCH 模型考慮的波動特徵就是 波動叢聚現象,這個部分無論是短期在日內的週期效應我有錄過的影片)還是在長期的外匯趨勢(我做 PPP 分析的文章)都有呈現出來,除此之外,在以外匯為主的期貨選擇權相關定價,也是一樣。

從造市商的角度來看,一個成熟的交易市場,應該是交易量和波動是呈正比的,而價格變化也應該某種程度和交易量呈正比,當然這不會是嚴格正比,而是一定程度的正相關,否則市場會開始萎縮。



波動叢聚現象描述的一個情景是:當波動率變高的時候,他會維持一段時間,當波動率變低的時候,他會維持一段時間

因為波動的變大變小,會直接影響 MAE/MFE 往某一個分布變化,這通常是你的交易策略要輪換的時間,或是你可能要動態調整 SL/TP,進場大小等的關鍵時刻。

模擬交易週記W17 (2020.3.16 - 3.20)

在此寫的週記有幾個主要目的,是為了彌補 MyFxBook 上面的不足

所以主要是告知大家,MyFxBook 上面可能不容易觀察到的資訊

最主要就是:

(1) MyFxBook vs. Terminal 的線圖,驗證交易邏輯無誤 (本周:無誤)

(2) 確切的 Equity Drawdwon (本周:無更新)


(3) 交易列表中無法解釋的事情 (無)



2020年3月19日 星期四

西方自然科學的起源 (2) 奧利金詮釋系統

在前一篇〈西方自然科學的起源 (1) 相似性〉中,我們已經了解到,人們從神學上的解釋到自然上的分析的關鍵因素,就是「相似性」,我們要開始出發研究哲學到科學的轉向。

目前時間軸:



柏拉圖象徵主義:對可見世界賦予價值


在開始討論聖經之前,我們需要先對柏拉圖的象徵主義有一點認識,沒有哲學背景的朋友,你可以把「象徵主義」理解為一種以「隱喻/譬喻」為主的思維方式。

這種思維模式之所以存在,很大的原因是為了支撐宗教,支撐了宗教等於就支撐了那個時代的政治與權力。柏拉圖的象徵主義認為:

真理已經把關於它的所有秘密,潛藏在世間萬物之中,人類透過理解世間萬物的象徵意義,藉此接觸真理。

這套哲學理論對宗教簡直是超值大禮包,因為無論任何神學、靈學,都能在這套理論上建構自己的真理,並透過世間萬物變化,來解釋與驗證它的真理。

簡直是個超狡猾的「先射箭再畫靶」呢!

2020年3月17日 星期二

有報價(Quote)與有交易(Trade)的差別

一般來說,有報價(Quote)不一定能交易(Trade),也就是可交易時間(Trading Hours)是比你能看到的時間來的少一些。

通常來說,這段時間不會太長,主要是來自於券商的限制。例如剛開盤的 5到 15 分鐘,券商不允許你交易,但是仍然有報價。也因此,交易程式的雛型一旦開發完成,就會開始著手分拆的動作。

也有一個情形,是券商那邊系統有問題,造成市場有報價但你不能交易,這有可能發生在 demo account 喔!大家在模擬交易的時候要小心,模擬交易的處理 priority 是比real server 低的。 

Quote 與 Trade 和交易程式的寫法

所以根據 Quote 和 Trade 的本質上的不同,最終我們應該把交易程式中許多錯誤處理(Error Handling)以及監控反饋(Monitoring)的程式,拆出來變成獨立的一個 program ,在 MT 中就是額外的 EA。

這個 EA 可以在有 Quote 的時候就開始著手準備一些處理,雖然他不能立即對交易採取什麼動作,但至少他可以寫檔案、傳訊息等,而 Trading EA 還是在等待交易時間在繼續執行他的邏輯。


這會有助於你把外匯的交易程式,搬到其他標的上面,例如原物料和指數期貨,因為除了外匯標的,通常其他標的有更多複雜的條件(例如原物料晚上會停 1 小時,指數中間會停 1 小時,有一些假日會有 Quote 但不能 Trade。)

關於 Quote Data 與 Trade Data

同時你也要留意到,既然根據券商本身的差異,會造成 Quote 與 Trade 有差別,那麼在歷史資料的回測上面,你是在 Quote Data 和 Trade Data 上面回測也會有些許差異。

一般來說,如果你沒有 Trade Data 的話才會用 Quote Data,再怎麼糟糕我覺得還是要有 Trade Data,資料來源可能不是你最後交易的券商,但是你用 Trade Data 至少能在一定程度保證你的 Close Price 是比較正確的,而 High/Low 可能根據券商會有些微差異。

所以這也提醒你,如果必要可以優先使用 Applied 到 Close 價格的指標或分析,而非應用於 High/Low 的(例如大多數形態學都是以 High/Low 為主,資料切換就會有很大影響)
 

你不需要一開始寫交易程式就想到這件事情,而是隨著你的交易程式開始成熟,你開始大量地使用他,你為了讓他更穩定,你開始要對裡面的一些邏輯做一些技術性的調整,以及對應真實市場機制採取一種特別的程式架構。

2020年3月15日 星期日

模擬交易週記W16 (2020.3.9 - 3.13)

在此寫的週記有幾個主要目的,是為了彌補 MyFxBook 上面的不足

所以主要是告知大家,MyFxBook 上面可能不容易觀察到的資訊

最主要就是:

(1) MyFxBook vs. Terminal 的線圖,驗證交易邏輯無誤 (本周:無誤)

(2) 確切的 Equity Drawdwon (本周:無更新)


(3) 交易列表中無法解釋的事情 (無)



2020年3月13日 星期五

想像力的解剖:雙軸理論

關於想像力、圖像式思考如何從小鍛鍊呢?

其實大方向、大原則就是多「畫圖」以及多「情境思考」,但是對於生活經驗不豐富、語言也尚未掌握良好的小朋友來說,我們怎麼鍛鍊呢?

其實這時候我們可以參考小朋友從小最主要的兩個讀物,簡單的詩詞與童話故事書做參考,詩詞與童話書的寫作技巧中,有很強烈的聯想意境、特別的用字順序。

而解剖分析這個聯想和用字遣詞的含意,就有一套專門的理論——雙軸理論:

1. 橫軸為組合軸,是在語序、文法上的操作
2. 縱軸是選擇軸,就是在聯想方面透過類比創造


舉例來說,我們現在要來改「我在餐桌前吃飯。」

首先,我們可以在組合軸,調整介係詞,變成我現在在餐桌上吃飯,通常語序的調整、文法的切換,會讓整個畫面變得很有想像力。

 接著這個新的畫面,可能讓我聯想到,像是在舞台上表演,好像這個人需要先和麵包大戰一番,才能把它吃掉,這次我們操作選擇軸,透過聯想類比來更替內容:


2020年3月10日 星期二

價格跳多與跳空(gaps)的應對方法

本周由於股市趨勢與油價事件,造成原物料驅動的貨幣大部分都有 跳躍(Jump)

除此之外,也因為是在周一發生,我之前的影片有講過。

周一的時候 JPY 相關的貨幣( 同時也有一些 AUD 也是)會波動特別高。

這些總總加成起來,就是 原物料   JPY  相關貨幣對都有 跳多/跳空(Gaps)

這種問題的主要應對方法是:

 一、遇到 off-hours 之前撤單,開盤在重新掛單

通常來說這種情況的應對方法,就是每個禮拜五或周間休假日之前。

把所有的單子撤掉,然後在下次開盤之後重新放上去。

這個的缺點是會導致你隔週的交易都會額外再多一些交易成本。

所以通常在使用這個方法時,可以增加一些條件,例如:

(一)整個交易目前開的大小是否夠大,例如部位總和超過 0.5、2.5 lots 

(二)全部已開的單都碰到 Stop Loss 的理想最大損失是否超過帳戶 10%

當這兩個條件達到一個,你就在周五撤單,周一再擺回來。

這樣對整體帳戶來說會是比較安全。



二、遇到 off-hours 之前一段時間若賺錢,就全部平倉

也有一種作法是如果你的訊號本身就不缺,每周都有 1-2 個訊號。

你也可以就在周五前判斷有賺錢,就關掉整個交易。

同樣你也可以搭配前面(一)、(二)的條件決定是否要做這件事。

在這種要避免跳多或跳空的情況,把 SL/TP 拉緊通常也不管用。

所以你可能會想把 Breakeven Stop 拉起來,但跳多/跳空可能會沒有用。



 三、通常有 Jump 之後的波動會比較大一點,可以考慮上新模型


一個比較少人留意到的事情是上模型的時間點,如果隔週開盤有大 Jump

其實是可以上新模型的時間,這時候波動整體來說也比較大

對於一個使用完整資金管理搭配輔助,充足 SL/TP 設定與調整規劃的策略

你這時候上表現應該要很不錯才對,在有利條件測試如果發現問題

比較能分清楚到底問題是什麼,同時也比較容易產生交易訊號



除了這種 Jump 時點之外,每月選擇權(Monthly Options)的到期日(Expiration)

也是一個上下架策略的參考時點,主要是在月初

通常是第一個含周三的周的周五,週五放假就週四

你可以在 CME 找到主要貨幣的每月選擇權的到期日:

https://www.cmegroup.com/tools-information/quikstrike/options-calendar-fx.html

2020年3月9日 星期一

模擬交易週記W15 (2020.3.2 - 3.6)

在此寫的週記有幾個主要目的,是為了彌補 MyFxBook 上面的不足

所以主要是告知大家,MyFxBook 上面可能不容易觀察到的資訊

最主要就是:

(1) MyFxBook vs. Terminal 的線圖,驗證交易邏輯無誤 (本周:無誤)

(2) 確切的 Equity Drawdwon (本周:無更新)


(3) 交易列表中無法解釋的事情 (無)


2020年3月5日 星期四

關於長期累積和一天日程

一直以來,我對於我的時間掌控有一套我自己的堅持與方法。
 
我希望盡量讓我的生活有穩定的節奏,我不喜歡「衝一波、拚一晚」這種事。

原則上,我的價值觀是希望結過盡量體現在 長期累積 上面,所謂厚積薄發。

我之所以更重視不確定的長期結果,而非短期的一些結果的原因。

來自於兩項:

1. 我對於過往情境的記憶力很好

2. 我對於未來情境的想像力也很夠

我可以很簡單的就在我的身上,找到 5 年前、10 年前 、15 年前持續投資自己的影子。

這些這麼長期的累積,我發現才是我現在的價值所在。

我發現很多人之所以不願投入在長期積累上面,是因為他沒有察覺自己過去對現在的影響。

某種程度,你可以說是想像力不足,他沒辦法回想什麼事情每天做,然後累積成他現在的樣子。

你可以很輕易地記得某一個事件對你的重大影響,

但是你很難記得一個生活上的小事每天每天累積,對你自己的影響。

所以當我喝一口水的時候,我想的是每天我都這樣喝一口,會發生什麼事?


所以,既然要長期累積的結果是我的目標,短期持續的堅持就很重要。

也因此,每一天的生活節奏是很重要的,有固定的節奏,就容易堅持下去。

有人會說,還沒結婚、還沒有生病的父母要照顧... 才能這樣,我不否定這可能。

但這樣不就更說明我現在趁年輕堅持是更重要的一件事嗎?

底下的日程單純是我記錄下來,好方便和一些私密友人分享

如果你覺得沒興趣,完全可以略過。 

一、睡眠 (OFF)

一般來說,我在凌晨 1:00 ~ 2:00 就寢, 6-30 ~ 7:00 自動醒來(不設鬧鐘)

首先我要解釋這只有不到 6 小時的睡眠是怎麼來的。

2020年3月3日 星期二

PPP 作為起手式:使用 PLI 外匯分析教學

在前面的文章〈關於購買力平價理論 (PPP) 之謎 〉中,我提到長期外匯走勢方向我會怎麼用,基本上就是短時間的外匯走勢若嚴重偏離長期方向,我會認為波動將會變小。

PPP 認為,購買力(Purchasing Power)揭露長期匯率的走勢,這邊的長期約莫是 3 年,所以我們可以從這個時間尺度開始我們的分析,往更小的時間尺度移動(解讀更小周期的經濟數據資料),或是往更大的時間尺度移動(解讀更大週期的國際政經局勢)。



國際上可以衡量購買力的指標,主要是國際物價指數(Price Level Index)你可以在 OECD 的網站上下載,基本上都是以美元為單位,所以你可以優先分析和美元有關的貨幣對。

請留意 PLI 已經考慮匯率在裡面,所以走勢和匯率走勢會很相近,但會有些微差異,捕捉這個差異就是 PPP 的重點。

舉例來說,我們來看 USDCAD。

1. 下載加拿大的 Price Level Index

打開 https://data.oecd.org/price/price-level-indices.htm 並下載 PLI 的檔案


2. 繪製 Price Level Index走勢



現在在這個圖形中,你就可以看到你的功課要做

3. 從兩方面研究 Price Level Index 走勢

這些功課,就是去研究這些走勢的拐點是如何發生

了解這些拐點發生的原因,你就會知道什麼樣的經濟數據會影響到匯率的長期走勢。

這些拐點的拐彎的程度越大,可能越是根本性的改變。

你應該從最大的拐點開始研究,再研究小拐點。

到底是國家政策的調整,還是什麼,就是你的功課。


而當前的趨勢,則是你思考經濟數據、市場資料的參考

你不應該單純去思考:例如失業率、原油對貨幣的影響

你應該思考的是,失業率、原油對這個購買力的趨勢的影響。

或是失業率、原油價格和造成拐點的因素之間的關係。

厲害一點的朋友,你大概可以想到很多統計分析可以做。


4.觀察 PLI 和實際匯率的走勢

前面已經提到 PLI 走勢會和匯率十分相近,你只要打開 USDCAD 以月尺度(MN1)來比較就會知道:


接著你可以嘗試把 PLI 對齊 USDCAD 波動正常的地方,讓波動變小和急遽變化的部分遠離 PLI:


這只是很粗糙的做法,推薦可以考慮用統計分析(例如時間序列分析、迴歸分析),這某種程度算是反應了這個時間尺度的隨機波動

所以,分析到這邊,我們大概可以知道 3 件事情:

1. 長期拐點是什麼造成,這個功課要去做

2. 短期趨勢是向上,原因是什麼,影響這些原因的經濟數據有哪些,通常什麼時候公布,我的策略是否在這個時間點把握住波動?

2a. 長期、短期拐點發生的時間,對應的匯率價格大概是多少?這是否會是一個重要的心理關卡?

3. 目前看來已經有 1-2 年 CAD 實際匯率偏離購買力,波動越來越低,1.35 到 1.4 是心理關卡,如何處理?

3a. 如果要在這個貨幣上做交易系統,賺到一個比例,我們勢必要開更大的部位,是否要調整資金投在 CAD 的比重?

3b. 或是上架更能應付小波動的模型?

你看,這樣你就從 PPP 出發,有了整套清楚的思考,應該做哪些標的,投入資金到哪些貨幣上面。

2020年3月1日 星期日

模擬交易週記W14 (2020.2.23 - 2.27)

在此寫的週記有幾個主要目的,是為了彌補 MyFxBook 上面的不足

所以主要是告知大家,MyFxBook 上面可能不容易觀察到的資訊

最主要就是:

(1) MyFxBook vs. Terminal 的線圖,驗證交易邏輯無誤 (本周:無誤)

(2) 確切的 Equity Drawdwon (本周:無更新)


(3) 交易列表中無法解釋的事情 (無)


關於哲學中的性情


早上接了一個電話,是一個優秀的生技團隊,終於打通東南亞的通路。

因為擔心股權上的爭執,一早八點就傳 LINE 想和我請教怎麼設計與規劃。

因為跨國... 跨國要處理這些事情很麻煩,不太容易。

這個電話一講完,就突然有點頭痛,不是很舒服,難不成因為一早用腦過度?

於是就擱置一些事情,從 10 點多到下午三點,花了 4-5 個小時讀了一些書。



我走到書櫃,挑了許多哲學史的書,一本、兩本、三本和四本。

抱著到床上,半臥的開始翻這些書,我把這稱作是「多書閱讀模式」。

也就是說,是來往於這些書之間,對照、比對比較,考察歷史。


看完書之後睡了一會兒,醒來突然想到美國實用主義大師威廉.詹姆士曾經說過:

哲學史的大部分,就是人類氣質牴觸的歷史。

對於詹姆士來說,他經常在許多演講中用到 氣質(Temperament)這個字。

我覺得一個更好的理解,是看成一個更剛性的脾氣、或是看成軟性的性情。

詹姆士說:

因為一個人所擁有的氣質,習慣上不將他視為一個辯論的理由。

 所以哲學者辯護他的結論時,通常需要提出一些無關個人的理由。

 但其實他的氣質所帶給他的偏執,遠比客觀的前提給他的,還要強很多。


簡單來說,就你再怎麼樣客觀、有道理,其實你本身還是有一個很主觀的理由。

也因此,詹姆士也講到:

於是我們在哲學的辯論裡,乃發生一種不誠實的情況:

 我們前提中最重大者,是永遠沒人提起的。


當我們關注一個哲學理論、哲學思想,倘若要把這個人的主觀因素去除。

就會很危險的造成大前提可能被忽略,因為人會刻意習慣隱藏這個主觀前提。



這也是我相對來說,很討厭和那些愛談「哲學思想」的人交流的原因。

他們都想把各種思想從人、從歷史環境中剝離,然後闡述自己是如何精準把握這個思想。

由於他已經抽象到了足夠純粹,就會過度保守說:「作者可能沒有這層意思。」

是什麼樣的一個學習結果,會讓人腦袋如此死板?如此保守?

怎麼會認為一個人可能在思想上有創見,又能同時獨立於歷史的洪流之中呢....



第二,這也是我在看很多無論是學術文章、專業文章的時候的想法,

我在文章中是看不到靈魂的,而這是不誠實的

很多學術文章,都會很想要把自己的主觀因素去除,去用很客觀的角度寫。

結果就寫得很冷冰冰,就像是一個統計分析報告一樣,只是結果更好一點就想告人知。

到底,在這背後你的企圖、你的思維,在哪裡,都找不到。