COCO研究院

 找回密碼
 註冊
搜索
查看: 6983|回復: 16

Amibroker 學習過程分享

[複製鏈接]
發表於 11-12-9 00:27 | 顯示全部樓層 |閱讀模式
這些是我在‘共筆’中比較沒有看到的。從共筆中受益許多,在這裡慢慢回饋大家。希望有用。

1. Loop Vs array
大家都知道AFL最強大的地方就是array 語言。這對公式形態的trading 系統很好寫,但是對pattern 的就。。。
現在在寫wolfe wave的系統,簡單看一下附圖 1.jpg 有點像在找double top, 但是很多細節的規矩,反正就是要把這些點都找到。。這個就無法簡潔的pure array 來寫。 在yahoo forum上問了,看來也沒有好方法,只好自己全部bar loop 一遍。 現在問題來了,如果要做backtest,   那到底 AB 是怎麼做的呢,是每個bar 我的AFL code 都跑一遍。如果是這樣,每年假設200天,一天8小時,一年就是 1600 bars. 跑個5年就是 8000 bars, 每個bar 都 loop 一遍, 便是要跑 8000 * 8000. .. 小時就這樣,那就別想5min了。。。

官方文件對於backtest結構都沒有說。找了很久,總算找到。發現這是AB非常獨特的地方,希望設計的人都要知道。 那就是,AB backtest 是先對你的code, 對所有的bars, 全部算一次。 yes, 就一次。然後所有的data都算好了,在從第一個bar 開始往‘後’走,只算buy/sell/short/cover。 算到最後你的profit/loss 就是 backtest 結果。 這就是AB backtest 比其他的快很多的原因。 其他的系統(wealth lab等)都是,在模擬往後走的時候是碰到每個bar就你的code跑一遍,當然包括buy/sell.

這個基本architecture的差別對你在設計系統時,最大的差別就是,在AB系統,千萬別用到’look into the future'的function.
這也是為什麼在AFL 手冊上,每個有look into the future的function都會特別提到。

拿 zigzag 來說,wealth lab 也有,但是因為譬如在第 i個bar的時候正好是peak,wealth lab是一個一個跑,所以要再等2個bar才能確定是peak, 但是 AB 在跑zigzag的時候,‘未來’的兩個bar都在,所以在i 的時候就知道是peak,結果跑出來的哇賺好多錢,但是在實際trading的時候就沒這麼好了。。。

結論,

1. 寫code是一定要用 formula editor/tools/code check and profile 確認沒有 look into the future, 或是,如果check回報會多看兩個bar,就要看看你的系統是否可以接受。譬如,我的系統用到 ref(x, -1) (就是偷看一個bar), 我覺得可以接受,那就ok.

2. 如果非得要用到譬如是zigzag的function, 可以從參考這裡
http://www.mail-archive.com/amibroker@yahoogroups.com/msg50271.html
讓你的backtest很‘實際’。



另外google可以有15天 1-min backfill, 而且應該有台灣的股票。半自動化請參考

http://finance.groups.yahoo.com/group/amibroker/message/165871

評分

參與人數 3金錢 +8 收起 理由
RECOM + 1 感謝分享
joey0415 + 2 這麼好的分享,不加分怎行
kilroy + 5 分享是最棒的

查看全部評分

發表於 11-12-9 00:36 | 顯示全部樓層
感謝大大的分享

小弟也受益良多,非常讚啦

---
發表於 11-12-9 06:35 | 顯示全部樓層
我的系統用到 ref(x, -1) (就是偷看一個bar)


是我誤會嗎?
Help上寫
EXAMPLE
The formula "ref( CLOSE, -14 )" returns the closing price 14 periods ago. Thus, you could write the 14-day price rate-of-change (expressed in points) as "C - ref( C, -14 )." The formula "ref( C, 12 )" returns the closing price 12 periods ahead (this means looking up the future)  


參數為正數時才是Look up the future吧
發表於 11-12-9 08:48 | 顯示全部樓層
是我誤會嗎?
Help上寫


參數為正數時才是Look up the future吧
GnuHomot 發表於 11-12-9 06:35 AM



   GnuHomot 大大對 AB 也是非常熱衷的
發表於 11-12-9 09:15 | 顯示全部樓層
感恩 謝分享

像我們這種老灰仔LKK只會手動的 只能望程式興嘆

每天多空都要天人交戰賺但博所費
發表於 11-12-9 09:42 | 顯示全部樓層
官方文件對於backtest結構都沒有說。找了很久,總算找到。
balance 發表於 11-12-9 12:27 AM

請問你是在哪裡找到的?
 樓主| 發表於 11-12-9 11:54 | 顯示全部樓層
回復 3# GnuHomot


   沒錯,筆誤,(ref,1)
 樓主| 發表於 11-12-9 11:57 | 顯示全部樓層
請問你是在哪裡找到的?
zoolander 發表於 11-12-9 09:42 AM
請參見, http://www.mail-archive.com/amibroker@yahoogroups.com/msg50281.html
 樓主| 發表於 11-12-9 12:28 | 顯示全部樓層
感恩 謝分享

像我們這種老灰仔LKK只會手動的 只能望程式興嘆

每天多空都要天人交戰賺 ...
kingjerry 發表於 11-12-9 09:15 AM


大大客氣了。 在我寫的過程中真正體會,人腦(如果沒有情緒,恐懼和貪婪)比任何電腦/程式都厲害。
發表於 11-12-9 12:32 | 顯示全部樓層
大大客氣了。 在我寫的過程中真正體會,人腦(如果沒有情緒,恐懼和貪婪)比任何電腦/程式都厲害。 ...
balance 發表於 11-12-9 12:28 PM



    但是如果可以全部都丟給程式來做也很不賴啦 XD
發表於 11-12-9 14:45 | 顯示全部樓層
請參見,
balance 發表於 11-12-9 11:57 AM

真是辛苦了. 我一直覺得Tomasz在說明上有點亂糟糟.

剛看到Amibroker現在升級有兩年free upgrade耶.
 樓主| 發表於 11-12-9 15:48 | 顯示全部樓層
真是辛苦了. 我一直覺得Tomasz在說明上有點亂糟糟.

剛看到Amibroker現在升級有兩年free upgrade耶. ...
zoolander 發表於 11-12-9 02:45 PM

沒錯,沒來要在這裡拉個團購,但是等不及就買了。24個月的升級不賴。

tomasz的確文件寫的就是給已經懂的人看的。。。
更經典的是,常在forum上和客戶打筆戰,成熟度有待加強。是個典型的programmer.
發表於 11-12-9 17:45 | 顯示全部樓層
沒錯,沒來要在這裡拉個團購,但是等不及就買了。24個月的升級不賴。

tomasz的確文件寫的就是給已經懂的 ...
balance 發表於 11-12-9 03:48 PM



   Balance 大大 跟 GnuHomot 大大可以成為好朋友
  因為都研究AB非常透徹
發表於 11-12-9 17:48 | 顯示全部樓層
我倒覺得還好,官方文件可以寫到這麼多頁已經很有誠意了。
升級方面AB也蠻有誠意的,現在推出的5.50BETA版2009年9月後買的人都還可以升級,揪感心~~
發表於 11-12-9 17:48 | 顯示全部樓層
我倒覺得還好,官方文件可以寫到這麼多頁已經很有誠意了。
升級方面AB也蠻有誠意的,現在推出的5.50BETA版2 ...
GnuHomot 發表於 11-12-9 05:48 PM


期待大大的分享~
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-22 21:39

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |