Fw: [心得] 自建數據分析操盤系統

看板Trading作者 (Cory)時間6年前 (2018/04/02 16:47), 6年前編輯推噓18(19120)
留言40則, 23人參與, 5年前最新討論串1/1
※ [本文轉錄自 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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.34.162 ※ 文章網址: https://www.ptt.cc/bbs/Option/M.1522658603.A.057.html

04/02 16:45, 6年前 , 1F
先推不然別人會發現我看不懂
04/02 16:45, 1F

04/02 16:46, 6年前 , 2F
還好我看的懂, 技術上是還好 不過全部做完是個大坑
04/02 16:46, 2F
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: cory8249 (218.161.34.162), 04/02/2018 16:47:01

04/02 19:00, 6年前 , 3F
我韌體的我看不懂
04/02 19:00, 3F

04/02 20:07, 6年前 , 4F
原po太強大了,做成這樣真的很猛,我用R做,可是沒那麼
04/02 20:07, 4F

04/02 20:07, 6年前 , 5F
多功能
04/02 20:07, 5F

04/02 20:40, 6年前 , 6F
做這很累,加油
04/02 20:40, 6F

04/02 20:44, 6年前 , 7F
先給Cory大推一個
04/02 20:44, 7F

04/02 22:20, 6年前 , 8F
弄這些東西出來能賺錢嗎???我覺得是重點耶…(非吐潮)
04/02 22:20, 8F
賺不賺錢倒是還好 這套系統的價值 我自己知道 :)

04/02 23:43, 6年前 , 9F
所以你打造了一個看盤+下單+歷史數據系統,令人佩服
04/02 23:43, 9F
基本上是哦 目標是全功能操盤系統 以後可以不用開券商軟體了 XD ※ 編輯: cory8249 (218.161.34.162), 04/03/2018 00:54:15

04/03 09:43, 6年前 , 10F
感覺有點深奧
04/03 09:43, 10F

04/03 13:45, 6年前 , 11F
如果可以開發成類似像Quantopia的環境給大家開發台股
04/03 13:45, 11F

04/03 13:46, 6年前 , 12F
程式交易就好了.國內的MC又差又貴,與其浪費時間在台股
04/03 13:46, 12F

04/03 13:47, 6年前 , 13F
不如去國外一堆免費平台開發(基本上免費,進階要收費)
04/03 13:47, 13F

04/03 22:03, 6年前 , 14F
這些分析TS或MC都做得到,專心開發Algo Trade找到自己的ed
04/03 22:03, 14F

04/03 22:03, 6年前 , 15F
ge才是重中之重,除非你只是要賣股市分析軟體。寫algo時會
04/03 22:03, 15F

04/03 22:03, 6年前 , 16F
反過來思考要用那種分析才有edge?適合自己的risk管理?何
04/03 22:03, 16F

04/03 22:03, 6年前 , 17F
處加碼或停利停損?等這些都找到後你會發現這時的分析跟當
04/03 22:03, 17F

04/03 22:03, 6年前 , 18F
初想的已經很不一樣。
04/03 22:03, 18F

04/04 00:30, 6年前 , 19F
如果您的初衷是數據分析,旁觀來看似乎有些本末倒置了。
04/04 00:30, 19F

04/04 00:30, 6年前 , 20F
不管是要朝視覺化還是深度學習,花一個晚上把 raw data
04/04 00:30, 20F

04/04 00:30, 6年前 , 21F
準備好其實就可以開始了
04/04 00:30, 21F

04/08 23:09, 6年前 , 22F
寫這個真的很累...推一個,感覺真的可以賣給券商了...
04/08 23:09, 22F

04/08 23:10, 6年前 , 23F
現在看盤軟體真的很爛,跟過去比完全沒進步...
04/08 23:10, 23F

04/11 03:09, 6年前 , 24F
我也做了一套 結果…還是沒賺錢
04/11 03:09, 24F

04/13 08:48, 6年前 , 25F
為了要喝自己想喝的牛奶 養了一頭牛 辛苦你了
04/13 08:48, 25F

04/15 10:08, 6年前 , 26F
要不要順便開間公司 賣你的服務或軟體? XD
04/15 10:08, 26F

04/19 04:09, 6年前 , 27F
現成軟體限制很多,自己做系統有其價值,大大有考慮賣?
04/19 04:09, 27F

04/19 04:11, 6年前 , 28F
小弟也自己想寫演算法,但是進階一點的似乎都非得自己做
04/19 04:11, 28F

04/19 04:12, 6年前 , 29F
一套framework,現成的限制一大堆,要做複雜東西很有難度
04/19 04:12, 29F

04/19 11:51, 6年前 , 30F
卷商有提供 api 可以收 raw data 可以下 order 就夠了,
04/19 11:51, 30F

04/19 11:51, 6年前 , 31F
限制在哪裡?有心踏入演算法,用一些 data science 的 li
04/19 11:51, 31F

04/19 11:51, 6年前 , 32F
brary 從 raw data 去發展,何必用別人的框架?捨簡取繁
04/19 11:51, 32F

04/19 11:51, 6年前 , 33F
作繭自縛,不懂
04/19 11:51, 33F

04/21 08:50, 6年前 , 34F
這太強了,要推!
04/21 08:50, 34F

04/25 07:20, 6年前 , 35F
認真給推,我們交易室老大也是自己弄了一套
04/25 07:20, 35F

05/03 22:14, 6年前 , 36F
光看就覺得好厲害
05/03 22:14, 36F

05/13 10:13, 6年前 , 37F
太強
05/13 10:13, 37F

05/24 07:16, 6年前 , 38F
太強大了
05/24 07:16, 38F

06/17 17:47, 5年前 , 39F
我覺得你可以賣軟體了 板上應該很多人會買
06/17 17:47, 39F

07/11 21:43, 5年前 , 40F
問一下 不玩比特幣了嗎
07/11 21:43, 40F

07/17 08:00, 5年前 , 41F
你可以認真考慮找創業夥伴再拉金主 做成服務型產品
07/17 08:00, 41F

10/02 07:27, 5年前 , 42F
10/02 07:27, 42F
文章代碼(AID): #1QmUu682 (Trading)