[問題] 我這樣架構方向正確嗎? (新手)

作者: ccu516   2019-05-30 23:28:05
我過去比較用C寫韌體, python不太有摸過
最近想要用python寫自動程式交易
目前的架構如下
首先我是要用家裡的QNAP NAS 架Server
1. 在NAS上跑python 來串接交易平台的 RESTful API 抓取及時價格
2. 將抓到的價格存入MongoDB中供後續分析使用
3. 定時從DB撈資料, 並透過自己寫的分析條件trigger買賣(串交易平台API)
4. 透過LINEBOT Developer帳號將價格變動/買賣觸發 等資訊Push至自己的Line群組
5. (Optional)架一個網站可以調整簡單下單或看分析出來的資訊
有幾個問題想請教大大們:
1. 我這樣的架構有沒有甚麼問題? QNAP上有沒有更方便的APP可以將上面的應用串起來?
2. 之前只寫過single task的程式, 想知道在自己架的Server上跑那麼多程序,
實際上是怎麼work的?
3. 目前還在初期研究階段, 有沒有大大能給些關鍵字Hint每一個步驟會用到的工具套件
最後最後, 由於自己是上班族, 覺得自己花時間研究不如找個已經會的人帶我入門比較快
如果有大大願意當個家教帶我入門 我們可以談一下教學費
感謝!
作者: zo6596001 (超帥肥宅)   2019-05-30 23:52:00
除了第5點,其他應該用 multithreading 或multiprocessing 就可以跑在同一個程式裡了其他就 requests, MySQLdb, line-bot-sdk-pythonrequests 可以拿來收http封包的資料MySQLdb 顧名思義,可以拿來操控MySQL資料庫MongoDB 可能要自己想辦法解決,我沒用過line-bot-sdk-python 剛剛查的,我也沒用過https://i.imgur.com/KbGSZiY.png
作者: jiyu520 (不要鯽魚我)   2019-05-31 00:15:00
trigger買賣的部分, 你要接的應該是live的price-stream回測用db的資料, 真正要交易的時候接即時的去做因為看交易的標的不同, 不同券商可能有不同滑價、價差
作者: froce (froce)   2019-05-31 15:27:00
用台虛擬機或是用docker去隔離環境吧,NAS很多套件都魔改過,到時候你要弄些特別的設定不容易。
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2019-06-01 00:25:00
不弄台虛擬主機嗎 一個月幾百塊 省掉電費 搞環境的麻煩
作者: ccu516   2019-06-01 01:39:00
大大有推薦的虛擬機器平台嗎?
作者: adrianshum (Alien)   2019-06-01 19:02:00
先不管用到的技術,這系統有先天上的設計缺陷。你抓及時價格,只能取得當刻的價格,與上次抓取之間的價格變動其實是失去了。對於一個處理「觸發價格」的功能而言是莫大的問題。比如你五秒抓一次價格,而該股票在該五秒間成交了十元,十一元,又再十元。你抓及時報價只會看到兩次都是十元,這樣是觸發不到某用戶設定了的十一元條件的。
作者: jiyu520 (不要鯽魚我)   2019-06-01 19:07:00
樓上提出的,可以看策略怎麼去寫。券商價格有時段內的OHLC,當然timeframe越小甚至往高頻走,這問題就會更明顯通常掛單在券商那、會有不同的單(order)種類和條件來觸發進出場,但也要看券商API是否有對應功能

Links booklink

Contact Us: admin [ a t ] ucptt.com