Responsive image

第 14 期 Python 證券投資分析 & 股票聊天機器人入門共學營

web

目標對象

  1. 此為 Python 進階課程,前半段會快速複習 Python 重點語法和概念,適合具備基礎電腦操作能力和對於基本程式語言有初步概念但想要學習 LINE 聊天機器人和 Python 基本面、價值型投資、存股投資證券投資分析學習者
  2. 想要自動化繁瑣投資理財工作的投資大眾
  3. 買了一堆程式書和線上影音課程但覺得內容過多無法消化的學習者
  4. 上過許多坊間課程但覺得缺少練習老是學不會的學習者
  5. 時間預算有限又想進修學習程式設計應用的學習者
  6. 曾經或正在自學程式設計卻因為沒有導師和戰友可以交流討論,最後放棄的學習者
  7. 本共學營課程內容主要在 Python 投資網路爬蟲、聊天機器人程式設計及基本面、價值型證券投資分析,不適合想要學習技術面及程式交易的學員

預期收穫

  1. 建立基本 Python 證券投資分析與股票聊天機器人開發能力
  2. 學習財報網路爬蟲選股和擇時分析(股價便宜價、合理價和昂貴價估算)、Python 自動化操作 Excel CSV、Python SQL 關聯式資料庫操作、Python 資料分析與視覺化、Line 聊天機器人基礎、Google Spread Sheets 資料儲存等應用開發能力
  3. 累積 4 大專題作品實作經驗,建立 Python 資料分析與股票聊天機器人程式設計應用能力
  4. 學習如何撰寫個人技術文章,強化記憶並養成技術文章部落格寫作習慣
  5. 認識一群志同道合的戰友和同學,組成讀書會或共學團隊
  6. 透過導師解惑去除自學程式單打獨鬥的學習盲點
  7. 建立未來自學程式設計和跨領域自學能力並對未來自學程式設計方向更加了解

事前準備

  1. 本程式設計共學營屬進階應用課程建議具備基本電腦操作和上網能力(能閱讀中英文文件)和 Python 程式設計入門基礎或其他程式語言基礎為佳(若為完全初學者建議可先從另外一門 Python 程式設計入門共學營打好基礎)
  2. 請安排共學營期間一週至少有 6-12 小時(根據個人程度所需不同時間)可以撰寫作業任務和學習相關內容(共 8 + 4 週 24 堂,含 4 週期末專題)
  3. 本共學營採線上進行,準備一個可以上網的電腦,不限作業系統(課程主要將以 Windows/MacOS 講解,但會補充 Linux 操作方式)就可以隨時隨地學習
  4. 本共學營會使用 Python3 程式語言講解
  5. 請先註冊全球最大程式設計程式碼分享平台 Github 個人帳號

詳細內容介紹


目錄大綱

開營介紹
1 課程活動進行方式
2 作業任務提交方式
3 Markdown 語法入門教學
4 社群共學討論方式
5 課程活動獎勵方式
6 規劃你的學習計劃
7 總結
Python 基礎:程式概論、變數、敘述與物件型別
1 程式設計概論
2 開始寫程式前,先學習使用文字描述、流程圖
3 隨堂練習:判斷投票年紀
4 隨堂練習參考解答:判斷投票年紀
5 電腦基礎架構
6 為什麼選擇 Python?
7 隨堂練習:執行 Python 直譯器
8 隨堂練習參考解答:執行 Python 直譯器
9 Python 世界都是物件
10 隨堂練習:將字串物件轉成小寫
11 隨堂練習參考解答:將字串物件轉成小寫
12 將物件指派(assign)給變數
13 隨堂練習:使用變數
14 隨堂練習參考解答:使用變數
15 變數命名(naming)
16 隨堂練習:變數命名抓錯
17 隨堂練習參考解答:變數命名抓錯
18 Python 物件型別
19 隨堂練習:BMI 身高體重指數
20 隨堂練習參考解答:BMI 身高體重指數
21 敘述(statement)與運算式(expression)和運算子及運算元
22 隨堂練習:猜猜四則運算結果
23 隨堂練習參考解答:猜猜四則運算結果
24 總結
Python 基礎:使用者輸入輸出與字串物件操作
1 Python 使用者輸入輸出
2 隨堂練習:使用者的年齡
3 隨堂練習參考解答:使用者的年齡
4 認識字元與字串
5 隨堂練習:跳脫字元
6 隨堂練習參考解答:跳脫字元
7 字串概論
8 隨堂練習:使用字串索引 index
9 隨堂練習參考解答:使用字串索引 index
10 字串切片 slice
11 隨堂練習:使用字串切片 slice
12 隨堂練習參考解答:使用字串切片 slice
13 字串長度 len
14 隨堂練習:使用字串長度 len
15 隨堂練習參考解答:使用字串長度 len
16 使用 in 確認子字串是否存在字串
17 隨堂練習:使用 in 確認子字串是否存在字串
18 隨堂練習參考解答:使用 in 確認子字串是否存在字串
19 字串串接 concat
20 隨堂練習:使用字串串接 concat
21 隨堂練習參考解答:使用字串串接 concat
22 重複顯示字串
23 隨堂練習:使用重複字串
24 隨堂練習參考解答:使用重複字串
25 隨堂練習:計算使用者輸入字串長度的程式
26 隨堂練習參考解答:計算使用者輸入字串長度的程式
27 字串進階操作
28 隨堂練習:搜尋字串 find
29 隨堂練習參考解答:搜尋字串 find
30 取代字串 replace
31 隨堂練習:取代字串
32 隨堂練習參考解答:取代字串
33 計算子字串出現次數 count
34 字串格式化(formatting)
35 隨堂練習:字串格式化
36 隨堂練習參考解答:字串格式化
37 總結
Python 基礎:tuple、list、set 和 dict 物件
1 Python 容器物件基礎
2 可變物件(mutable)和不可變物件(immutable)的差異
3 隨堂練習:動手試試看可變物件(mutable)和不可變物件(immutable)的差異
4 隨堂練習參考解答:動手試試看可變物件(mutable)和不可變物件(immutable)的差異
5 什麼是 tuple 元組?
6 建立 tuple 物件範例
7 隨堂練習:建立 tuple
8 隨堂練習參考解答:建立 tuple
9 tuple 的基本操作:len():取得 tuple 長度
10 隨堂練習:取得 tuple 長度
11 隨堂練習參考解答:取得 tuple 長度
12 使用索引 [index] 取得 tuple 內部元素
13 隨堂練習:使用 tuple index 取值
14 隨堂練習參考解答:使用 tuple index 取值
15 tuple 的基本操作:使用切片 slicing [:]
16 隨堂練習:使用 slicing 取值
17 隨堂練習參考解答:使用 slicing 取值
18 tuple 的基本操作:tuple 的運算
19 隨堂練習:tuple 基本操作
20 隨堂練習參考解答:tuple 基本操作
21 什麼是 list 列表?
22 隨堂練習:建立 list
23 隨堂練習參考解答:建立 list
24 list 的基本操作:len() 取得 list 長度
25 隨堂練習:取得 list 長度
26 隨堂練習參考解答:取得 list 長度
27 list 的基本操作:使用索引 [index] 取得 list 內部元素
28 隨堂練習:使用 list 索引 [index]
29 隨堂練習參考解答:使用 list 索引 [index]
30 list 的基本操作:使用切片 slicing [:]
31 隨堂練習:使用 list slicing [:]
32 隨堂練習參考解答:使用 list slicing [:]
33 list 的基本操作:新增/刪除 list 元素
34 隨堂練習:新增刪除 list 元素
35 隨堂練習參考解答:新增刪除 list 元素
36 list 的基本操作:list 的運算
37 隨堂練習:list 的運算
38 隨堂練習參考解答:list 的運算
39 list 和 tuple 的差異
40 set 集合物件基本介紹
41 隨堂練習:建立 set 物件
42 隨堂練習參考解答:建立 set 物件
43 set 物件基本操作:新增元素
44 隨堂練習:新增 set 元素
45 隨堂練習參考解答:新增 set 元素
46 set 物件基本操作:移除元素
47 隨堂練習:移除元素
48 隨堂練習參考解答:移除元素
49 set 物件基本操作:判斷元素是否在集合內
50 隨堂練習:判斷元素是否在集合內
51 隨堂練習參考解答:判斷元素是否在集合內
52 dict 字典物件基本介紹
53 隨堂練習:建立 dict 物件
54 dict 物件基本操作:建立 dict 並透過 key 取值
55 隨堂練習:建立 dict 並透過 key 取值
56 隨堂練習參考解答:建立 dict 並透過 key 取值
57 dict 物件基本操作:新增修改 key/value 值
58 隨堂練習:新增修改 key/value 值
59 隨堂練習參考解答:新增修改 key/value 值
60 dict 物件基本操作:刪除 key/value 值
61 隨堂練習:刪除 key/value 值
62 隨堂練習參考解答:刪除 key/value 值
63 dict 物件基本操作:取得 dict 中所有 key/value
64 隨堂練習:取得 dict 中所有 key/value
65 總結
Python 基礎:條件判斷與迴圈
1 條件判斷與迴圈概論
2 if else 入門條件判斷
3 隨堂練習:if else 入門條件判斷
4 Python 邏輯運算
5 隨堂練習:Python 邏輯運算
6 串接多個條件判斷
7 隨堂練習:串接多個條件判斷
8 巢狀條件判斷
9 隨堂練習:巢狀條件判斷
10 if elif else 進階多重條件判斷
11 隨堂練習:偶數奇數判斷
12 for 迴圈
13 隨堂練習:迴圈數字累加器
14 迭代 list/dict 物件
15 隨堂練習:迭代 list 物件
16 隨堂練習:迭代 dict 物件
17 while 迴圈概論
18 隨堂練習:while 迴圈數字累加器
19 無窮迴圈
20 break / continue
21 隨堂練習:加強版迴圈數字累加器(continue)
22 隨堂練習:加強版迴圈數字累加器(break)
23 FAQ 常見問題
24 總結
Python 基礎:函式與類別基礎
1 認識函式
2 隨堂練習:使用內建函式
3 建立你的第一個函式
4 隨堂練習:建立你的第一個函式
5 文字字串說明(docstring)
6 隨堂練習:文字字串說明(docstring)
7 使用函式傳入參數
8 隨堂練習:使用函式傳入參數
9 函式回傳值
10 隨堂練習:函式回傳值
11 使用函式
12 隨堂練習:設計傳入字串可以回傳字串長度的函式
13 全域變數與區域變數
14 隨堂練習:全域變數與區域變數
15 Decorator 裝飾器 / @ 語法糖(進階內容)
16 隨堂練習:Decorator 裝飾器 / @ 語法糖
17 Object 物件基礎
18 設計自己的第一個類別 class
19 隨堂練習:定義物件屬性
20 產生物件
21 隨堂練習:產生物件
22 定義物件方法
23 隨堂練習:存取屬性與執行方法
24 總結
Python 開發環境設定與模組基礎
1 Python 開發環境建置
2 安裝 Anaconda
3 使用 IDLE
4 使用 Terminal & Command Line Prompt (CMD)
5 常用指令碼
6 Windows 和 MacOS/Linux 常見指令對照
7 使用 pip 管理第三方套件指令
8 使用 Jupyter Notebook
9 使用 Visual Studio Code
10 補充資料:使用 Spider IDE
11 認識 Python 套件/模組
12 隨堂練習:使用套件/模組
13 自定義套件/模組
14 隨堂練習:自定義模組
15 隨堂練習:自定義套件
16 Python 常用內建模組
17 隨堂測驗:猜數字遊戲改良版
18 Python 第三方套件使用
19 隨堂練習:第三方套件使用
20 環境設定常見問題
21 總結
Python 網路爬蟲概論與檔案操作
1 網路爬蟲概論
2 Web 網頁概念基礎基礎
3 HTML 語法入門
4 隨堂練習:HTML 語法
5 JSON 資料格式基礎
6 使用瀏覽器開發者工具觀察網頁
7 使用 requests 發出網路請求
8 隨堂練習:使用 requests 發出 GET 網路請求
9 使用 requests 送出 POST 請求
10 如何判斷網頁的資料是從伺服器 server 渲染出來的?
11 定位 HTML 網頁元素
12 CSS 外觀樣式與選擇器入門
13 隨堂練習:CSS 選擇器練習
14 CSS 選擇器基本種類
15 隨堂練習:基本選擇器自己動手練習
16 使用 Beautiful Soup 取出資料內容
17 隨堂練習:取出一筆財報資料
18 隨堂練習:取出多筆財報資料
19 檔案路徑概論
20 Python 檔案處理概論
21 Python 讀取檔案基礎
22 Python 寫入檔案基礎
23 Python 使用 with as 檔案操作
24 隨堂練習:with as 檔案操作
25 清理資料與資料格式化
26 儲存成 CSV 檔案
27 隨堂練習:網路爬蟲財報資料並寫入檔案中
28 網路爬蟲財報資料完整程式碼
29 網路爬蟲常見問題補充說明
30 網路爬蟲工具歸納
31 總結
Python 資料分析與視覺化基礎
1 Pandas 模組初體驗
2 Series 物件基本操作
3 Series 建立自定義 index
4 Series 使用 index 取值
5 隨堂練習:Series 基本操作
6 建立基本 DataFrame 物件
7 DataFrame 自定義 index
8 DataFrame 自定義 column 順序
9 顯示 DataFrame 基本資料
10 從 DataFrame 取值
11 DataFrame 過濾條件
12 隨堂練習:實際操作 DataFrame 物件
13 匯入/匯出 CSV 檔案
14 隨堂練習:匯入 CSV 檔案
15 Matplotlib 圖表繪製初體驗
16 Matplotlib 長條圖
17 隨堂練習:長條圖
18 Matplotlib 折線圖
19 隨堂練習:折線圖
20 Matplotlib 圓餅圖
21 隨堂練習:圓餅圖
22 隨堂練習:使用 Matplotlib 進行圖表繪製
23 整合 Pandas 和 Matplotlib 進行圖表繪製初體驗
24 股價走勢折線圖
25 Matplotlib 認識圖表專有名詞
26 Matplotlib 解決中文字體空白方法
27 隨堂練習:股價走勢折線圖
28 股票公司營收長條圖
29 隨堂練習:使用 Pandas 搭配 Matplotlib 進行圖表繪製
30 補充:在電腦上支援 Matplotlib 顯示中文字體
31 總結
Python SQL 關聯式資料庫操作基礎
1 環境設定
2 關聯式資料庫概要
3 SQL 基本概要和分類
4 CREATE 建立資料庫/資料表
5 DROP 刪除資料庫/資料表
6 ALTER 修改資料表結構
7 INSERT 插入資料
8 SELECT 查詢資料
9 UPDATE 更新資料
10 DELETE 刪除資料
11 隨堂練習:透過 SQL 語法新增股票資料
12 環境設定
13 使用 Python 操作 SQLite 資料庫
14 隨堂練習:創建資料表
15 新增資料
16 隨堂練習:新增資料
17 查詢資料
18 隨堂練習:查詢資料
19 更新資料
20 隨堂練習:更新資料
21 移除資料
22 隨堂練習:移除資料
23 參數化查詢(補充內容)
24 總結
上市櫃公司財報資料分析專案實作 I
1 上市櫃公司財報資料分析專案實作概論
2 建立選股模型
3 網路爬蟲抓取財務分析資料概論
4 股利分配
5 隨堂練習:股利分配
6 ROE 股東權益報酬率
7 隨堂練習:ROE 股東權益報酬率
8 每股自由現金流量
9 隨堂練習:每股自由現金流量
10 總結
上市櫃公司財報資料分析專案實作 II
1 股價區間資料分析
2 歷年股價估價法
3 隨堂練習:歷年股價估價法
4 本益比估價法
5 隨堂練習:本益比估價法
6 總結
Line 聊天機器人開發基礎 I
1 Line 聊天機器人開發概論
2 申請 LINE 官方開發者帳號
3 環境設定
4 建立 Python Flask Web Server
5 隨堂練習:Flask Web Server
6 使用 ngrok 建立可以讓外界使用的 https Server
7 Messaging API 初體驗
8 Python LINE SDK 使用 I
9 Python LINE SDK 使用 II
10 Python LINE SDK 使用 III
11 Line 聊天機器人本機電腦測試常見問題
12 總結
Line 聊天機器人開發基礎 II
1 Line 聊天機器人開發概論回顧
2 LINE Messaging API 回應元件概論 I
3 LINE Messaging API 回應元件概論 II
4 LINE Bot API 進階互動元件 I
5 LINE Bot API 進階互動元件 II
6 總結
Line 聊天機器人開發基礎 III
1 LINE 聊天機器人建立圖文選單
2 紀錄連續指令
3 整合成股票查詢 LINE Bot
4 更多 LINE API 功能
5 總結
Git & Github 基礎教學
1 Git & Github 初體驗
2 為什麼我們需要版本控制系統?
3 上傳檔案到 Github 上
4 常用專案合作指令
5 情境:不想加入的新檔案不小心加入暫存區?
6 情境:若不小心已經 commit 想要反悔?
7 情境:如何將開發新功能分支 branch 合併到主幹 master 分支(主要的程式版本)上?(進階內容)
8 總結
Web Server 專案部屬基礎
1 雲端伺服器(Cloud Server)概要
2 Heroku 雲端服務初體驗
3 建立 LINE Chatbot 聊天機器人程式
4 Heroku 後台設定環境變數參數
5 建立 Heroku 部屬相關檔案
6 錯誤訊息處理方式
7 部屬到 Heroku 雲端伺服器
8 設定 LINE Messaging API 的 Webhook URL
9 常見 Heroku 指令(補充說明)
10 總結
股票投資聊天機器人專案實作 I
1 股票投資聊天機器人專案實作概論
2 專案實作功能規劃
3 Python 定期執行程式
4 在 Heroku 端執行定期程式
5 部屬定期執行工作程式到 Heroku 上
6 整合網路爬蟲和定期執行程式
7 常見 Heroku 指令(補充內容)
8 總結
股票投資聊天機器人專案實作 II
1 股票投資聊天機器人專案實作概論
2 Google Sheets 試算表 API 概論
3 Google Sheets 專有名詞介紹
4 建立 Google Sheets API
5 申請 Service Account 服務帳號
6 安裝串接 Google API 套件
7 直接讀取金鑰檔案
8 使用環境變數讀取金鑰資訊
9 整合 Google Sheets API 實作 I
10 整合 Google Sheets API 實作 II
11 Google Sheets API 讀取資料
12 整合預警推送通知
13 整合建立判斷預警系統
14 完整程式碼
15 總結
基金投資聊天機器人專案實作 I
1 共同基金基礎概論
2 共同基金績效篩選法則
3 網路爬蟲共同基金績效實作
4 篩選【台灣中小型股票】基金績效 I
5 篩選【台灣中小型股票】基金績效 II
6 篩選【台灣中小型股票】基金績效 III
7 專案完整程式碼
8 總結
基金投資聊天機器人專案實作 II
1 基金投資聊天機器人專案實作規劃
2 聊天機器人專案設定
3 整合基金列表查詢功能
4 基金績效篩選查詢功能整合 I
5 基金績效篩選查詢功能整合 II
6 專案完整程式碼和測試
7 部屬專案
8 總結
外幣管理聊天機器人專案實作 I
1 外幣管理聊天機器人專案主要功能
2 認識外幣匯率
3 現金匯率和即期匯率
4 使用 twder 匯率查詢套件
5 隨堂練習:使用 twder 匯率套件
6 建立聊天機器人專案
7 建立查詢所有幣別匯率功能
8 整合聊天機器人查詢所有幣別匯率功能
9 執行完整程式碼
10 專案完整範例程式碼
11 部屬到 Heroku App I
12 部屬到 Heroku App II
13 總結
外幣管理聊天機器人專案實作 II
1 外幣管理聊天機器人專案主要功能規劃
2 設定 Google Sheets 試算表 API
3 安裝開發套件
4 設定環境變數
5 測試金鑰
6 Google Sheets 試算表設定
7 整合聊天機器人輸入
8 建立計算函式
9 查詢計算損益
10 整合聊天機器人輸入
11 建立計算損益函式
12 整合外幣管理聊天機器人專案
13 總結
期末專題與課程回顧
1 前言回顧
2 課程整合與回顧
3 期末專題規劃
4 未來學習地圖
5 總結

講師介紹


happycoder | 營運團隊 @ HappyCoder 自學程式設計學院

我們希望透過自學程式設計的方式培養學員擁有:學習跨領域知識的自學能力、數位工作力、運算思維以及解決問題的能力。讓學員在面對未來科技快速變遷和競爭激烈的職場環境中擁有更好的適應能力,成為更好的自己!




FAQ 常見問題

  1. 課程購買後即可於平台存續期間不限次數重複觀看使用
  2. 本課程開放問答與社群討論功能,歡迎使用與講師和創作者交流討論
  3. 支持更多優質內容,請尊重創作者智慧財產權