用 Python + Excel 打造你的 LINE 股市即時情報員

Eugene Chang (張佑成)

September 18th 2024

# 用 Python + Excel 打造你的 LINE 股市即時情報員 --- # 上課資訊 - 周六日 10:00 AM ~ 16:30 PM - 一共 10 小時 --- # About Me 張佑成 (Eugene, 念起來像是 "有勁") - 美國加州大學電機工程學士 - 臺灣大學網媒所碩士 - kyosei.ai 共同創辦人 / CTO - 國泰金控教育訓練講師 - [台大資訊系統訓練班講師](https://train.csie.ntu.edu.tw/train/teacher.php?id=100)(授課時數超過 1500 小時) Email: yuyueugene84@gmail.com --- # FB 社團 本課程的教材、投影片、錄影等資訊都會公佈在FB社團內: 連結:https://www.facebook.com/groups/fuglepy --- # 錄影 爲了方便學員複習,本課程的内容都會錄影 --- # 我們在接下來這兩天的課要打造的專案 一個自動化的股市即時情報系統 ![](https://drive.google.com/uc?export=download&id=1clfTZxskdUIP0uJ3kcTbyR_kZmg8A-65) --- # Demo [![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/mzT3xKb4x1I/0.jpg)](https://www.youtube.com/watch?v=mzT3xKb4x1I) --- # 範例 Excel 檔案 [點我下載](https://drive.google.com/uc?export=download&id=1Kp07QfMOPoYfmwyY1R7fo1cReTpESuPx) --- # 這個系統會有兩個主要的模組 - 歷史資料記錄,截取與計算個股歷史資料,寫入不同的個股工作表 - 即時看板與監控程式,讀取當日交易資訊以及歷史資料,若符合交易策略,就發送 Line 訊息 --- # 要實作出如此複雜的系統 稍微有一點技術背景的人,馬上就會想到 ### 聊天機器人(Chatbot) --- # 聊天機器人(Chatbot) 能夠在 Line 上與使用者互動的程式 --- # 從技術的角度來看一下 Chatbot 任何一個系統,通常會需要以下三個模組: - 前端界面(負責與使用者互動) - 後端程式(負責商業邏輯) - 資料儲存媒介(負責儲存長期的資料) --- # 聊天機器人的壞處 需要掌握以下技術: - 掌握一門程式語言 - 需要懂得一個 datastore (mysql, mongodb, firebase, etc.) - 需要懂得一些網頁前端的技術開發界面(html, css, javascript + Line 的前端規範) - 需要懂得如何使用以及維護雲端伺服器(需要將 Chatbot 上架到雲端) *另外還需要註冊各家 App 的開發者賬號 --- # 倒不是這些技術不可以學 但是花下去的時間成本是否值得? --- # 對於只想把投資做好的你來説... 可不可以不要那麽複雜? --- # 身爲投資者 我們大部分的時間,應該花費在**投資與做決策,而非寫程式** --- # Occam's Razor (奧卡姆的剃刀) 如無必要,勿增實體 --- # 我們來用奧卡姆的剃刀簡化一下我們想打造的 Chatbot --- ## 需要懂得一些網頁前端的技術開發界面(html, css, javascript + Line 的前端規範) 若**只需要讓程式發送訊息**,Line 有個服務叫 Notify **只需具備 Line 帳號**,就可以讓你透過程式發送訊息 --- ## 需要懂得一個 datastore (mysql, mongodb, firebase, etc.) 現代職場上,幾乎每個人的電腦都有安裝 Excel 應用程式 Excel 本身就是一個簡單的資料庫,而且我們也能透過程式語言操作它 另外,它也是一個可以跟使用者互動的界面 --- ## 掌握一門程式語言 若要自動化投資策略,掌握一門程式語言是避免不了的事 但是,我們可以選一個**最簡單易學的程式語言** --- ## 可是一個語言好不好學是一件很主觀的事 --- # 我們可以從量化的角度來觀察一下程式語言 程式語言市占率排行榜: [Tiobe](https://www.tiobe.com/tiobe-index/) --- # 一個冷門的語言意味著 - 相關的資源/教學稀少 - 遇到錯誤時,很難 Debug --- # 一般我們在選擇程式語言時 越熱門的程式代表相關的資源/教學多 學習就越容易上手 --- # Python ![](https://drive.google.com/uc?export=download&id=1Nc2f_LkuQRk_hT2OFsCiFNDJhK2JWuW0) --- # 我的教學原則 ## 用最簡單易學的語言、 ## 搭配上最熟悉的工具、 ## 再用淺顯易懂的語法、 ## 快速打造出屬於自己的數據分析工具/系統。 --- # 希望大家能夠盡量動手實作 ![](https://drive.google.com/uc?export=download&id=1aNZmqZtBdFZfPqc9cmnc2OvxjRiekXKN) --- # 說穿了,就是... # 行勝於言 --- # 自動化的股市即時情報系統 --- # 這個系統會有兩個主要的模組 - 歷史資料記錄,截取與計算個股歷史資料,寫入不同的個股工作表 - 即時看板與監控程式,讀取當日交易資訊以及歷史資料,若符合交易策略,就發送 Line 訊息通知使用者下單 --- # 使用流程 - 在追蹤報表填入欲追蹤的股票代碼,以及交易策略 --- # 使用流程 - 先執行歷史資料記錄程式,若偵測到使用者在清單新增一個股票,就建立新的歷史資料工作表,產生該股票的第一筆歷史資料。若該股票的歷史資料工作表已經存在,就記錄當天的交易資訊 --- # 使用流程 - 接下來切換到追蹤報表 --- # 使用流程 - 填入股票代碼、簡稱、以及採用方式 ![](https://drive.google.com/uc?export=download&id=1-rR3E_qB9aFCMUBU6iskXi6hFiNBOPN7) --- # 使用流程 - 填入平均成本(倉位) --- # 使用流程 - 交易時間開始(上午9:00)讓即時看板與監控程式開始執行,發送 Line 訊息 ![](https://drive.google.com/uc?export=download&id=1wflMMXsSwlNIt5KsUAk3_eVyeZwpzfMz) --- # 使用流程 - 交易時間完畢(下午1:30)停止即時監測程式 --- # 使用流程 - 再執行一次歷史資料記錄程式,將當天的交易資料紀錄到相對應的歷史資料工作表内 ![](https://drive.google.com/uc?export=download&id=1Qo_4wj60kqPWzomlRD9B9kDcZx179P9U) --- # 最後... 爲了避免我們自己忘記執行程式截取資料,我們將學習如何能讓電腦定時自動執行我們寫好的程式 --- # 當大家離開時... 能夠學會: - 如何系統化的做投資 - 一套打造自動化系統的方法論

Thanks for Watching

Contact: yuyueugene84@gmail.com

Download PDF