自建數據分析操盤系統 - 期貨

Table of Contents


金融交易變化萬千,到底要怎麼長期穩定賺錢 ?
我想是每個操盤投資人都想解的問題

但真的有規律可尋嗎 ?
某某書寫說看 OOXX 指標金叉做多 勝率 80% 真的嗎 ?
某某老師說 他的程式回測績效超猛 去年賺五倍 現在我租了 也要發了嗎 ?
還是跟著鄉民反著做 聽說勝率很高 ?

以上都是我剛入場時,心裡的疑惑。充滿茫然,不知所措。
既然這樣,身為一個資工系宅宅,乾脆自己用擅長的程式,實做數據分析吧!
那要怎麼做? 要寫 MultiCharts 嗎? 還是自己寫 Excel DDE? C# API?

--

經過了一些嘗試與挫折後
我發現市面上沒有任何一套工具可以滿足我做程式化數據分析的追求
( 可能我的追求比較奇怪 )

所以決定走上一條困難的路
就是從頭到尾 打造一套分析操盤系統
從底層原始資料收集、資訊庫系統、演算法設計、圖表視覺化、網站前端即時呈現
全部動手 DIY 自己做!

https://i.imgur.com/QGlS3WZ.png
https://i.imgur.com/398CbpW.png
https://i.imgur.com/ZRMY8Bp.png

--

以下分享這一年來做的工程細節
沒有任何聖杯程式指標 也沒有交易策略
僅為數據分析系統實做經驗談
沒興趣請趕快左轉 XDD

--

首先 交易的 Raw Data 到底是什麼呢 ? K棒嗎 ? 均線 ?
就我目前來看,盤中主要有兩個:成交明細、五檔掛單

https://i.imgur.com/GOYB90D.png

K棒、線、技術指標,都是衍生來的,並非真正原始資料
所以做數據工程,勢必要收集最原始的 data

以台指期來看 每天成交約 6-7萬筆 10-15萬口
如何收集這 幾萬筆 Data 來分析 勢必要透過行情報價API來達成

國內免費的 Tick 報價 我是用群益 C# API
它會以 Callback 形式回傳註冊的商品即時成交明細

那如何蒐集 有系統化的保存這些資料 供接下來分析使用 ?
這時候勢必就把資料庫系統派上用場了

我是用 PostgreSQL 而不是 txt csv 文字檔格式
資料正規化 永續性儲存 對後續分析跟維護 有非常大益處

https://i.imgur.com/zcHVA5J.png

目前抓的商品包含: 大台 小台 周選 月選 指標性權值股 (不知不覺也累積3000萬筆了)
涵蓋大部分人會看 有意義的標的商品
之後要做各種不同的分析 都會有幫助

有報價即時存到資料庫之後 接下來要開始認真要做分析
這邊我選擇我擅長的 Python 來做 而不是直接寫在 C#
畢竟在資料分析的領域 毋庸置疑 Python 是目前最強大的
也為之後要導入 AI / Deep Learning Model 做準備

分析程式部份 目前實做幾個我覺得很有意思的

1. 大戶/散戶 成交累積變化
2. 選擇權均價 / 累積金額
3. 權值股開盤後當天強弱走勢
4. 權值股大單走向
5. 期貨買賣掛單變化

細節就不講了 反正有資料想算什麼都可以 大家有興趣可以自己做
畢竟每個人想看的的分析、操作方式都不一樣

這邊可以看出 如果不自己做系統 現成軟體是很難辦到這些事情的
不論 MC 還是 Excel 都幾乎得不到我要的分析
再者 我真正想做的分析 才剛開始 XD

--

分析演算法寫完之後 就要考慮怎麼呈現 讓K棒會跳 圖表數值會更新
直接 Python Matplotlib 絕對是不行的
寫 Qt/wx GUI 我覺得也不是一個好方法

好在現在網頁 js 前端 有一套很棒的 Lib 就是 TradingView
之前玩比特幣 發現很多交易所都用那套 可以接自己的 API 即時畫圖表
所以大部分指標線圖性質的分析 我都把它寫成 Web REST API
串接 TradingView 可以很縮放流暢的觀看

( 哀 看看現在的券商軟體 跟我小時候看我爸在玩的時候 根本沒什麼改變 ...

非線圖類的分析 就要用 React / Chart.js 來寫了
可以畫圓餅圖、長條圖、泡泡圖等等
一樣先想好要做什麼 怎麼開 Data API 怎麼呈現
像是我覺得把選擇權 Call / Put 對稱上下擺 用長條圖就很棒

--

架構大概是這樣 中間還蠻多坑的 每個環節就是熬夜無數天才搞出來的
也陸續找了一些人 組發開團隊 越弄越大

( 不然後端、DB、前端、演算法、交易操盤、策略分析 一個人吃不下啊 XD


POST INSERT
C# Quote API ------> Python Django --------> PostgreSQL


SELECT GET
PostgreSQL --------> Numpy / Pandas ---> Django REST API -----> TradingView
-----> React/Chart.js

^
DLL |
MC 策略 ------> Firebase DB ----------------------------------*


然後 ... 最近又開始大改版了 因為這樣無法達到 Realtime 的速度
所以開始接 Redis / RabbitMQ 同時雙 DB 雙報價源備援 避免群益 API 會斷線/漏資料
之後導入 WebSocket 推播 也會比 Polling 更有效率
同時也開始弄下單機 取代 MC 這個讓我很不爽的東西 ...
搭配 LINE Bot 監控觸發推播 部位風險計算警示等等

終極目標: 全功能網頁版分析操盤系統 + 進階演算法自動下單 + 風控系統


大概是這樣 一點心得 供大家參考
只能說 做這個真的很累 非誠勿試
光是搞 Infrastructure 就弄半天

到底什麼時候可以重新回歸 專心開發 Algo Trade 呢
還有更深奧的 AI / Deep Learning Model
找了幾篇 paper 一直沒時間去實做 都快要忘記 TensorFlow 怎麼寫了 XD

--

All Comments

Lauren avatarLauren2018-04-07
先推不然別人會發現我看不懂
Erin avatarErin2018-04-09
還好我看的懂, 技術上是還好 不過全部做完是個大坑
Audriana avatarAudriana2018-04-12
真的是看不懂,這用來玩當沖還是波段呢
Thomas avatarThomas2018-04-14
真的不容易...給個推
Heather avatarHeather2018-04-17
辛苦了給推
Isabella avatarIsabella2018-04-19
cory哥猛猛的
Tom avatarTom2018-04-20
高手推
Erin avatarErin2018-04-20
重點還是要能賺錢 不要全完善了還是沒找到賺錢方法
Lauren avatarLauren2018-04-22
這是用來搜集資料的 讚
Blanche avatarBlanche2018-04-23
= =
Ethan avatarEthan2018-04-28
你這套做完拿出來賣應該就可以賺錢
Susan avatarSusan2018-05-02
C大必推
Franklin avatarFranklin2018-05-04
高手 (拜
Susan avatarSusan2018-05-06
先給推 能賣也有績效的話 應該是不錯
Hedy avatarHedy2018-05-07
大神好,看不懂qwq
Jacky avatarJacky2018-05-08
用心推
Hedy avatarHedy2018-05-08
感謝分享
Lucy avatarLucy2018-05-11
賣系統功能就賺翻了
Puput avatarPuput2018-05-14
放在github上 我給你star XDD
Wallis avatarWallis2018-05-19
真的 拿來賣就賺翻了 應該可打爆大部分市售軟體
Emma avatarEmma2018-05-23
建議可以做成online版 收月租費 績效應該屌打買股
Elvira avatarElvira2018-05-26
倒是真的做出來我也有興趣買 XD
Ingrid avatarIngrid2018-05-29
是個喜歡動手做的朋友呢
Poppy avatarPoppy2018-06-03
推,用心!
Poppy avatarPoppy2018-06-06
要真能賺錢才是好東西 不然就是shit 加油
Connor avatarConnor2018-06-10
推,我也正在自建Python期貨分析系統
Hedwig avatarHedwig2018-06-11
我也搞了一套,有時間可以交流一下
Liam avatarLiam2018-06-13
拿來賣啦,快打爆mc
Jack avatarJack2018-06-17
先推個 大工程
Faithe avatarFaithe2018-06-18
高手!
Hedda avatarHedda2018-06-22
我想既不如人是一回事 但這套能賣錢是肯定的 推個試用版
給版友用
Agatha avatarAgatha2018-06-24
用訂閱制的 應該就夠賺了
Leila avatarLeila2018-06-28
已經可以賣軟體了,接下來只差找個幫你行銷的投顧
Robert avatarRobert2018-06-28
研發策略或許先做比較好QQ
Erin avatarErin2018-07-01
K5哥佛心
Frederica avatarFrederica2018-07-02
做好這套 就屌打MC 你光賣軟體就身價數十億了 還寫啥策略
Jack avatarJack2018-07-03
推一波
Megan avatarMegan2018-07-04
怎麼這麼像tradeview
Damian avatarDamian2018-07-04
因為他介面就是
Lydia avatarLydia2018-07-08
Barb Cronin avatarBarb Cronin2018-07-14
笑了一下
Franklin avatarFranklin2018-07-18
推一個,加油!
Mason avatarMason2018-07-22
為何用 PostgreSQL?
Dinah avatarDinah2018-07-23
Candice avatarCandice2018-07-27
Lily avatarLily2018-07-28
postgreSql強大又免費啊,很多公司用啊
Sarah avatarSarah2018-07-29
MC沒有有些無知的人眼中那麼爛啦,打造自己的系統容易
打造一個給賣給別人打造系統的系統難多啦
原po這東西說起來拿錢就堆得出來啊,那些分析又沒啥新玩
Hazel avatarHazel2018-08-02
意,動不動就原始資料有多偉大,其實沒那回事啦,至於
程式的部份你花錢,滿街都是只會寫程師的工程師啦
Freda avatarFreda2018-08-07
反正又是一個愛證明自己很會寫程式/軟體的人啊......
Mason avatarMason2018-08-08
人家MC賺爽爽,你寫程式軟體寫爽爽,就這樣。
Zora avatarZora2018-08-13
期待你實單 成為讓期貨商後台注目的焦點
目前看起來就是一個pure工程師架設讓人崇拜的交易系統
Mary avatarMary2018-08-15
你分析程式的部分已經有不少人做過研究了
Eden avatarEden2018-08-19
等於你打掉全台期貨商的軟體自建一套看盤軟體
Andy avatarAndy2018-08-22
你說的看到市場單子怎麼掛上去的掛哪個價格大戶心態
等等之類的這幾十年來不曉得多少人想要研究出名堂
Irma avatarIrma2018-08-25
如果你單純是看五檔那就太慢了 想找到委託book
Mason avatarMason2018-08-30
你就會想往高頻程式去走 到最後你會發現 怎麼都在對幹
Tom avatarTom2018-09-03
只能說您程式功力一級棒 但是分析像你說的剛開始
我很想知道您的時間跟金錢怎麼來的 您學生嗎?
Edwina avatarEdwina2018-09-06
說說學生時代的例子某位高材生有個富老爸
書念得好人又帥又高又有女友 只要擔心念書研究
Una avatarUna2018-09-07
所以無後顧之憂把程式技能點到滿
Rachel avatarRachel2018-09-09
之後要做跨領域產業的程式開發都不是難事
John avatarJohn2018-09-11
看過很多工程師來市場重寫系統可能因為這是它們的專業
Elma avatarElma2018-09-15
就好像律師不修改一下契約的法條就沒辦法顯示他的專才
但是工程師很多寫到最後全部去賣軟體訊號系統
Selena avatarSelena2018-09-17
因為無風險不需承擔盈虧 建議去向期貨商兜售
你會發現怎麼比交易還好賺阿
Kama avatarKama2018-09-19
你知道真正贏家都是很黑的 2/6就是真的大贏家的作為
Jacky avatarJacky2018-09-22
大推!!曾經也有這樣的夢想要做一套自己的系統
Caroline avatarCaroline2018-09-22
有心投入研究給個推,不過很燒錢,建議拿去股版賣 XD
Catherine avatarCatherine2018-09-26
反正你不賣他們,他們也是拿錢去給一堆阿貓阿狗股神花
賺來的錢,繼續投入研究,這才是長久之計
Ula avatarUla2018-09-27
超猛推
John avatarJohn2018-09-30
白費功夫
Poppy avatarPoppy2018-09-30
有用心推一個 但說實話如果你不是機構者 使用這種系統積
Megan avatarMegan2018-10-02
效會比預期至少打個7折 這是散戶沒辦法的先天限制
Adele avatarAdele2018-10-06
不至於 20年後大概就可以媲美法人機構的績效了
Queena avatarQueena2018-10-10
期貨系統每隔一個世代系統就會變化 我是沒這麼樂觀 這
類系統建立起來長期維護跟微調變動參數及策略會很累人
沒有團隊很難做久
Ivy avatarIvy2018-10-15
Brianna avatarBrianna2018-10-17
我看到熱情,不管賺不賺錢,我都覺得值得
Kyle avatarKyle2018-10-21
光看就覺得好厲害
Gilbert avatarGilbert2018-10-26
說認真的,我認為這真的可以拿來賣錢,絕對有市場
Caitlin avatarCaitlin2018-10-27
而且比目前市面上一些操盤軟體強大許多
Ursula avatarUrsula2018-11-01
有介紹用什麼工具就給推