會員登入 新使用者?立即註冊

其實我一點也不肥

關閉
你好,歡迎參觀我的部落格! 我要留言

Visual Monte Carlo - 作好你的資產風險管理

分類:愛心軟體
2009/11/15 21:24

André Kostolany: 沒有破產過兩次以上的人稱不上投機家。
藍色投機客: 第一次破產學會停損,第二次破產學會資產風險管理。
Johnny: 系統獲利的關鍵,是由運氣與風險所組成。
Howard: 黑天鵝越來越常被看到了!! 當天才也殞落時,我們凡人更要引以為戒!!

 

只有穩賺不賠的回測績效,沒有保證未來一定獲利的策略,所以進場前務必要作好你的資產風險管理,資產風險管理分為兩個部分:


第一部分是要準備多少資金進入期貨市場,交易多少部位,才可以讓在期貨市場中破產的風險降到一定的比率。

第二部分是,若是真的在期貨市場中破產,不會讓在期貨市場損失的的資金影響到目前的生活品質。


第二部是關於每個人的生涯規畫,只是要提醒大家沒有未來一定獲利的策略,不管再保守的風險管理,在投機市場上都有一定的風險存在,不要使用過度的資金槓桿到投機市場上,以免當運氣與風險不是站在我們有利一方而出場時,還能保有一定原有的生活品質。


這篇文章要討論第一部分「要準備多少資金進入期貨市場,交易多少部位」,藍大有建議「在做資金管理/部位規模控制的時候,請記得保守一點。我們寧願保守交易(under-trading)而少賺一點,也不要過度交易(over-trading)而破產退出市場。」,藍大也有許多資金管理的文章,像固定大小模式、固定金額模式、固定比率模式、保證金目標模式、獲利風險模式、槓桿倍數目標、Max Drawdown Method,都可以參考,我也寫了一個程式 Visual Equity (http://tw.myblog.yahoo.com/futurex168/article?mid=171) 來模擬各種獲利情形的。


但像這麼多種資金管理的模式,對我來說還是太複雜而且不夠直覺也不夠實用,這邊分享我個人認為比較理想的資產風險管理模式 - 固定金額模式 + Monte Carlo 模擬。
 

固定金額模式是一個相常直覺的方式,多少初始資金可以做一口部位,簡單清楚,Monte Carlo 模擬可以更精準掌握每一個部位在一個固定金額下,需要承受多少風險。


以下是這個步驟的說明:

1. 從歷史績效與Monte Carlo 模擬去計算在一定的風險下,需要多少資金部位。

2. 然後在投入的資金與profolio分配下,決定要操作幾口,每一口個都有足夠的資金部位。

3. 策略每執行三個月,然後檢討策略績效並重新用Monte Carlo 模擬策略風險與所需要的資金部位。


也就是在大部分的情形下,資金部位與操作口數並不需要每天或是每次交易都在變更,三個月檢討一次並變更就可以,所以策略風險管理的重點在,操作一口需要多少的資金部位與在如此的資金部位,所承受的風險與預期的報酬為何,以及如何用 Monte Carlo 模擬來得到我們的結果。


下面 KD 指標策略在 S&P 500 作例子:


1. 下面是 KD 指標策略在 S&P 500 的績效,約12年,若是初始本金是 $20,000,平均每年的績效有 $10,713, 達到 53.6%,你心理可能在想,這樣下去過幾年,巴菲特也不是我的對手,不過不要高興太早。
 

 


2. 再來作 Monte Carlo Equity 模擬,這邊有三個參數,初始時間,結束時間,與績效調整參數,然後按 Do it,程式就會根據回測數據的交易頻率,獲利分佈等,模擬未來這段期間(內定值一年)「可能」的績效。 其中有一個績效調整參數,從我之前的文章,「資料探勘的正值偏頗」、「交易市場資料的隨機性」都可以知道未來的績效會不如回測的績效,因此有一個績效調整參數,使用者可以設定未來績效約為回測績效的多少百分比,這個比值可以用 Walk Forward Analysis 最近一期的樣本外績效與樣本內績效的比值來估算,這邊先假設績效調整參數55%。一般來說,最佳化愈高策略,這一個績效調整參數會愈低,過度最佳化的策略此績效調整參數甚至可能為0。 以下是模擬後的幾個未來一年「可能」的績效。

 

 

 

 


3. 差異很大吧,有的賺很多,也有破產出場的,看看這一些曲線,讓你的心臟先適應一下未來一年可能發生的事情。但這麼多條曲線,我該相信那一條呢? 因此我們可以執行 Monte Carlo Simulations,可以設定要模擬要執行幾次,然後模擬的結果會告訴我們各種獲利(破產)可能發生的機率,當資金部位愈大,破產的風險就愈小,但獲利通常也會變的比較小。

在經過 Monte Carlo Simulations 結果,
(A) 資金部位為 $15,000,其破產機率為 50.3%,獲利率為 24.5% / yr
(B) 資金部位為 $20,000,其破產機率為 31.7%,獲利率為 18.8% / yr
(C) 資金部位為 $30,000,其破產機率為 10.7%,獲利率為 16.4% / yr

由模擬的結果,得到若是資金足夠的話,(A) 資金部位 $30,000 可能是不錯的選擇,破產機率為 10.7%,且獲利率為 16.4% / yr 與(B)資金部位為 $20,000 的 18.8% / yr 結果差不多,有時太高的破產機率,反而將績效往下拉,這裡的績效百分比與drawdown百分比都是除以 initial captical。


現在用這一個例子來說明資產風險管理模式 - 固定金額模式 + Monte Carlo 模擬。

1. 先用 Walk Forward Analysis 計算績效調整參數。

2. 用 Monte Carlo Equity 模擬未來一年可能的獲利曲線

3. 用 Monte Carlo Simulations 模擬預期報酬與可能破產的風險機率,找到最佳的每口資金部位。

4. 以投入的資金與最佳的每口資金部位,決定操作幾口,並且嚴守紀律執行策略三個月。

5. 三個月後,用最新的績效重新估算最新績效調整參數,然後再執行步驟2-5。

這樣的資金風理管理方式,優點就是簡單清楚,固定金額模式下,當資金低於固定金額太多,交易者可以很容易察覺這一個警訊,若是需要可以作必要的處理,Monte Carlo Simulations 則是可以清楚知道暴露多少風險與交易市場中,而不是只是一個簡單的歷史的Max Drawdown而已。 很多時候,很多交易者破產並不是因為策略有問題,而是資產風險管理出了問題。Monte Carlo 模擬可以讓交易者更清楚了解破產的風險機率,來決定出最佳固定金額,如此即使是用簡單的固定金額方式,也可以做到不錯的資金風險管理。


最後,應該是大家最關心的,軟體下載地方為:

http://futurex168.dyndns.org/VisualMonteCarlo.rar

 

最後的最後,大家佛心來的時候,請在 about 中,按一下右邊的圖形,就可以連到 Yahoo 公益網頁。感恩。

 


Version 1.01: 

1. 增加支援 RINA profile for TS2000 報表

 

上一篇 下一篇
回應(22)
飛翔人2010/01/25 21:56 回應

小肥牛大,您好
謝謝您的回覆,
請教您兩個簡單問題,

文中提到"資金部位為 $30,000,其破產機率為 10.7%,獲利率為 16.4% / yr"是否就是指做了1000次蒙地卡羅模擬後發生的破產次數為107次,每年的平均獲利=30,000*16.4%=4920元?

另外,您能容忍最高的破產機率是多少呢?超過多少%您不會讓系統上線?

小肥牛2010/01/26 02:15回覆

> 文中提到"資金部位為 $30,000,其破產機率為 10.7%,獲利率為 16.4% / yr"是否就是指做了1000次蒙地卡羅模擬後發生的破產次數為107次,每年的平均獲利=30,000*16.4%=4920元?

是的

> 您能容忍最高的破產機率是多少呢?

策略的好壞應該由參數高原和Walking Forward Analysis 來研判, 若不是一個好的策略,就不必作 MonteCarlo,根本不會上線,若是要上線,MonteCarlo 則是讓你知道要準備多少資金, 與多少機率的「破產心理準備」。

另外,破產機率除了策略、資金有關外,還跟 performance adjust 這個參數有關,所以這只是一個預估值,不是絕對正確的值,而每一個人算出來的破產機率的參考性也會不太一樣,算是一個相對的參考值,一般來說 若沒有過度最佳化,10% - 15% 的破產機率 + 投資組合應該就算穩健吧。  主要是投資組合可以 cover 部分的破產風險。  說真的這一個問題真的不簡單,每個人的看法可能都會不一樣吧。

tks.

飛翔人2010/01/18 23:07 回應

小肥牛大,您好
突然有個想法
如果您可以將您的VisualDayTrader與VisualMonteCarlo
兩個軟體結合
也就是說,將VisualDayTrader回測的資料記錄下來
再以VisualMonteCarlo做模擬,
對沒有TS的人,似乎不錯

小肥牛2010/01/19 11:57回覆

Dear,

Monte Carlo 的一個先決條件,就是交易次數夠(大於100次吧),取樣穩定,沒有過度最佳化。

對於 Visual Day Trader 是手工覆盤,交易次數通常不會太多,而且每次的績效也不會很穩定,順不順手績效應該差很多,所以不適合作 Monte Carlo 模擬。

tks.

 

飛翔人2010/01/18 17:27 回應

小肥牛大,您好
感謝您的軟體,這個軟體小弟剛好需要,

不過小弟沒有TS,假如小弟手邊有交易紀錄
(每筆的進出場損益,勝率,風險報酬比,平均每筆獲利及虧損,手續費及滑價),
如果要測試自己的策略
需要在程式附的 performace.xls的檔案裡更改哪些欄位呢?

還有,程式的欄位中commission是指交易成本嗎?欄位中的Margin是指平均每筆獲利嗎?
謝謝

小肥牛2010/01/19 11:53回覆

Dear,

當初是為了方便,直接可以讀 TS 欄位,這些欄位還蠻雜的,若不看程式碼,我也搞不清楚有那些欄位,不建議手動改,一定會出問題,若是有自已的欄位,建議是用 http://www.tickquest.com/product/equitymonaco.html Equity Monaco 免費的 Monte Carlo 模擬器,功能是一樣的,它的格式就是一排交易明細的文字檔即可,請看他們的網站說明。

Commission 是指來回一次(2 trades)交易成本,通常同時包括 手續費、稅、滑價 。

Margin 是指保證金,台期指約10萬,小台期指約 3萬,當你的戶頭的錢小於保證金時,就會被斷頭。

tks.

 

RCnow2009/12/19 04:47 回應

請問小肥牛
自動Commission 是怎樣計算的呢?
我策略下的口數每次可能不一樣
這樣會有影響嗎?

小肥牛2009/12/19 15:50回覆

Dear,

我目前測的都是單口策略,多口策略沒有試過,不能很確定完全沒有問題,我的 commission 的算法,TS 8.6 是用 profit - net profit 來算,在 TS 2000i 中沒有 profit,只有 net profit,所以我是在 setting 中取得。  commision 是一個定值,若是取得的跟你設的一樣,應該就沒題,若是不一樣,就需要手動設定。  

tks.

綦光2009/12/16 00:14 回應

載點好像掛了....

小肥牛2009/12/16 10:13回覆

這是 hinet 的空間,我剛剛試了一下,是ok的,請不要用右鍵或是續傳軟體再試試看。

tks.

kimi2009/12/08 10:00 回應

分享了一篇很棒的文章 受用很多

可以請教軟體只支援TS報表嗎

我使用的是MC產生的報表好像不能使用

有什麼可以解決的方式嗎 

小肥牛2009/12/08 10:52回覆

因為沒有用 mc,所以當初也沒有支援,你把 mc 的 report  (xls) 寄到我的 email,若是差異不大,有空的時候我再研究看看。

tks.

sam2009/12/01 13:37 回應

謝謝小肥牛大大..

除了單一策略外..現在連RINA投資組合的報表..都可透過你的工具來進行測試..

實在是太感謝了..用過真的只有一個字..讚!!

小肥牛2009/12/01 18:12回覆

不客氣!

tks.

 

Shane2009/11/27 12:15 回應

先謝謝肥牛大大的分享。我有關於Monte Carlo模擬的問題想要請教。我猜測大大應該是用歷史資料當作母體去重抽samples來做模擬的吧。可以請問是用怎樣的資料嗎? 是每筆交易的net profit (or %gain) 還是用Daily的損益(我猜是daily or weekly)。用這兩者去重抽的差別何在? 另外這有要求交易進出場次數至少要達多少次? (當然是越多越好,但受限於歷史資料,請問有建議的最低次數嗎?) 謝謝!!

小肥牛2009/11/27 21:11回覆

是用 gross profit 的標準差與均值,再根據 performance adjustment ratio 去調整參數,再進行抽樣,抽樣後再減少原來設的 commission fee。

交易次數到沒有限制,交易次數主要是影響到這個回測績效的對這策略代表性與可靠性,所以即使次數不多,只要你覺得有代表性即可,一般來說,書中都建議至少要 30 次,我是覺得要300次,且沒有過度最佳化的績效才比較能參考。

tks.

jw52912009/11/27 01:35 回應

感謝提供

請問一下這軟體的意思是不是假如以第二種Monte Carlo Equity跑出的績效

出現的眾多種可能性中,只要虧損時都輸不多獲利時卻能超過原先績效

這樣就是代表這策略不錯嗎

另外回測績效的時間如果是3或多年,那測出的未來還是一年嗎?

謝謝

小肥牛2009/11/27 21:03回覆

這個軟體的期望值應該是會和你的策略一樣 (若是 performance adjust 是 100%),所以 Monte Carlo Equity 一定會有高有低,讓user了解「可能」的情形,但實際情形還是要看個人「運氣」,可能一個回測不怎麼樣的策略,但有人運氣特別好,還是贏錢,有人策略回測不錯的程式,有人用了,就是「運氣」不好,所以「運氣」也要列到你的風險評估中,Monte Carlo是讓你更容易評估策略的風險。

測的時間區段可以自已設,不一定一年。

tks

RCnow2009/11/20 04:34 回應

此則為私密回應

小肥牛2009/11/20 08:51回覆

> 用你另一軟體Visual Optimal 得到的參數來作為 PA 的% 嗎?

不是很了解你的概念,能不能再解釋一點。 比較常用的 Performance Adjust 的定義就是 out-sample 的 average perfomce 除以 in-sample 的 average performance。

tks.

 

小龍2009/11/18 14:41 回應

Dear 小肥牛版主您好

請教您一個問題

我的TS是2000i

我直接將績效存成.xls檔,但是內容的格式跟您提供的範例不太一樣

我原本想說一格一格把我的資料數據貼到你的範例,但是還不少 ><

所以我直接執行Visual Monte Carlo,開啟我存檔的程式,還是可以跑出結果

請問這樣做法所跑出來的資料是否OK

感謝您

 

小肥牛2009/11/19 01:00回覆

當初這個程式就是直接支援 2000i,所以應該是正確的。

tks.

 

蕭叔叔2009/11/18 00:23 回應

感謝 小肥牛大提供這麼好的tools! 小弟在這裡想請問3個月後的重新計算,是只要用3個月的資料來計算,還是要把歷史資料加上這三個月 如果是只用3個月來計算,那第6個月時是用最新3個月還是6個月的資料?

小肥牛2009/11/18 02:09回覆

我的建議是用全部的資料,三個月的資料點太少了,另外可以計算的是這三個月本來的預期報酬率(過去的報酬率)與實際報酬率,用來修正 Performance Adjust 這個參數。

tks.

 

小龍2009/11/17 12:52 回應

感謝小肥牛版主提供這個好用的程式

但是不好意思請教小肥牛版主幾個問題

1.

我打開程式之後輸入參數

Commission:1000,

Ini Capital:480000,

Margin:120000,

Perfrom adjust:25%

然後執行Do it,結果就卡住掛在那邊了,

請問該程式是不是會跑很久才會有結果,還是我執行的方法不對

2.

另外,如果我是跑1000次模擬,按下Do it之後完全沒有反應

是否我還少做了哪些步驟?

 

小肥牛2009/11/17 14:29回覆

你需要一個根據你的策略在 TS 跑出來的 performance report (存成 XLS 檔),才能根據你的策略結果來作 monte carlo,若是沒有這個檔案,就只能先用程式附的 performace.xls 當例子。

tks.

 

2009/11/17 11:51 回應

您好:

想問一下,這可以應用在ts2000嗎?謝謝。

小肥牛2009/11/17 12:43回覆

應該可以,但 ts 2000i 有些次版本,若是不行再反應吧。

tks

browny2009/11/17 11:35 回應

感謝小肥牛大的分享  小弟剛剛進入程式交易領域  剛剛在學TS 及程式交易觀念   有問題在跟您討教討教 

感恩!

小肥牛2009/11/17 11:38回覆

歡迎。

tks.

 

發光胖子2009/11/17 10:50 回應

謝謝小肥牛,還在煩惱英文版的Monte Carlo軟體太多參數不太懂,這一個版本真的親切人多了,太感謝了啦。

小肥牛2009/11/17 11:37回覆

謝謝支持。

tks.

 

smartmm882009/11/16 11:31 回應

我真是愛死你這些小軟體了

啊 不能說"小"軟體 

是真正好用的 大幫手啊

哈哈

小肥牛2009/11/16 11:39回覆

感恩,謝謝支持。

tks.

.2009/11/16 10:20 回應

小肥牛大大

                     程式資料讀取時  若直接讀取Net profit那一欄  而不是以price那一欄去計算  是否可以避免這樣的問題?

小肥牛2009/11/16 11:00回覆

Net Price 和 Price 我都會讀,主要是要自動計算 commission,若是你讀檔有問題,可以將你的 performace 寄到我的 YAHOO email。

tks.

sam2009/11/16 08:24 回應

感謝大大提供這麼強的工具..實在是太好用了..

sprint2009/11/15 22:40 回應

Deal 小肥牛 資金管理確實是下單時非常重要的關鍵,一個勝率不高的系統 為了避免破產,在固定的金額下,能下單的口數一定會大幅降低 同時獲利也大幅低於原先預期

小肥牛2009/11/16 00:34回覆

Dear,

Monte Carlo 模擬就是讓交易者更清楚了解破產的風險機率,來決定出最佳固定金額,如此即使是用簡單的固定金額方式,也可以做好不錯的風險的管理。

tks.

.2009/11/15 22:39 回應

小肥牛大大

                   若是操作Forex 因symbol中有日圓的符號  要怎麼讀取呢?

小肥牛2009/11/16 00:30回覆

日圓的確會造成讀取問題,之前有一些特別處理,但可能還是會有問題,所以建議是直接先用 excel 將日圓符號換掉,應該就沒有問題。

tks.

J.I.L2009/11/15 21:42 回應

真的很感謝小肥牛的經驗分享,在周末可以讓大家連續讀到兩篇好文章。

小肥牛2009/11/15 22:18回覆

不客氣,謝謝支持。

tks.

 

引用(0)

HOME



勵馨社福基金會



兒童福利聯盟



訪客地圖

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28  

搜尋

我的訂閱

統計資料

  • 今日人數:421
  • 累計人數:71952
  • 發表文章:106
  • 相片數量:205
  • 回應數量:278

更新日期

2010/02/10 02:09
雅虎資訊 版權所有 © 2009 Yahoo! Taiwan All Rights Reserved
「本服務設有管理員」 服務條款 隱私權政策