COCO研究院

 找回密碼
 註冊
搜索
樓主: kilroy

[教學] [分享] 用AB踏入外期程式交易

  [複製鏈接]
發表於 14-8-14 09:44 | 顯示全部樓層
本帖最後由 skyler 於 14-8-14 10:24 編輯

k大您好
我在上面的第一個問題
寫的不夠清楚
在此補充一下

我在回測時發現
在沒有加上
RoundLotSize = 1;  

會有下單的 shares = 0.3 這種數字
可是在當下的可下單保證金是足夠的
所以想請問一下
它的功用

並且在正式連接IBC 時是否也要加上
附上實測的圖表
2014-08-14_101248.png

謝謝


 樓主| 發表於 14-8-14 11:52 | 顯示全部樓層
skyler 發表於 14-8-14 09:44
k大您好
我在上面的第一個問題
寫的不夠清楚

Hi,

shares 不是整數的可能只會在做美股上 (像零股一樣)
期貨都是一口為單位,所以 RoundLotSize = 1;

不加這行就是回測會與實際再多點誤差




發表於 14-8-14 13:51 | 顯示全部樓層
kilroy 發表於 14-8-14 11:52
Hi,

shares 不是整數的可能只會在做美股上 (像零股一樣)

謝謝K大您的回覆
只是覺得奇怪
在沒有加的情況下為何會有上面圖示中出現的 0.3單位的交易
這不知怎計算出來的
真令人搞不懂

所以實際交易上就不需要加上這行了只有在回測的AFL才要加
對吧?!

-----
另外請教的
透過IBC下限價單的語法是否如下
BuyOrderID = ibc.PlaceOrder( ContractMonth, "BUY", 1, "LMT", BuyPrice, 0, "DAY", True );
SellOrderID = ibc.PlaceOrder( ContractMonth, "SELL", 1, "LMT", ShortPrice, 0, "DAY", True );


感謝~


 樓主| 發表於 14-8-14 15:27 | 顯示全部樓層
skyler 發表於 14-8-14 13:51
謝謝K大您的回覆
只是覺得奇怪
在沒有加的情況下為何會有上面圖示中出現的 0.3單位的交易

是的
回測才會用到的設定指令

---
限價單語法是這樣子沒錯

發表於 14-8-16 22:43 | 顯示全部樓層
Hi, Kilroy
我有多商品計量交易的資料需求, 如願進一步詳談, 可否email 給我 wcyjulian@gmail.com, thanks
 樓主| 發表於 14-8-16 23:23 | 顯示全部樓層
wcyjulian 發表於 14-8-16 22:43
Hi, Kilroy
我有多商品計量交易的資料需求, 如願進一步詳談, 可否email 給我 , thanks ...

Hi,

能在線上幫忙的,小弟盡量

但無任何合作計畫

謝謝
發表於 14-8-16 23:34 | 顯示全部樓層
本帖最後由 wcyjulian 於 14-8-16 23:37 編輯

我程式交易下單是自己寫, 台股台指已可自動程式交易(不用mc, ab這些軟體) 目前評估哪家網路券商API穩定性較好, 只是請教, 打擾了.
 樓主| 發表於 14-8-16 23:58 | 顯示全部樓層
wcyjulian 發表於 14-8-16 23:34
我程式交易下單是自己寫, 台股台指已可自動程式交易(不用mc, ab這些軟體) 目前評估哪家網路券商API穩定性較 ...

嗯嗯,

可以用 eSignal 的訊號
發表於 14-8-18 23:35 來自手機 | 顯示全部樓層
K大,我剛遇到個問題想請教,我試把區間拉長,比如6小時,減少交易次數,但當我跑optimize時,往往是100%勝率, 幾個trade的設定排頭位(我是用cad/mmd),但我要的其實是下一點點,可能勝率50%,交易數量要遠遠大增的才有用,如果人手,可以自己篩選,但如果跑WF, 應如何避免?
 樓主| 發表於 14-8-18 23:53 | 顯示全部樓層
osdak 發表於 14-8-18 23:35
K大,我剛遇到個問題想請教,我試把區間拉長,比如6小時,減少交易次數,但當我跑optimize時,往往是100%勝 ...

意思是... 次數很少,透過 optimize 之後勝率達 100%
但是因為交易次數太少,希望次數提高

又要考量到 WF 回測嗎?

---
這樣看起來,感覺參數對於這個策略的影響很大

比如說稍微調整一下,可能跑出來的結果會有很大的差距

不知道是否可以附上回測的截圖







發表於 14-8-19 00:24 | 顯示全部樓層
kilroy 發表於 14-8-18 23:53
意思是... 次數很少,透過 optimize 之後勝率達 100%
但是因為交易次數太少,希望次數提高

哈, 我表達不清楚. 請幫忙看看:
1.PNG
我意思是, 跑完優化後, 因為有些參數組合, 只會做到幾個交易, 而且成率是100%, 所以如果用cad/mdd去做sorting, 會排在頭幾位, 但事實上, 這些參數組合, 是不真實, 沒有參考價值. 但如果用profit做sorting, 會如下:
2.PNG
我用人手可以篩選, 但如果用WF, 那我不希望我的in sample所得的參數是這些不真實, 100%勝率的參數組合.

是否代表我的參數太多太濶?
 樓主| 發表於 14-8-19 00:41 | 顯示全部樓層
osdak 發表於 14-8-19 00:24
哈, 我表達不清楚. 請幫忙看看:

我意思是, 跑完優化後, 因為有些參數組合, 只會做到幾個交易, 而且成率 ...

請問總共用了幾組參數呢
可以把 optimize() 裡的參數設定範圍縮小

應該是參數較大才會產生交易次數過低

---
我想只有在跑完 WF + optimize 後

才會開始篩選出你覺得較優的參數

沒辦法事先設定好怎樣 optimize 參數

optimize 只能從你設定的參數範圍逐一去回測出各參數組合的回測報告

最後還是得由你自己人工判斷哪一個參數會是你能接受的


評分

參與人數 1金錢 +2 收起 理由
osdak + 2 感謝分享

查看全部評分

發表於 14-8-19 10:58 | 顯示全部樓層
osdak 發表於 14-8-19 00:24
哈, 我表達不清楚. 請幫忙看看:

我意思是, 跑完優化後, 因為有些參數組合, 只會做到幾個交易, 而且成率 ...

其實如果你想trade 數量達到某個要求
可以自己寫一個custom metric去penalize那些不合條件的result
又可以結合幾個metric去創造一個自己的metric
所以我覺得AB很有彈性的

評分

參與人數 1金錢 +5 收起 理由
kilroy + 5 按一個讚

查看全部評分

發表於 14-8-19 16:05 | 顯示全部樓層
k 大
請教一下
我改成下限價單時
出現如下的錯誤
2.png

該行如下
1.png


StaticVarSetText( "BuyOrderID" + Name(), BuyOrderID, true );

由於
BuyOrderID 的值是 EMPTY
因此出錯

但回推等於在這行
BuyOrderID = ibc.PlaceOrder( ContractMonth, "BUY", Shares, "LMT", BuyPrice, 0, "DAY", True );
就沒有給OorderID了

我檢查IB Controller 也沒有下單的記錄

但改成上面那行以市價單下單是OK沒問題的
不知您有沒有遇過這個問題?

感謝您的幫忙



 樓主| 發表於 14-8-19 16:18 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-19 16:23 編輯
skyler 發表於 14-8-19 16:05
k 大
請教一下
我改成下限價單時

將 buyprice 改成 lastvalue(buyprice)
BuyOrderID=ibc.PlaceOrder(ContractMonth,"BUY",Shares,"LMT",lastvalue(BuyPrice), 0,"DAY", True );


您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-22 17:08

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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