COCO研究院

 找回密碼
 註冊
搜索
查看: 3283|回復: 11

[API] 原油周三庫存公佈的投機路程

[複製鏈接]
發表於 16-8-29 10:21 | 顯示全部樓層 |閱讀模式
本帖最後由 howard2c 於 16-8-29 11:52 編輯

在每周三晚上的10:30, 美國能源總署(EIA)會公佈上周美國的原油及汽油庫存.  從接著的0.01秒開始, 原油價格會激烈波動到多方或空方勝利為止.  這有三點吸引我.  第一, 接下來的一到四小時會有相對強的波動, 不會等了半天價格動都不動.  第二, 勝負很快就揭曉.  有時候比賭二十一點還快.  第三, 我喜歡迎接新的挑戰.

程式是自己用C#API開發的.  我的報價源是IQFEED.  外期BROKER是IB.

第一版:
10:31:00 程式根據一分鐘的變化, 下一口單, 無停損.

第二版:
10:31:00 程式根據一分鐘的變化, 下兩口單.  一口無停損, 一口有停損轉向.

第三版:
10:30:01 程式根據這一秒的變化, 下兩口單.  一口無停損, 一口有停損轉向.
10:31:00 程式根據這一分鐘的變化, 下兩口單.  一口無停損, 一口有停損轉向.

程式已經跑了一個月.  我會盡量在這分享這其中的過程.

評分

參與人數 5金錢 +9 收起 理由
NathanYu + 2 太強了
zaqimon + 1 星期四晚上公布天然氣庫存也可以試試看.
trendfollowing + 2 太強了
carlos.twlin + 2 按一個讚
AGWZ + 2 太強了 感恩分享

查看全部評分

 樓主| 發表於 16-8-29 10:47 | 顯示全部樓層
本帖最後由 howard2c 於 16-8-29 11:59 編輯

第三版:
10:30:01 程式根據這一秒的變化, 下兩口單.  一口無停損, 一口有停損轉向.
10:31:00 程式根據這一分鐘的變化, 下兩口單.  一口無停損, 一口有停損轉向.

第三版的程式的第一周(8/17)是賠錢的.  一分鐘的程式是賠錢的.  但一秒鐘的程式應該要是賺錢才對.  回去分析才發現有問題:

10:30:01.100 的時候, 原油庫存資料公佈了1.1秒後, iqfeed 給我最新的報價只有到
10:30:00.041.  結果我的程式用了晚了0.7秒的價格做了錯誤的判斷.

這是我第一次玩秒殺的東西, 對時間的精確度還不算講究.  之後我去分析, 平常時IQFEED的報價只會DELAY0.3秒.  在公佈原油庫存這種特殊爆量的情況, 這個DELAY變成0.7秒.  所以, 我如果要用10:30:01.000的價格來做正確的決定, 理論上我必須等到 10:30:01.700 才可決定下單.  因此我把秒殺程式改的10:30:02才下單.  

然後, 我還做了個修改.  其中一口本來是一個小時候出場.  我發現大家跑短線, 有偷跑提前獲利了結.  過了50分鐘後, 我原本獲利美金$1000.  但到了一小時(也只差十分鐘)就變成虧了.  因此我把其中一口的持倉時間縮短成50分鐘.

評分

參與人數 1金錢 +2 收起 理由
AGWZ + 2 太強了 感恩

查看全部評分

 樓主| 發表於 16-8-29 11:51 | 顯示全部樓層
第三版的程式的第二周(8/24)是賺錢的.  分鐘及秒殺程式都是賺錢的.  上周我做的兩個修改有差嗎?

1. 秒殺回測是用10:30:01的報價, 但現在我們知道即時報價會有0.7秒以上延遲.  所以我們改成10:30:02秒才進場.

上周 系統時間 10:30:01.100 -> 即時報價的最後時刻 10:30:00.041, 延遲 0.7秒
這周 系統時間 10:30:02.100 -> 即時報價的最後時刻 10:30:00.221, 延遲 1.5秒

系統晚一秒做決定是有比較好, 但發現在這種公佈庫存的特殊爆量, 報價延遲從0.7秒延長到1.5秒, 其實還是無法用10:30:01的報價做決定.  下周叫程式紀錄完整的報價延遲.  不過下單時間大概不會再延.  越慢下單滑價就越大, 可預期利潤也變少.  現在知道這種秒殺的追單也不是那麼簡單.  瞬間報價延遲讓你看得到未必吃得到.

2.  另外一個改變是把其中一口持倉時間從一小時改成50分鐘.  這個更改反而讓我在這一周少賺許多.  要改回來嗎?  算了.  程式交易就是這樣, 整體回測有差就好, 但不可能每次都在高點.

評分

參與人數 1金錢 +2 收起 理由
AGWZ + 2 好文章,我推薦 感恩您的分享

查看全部評分

 樓主| 發表於 16-9-1 11:47 | 顯示全部樓層
本帖最後由 howard2c 於 16-9-1 11:48 編輯

昨天晚上(8/31)這盤也是賺錢的.  分鐘及秒殺的程式都賺錢.

另外, 我昨天改了程式來看每秒的報價延遲:

原油庫存公佈後的報價延遲
22:30:00 報價延遲: 0.454 秒
22:30:01 報價延遲: 1.034 秒
22:30:02 報價延遲: 1.747 秒
22:30:03 報價延遲: 2.413 秒
22:30:04 報價延遲: 2.829 秒
22:30:05 報價延遲: 2.859 秒
22:30:06 報價延遲: 2.750 秒
22:30:07 報價延遲: 2.625 秒
22:30:08 報價延遲: 1.589 秒
22:30:09 報價延遲: 0.689 秒
22:30:10 報價延遲: 0.186 秒

IQFeed 的報價延遲平常就200-300ms.  但隨著 22:30 原油庫存公佈後爆量, 報價延遲從 200ms 變慢到 2.859 秒.  我必須等到三秒後才能看到庫存公佈後那一秒的最後價格.  然而, 報價速度也迅速的在十秒後就恢復同步.  以後就知道, 做Special Event要特別注意報價延遲.  那把問題反過來. 我是否可以用報價延遲來預測市場將會有波動嗎?  我覺得錯的訊號應該會太多, 但還是值得探索.

昨天價格在公佈後0.043秒 (43ms), 原油價格就跌了20個tick.  0.043秒是什麼概念.  我如果在公佈後, 按了重新整理, 等資料顯示在螢幕上都要1秒鐘.  光是資料要透過網路從美國傳到台灣都需要0.22秒.  等我把瀏覽器拉到那邊, 讀完那幾行, 三秒都過去了, 我都還沒輸單呢.  別人卻能夠只用我還來不及眨眼時間 (0.043秒), 就已經分析完畢, 得出結論, 然後下單成交了.  別人是怎麼辦到的?  應該是說他們根本不是人, 而全都是不需要眨眼的電腦及程式.  資料要從華盛頓傳到芝加哥就要0.033秒, 已經在CME代管的電腦只剩10毫秒的時間判斷及下單給CME的電腦.  這是一場電腦對電腦的科技競賽  雖然我只能在旁邊看熱鬧, 但還是挺好玩的.
發表於 16-9-1 18:57 | 顯示全部樓層
週四10:30的天然氣   要不要也試試看
 樓主| 發表於 16-9-5 09:40 | 顯示全部樓層
這周末有看了今年的天然氣庫存公佈.  常看到一秒就跌過頭, 之後一小時有小反彈.  這
可能是因為跟的人不夠多, 量不夠大, 所以沒什麼後勁.  不過, 這反彈的勝率還可以, 就是賺太少了.
 樓主| 發表於 16-9-9 11:29 | 顯示全部樓層
本帖最後由 howard2c 於 16-9-9 11:56 編輯

這次的原油庫存公佈被改成周四11點了, 也就是昨天晚上, 所以我今天才寫.

這次我新增了兩個程式.  原本無停損轉向的程式損益太不穩定.  十次裡面大概有四次賺, 三次平, 三次虧.  雖然整體還是賺, 但賺的很少.  而眼睜睜的看著一小時內虧這麼多其實是痛苦的.  所以才寫了第二版, 第三版, 及現在的第四版.  這次新增的兩個程式一個是讓停損機制的心跳變慢.  另一個程式脫離了固定時間入場的限制.  原本我想讓所有的程式併行一起跑.  就讓那兩個無停損的舊程式再賭一次!  後來還是覺得理性點好.  所以我把無停損的那兩個程式停掉了, 而用這次新寫的兩個程式取代.

這次原油庫存大減.  結果我的程式小賺.  如果沒有停用那兩個舊程式, 我會賺更多.  這又回到剛剛的原點, 我該理性一點, 把比較容易虧錢的程式停掉, 還是讓比較容易虧錢的程式再賭一把.  我的直覺想賭賭看.  但我最終選擇讓我的理性關掉那兩個程式, 而因此少賺了原本該賺的錢.  這應該是程式交易或是任何交易常碰到的爭札吧.

這次的波動依然是神速.

11:00:00.000 (公布前)        $46.17 (+0.00%)
11:00:00.035 (35毫秒後)    $46.50 (+0.71%)
11:00:00.055 (又20毫秒後) $46.70 (+1.14%)

我的單在一秒後成交, 我一毛錢都還沒賺到, 搶頭香的電腦已經賺了 1.36%.  你如果去看昨天的K線圖, 你在23:00會看到一根漂亮的突破.  在這提醒大家, 除非你能在 0.055 秒內出手, 那根棒是看得到吃不到!  別人坐高鐵, 我們騎腳踏車.  我們晚到只能撿他們吃剩的.  在一樣的風險下, 我們只能小賺, 搶頭香的人大賺.

接下來我可以怎麼做?

1. 把電腦寄存在美國交易所附近.  這不難, 而對成交價會有少許幫助.  
2. 我想讓電腦準時下載剛公佈的原油庫存數據, 然後電腦馬上根據新數據下單, 不用等行情突破.  這感覺還蠻好玩的.
3. 看看是否有方法預測原油庫存, 這樣可以在公佈前就下賭注.
4. 看看報價延遲是否可以幫助預測潛在波動.
5. 把資料源及交易商換成更高級的.  短時間不可能, 因為所有的程式都必須重寫.

第2,3,4,5項都需要時間.  以後再說吧!
 樓主| 發表於 16-9-15 02:30 | 顯示全部樓層
9/14 的原油庫存公佈很難操作.  前幾次停損轉向機制都沒被觸發.  而今天則是被觸發太多次, 15分鐘內6次.  上週我嘗試著把一個程式的停損轉向的心跳變慢.  看來那是對的.  下周應該會全面跟進.  這樣就能夠避免將近一半的損失.

上次列的第二項是讓電腦即時下載原油庫存數據, 然後電腦馬上判斷下單.  這已經實現了.  庫存是10:30:00公佈的.  而這個程式可在 0.991 秒內下載數據及根據預設條件下單.  這是我目前為止下單速度最快的程式.  如果要更快就得把伺服器寄放到美國去.  初步跟歷史資料的比對顯示這程式一定的價值.  可惜這次跟我其他程式一樣是虧錢的.

我看了一下昨天的圖形.  真的很難操作.  程式一度有賺錢過.  但之後全停損掉了.  唯一能賺錢的方式是在賺錢的時候用trailing stop或分步出場.  但我覺得這可能會減少整體的獲利.  或許我程式寫得再好, 也沒有辦法在這種情況下獲利.  有時候, 最好的選擇就是等下一次, 畢竟不可能每次都賺.
 樓主| 發表於 16-9-29 10:55 | 顯示全部樓層
上星期結果是小虧的.  在看相關的新聞才發現原來星期二凌晨4:30還有一個預賽.  4:30 公佈的是API機構自己訪調的庫存數據, 但必須要有路透社才能訂閱.  雖然我看不到這個數據, 但我看得到價格的變動.

2016-09-20 16:30:05,44.58,44.29,44.39,44.48,662146,795,
2016-09-20 16:30:04,44.49,43.99,43.99,44.40,661264,2812,
2016-09-20 16:30:03,44.00,43.98,43.99,44.00,658437,39,
2016-09-20 16:30:02,44.01,43.98,44.01,43.99,658395,73,
2016-09-20 16:30:01,44.05,44.00,44.04,44.00,658321,173,
2016-09-20 16:30:00,44.07,44.04,44.06,44.04,658129,26,
2016-09-20 16:29:59,44.13,44.04,44.13,44.08,658099,164,

在早上4:30的第4秒的時候, 油價瞬間漲1%.  到早上8:00, 油價已經漲了3.5%.  或許我寫的程式也可用在這個預賽上面.  或許這預賽的結果也可幫助我預測周三主賽的動向.
 樓主| 發表於 16-9-29 11:42 | 顯示全部樓層
本帖最後由 howard2c 於 16-9-29 12:16 編輯

本周結果是賺的.  賺錢的原因不是因為抓對方向而是停損轉向機制.  昨天庫存(符合API預測)是減少的.  我的秒殺程式(反應時間在2秒以內)全都做多.  結果全被停損轉向了.  所以本周賺的錢有一半是停損後轉向才賺來的.

本周開始電腦程式已經被寄存在芝加哥.  PING的速度真的很快. 但整體改善並沒有預期的多.  主要是IQFEED的瞬間報價延遲及IB的下單成交時間就是慢.  就算是電腦搬到CME的機房裡面, 因為我用便宜的報價源, 報價延遲依然存在, 不過我可能已經找到變通的方式.  

最讓我想不通的是, 我的程式從台灣去抓EIA庫存資料只需要0.991秒.  但程式放芝加哥後, 抓資料的時間不減反增到2.297秒.  是不是在10:30的瞬間, 華盛頓到芝加哥的網路也突然塞車, 而到台灣則不會.  還是我哪裡沒弄好?  下周依然還是會把程式放在芝加哥做測試.

PS.  我剛又測試了在非尖峰期從芝加哥抓華盛頓的庫存資料.  這次只需300毫秒, 跟尖峰期的2.297秒實在差很多.  不知道這塞車是正常的, 還是有人故意要讓網路瞬間塞到爆, 不然怎麼可能資訊到台灣比到芝加哥還快!  這代表在美國東岸玩這遊戲的大咖一定要有自己的專屬線路.
發表於 16-9-29 22:05 | 顯示全部樓層
好猛…
一個剛接觸台指期的菜鳥路過…
 樓主| 發表於 16-10-14 12:30 | 顯示全部樓層
本帖最後由 howard2c 於 16-10-14 14:06 編輯

先分享結果.  上周小賠, 這周小賺.  另外我周二凌晨4:30的API程式也寫好了, 跟周三的還是有點不同.  本周已上線, 以小賺收場.

我之前有說過, 最近原油庫存公佈賺的錢大部份來至轉向機制.  也就是說這幾周的進場都被停損掉, 然後因為程式即時轉向, 才有機會賺錢.  我原本會來玩原油庫存公佈是因為入場機制回測有6成勝率.  但為什麼最近進場機制會連續錯五次.  

昨天公布的原油庫存增加了490萬桶, 聽起來很多, 那油價應該要跌才對吧.  結果公布後的六分鐘確實跌了1.57%.  接下來的四十分鐘, 油價卻又漲了2.26%.  庫存多了這麼多, 油價還漲合理嗎?  可是最近幾周都是這樣.  如果庫存公佈的油價要漲, 油價會先來個大跳樓, 把追空的單都引出來, 然後才開始漲.  如果油價要跌也一樣, 會先來個沖天炮, 來引出所有的追單, 然後在讓它跌個夠.

因此, 最近無論我的程式判斷對或錯, 都會發生停損.  這個現象連續發生五周.  我必須問, 之前6成勝率還存在嗎, 還是以後都這樣.  如果以後都這樣的話, 那我是不是可以修改程式來從中獲利.  這麼復雜的洗牌賺得了錢嗎?  好像還是可以的.

PS.  我以後不會再更新此版了.  很難在這分享, 又不透露重要細節.  Bye Bye!
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-25 02:52

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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