潮流特區

最新文章

AMIBROKER速成教學 從網上免費下載港股數據

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-03-25

Amibroker是可以每天自行將股票的數據下載至程式中使用及分析,而且完全免費的。 匯入數據到AmiBroker的方法有很多,以下3個方法則最為簡單易用。 使用AmiQuote 使用Import wizard Interactive Broker plugin 使用AmiQuote AmiQuote是一隻可以從各大data網站包括Yahoo, Google, MSN 下載盤後數據的軟體,並且能與AmiBroker整合,下載的數據馬上就可以在AmiBroker的圖表分析視窗顯示。 1.開啟記事本 2.每一行打上你想做研究並下載historical data的股票代號(請注意,以香港股票為例,代號開頭以四位數字組成,後加.HK,詳細股票代號請參閱Yahoo 財經) 3.完成後按檔案->另存新檔,存檔類型揀選所有檔案,存檔路徑請選揀選AmiQuote安裝的folder,例如 C:\Program Files (x86)\AmiBroker\AmiQuote,並輸入新檔案名稱(例如HSIcomponents.tls),檔案名稱必須以.tls結 尾,最後按存檔。 4.開啟AmiBroker→ File → New → Database,以開啟一個新的資料庫。 5.開一個新的Database 資料夾,如C:\Program Files (x86)\AmiBroker\AmiQuoteExample,然後按Create,再按OK。 6.Tools → Auto-update quotes (AmiQuote) 7.按停止制 (因為AmiQuote預設自動下載某些美國股票的historical data) 8.按File→Open,搜尋位置請揀選剛儲存檔案的位置,然後揀選該檔案,再按開啟。 9.Source請揀選Yahoo Historical,並揀選你想download 那一段時期的Historical Data,例如由1/1/2007至3/8/2013,再按綠色三角形制開始下載。 10.完成後按右上角關閉制離開AmiQuote的頁面,你會在Symbol的視窗看到你下載的Symbol資料。 11.Double Click其中一個Symbol,你便會看到該Symbol的價格及成交資料。

AMIBROKER速成教學 輸入恆生指數期貨1分鐘數據

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-03-25

在使用Amibroker作分析時,當然需要先有數據,大家其實可以將港股及恆生指數期貨的數據自行輸入Amibroker,這樣你不但可以利用它觀看不同技術指標的在過去的走勢中的表現,同時也可以利用程式分析你個人的交易策略。 首先建議開啟一個數據庫,專放期指的數據,因為從網上下載的股票數據是「Daily」的,你可將其轉為日線圖、周線圖、月線點,但卻不能轉為5分鐘點、1分鐘點等,原因是網上沒有「Intraday」的數據提供。 我們的網頁www.quants.hk也有2012年至2013年的期指一分鐘數據免費下載,但參加Quants Training課程的學員我們會免費提供期指過去十年的一分鐘數據,下載數據後便能自行輸入至Amibroker進行分析。 留意,由於我們輸入的不是「Daily」的數據,而是「Intraday」的數據,故此開啟數據庫後便需要先在「database settings」中更改一些設定。 將「base time interval」改為「1 minutes」 任何自行輸入的數據也要運用「import wizard」這功能,在「file」中選「import wizard」 再選「pick file」 選擇提供期指數據,這大多是excel 的file 大部份初學者在輸入數據時失敗,便是在這個步驟中出錯。 大家看到「column 1」、「column 2」、「column 3」等,其實你在column中的選擇是需要根據你的excel file不同的格式而改變的。 假如你的期指數據在excel file中的排列是第一欄是「年月日」、第二欄是「時間」、第三欄是「開市價」、第四欄是「最高價」、第五欄是「最低價」、第六欄是「收市價」、第七欄是「成交量」、第八欄是「平均成交價」。 但你只想在Amibroker的數據庫中顯示第一欄至第七欄的數據,第八欄的「平均成交價」你不想出現在數據庫之中。 那第一欄便應選「YMD」,這代表了年月日、第二欄選「TIME」、第三欄選「OPEN」、第四欄選「HIGH」、第五欄選「LOW」、第六欄選「CLOSE」、第七欄選「VOLUME」,雖然第八欄的「平均成交價」你不想出現在數據庫中,但在設定時不能不選的,你要選「SKIP」,代表你不想要這一欄。 另外,大家必需留意在設定中大家看到「DATA FILE SAMPLE」這代表了你的EXCEL FILE中的數據是如何排列,如果第一間的 1 是沒有意思的,很可能是符號,那便在第一欄先選「SKIP」,然後再按次序來選擇COLUMN中的選項。 此外,大家要注意,EXCEL的每一欄數據,在儲存後可以是用「TAB」、「SPACE」或「COMMA」來分隔的,故此在設定中的「SEPARATOR」便要選擇與EXCEL FILE相同的類別,如所匯入的EXCEL FILE是用「COMMA」來分隔每欄數據,那便在「SEPARATOR」中選「COMMA」。至於你的EXCEL是用那一種來分隔數據,只要看看「DATA FILE SAMPLE」便可得知! 輸入數據後,在「CHART」中可看到EXCEL FILE的名稱,這個名稱在你的Amibroker中便代表了期指的數據,直接點擊兩次便能在右邊出現期指的圖表。但切記留意一點,我們不單要看圖表,還要利用這些數據做back-test,由於Amibroker本身不會自動得知你輸入的數據的特性,,所謂特性便是指期指每張的按金是多少,每點價值50元,假設你在back-test時設定最初投入的金額是20萬元,想測試一年後資金增值多少,但很可能交易兩個月後,其實你的資金已不足夠買入一張期指,在真實交易時便根本無法再繼續交易,但若你不事前在Amibroker中輸入期指一張的按金是多少,那程式是無法去計算的,這會令back-test的結果出現錯誤。 故此,匯入歷史數據後,要在「symbol information」中的「margin deposit」輸入期指每張的按金是多少,再在「point value」中輸入「50」 輸入所有資料後,只要按右鍵,便可發現「Intraday」的部份已由不能選擇變成可以選擇1分鐘、5分鐘、15分鐘等圖表。 這部份很多初學者也遇上問題,但其實輸入數據的過程並不複習,只要多試幾次便能成功,而輸入數據後,Amibroker使用圖表的介面跟很多其他的平台也很相似,對初學者來說十分方便。

測試即市交易系統的竅門

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-03-25

即市走勢中,一個升浪或跌浪究竟平均會運行多久,大家有統計過嗎? 很多Trader只會注意「空間」的止損,而不會考慮時間因素。只要價格跌到某個事前設定的價格,就會止蝕離場,這就是空間止損。空間止損法的好處在於,可以減低你的壓力,當帳面虧損到了你接受不到的程度時便平倉止損,但缺點在於即使到了止損的階段,因走勢突變,你的虧損也可以比預期更大。其實很多Trader都面對這個問題,為此,便需要引入時間止損的概念。時間止損是根據升浪或跌浪平均運行的時間來做止損,甚至更改為入市訊號。 不過首先要介紹運用時間加入個人交易系統的概念,其實在做back-tesing時大家可以統計一下,假設過去一百個交易日,每一個升浪運行的時間,即市走勢中,一個短的升浪可以運行數分鐘,也可以運行數小時,若然你發現在過去一百個交易日中,即市走勢中一個最長的升浪也只運行兩小時,那當某日你發現一個升浪已維持了接近兩小時,若然你已持有好倉,那便代表了已到達你需要平倉的時間,又或已是反手造淡的時間。 這種統計方法對提高交易的回報很有幫助,當然有經驗的Trader應立即想到一個問題,究竟應如何介定一個升浪完結? 升浪可以調整過後又再上升,那在即市走勢中,究竟如何去計算這個升浪維持的時間有多長? 最簡單的統計方法是,一個即市走勢中的升浪展開後,先計算由升浪底部計起所上升的幅度,若其後出現調整,調整幅度是升浪的「三分之一」以上,那便代表整個升浪已完結,其後即使在調整後再展升浪,也屬於第二個升浪的開始。當然,大家也可用同一種方式去介定一個跌浪已完結,並同時統計在過去一百個交易日中,跌浪維持的時間平均有多長,藉此判斷若持有淡倉應何時平倉,同時又應何時反手造好。用這種方式去計算一個升浪或跌浪究竟平均會維持多少時間,這比你繼續研究何時入市最好,不斷去尋找新的入市方法更有效! 例子(一): 請留意圖中如何介定升浪已完結 例子(二): 請留意圖中如何介定跌浪已完結 現在大家應有了對分析升浪或跌浪維持時間的概念,回說如何去避免只做「空間」止損,而需要加入「時間」止損。在做back-testing時,除了可以統計一下升浪或跌浪平均運行的時間外,也可以統計一下,每一個入市訊號後,究竟平均需要多少時間才會展開升浪或跌浪,比如你設計了一套交易系統,由MACD與STC這兩個技術指標組成,當兩個技術指標同時發出買入訊號時,你便會入市造好,但你入市後常會遇到一個問題,雖然交易訊號出現了,但市況並非立即上升,很可能只是在整固,又或很少幅度的調整,但你看到價格雖沒有上升,又有跌至你的止損價位,你運用的「空間」止損法,根本派不上用場。其後價格整固了一段時間後突然急跌,下跌的速度可以很快很快,當你決定止蝕時,很可能根本已錄得比你預期更大的虧損。 又或交易訊號出現後,你同樣按訊號入市造好,但市況只是在整固,整個的時間可能長達兩小時,甚至更久,你上午的市況中已買入,但就是不想持倉過午市,結果提早平倉離場,不過訊號的威力卻在下午市況中才發揮出來,你上午平倉之時可能錄得輕微虧損,但下午市況中的升浪你卻沒有把握得到,「一來一回」其實你的損失經已很大。 故此,我們要做的,除了統計交易訊號的獲利比率外,也要統計一下交易訊號出現後,究竟平均要多少時間才會展開較明顯的升浪或跌浪。例如,在過去一百個交易日中,出現了一百五十個造好的交易訊號,而這一百五十個造好的交易訊號,平均需要十至十五分鐘才會展開較明顯的升浪,那這個統計數據對你來說便很有參考價值,因為你入市後,若然市況只是在整固,即使出現帳面虧損,只要未到達你止損的程度便什麼也不用去做,但若然整固的時間已維持了達十五分鐘,由於已超過了你統計的平均時間,那便需要用「時間」止損的方式來止損平倉,這樣是避免冒上不必要的風險。 此外,在做back-testing時,最好是要同時統計一下,入市訊號出現後,雖然按預期出現升浪,但平均需要多少時間才會到達目標價。例如,在過去一百個交易日中,出現了三百次造好及造淡的訊號,究竟這三百個交易訊號中,平均需要多少時間才到達目標價。這點十分重要,因涉及你是否應該持倉過午市,同時你要考慮一點,由於你是Day Trader,若然你的統計結果是三百個交易訊號中,平均需要三十分鐘才會升或跌至目標價,而最長的一次則需要一小時才到達目標價,當交易訊號出現在三時四十六分,你便要十分小心,甚至應放棄入市,因為期指市場是在四時十五分收市,離收市根本不足三十分鐘,或許在你的統計中,曾有些交易訊號是在短短數分鐘便展開升浪並升至目標價,但這個不是一個平均數,你統計過一百個交易日,甚至更多的交易日後,取其平均數值才值得參考的,單憑一次或次的交易經驗不能作準,故此為了避免冒上不必要的風險,這種情況便應放棄入市。 那若然距離收市的時間有三十分鐘以上,但統計結果顯示最長的一次則需要一小時才到達目標價又應否入市? 答案是需要的,因為不能因少數出現的特殊數據而放棄一個獲利機會,但這種情況下,Day Trader只有緊記一點,必需堅持只做即市交易的原則,即使收市前仍未到達目標價也需要平倉離場。 將「時間」止損加入你的交易系統內是提高回報的最有效方法之一,特別是即市交易,這能避免了很多市況突然大逆轉所帶來的重大虧損。其實所謂的back-testing絕對並非只在尋找入市方法這樣簡單,需要統計的事項十分之多,但作為Trader與其他行業也是一樣,你付出越多,你的收穫便相對越多。

程式交易的優勢

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-03-25

程式交易在美國及臺灣其實早已流行,在內地也有不少程式交易的專家,而近年程式交易在香港也逐漸興起,作為投資者,無論是投資股票或期貨,無論是、長線投資還是短線交易,大家肯定也會先行「分析」,才會動用資金入市再動用資金入市,而分析的過程,過去不少人也是觀看圖表走勢,又或利用一些技術指標,希望藉觀察過去的走勢可以找出一些預測市場未來趨勢的「方法」,從此以後便以這些方法作為入市的準則。 但不少人也開始發現透過人手去觀察圖表但不少人也開始發現通過人手去觀察圖表,需要的時間確實太長,比如要分析過去一年的走勢,如分析的是若分析的是1分鐘的資料,很可能需要數日的時間,但通過運用程式來做分析,其實只需1至2分鐘便能得到答案。當然,程式不是萬能,也不是學懂了運用程式來做分析便能找到必勝的竅門,但同樣的分析工作能比別人快數十倍的時間來完成,那成功的機會自然會高一些,。而且程式交易的速度絕對比人手下單更快此外,程式交易的速度絕對比人手下單更快,——由發出買入訊號,至真正完成整個成交過程能快至至真正完成整個成交過程僅需1秒內完成秒就能完成,這自然能比其他投資者更有優勢。 此外,投資成功與否也需看交易能否長時間得到好成績,。很多人也明白最難克服的其實是人性很多人也明白最難克服的其實是心理因素,獲利的倉位因心急或貪念而太早沽貨離場,又或者遇上市場較波動的時間便因緊張而太早止蝕離場,……這些都是人手做交易時遇上的問題,而運用程式進行全自動交易,那能在某種程度上便能克服這些缺點,這也是程式交易的好處。當然,有些人在虧損時會不斷修改他的交易系統,那最終可能仍會導致然失敗,但相對來說,運用程式至少能某程度上減輕交易時的人性問題因心理因素導致的問題。 不過,投資者要進行程式交易,除了要有程式的應用知識外,證券公司的交易平臺能否配合也是重大的問題證券公司的交易平臺能否配合也是需要考慮的問題,。把程式接駁至證券公司的平臺進行交易除了要有程式語言的編寫能力外,也要證券公司把平臺開放介面給程式接駁才可以也要證券公司把平臺開放介面與程式接駁才可以,有關這一點,我們富昌金融集團可以說是本港程式交易的先驅,除了早已開放平臺外,也設有專人協助接駁程式進行全自動交易,更定期舉辦講座講解程式交易的知識。 去年,開始筆者開始在港教授程式交易,主要是教大家運用Amibroker這個程式軟體,在港不少投資者也聽過Metastock、Tradestation、Multicharts等程式,各有各的優點各具優點,但在價格上Amibroker是最有優勢的,差不多$4000港元已能購入全套軟體,對初學者來說,成本便較低。 尤記得很多學員在上課時也有不少疑問,首先,他們擔心若然自己根本不懂得電腦的語言他們擔心如果自己根本不懂得電腦的語言,應該如何能學習運用程式交易?但這點大家其實可以放心,筆者教導學員使用程式交易的方法,向來是針對初學者,又或沒有寫電腦程式的知識但卻具備多年交易經驗的操盤手無須具備寫電腦程式的知識,。正如今年一月份便曾有位元在港的客戶,雖交易恒生指數期貨已有很多年雖有多年交易恒生指數期貨的經驗,但他本身的電腦應用知識不足,又卻不多,就連QQ也是兒子教他用的;通過學習,但至今現在他已經能獨立操作已在做全自動程式交易,當然,一些深入的程式使用知識他仍需要不斷去熟習一些深入的程式使用知識仍需要他不斷去熟悉,也不時需要我們的技術人員幫忙,但至少通過現在他確實做到程式交易,也透過程式發掘到不少有效的交易策略他發掘到不少有效的交易策略。 其實程式交易不是很多新手想像的那樣神秘其實程式交易不是很多新手想像的那般神秘,只要學懂基本的用法,其後遇上問題時有專人去解答其後遇上問題時尋求專人的解答,再自己不斷去嘗試,經過數個月的時間,大部份人用數個月的時間也會學懂如何將自己的交易策略轉化為程式語言,又或將來在發現一些市場的特性時,也懂得如何利用程式去自行做測試,優化個人的交易策略。至於如何將程式接駁至證券行的平臺更加無需苦惱對於如何將程式接駁至證券行平臺的問題更是無需苦惱,既有專人協助可尋求專人協助,只需專心開發個人的交易策略,便能透過程式按你既定的策略每天進行交易。 畢竟要在市場上生存,只期望別人給你一套「神秘的獲利方法」根本早已不可行,別人教的要先利用程式做測試,自己想出來的交易策略也必需先行用歷史資料印證,若發現效果不俗的才再嘗試將各部份加進你的交易系統,這樣才能真正找到一套屬於你的致勝策略!

AMIBROKER速成教學 輸入恆生指數期貨1分鐘數據

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-03-25

AMIBROKER速成教學 輸入數據 在使用Amibroker作分析時,當然需要先有數據,大家其實可以將港股及恆生指數期貨的數據自行輸入Amibroker,這樣你不但可以利用它觀看不同技術指標的在過去的走勢中的表現,同時也可以利用程式分析你個人的交易策略。 首先建議開啟一個數據庫,專放期指的數據,因為從網上下載的股票數據是「Daily」的,你可將其轉為日線圖、周線圖、月線點,但卻不能轉為5分鐘點、1分鐘點等,原因是網上沒有「Intraday」的數據提供。 我們的網頁www.quants.hk也有2012年至2013年的期指一分鐘數據免費下載,但參加Quants Training課程的學員我們會免費提供期指過去十年的一分鐘數據,下載數據後便能自行輸入至Amibroker進行分析。 留意,由於我們輸入的不是「Daily」的數據,而是「Intraday」的數據,故此開啟數據庫後便需要先在「database settings」中更改一些設定。 將「base time interval」改為「1 minutes」 任何自行輸入的數據也要運用「import wizard」這功能,在「file」中選「import wizard」 再選「pick file」 選擇提供期指數據,這大多是excel 的file 大部份初學者在輸入數據時失敗,便是在這個步驟中出錯。 大家看到「column 1」、「column 2」、「column 3」等,其實你在column中的選擇是需要根據你的excel file不同的格式而改變的。 假如你的期指數據在excel file中的排列是第一欄是「年月日」、第二欄是「時間」、第三欄是「開市價」、第四欄是「最高價」、第五欄是「最低價」、第六欄是「收市價」、第七欄是「成交量」、第八欄是「平均成交價」。 但你只想在Amibroker的數據庫中顯示第一欄至第七欄的數據,第八欄的「平均成交價」你不想出現在數據庫之中。 那第一欄便應選「YMD」,這代表了年月日、第二欄選「TIME」、第三欄選「OPEN」、第四欄選「HIGH」、第五欄選「LOW」、第六欄選「CLOSE」、第七欄選「VOLUME」,雖然第八欄的「平均成交價」你不想出現在數據庫中,但在設定時不能不選的,你要選「SKIP」,代表你不想要這一欄。 另外,大家必需留意在設定中大家看到「DATA FILE SAMPLE」這代表了你的EXCEL FILE中的數據是如何排列,如果第一間的 1 是沒有意思的,很可能是符號,那便在第一欄先選「SKIP」,然後再按次序來選擇COLUMN中的選項。 此外,大家要注意,EXCEL的每一欄數據,在儲存後可以是用「TAB」、「SPACE」或「COMMA」來分隔的,故此在設定中的「SEPARATOR」便要選擇與EXCEL FILE相同的類別,如所匯入的EXCEL FILE是用「COMMA」來分隔每欄數據,那便在「SEPARATOR」中選「COMMA」。至於你的EXCEL是用那一種來分隔數據,只要看看「DATA FILE SAMPLE」便可得知! 輸入數據後,在「CHART」中可看到EXCEL FILE的名稱,這個名稱在你的Amibroker中便代表了期指的數據,直接點擊兩次便能在右邊出現期指的圖表。但切記留意一點,我們不單要看圖表,還要利用這些數據做back-test,由於Amibroker本身不會自動得知你輸入的數據的特性,,所謂特性便是指期指每張的按金是多少,每點價值50元,假設你在back-test時設定最初投入的金額是20萬元,想測試一年後資金增值多少,但很可能交易兩個月後,其實你的資金已不足夠買入一張期指,在真實交易時便根本無法再繼續交易,但若你不事前在Amibroker中輸入期指一張的按金是多少,那程式是無法去計算的,這會令back-test的結果出現錯誤。 故此,匯入歷史數據後,要在「symbol information」中的「margin deposit」輸入期指每張的按金是多少,再在「point value」中輸入「50」 輸入所有資料後,只要按右鍵,便可發現「Intraday」的部份已由不能選擇變成可以選擇1分鐘、5分鐘、15分鐘等圖表。 這部份很多初學者也遇上問題,但其實輸入數據的過程並不複習,只要多試幾次便能成功,而輸入數據後,Amibroker使用圖表的介面跟很多其他的平台也很相似,對初學者來說十分方便。