Google Analytics

顯示具有 日內 標籤的文章。 顯示所有文章
顯示具有 日內 標籤的文章。 顯示所有文章

2015年8月19日 星期三

C# SP Trader API 程式交易編程進階教程 (1)

C# SP Trader API 程式交易編程進階教程 (1)

以下課程暫定8月19日(周三)晚上11:00 - 12:00pm 網上教學

學習技巧 : 針對有編程基礎學員, 教授如何配合SP Trader API製作簡易即市自動交易程式 , 包括報價, 下單, 以及獲取成交資訊 , 包括PPT及源碼
                                   
範例 : (1)開市30分鐘突破恆指期貨買賣系統
                                   
費用 : 每位 HKD 400

費用需最遲於8月13日晚上9時或之前轉帳至HSBC A/C  491-203493-833 並電郵通知


2014年8月30日 星期六

C# SP Trader API 程式交易編程進階教程 (2)

C# SP Trader API 程式交易編程進階教程 (2)

以下課程暫定8月29日(周五)晚上11:00 - 12:00pm 網上教學

學習技巧 : 針對有編程基礎學員, 教授如何配合SP Trader API製作簡易即市自動交易程式 , 包括報價, 下單, 以及獲取成交資訊 , 包括PPT及源碼
                                 
範例 : (1)C# SP API 程式獲取不同期貨合約報價 ,並寫入檔案. 報價在Excel中展示 , 可即時下單, 並展示成交清單.
                                 
費用 : 每位 HKD 350

費用需最遲於8月22日晚上9時或之前轉帳至HSBC A/C  491-203493-833 並電郵通知


2014年5月29日 星期四

免費模擬期指Tick及1分鐘數據庫下載

講起回測, 歷史數據是少不了, 那要多少的數據呢? 筆者認為視頻率及涵蓋多種不同情況而定, 但一般幾年是走不了, 而且最好是有起有跌, 你只用個牛三的數據來測試, 那麼市況逆轉便不易預測交易系統的可靠性了。 

歷史數據可以透過自己收集或向供應商購買。一個完整的回測是包括in-sample 及 out-sample來確定參數的可靠及穩定性, 不少人只是做了in-sample , 把參數提煉至精益求精後便對外宣稱找到個超強交易參數, 這些參數在實戰上往往經不起考驗 . 在學術上就叫"Over Optimization" , "Curve Fitting", in-sample 得來的參數要跟另一段獨立的期間作out-sample測試 , 同樣通過後才有比較堅強的參數.

如果歷史數據不多, 覆蓋不夠, 又或想模擬控制市況, 其實可以透過電腦模擬股價走勢 . 這個在金融工程學是一個大題目, 有很多不同的模型去補捉市場特徵, 深入的理論就不在這裡多談, 有興趣者可以參考任一相關書籍 .

筆者就模擬了一個為期30天的模擬期指Tick數據的數據庫, 所用的模型為Diffusion  + Jump , 以Monte-Carlo法以每秒1 Tick, 每日28800 Tick生產出來, 除Tick 數據表外亦整理了另一個1分鐘周期的報價. 每日期指起始價22000點, 每年180次Jump, 經參數調整 , 全部數據波動範圍大約20000~24000之間. 有興趣作期指日內交易回測者可以下載測試. 下載連結見之前博文.

雖說價位是電腦隨機模擬 , 不過十分有趣的是有不少典型技術形態都可以找到 , 你能找到多少?

 


 

2014年5月3日 星期六

美非農就業數據對金股匯的影響(四)

昨晚美非農再一次演示了它的陷阱 , 在公布比預期好的職位增長及失業率下降後, 美期曾急升一段, 外幣黃金應聲下跌, 一般初學者都會急不及待"順勢而行", 唯恐錯過當晚的大行情, 然而在進市後往往不再往前走,甚至走出相反的行情, 事後的新聞解釋也欠說服力, 比如昨晚稍後有說因為就業不足率從12.6% 微升至12.7%, 因而令人懷疑其他就業數據做好的可持續性, 又或有說烏克蘭局勢升溫令資金暫離股市. 筆者總括, 單靠經濟事件不足以掌握即日的走勢, 而經濟數字的演譯更往往是出人意料之外.

之前筆者作了個粗糙的有關非農數字跟當日走勢的統計, 得出有約40%的相關度, 即是說只有不足一半的走勢是"跟足"數字, 然而走勢跟數字也不是純線性的關係, 只有約15%是符合這樣的簡單關係, 也就是說需要更多的變數來解釋(e.g. 公司業績). 昨晚正好是這樣的情況 , 新增職位好於預期, 然而整日走勢反覆牛皮. 市場數字雖向好, 但又觸發提早升息疑慮 , 雖然美聯儲一再強調仍要一段"相當長的時間". (見 美非農就業數據對金股匯的影響(三) )

再細分日內的走勢也會得出類似的結論,相關度也只有近40%. 有部分外匯策略專注於大數據像非農之前及之後的部署, 筆者發現在非農數據出爐前後那一小時跟之後一小時的走勢跟非農數字的預期差的關係都沒有超過95%的信心區, 而且相關度的誤差也比較大, 表示這期間並沒一個很穩定的關係 , 也就是說這個時候要速戰速決, 刮頭皮(Scalping)之類的策略就比較合適. 直至這2小時之后才漸有共識走邊. 但觀察實際市場有時整晚走勢也較飄忽無趨勢,如果不是走極短線的, 似乎在大數據日避開交易, 或在在公布前一段時間跟預期炒但至公布前一刻平倉為妙. (見 美非農就業數據對金股匯的影響(二) )

現附上過去一周的經濟數據及美道指期貨每小時走勢作參考印證. Note 行表示在圖中分辨到的較大波動

2014年2月8日 星期六

如何開發從SP Trader 接入數據到 Metastock(2)

這些不同開發者提供的SDK , 很可惜, 嚴格來說也不是實時接入 , 一般理解的實時接入 , 是透過串流方式把數據異步輸入, 並觸發圖表更新(如有) . 那麼資料及圖表的更新就接近同步. 著名供應商ESignal 就是其中表表者. Metastock 的實時串流接入 , 先透過廠商自己的winros 程式把報價打入Metastock Data Server , File Server 記錄報價再觸發圖表更新新增部份. 然而, 這些串流接入的介面技術細節 , 就是在官方的SDK也沒有披露 , 因此幾乎沒見到有其他串流寫入的SDK出現, 所以像ESignal 那種真正串流輸入的實時方式在第三方特別是開源的SDK實在不多見(筆者到目前為止還沒發現). 這些SDK所提供的工具只是把數據實時寫入檔案, 因此如果你的數據源是準確的, 你所得到的數據是實時準確的, 然而你需要自行重載圖表才能看到更新的部份, Metastock 是不會因數據檔更新而自動實時更新圖表的.

2014年2月7日 星期五

如何開發從SP Trader 接入數據到 Metastock(1)

新的一年先祝大家股運亨通, 筆者前段期間開點小差, 積壓了一些有關課程及編程方面的查詢 , 其中有相當部分關於透過SP Trader拿價接入Metastock的. 筆者這段期間也對Metastock 的數據接入方法作進資料搜集及研究綜合, 在此回應一下.

其實整個流程原理一點也不複雜 , 從SP Trader API 獲得報價後寫進Metastock日內報價的格式, 再觸發圖表更新. 難就難在一些技術介面的接合以及十分少公開可查的官方文件技術說明及開發工具 , 特別是串流式接入的部分, 基本上連官方SDK文件都沒有看到有篇幅提及開發細節. 也因此有相當一部分的這些第三方數據接入工具並非真的完美的實時接入 , 特別是觸發圖表更新的部分. 

2013年9月17日 星期二

如何以Excel 測試型態(pattern)買賣策略(8) - 一目均衡篇(Ichimuku)

沒有另外期間的比較, 測試結果不會完整. 一目均衡策略在第二期間同樣有不俗的表現

第二期間 2005.1.3 - 2011.12.30  歐元兌美元1小時周期

期間共交易500次, 盈利334次, 勝率66.8% . 累積盈利19261點, 獲利型態穩定




2013年9月16日 星期一

如何以Excel 測試型態(pattern)買賣策略(7) - 一目均衡篇(Ichimuku)

一目均衡系統有很多不同的買賣方法 , 之前提及的只靠雲帶定奪買賣顯然效率不彰. 現在測試另一款複雜一點的方法.

Stockcharts.com 提及一個方法 , 當價位高於雲底(牛市傾向), 然後低於kijun線(回調支撐) , 再回升上穿Tenkan線(上穿阻力)時買進,反之當價位低於雲頂(熊市傾向), 然後高於kijun線(回調阻力) , 再回落下穿Tenkan線(下穿支撐)時沽出。

程式語言的能力決定可以測試得多複雜和精細, 同樣的回測要在Metastock上實現不是那麼顯易, 但透過Excel VBA 或 MT4 之類的強大語言這些工序將變得簡單易懂。 

筆者只透過更改指標的信號, 就可輕易算出實際進出市場的順序, 並算出盈虧, 這就是一個良好設計的重要。 

 以第一期間2001.7.30 - 2004.12.31同比,得出共交易255筆,盈利185筆, 勝出率72.5% , 十分不俗, 累計盈利 10021點, 而且穩定增長.

2013年9月15日 星期日

如何以Excel 測試型態(pattern)買賣策略(6) - 一目均衡篇(Ichimuku)

如果把期間轉到2005.1.1 - 2011.12.31 , 以同樣的策略測試 , 表現就不若2005年前的亮麗. 雖則最終也能盈利 , 然而期間經歷漫長的虧損 . 而在2006年中歐元整固後開始重拾升勢, 但累積盈利表現卻無多大起色, 而之前歐元在2002年中同樣整固上升, 累積盈利勢頭卻較佳, 大致一樣的升勢卻得出不一樣的累積表現 . 這對策略的可預測性有所折扣. 另外諷刺的是在第二個測試期累積表現最佳部份是2008年中開始金融危機 .

第二段測試期共交易369次, 盈利169次, 得勝率降至45.8%。 累積盈利最差虧損近1500點,最佳盈利1500點,如下圖所示


2013年9月14日 星期六

如何以Excel 測試型態(pattern)買賣策略(5) - 一目均衡篇(Ichimuku)

要數近年比較多人討論的交易策略 , 一目均衡(Ichimuku)一定位列其中, 尤其應用於外匯方面, 當然也有股指方面的應用, 但討論不及在外匯方面的多. 一目均衡 , 有些人戲稱為"一舊雲" , 起源於1960年代日本 ,但直到近年才比較多香港人認識, 這要歸功近年炒匯人數大增, 以及乾坤燭創辦人大力推廣有關. 一目均衡揉合了平均及突破的概念, 以5條技術線之間關係來確定趨勢及動力作為買賣判斷. 分別為Tenken , kijun, senkou span A, senkou span B, chinkou 所組成, 有關Ichimuku 的買賣策略, 坊間已有不少說明, 在此不累贅.在此僅將其公式以Metastock語言寫出

Tenken = (HHV(H,9)+LLV(L,9))/2  , 用作檢測趨勢及次要支撐/阻力
kijun = (HHV(H,26)+LLV(L,26))/2 , 用作核實趨勢及主要支撐/阻力
senkou span A =Ref( ( Tenken + kijun )/2, -25 ) 
senkou span B = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25) 

span A - span B 就是均衡圖上的雲(Kumo), 如果 span A 高於 span B , 表示牛市, 反之則為熊市, 一個簡單的策略就是轉牛市時買進/平倉, 轉熊市時沽出/平倉. 

2013年8月1日 星期四

如何以Excel 測試型態(pattern)買賣策略(4)

再看看從2006年6月至2012年6月的測試結果, 雙頂沽空期間虧損236次, 共20984點, 盈利155次, 共13886點, 淨損7098點, 得勝率39.6% .雙底入市期間期間虧損147次, 共13451點, 盈利206次, 共18438點, 淨賺4987點, 得勝率58.35%. 策略十分穩定

再看同樣的策略應用在恆指期貨短線買賣. 以HSIM1 (2011年6月到期期貨)5月30日至6月28日止1分鐘周期, 雙頂/雙底誤差設為20點, 止賺,止損設為100點, 交易期間設為100分鐘, 雙頂沽空期間虧損44次, 共3075點, 盈利67次, 共5253點, 淨賺2178點, 得勝率60.36% .雙底入市期間期間虧損70次, 共5943點, 盈利67次, 共5203點, 淨損4987點, 得勝率48.9%.在極短周期下反以雙頂勝算較高.

2013年7月30日 星期二

如何以Excel 測試型態(pattern)買賣策略(3)

雙頂/雙底的近親就是三重頂/三重底,  相比完美的雙頂/雙底, 三個頂/底的高度都差不多的完美三重頂/三重底要比雙頂/雙底罕見, 如果不是那麼嚴苛的, 一般像頭肩頂/底的形態也可歸納為三重頂/三重底, 也就是要求中間頂/底要比兩邊頂/底為高/低, 而同時要求兩邊頂/底高度相差不大於一個值.用之前算得的頂/底及高度誤差作起點, 發現在2003年3月- 2006年6月期間歐元小時圖只找到這樣的三頂形態 , 期間虧損37次, 共3628點, 盈利33次, 共2914點, 淨損714點, 得勝率47% , 比雙頂為佳.

如果把止賺止損調為分別0.005 及0.02 , 則同期虧損大幅減少至22次, 共3319點, 盈利48次, 共2400點, 淨損919點, 得勝率68.6% , 反不及前者. 然而細看下有改進的空間 , 賺的部位全都止賺出脫, 表示止賺過於保守, 另外止損的部位不多, 表示止損過於寬鬆, 有優化的空間 , 重訂止賺止損為0.006及0.009 , 期間虧損28次, 共2520點, 盈利42次, 共2493點, 淨損27點, 得勝率60% , 較前兩者為佳.

2013年7月25日 星期四

如何以Excel 測試型態(pattern)買賣策略(2)

上回講及到雙頂沽空歐元小時圖在2001-2003年效果不佳 , 反過來以雙底入市效果不俗, 期間多次可以止賺, 期間虧損72次, 共5527點, 盈利103次, 共9066點, 淨賺3539點, 得勝率58.8% . 可見並不需要超高的得勝率也可盈利.

補充一下, 以雙頂同期入市, 期間虧損87次, 共6920點, 盈利63次, 共5126點, 淨損1794點, 得勝率42% .

如果把止損擴大至200點, 止賺縮窄至50點, 對整體盈虧有什麼影響呢?

2013年7月17日 星期三

如何以Excel 測試型態(pattern)買賣策略(1)

Excel 其中一個強項, 就是可以隨意設計靈活的歷史回向測試(Backtest), 只要有完整準確的數據, 以及一定的VBA 技巧 , 沒有測不出來的策略.

技術指標一般分幾大類,計算的(如MACD), 單支或數支型態的(如陰陽燭型態, 如十字星...), 又或是廣義型態的(如雙頂, 雙底,...). 一般來說,很多人以為計算的比較簡單易弄, 廣義型態的比較難, 其實只要懂得將抽象的型態變成實在的數學條件, 多複雜的形態也迎刃而解.

筆者就以常用的雙頂型態作示範. 觀圖當然容易分別出來. 但如果是面對一堆價位, 又如何分出來? 其實先想一想, 什麼是頂? 頂, 嚴格來說, 就是這一刻的最高價位比之前及之後一段時間的都要高, 或不低於. 再深入的想, 兩邊平衡的, 就要求前一段時間長跟後一段的一樣, 比較寬鬆的, 可以要求前後的時間長不一, ... 再想想, 什麼是雙頂, 要嚴格的, 那是要兩個頂的最高點都一樣, 那可說是十分嚴苛的, 放寬點, 只要頂跟頂的差距不多於一個誤差, 也可算雙頂, 那麼能符合的也就多了... 只要想好這些關係和規則, 就不難把它們轉成程式思路, 也就可以對一堆數字進行型態回測.

2013年3月21日 星期四

Excel KD斧期貨自動交易程式示範(5)

透過改變不同的參數及微調, 可以看到在不同周期, 進場及出場延後 , 以及止賺止損等的情況下的KD斧表現

1. 2分鐘周期
   2分鐘周期再延至之後第4個時段確定有效(參考示範(4)有效的定義)後才下單明顯有過晚之嫌, 而出脫部位沒有延後則又有過早之弊, 在窄幅(30點)內持倉時間偏短, 致獲利及虧損小幅, 在部位止損後延後開倉能減少過多交易引致更大損失. 是日共6筆交易, 虧損22點

2013年3月15日 星期五

如何以Excel增加交易的勝算(2)

以個股來作比較, 又會發現跟大市有不盡相同的地方. 比如以長實(0001.HK) , 以差不多同期的數據作同樣的分析 , 可發現如要同樣的升跌幅即日買賣來賺錢 , 以長實較恆指優勝. 如果有天一只長實認購期權的引伸波幅只比大市多一點點, 那絕對是便宜貨.

周五仍是普遍來說較窄幅波動的日子, 然而升幅較高的日子就不一定集中在周一,  這個現象在較高的升幅(>2%, > 3%)就更為明顯, 周三出現的機率比其他日子為高, 翻查近幾年的拍賣土地記錄 , 以在周四舉行佔多數, 可能是先炒預期賣地成績理想的亢奮 .

以跌幅來說, 反而周一有大跌幅的機會又比其他日子多, 這可能是受周未售樓數字公布以及加息或特別樓控措施公布有關.



 > 1% of open
Mon 0.220096
Tue 0.224961
Wed 0.239757
Thu 0.220877
Fri 0.214286

2013年3月12日 星期二

Excel KD斧期貨自動交易程式示範(4)

從示範(3)可見到使用較長周期是其中一個減少短周期雜音的方法, 卻不一定是最好的方法. 因為越長的周期會越鈍化走勢 , 往往會錯失一些快進快出及食盡波幅的機會. 如果有經驗或細心觀察過筆者貼上的一些策略實際操作的讀者, 都不難察覺到在不明的市況中太多反覆虧損離場往往把原先在大浪中賺到的點數倒輸. 雖然理論會叫你不用太介意那些小幅虧損, 但過多的虧損積累下來亦是一個大數, 亦令賺蝕的幅度比要相對更大才能成為長久賺錢的系統.在日內交易系統有時是不切實際的.

市場上靠技術分析賺錢的系統超過70%都是靠趨勢賺錢, 在大趨勢下即使十分簡單的趨勢指標買賣都能賺錢, 系統的高低其實不在於它指示你賺錢的部份, 而在阻止你虧損擴大和入市的部份. 這部份筆者從不相信有一個聖杯指標可以通用在所有市場所有市況, 因為趨勢過後的調整浪是複雜多變的, 很多時都是事後才發現的. (所以筆者從不認同花過多的錢去買個巧立名目的系統 , 一個風險管理得宜的系統比一個吹噓多少極速回報的系統更能持盈保泰).

說到風險管理, 其實正是一些技術分析軟件內附的程式語言如Metastock Formula Language的弱項, 有經驗的使用者都會發覺, 用Metastock Formula Language撰寫技術指標不會很困難, 但要以此建立一套完整因應市況包含風險資金倉位管理的回測或交易系統不是那麼容易. 不少用者因此認為Metastock 不能用以建立一套複雜的交易系統, 那是不對的. 因為Metastock 配合其他一些工具如Excel 等可以互補不足, 正如打仗也要海陸空互相配合, 把小刀當關刀耍只會揚短避短.

筆者這次就以Excel來實現一個在Metastock差不多不可能的簡單風險管理系統. 同樣以KD斧作出入信號, 筆者希望能增加入市信號的穩定性和"輸要縮"的安全網. 實驗證明能有效減少在窄幅不明市況的入市數目, 從而達到可能減少無謂的虧蝕.

2013年3月10日 星期日

如何以Excel增加交易的勝算(1)

不需要高深的建模, 不需要艱深的數學, 透過簡單的統計及Excel 技巧, 散戶也可以掌握每日大市的規律, 從而增加打敗市場的機會.

今次就以恆指即日鮮買賣為例, 當然,指數不是股票, 但可以透過ETF, 窩輪, 期權, 期貨, 牛熊等去買賣這個標的物. 

筆者就以2001年7月9日至2013年3月8日超過10年的從Yahoo下載的恆指數據作演示, 如果是即日鮮買賣, 假如開市買進, 收市沽出, 如要捕捉超過開市價0.5% 及1% (在20000點水平, 0.5%及1% 分別為100點及200點)的升跌幅, 該在一個星期那幾天交易 ? 

超過10年的數據在統計上已有足夠大的樣本空間, 假如大市每天的系統風險模式在這10年間沒有太大變化,那麼得出的結果將有一定的可靠性. 

2013年2月15日 星期五

16歲美少女教你如何做日內交易

美劇"絕望的主婦"(Desperate Housewives)配角Rachel Fox 自2011年起加入股票日內交易(day trade)行列, 並表示過去一年有30.4%回報, 打敗S&P500只有13%的回報.

Rachel 表示她去年共進行338次日內交易 , 她每天6:30am起床, 檢視戶口, 瀏覽新聞頭條並以直覺及技術分析選擇股票 , 特別留意超買/超賣的股票.並指出獨立分析的重要.

她維持一個分享投資智識經驗的博客.

2012年6月18日 星期一

美非農就業數據對金股匯的影響(二)

在非農數據公布後, 市場一般即時就有反應, 這個一般需在公布前布署才能捕捉該可觀波幅, 如果在事後才跟隨走勢, 是否仍有可靠的策略可從?

我們可以嘗試非農數據實際誤差(A-F)去分別解釋之後英國時間14-15:00, 15-16:00 及16-17:00期間平均走勢(Typical Price - Open)和高低波幅(H-L)來看看是否有可靠的關係. (按: 美東時間8:30AM = 英國時間13:30). Typical Price = (H+L+C)/3 , 用以觀察該期間平均走勢, 向上趨勢越強, Typical Price 就越接近高位. 我們以2009.3.6 - 2012.1.6 共33次觀察作個測試.






測試顯示, 在16-17:00 無論趨勢及波幅都比14-15:00及15-16:00期間較跟實際誤差的走勢, 回歸誤差亦較小. 然而實際誤差亦只能解釋約10%的走勢 , 顯示該期間外匯走勢受更多因素影響. 在16:00後入市更能減少市場噪音及短線平倉行為的影響. 因此, 以小時為周期觀察, 在非農公布後2小時內根據非農數據好壞來買賣, 平均來說並未見到有顯著的勝算. 實際觀察上該段時間市場噪音亦較多, 往往有反向操作.

在基本因素上亦可作出如下解釋: 在非農公布後1-2小時內常伴有另外的美國數據, 美聯儲對數據的評論, 或對上次數據的修訂等,有不少炒家會等待全部公布完畢後審視影響才作較長線的部署.