用 Python 打造投資網站(1) – 開啟地圖

動機:

  1. 策略、圖表、資料、串接服務越來越多,你是不是有發現用Jupyter難以管理眾多的程式檔案、資料庫?
  2. 當我出門在外,身上沒電腦,如何用手機監控投資策略、查詢資料?
  3. 如何做自動化交易?
  4. 電腦規格不夠、跑機器學習、讀資料好慢,可不可以用雲端運算服務?
  5. 想讓朋友家人也能使用我的策略?
  6. 市面上看盤和選股網站介面不合個人需求,想自己打造
    …..

當你熟悉Finlab課程後,你會發現知識爆炸、神招好多,若有一個魔杖可把這些Python魔法整合起來,管理和發招上一定更方便,程式碼也較容易維護。
這時用打造客製化的投資網站可以解決我們的問題。

Python能打造網站嗎?

以守備範圍超廣的Python,當然可以打造網站,用Python建站有個其他語言的好處是可以把Python的強項,如爬蟲、統計、數據分析、機器學習也包進來。

只是大部分的新創企業拿Python來做後端服務居多,前端圖表雖然已有pyecharts、bokeh等函數庫可支援,但靈活性上還是有不足Java Script的部分。

後端框架有重量包Django可選擇、輕量武器有Flask以及新竄起的Fastapi。

Python寫網站難嗎?

Python是最容易上手的語言,而寫網站是把Python語言觀念集成的場域,物件導向要有一定掌握,你才能寫出易維護、流暢的程式碼。一開始會有點難度,但你若想精通Python,這是必經之路。
若能藉由學習打造網站的技能,讓投資效率、程式能力都能一同成長,一舉數得,不是很棒的事嗎?

如何開始大冒險?

沒有工程圖,不知整體架構,連前進的方向都沒有。
這點我幫你解決了。
以下是我寫的網站架構圖與技能樹,應能整合課程內容與眾服務,用Python打造投資生態系,有以下特點。

  1. 以Django為核心,MVC架構,控制商業模型、資料庫,自帶會員系統,方便將來擴展。
  2. 使用Fastapi撰寫Restful API,簡單高效,自帶Swagger API測試文檔。
  3. 串連finlab hahow課程裡的Jupyter策略,共用網站資料庫。
  4. 使用Django-Q的多進程服務做爬蟲排程管理,結合Django自帶的Admin UI,方便設定,串接Line Notify,得知爬蟲與策略執行狀況。
  5. AWS雲端部署與資料庫服務。
  6. 串接永豐金等券商的API做交易機器人。
  7. 可採前後端分離,前端改以React取代Django的弱點Template(看個人偏好而定)。

乍看開始有點複雜,要學的有點多,但若有熱情與動機整合投資與程式的結合,這絕對是令人興奮的開始,Python實在太萬能了!

萬事起頭難,之後會一步步來和大家分享探索的心得。

Aladdin

Python elf