自建數據分析操盤系統 - 財經
By Dinah
at 2018-04-02T16:47
at 2018-04-02T16:47
Table of Contents
※ [本文轉錄自 Option 看板 #1QmUqh1N ]
作者: cory8249 (Cory) 看板: Option
標題: [心得] 自建數據分析操盤系統
時間: Mon Apr 2 16:43:21 2018
金融交易變化萬千,到底要怎麼長期穩定賺錢 ?
我想是每個操盤投資人都想解的問題
但真的有規律可尋嗎 ?
某某書寫說看 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 形式回傳註冊的商品即時成交明細
那如何蒐集 有系統化的保存這些資料 供接下來分析使用 ?
這時候勢必就把資料庫系統派上用場了
我是用 PostgrSQL 而不是 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
--
作者: cory8249 (Cory) 看板: Option
標題: [心得] 自建數據分析操盤系統
時間: Mon Apr 2 16:43:21 2018
金融交易變化萬千,到底要怎麼長期穩定賺錢 ?
我想是每個操盤投資人都想解的問題
但真的有規律可尋嗎 ?
某某書寫說看 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 形式回傳註冊的商品即時成交明細
那如何蒐集 有系統化的保存這些資料 供接下來分析使用 ?
這時候勢必就把資料庫系統派上用場了
我是用 PostgrSQL 而不是 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
--
Tags:
財經
All Comments
By William
at 2018-04-02T18:01
at 2018-04-02T18:01
By Tom
at 2018-04-02T19:15
at 2018-04-02T19:15
By Olive
at 2018-04-02T20:30
at 2018-04-02T20:30
By Kelly
at 2018-04-02T21:44
at 2018-04-02T21:44
By Regina
at 2018-04-02T22:59
at 2018-04-02T22:59
By Victoria
at 2018-04-03T00:13
at 2018-04-03T00:13
By Charlie
at 2018-04-03T01:28
at 2018-04-03T01:28
By Odelette
at 2018-04-03T02:42
at 2018-04-03T02:42
By Tristan Cohan
at 2018-04-03T03:57
at 2018-04-03T03:57
By Erin
at 2018-04-03T05:11
at 2018-04-03T05:11
By Suhail Hany
at 2018-04-03T06:26
at 2018-04-03T06:26
By Erin
at 2018-04-03T07:40
at 2018-04-03T07:40
By Iris
at 2018-04-03T08:55
at 2018-04-03T08:55
By Thomas
at 2018-04-03T10:09
at 2018-04-03T10:09
By Rebecca
at 2018-04-03T11:24
at 2018-04-03T11:24
By Wallis
at 2018-04-03T12:38
at 2018-04-03T12:38
By Callum
at 2018-04-03T13:53
at 2018-04-03T13:53
By Noah
at 2018-04-03T15:07
at 2018-04-03T15:07
By David
at 2018-04-03T16:22
at 2018-04-03T16:22
By Kama
at 2018-04-03T17:36
at 2018-04-03T17:36
By Odelette
at 2018-04-03T18:51
at 2018-04-03T18:51
By Agnes
at 2018-04-03T20:05
at 2018-04-03T20:05
By Megan
at 2018-04-03T21:20
at 2018-04-03T21:20
By Joseph
at 2018-04-03T22:34
at 2018-04-03T22:34
By Candice
at 2018-04-03T23:49
at 2018-04-03T23:49
By Caitlin
at 2018-04-04T01:03
at 2018-04-04T01:03
By Hazel
at 2018-04-04T02:18
at 2018-04-04T02:18
By Linda
at 2018-04-04T03:32
at 2018-04-04T03:32
By Eden
at 2018-04-04T04:47
at 2018-04-04T04:47
By Christine
at 2018-04-04T06:01
at 2018-04-04T06:01
By Doris
at 2018-04-04T07:16
at 2018-04-04T07:16
By Linda
at 2018-04-04T08:30
at 2018-04-04T08:30
Related Posts
4月愚人節閒聊
By Jacob
at 2018-04-02T12:53
at 2018-04-02T12:53
期貨交易人才訓練班-(政府補助)
By Kama
at 2018-03-30T13:26
at 2018-03-30T13:26
徵二手MC
By Kyle
at 2018-03-24T19:27
at 2018-03-24T19:27
TOZZI 權證投資實戰賽 第二季 開放報名
By Oliver
at 2018-03-23T10:41
at 2018-03-23T10:41
Algorithm/Quant Trading Developer
By Cara
at 2018-03-16T21:09
at 2018-03-16T21:09