- 相信有在做程式交易的人應該對進出場的訊號特別敏感,而這些進出場的訊號如何決定,不外乎透過一些技術指標(KD, RSI...),成交量(OBV),法人買賣超...,要怎樣評斷說當KD=?,OBV=?...時我們買進或者出場?我想就必須要靠歷史資料的回測跟分析.當然市面上有很多相關的軟體套件,如TS(TradeStation),HTS... 上網google下,其實就有很多人在做類似的研究 http://ssdkchang.blogspot.com/ http://skyelephant.blogspot.com/ http://www.programtrading.tw/index.php 不過這邊不是教你如何使用TS or HTS...因為在開發套件上還是有些限制,如法人買賣超明細,基本面分析....,這是在TS所沒有提供的.其實是我也不知道怎樣inlude到TS內.呵呵.... PS:我拿TS當圖形介面(K線)跟簡易的回測分析...
- 底下進入我們的核心部分 1.利用SDDE 抓取我們每日所要的資訊, SDDE 請參考 http://funningboy.blogspot.com/2010/02/sdde-server-v1.html http://funningboy.blogspot.com/2010/02/dde-server-for-stock.html 2.透過GA演算法找出最佳的進出場策略 http://en.wikipedia.org/wiki/Genetic_algorithm 3.假設策略決定好後,回報給下單機做下單的動作 PS: 目前還是手動下單.
- GA 演算法流程 利用適者生存,不適者淘汰的方式重複的Run Case,找到最適合的基因解,其實在做最佳化的過程會抹平很多CoFactor,導致我們所得到的數據不符合真實情況.應該說我們找到的解應該不只一個,而是一個群集,有一個space的空間,即使不是最佳的解,但我們也能藉由這些解集合達到獲利出場的結果. PS: Global min我個人認為是很難達到,因為我們是做歷史資料的最佳化,未來的量價是很難被確定的.只能做Prediction的方式來避免這樣的問題發生.當然要做的好還是要靠不斷的驗證跟經驗累積,在之後會介紹FANN(Fast Artificial Neural Network)的系統,透過學習跟訓練達到未來價量的預測.
- 基因的決定
目前基因鍊上的染色體,
- 染色體 : 我們預設用各種指標函數來表示,
- 染色體的優劣: 分別由各個指標的獲利來表示.
- 染色體 : 存在每個指標內,代表進出場時間跟訊號,生存時間
- 進出場判斷: 以KD 為例:
- KD 進出場判斷
- Step1當(K<20>D : Buy=1, EntryCot++, Profit=0, LifeTime=50.
- Step2 計算T+n天的 Profit. 如果
(Price > EntryPrice) LifeTime+=1, Profit=(Price-EntryPrice)/EntryPrice*100%
(Price
待續.....
2010年2月23日 星期二
Trading Performance v1
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言