看板 Stock 關於我們 聯絡資訊
希望藉這篇起頭文和量化交易同好交流,歡迎來信, 若有line或是Telegram群,或是論壇還請分享給我 部落格版本 https://wp.me/p6LfX3-ab (正文開始) 這是長榮套在202元努力寫程式脫魯的血淚文,話不 多說有圖有真相(哭) https://i.imgur.com/ywsbuDI.jpg
話說買股票這些年來,很神奇的每次追高就大跌殺低 就大漲,據說這就是魯蛇平均值,決心寫程式脫魯 上過金融研訓院的量化交易課,老師說好策略不用程 式也能賺錢,爛策略走程式賠更快,嚇死寶寶了 先說結論,經過數個不出門的周末,產出個簡單的網 站,先別笑很簡陋,這可是C語言工程師初次寫Python 網址在此 http://stock.tw-maker.net/ https://i.imgur.com/MoJ54mh.jpg
選擇Python語言實作,感謝(量化交易30天)和 (Python 入門到分析股市 30天),這兩個系列文超適合入門。 花很多時間測試免費資料源,發現twstock擷取臺灣證 交所雖然免費,但很容易查詢太密集被黑名單一整天 ,而且也不清楚具體限制,最後台股使用FinMind, 為了取得即時股價月繳149元。美股使用yfinance取得 Yahoo Finance資料。 試過的資料來源為下: —— Tiingo API 免費美股資料,而且有調整後歷史股價, 考慮除權息及 拆股,方便做回測。使用限制為每月可用500檔標的資 料、每小時500 次 requests、每日2000次requests、 每月5GB用量, Yahoo Finance (yfinance) 免費台股美股資料,而且有調整後歷史股價,使用限 制為每小時2000次requests FinMind 部分免費,非常棒的台股資料。有股價,基本面,籌 碼,新聞。可惜股價沒經過調整,有除權息表但好像 沒有拆股表。繳交月費140元才有即時股價。 公開資訊觀測站 (twstock) 免費台股資料,但盤中一半以上股價讀到’-‘而不 是數字。不能連續讀取不然會封鎖IP。沒有調整後歷 史股價。 永豐Python API 免費但需永豐證券帳號。本來開戶前充滿期待,但試過 後覺得反應很慢,常連線失敗,相當不穩定。 TEJAPI 月費488~8800元,有各種財金資料庫 ——- 除了基本資料外只有兩個指標,第一個是我唯一會 的布林通道,用來評估20交易日內,95%信任區間的 上下限,代表股價有95%機率落在此區間,超出即是 買賣點。 Pythona的matplotlib繪圖功能很強大,但要畫張漂亮 的圖也不簡單,花了不少時間調圖 https://i.imgur.com/8GzpKrr.jpg
第二個是Google Trend搜尋量指標,據說熱門股票搜尋 量大跌之後股價也會大跌,準確度還在驗證中。灰線是 每日資料,橘線是七日平均,因為周末搜尋量大減,週 平均才有代表性,八天九天都不行。 問題是Google Trend只能取得三日前資料,資料延遲 有點嚴重。若使用日指標雖然取得最新資料,但 0-100的權重每次query都不同,新舊資料不能比較, 沒法計算漲跌 https://i.imgur.com/B3fFPHR.jpg
第三個是最近很紅的處置股通知,再接上LINE機器人 就不需要處置王了!來源為證交所的上市處置股及上 櫃處置股,現在政府資料都給csv下載,一行直接丟 入dataframe處理超方便,為政府開放資料拍拍手 https://i.imgur.com/p6MpZgM.jpg
有了資料源後開始學習用Python寫網站,似乎Flask是 首選入門framework,和大學時代寫的php邏輯不同, 網址處理都是虛擬的覺得很特別,不像php網址都是真 實目錄結構 至於網頁前端…. 完全沒有前端,就是用dataframe輸 出表格加上漲跌顏色,身為C語言工程師已經有成就感 ^_^ 開了一台AWS EC2,設定crontab定時執行parser,將 結果寫入csv,再由flask讀取csv用dataframe顯示在 網頁,第一個網站服務就此上線,幹話講了這麼多年 終於開始進入量化分析的世界。不過免費的t2.micro 等級好慢啊,真不適合上線服務,還是說flask太沒效 率也有可能。 下一步準備實作九轉指標,做回測,想策略,將策略 實作到網站並加入LINE通知,使用AI模型LSTM分析。 台灣量化交易的資料不多,歡迎同好來信交流,一起 邁向脫魯王的道路! ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.159.182 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Stock/M.1627113597.A.03E.html
hakkacandy : 兄弟 我們是來交易賺錢 不是來寫程式的 07/24 16:03
HpHolidays : 滿厲害的 給推 07/24 16:03
hakkacandy : 可以站在這個角度 有些輪子不用自己做 07/24 16:04
stlinman : 推,分享。 07/24 16:05
MuziKAY : 感覺厲害 07/24 16:07
pttccbbs : 沒錯啊,要鑽研自己致富的方法,而不是寫程式啊 07/24 16:10
pttccbbs : 我在小虧一些小單後,有自己學到一些經驗,這才是 07/24 16:11
pttccbbs : 自己成長的動力啊,後來就賺大筆的,經驗可以傳承 07/24 16:11
pttccbbs : 的 07/24 16:11
ru8bj6 : 太複雜,純推不下 07/24 16:11
kyova : 雖然我也覺得要盡快進入重點。但可能原PO有自己的 07/24 16:11
kyova : 考量。畢竟有些別人弄的東西有時候無法掌握、修改 07/24 16:12
dogass83 : 想學,但文組的我覺得好複雜 07/24 16:13
sunbox : 少看財報多看線 07/24 16:14
kyova : 回測和模型會有很多奇奇怪怪的問題... 07/24 16:14
jimjim951357: 推 07/24 16:14
kyova : 不是一般的機器學習這麼簡單。最好有相當交易經驗, 07/24 16:14
kyova : 或厲害的交易者輔助、交流比較好... 07/24 16:15
erichha : 之前也想寫,不過後來發現看圖比較快07/24 16:15
user048288ef: 股市是人性的市場,人是善變的07/24 16:15
chuikov : 辛苦了,感謝分享07/24 16:16
peanutburger: 推推 07/24 16:16
qq251988 : 那個老師說的真的是精髓07/24 16:16
真的有幸上這位老師的課,一語打醒工程師 [1;31m→ kyova : 就算不弄自動化交易,其實量化篩選也很有幫助。 07/24 16:16
kyova : 航海王應該就是自營部出身,也會用量化篩選07/24 16:17
jack91303 : flask會沒效率嗎?07/24 16:17
kyova : 我覺得財報也很重要,但要有相當經驗去作分類和微調07/24 16:18
我的困難就是沒有財金知識,買書學看財報都覺得很無感,不太知道怎麼培養財金敏銳度,為量化公司part time打工有用嗎?
xylitol : +U 這是一條孤獨的路呢07/24 16:19
kyova : 有些可以提取額外資訊,可搭配技術籌碼。不過也是07/24 16:19
chinaeatshit: 我都當跟單仔 免費還能賺大錢07/24 16:19
kyova : 需要相關專業的人來指導、輔助比較好,都自己來會07/24 16:19
kyova : 作到死...07/24 16:19
justin5 : 你長榮再放段時間會賺的...不要看太短07/24 16:19
好… [1m推 dalbuhr : 請問原po是業界人士嗎?如果可以想了解相關工作機會 07/24 16:20 我是軟體工程師但不同領域,Python, AI model, flask都是新學的
ga023630 : 感謝分享 07/24 16:20
neobasara : 推一樓,寫程式和不寫程式兩種方法要同時開發,總之07/24 16:23
neobasara : 就基本面也要了解07/24 16:23
ts01049212 : 用人家做好的比自己刻快吧 07/24 16:31
st9061204 : 日盛的程式好像對程式交易者比較友善 07/24 16:31
joygo : 你在跟我做一樣的事情,不同的是我都在偷懶哈哈07/24 16:32
Yahweh : 用flask app架server 可考慮 mod_wsgi/apache 07/24 16:32
謝謝推薦!
joygo : 結果發現跟單比較快,就懶得寫,現在改成寫紀錄自己 07/24 16:33
joygo : 持股 07/24 16:33
herculus6502: 你的策略亮出來了照著操會有點危險,建議加點白噪音07/24 16:34
boombastick : 加油 到時候績效搭配程式販賣可以在撈一次 07/24 16:34
guanting886 : 放伺服器我只推薦放GCP 券商講ㄉ 07/24 16:35
有聽說GCP比較划算,之後試試
guanting886 : 不過我覺得學一學 看有沒有機會幫大戶打工 07/24 16:36
有大戶願意合作的話我很樂意,歡迎來信!
kevinken : 厲害07/24 16:37
disfish : 蠻厲害的。之前學了一陣子也想做。但最後還是半途 07/24 16:37
disfish : 放棄了 加油 07/24 16:37
guanting886 : 另外你可以去玩玩看XQ 不知道會不會給你有其他靈感 07/24 16:39
謝謝建議,我會去試用看看 [1m推 boa255451 : 推推 07/24 16:43
qa1122z : 推1樓07/24 16:45
lalelee : 情緒如何量化!07/24 16:49
情緒確實可以量化,這也是我用Python原因之一
elfish123 : 你那個老師說的是真的 策略才是key07/24 16:49
q123jack : 謝謝分享07/24 16:57
lover790222 : flask...有點不快耶 07/24 16:58
clubee : python的backtrader不錯玩 該有的都有了 可以驗證一07/24 16:58
clubee : 些自己的想法07/24 16:58
mepowerlmay : 是喔賺錢要分我嗎07/24 16:59
kkuume : 推你的研究精神 但自用的話輪子真的不用自己造07/24 16:59
wade00123 : 自己造很有趣R 學習到的技能還可以拿到工作上使用07/24 17:03
moonls : 有分享給推!07/24 17:21
jimmyid4 : 加油07/24 17:23
ppnow : 程式工具花錢就有人能做出來,但交易的邏輯,交易07/24 17:23
ppnow : 系統才是根本,應該窮盡一生找尋聖杯,再來談工具 07/24 17:23
typeking : 寫完大概該漲的都漲完了,加油07/24 17:26
jimmyid4 : 用ai比較有機會 07/24 17:28
jagger : 加油07/24 17:29
angell543 : 加油了 07/24 17:29
Chilloutt : Tiingo 蠻好用的,做波段還不賴07/24 17:32
charliedung : 覺得不錯 這個花一陣子的努力能輕鬆一輩子 說真的也07/24 17:32
charliedung : 值得投資 祝能找到聖杯07/24 17:32
謝謝大家回饋,做這系統前其實有試用過multichard,但範例都是期貨比較沒台股,而且沒跑成功覺得很生澀就沒繼續,可能再找永豐版本multichard和XQ再試看看。 會自己寫一方面覺得比較上手,畢竟自己是軟體工程師,藉著股票分析學python和AI模型很有趣,另方面如果走出和現有軟體不同的路,取得不同資料和模型,也許有新的賺錢機會?對未來工作可能也有幫助 或是仿效這位前輩,在2008年開始寫期貨分析,後來好像開始賣服務賺錢了,據說工程師賣程式比股票好賺! https://www.ptt.cc/bbs/Option/M.1522658603.A.057.html 這套系統計畫改成比較有擴充性來開源,歡迎各位自行加入自己的策略:-) ※ 編輯: canxx (223.137.159.182 臺灣), 07/24/2021 17:47:09
Benetnasch : 誰說 情緒 不能量化= = 07/24 17:41
Benetnasch : 只要有交易 就是量化,只是 怎麼收集資料 跟分析 07/24 17:41
Benetnasch : 而以07/24 17:41
lohas1019 : python 可以用django +sqlite取代flask 給您參考07/24 17:43
謝謝!
KOF98992000 : 有放在github上面的話 我也可以一起弄 現在空手有07/24 17:51
KOF98992000 : 點無聊07/24 17:51
好的準備好就開源
Stunish : 加油 框架建構好後 後續就以策略變化為主07/24 17:52
kevin000095 : 有認真寫程式和分享給推07/24 17:58
akane1234 : 雖然還看不懂但是有興趣,謝謝分享07/24 18:01
encoreg57985: 推認真07/24 18:05
abc65379 : 之前有寫過幾個爬蟲選股,也摸過幾個演算法,但回測07/24 18:08
abc65379 : 選股勝率的時候,其實會有幾個要克服的難點,變數篩 07/24 18:08
abc65379 : 選時其實如果遇到類股輪動的狀況,選股策略比較難完07/24 18:08
abc65379 : 整抓出波段,技術面參數比重太多也容易overfititng 07/24 18:08
abc65379 : ,假設用單一紀律策略選股進出場可能還好,但想用演 07/24 18:08
abc65379 : 算法抓關鍵K進場的勝率一般不太理想,所以實現自動07/24 18:08
abc65379 : 化交易可能比較難,不過你很棒了也謝謝分享這麼多給07/24 18:08
abc65379 : 大家07/24 18:08
aljohn0422 : t2micro系列的要集氣,cpu消耗超過一定量會扣點數, 07/24 18:09
aljohn0422 : 扣完就只剩下基礎運算能力07/24 18:09
aoc7175 : 猛喔07/24 18:23
lsmd : 很有趣吔,謝謝分享07/24 18:37
lin821 : 感謝分享07/24 18:58
lovelock110 : 推 07/24 19:22
slayptter : python api 我用很久了,沒問題啊 07/24 19:24
slayptter : 唯一的問題是上面的數據常常是錯的 07/24 19:24
slayptter : 我還上github跟他們工程師反應 07/24 19:25
slayptter : 結果他們自己都沒發現.... 07/24 19:26
slayptter : 盡量不要用券商版MC 07/24 19:27
slayptter : 最佳化會有問題 07/24 19:27
slayptter : 加油吧 07/24 19:29
slayptter : 每次看到這種文就會回憶起青春 07/24 19:29
slayptter : 相信未來你也會XDD 07/24 19:29
GoGoJoe : 多樣技能有何不好 搞不好還能收會員 07/24 19:30
slayptter : 股版很多也都靠這賺錢 07/24 19:32
slayptter : 期貨版更多,要找夥伴那邊容易很多 07/24 19:32
ljsnonocat2 : Trading版也可以去逛逛 07/24 19:35
Vere : 先跪再看 07/24 19:40
noreasonkon : 其實與其自己刻flask 不如直接用powerBI這種套裝軟 07/24 19:42
noreasonkon : 體做視覺化 會省很多時間 07/24 19:42
謝謝建議,研究看看PowerBI
noreasonkon : 把技能點在爬蟲 資料庫 還有回測的模組會進步的比 07/24 19:43
noreasonkon : 較快一點 07/24 19:43
coyoteY : 有trading版 07/24 19:44
Trybeer : 我都用feeling回測 07/24 19:46
noreasonkon : 另外 老師說的 一部分是正確的 市場上有些隱藏的邏 07/24 19:50
noreasonkon : 輯 不需要最佳化 純粹的大數統計就能有期望值07/24 19:50
noreasonkon : 有些寫程式的寫到走火入魔整天在調參數 一點用都沒07/24 19:51
noreasonkon : 有 倒不如一個懂市場的人 程式和回測只是增加信心07/24 19:51
所以說程式人多靠程式賺錢是這樣來,策略才是王道
noreasonkon : 或驗證想法的工具而已07/24 19:51
p31415926 : 概念對,參數不要太誇張應該都要賺錢07/24 19:58
p31415926 : 追求參數最佳化只會是那段時間的最佳 07/24 19:59
f496328mm : python 不少回測套件,金融視覺化套件07/24 20:08
f496328mm : 可以做策略,盤中觸價用 chatbot 發訊息07/24 20:08
這個很棒,可以分享套件名稱嗎
f496328mm : 用視覺化工具做個人看盤軟體07/24 20:08
f496328mm : 我是 FinMind 作者,最近在開發 dashboard07/24 20:20
f496328mm : https://tinyurl.com/y5e8n8mb07/24 20:22
竟然引出FinMind作者親自回覆,好榮幸啊 HaHaPoint : 高手 07/24 20:39
RedestXrain : 我記得之前有人寫過一篇很專業的07/24 20:45
RedestXrain : 可以回去爬文看看07/24 20:45
RedestXrain : 我有用過lstm做過相關的模型,可是結果很糟。國外有07/24 20:50
RedestXrain : 人有寫過相關的paper,就查machine learning stock07/24 20:50
RedestXrain : price就有很多相關的資料07/24 20:50
謝謝給關鍵字,不過爬文沒看到,可以提示一下標題嗎?
f496328mm : 看過蠻多文章講,其實 LSTM 做股票預測,會延遲 07/24 21:05
f496328mm : 現在大多都是往 ML 結合策略走07/24 21:05
f496328mm : 或是做一些當沖模型07/24 21:
大大可以分享相關資料或連結嗎?
bbsbug : 推推07/24 21:07
k825324 : 推! 07/24 21:29
※ 編輯: canxx (114.37.220.232 臺灣), 07/24/2021 21:35:53 ※ 編輯: canxx (114.37.220.232 臺灣), 07/24/2021 21:36:56
f496328mm : 之前待過券商,不能講太多 07/24 22:34
f496328mm : 只能說,很多做策略的都低調賺 07/24 22:35
f496328mm : 可以先以資料分析、策略為主 07/24 22:35
uouoiyiy : 推 07/24 22:35
f496328mm : 最後再試著搭配一些 ML 07/24 22:35
f496328mm : 舉個簡單例子,前陣子開放盤中零股 07/24 22:36
f496328mm : 零股、整股有價差,很多人就在做套利 07/24 22:37
f496328mm : 套利賺不多,但用程式做,可以做大量套利 07/24 22:39
f496328mm : 就很可觀 07/24 22:39
wargods8402 : 推…覺得股票資訊太少… 07/24 22:41
ccloudd : 量化交易 凌波微步大大 07/24 22:46
shinmin1226 : 很厲害 我朋友RD也在寫股票相關程式可以一起討論 07/24 23:24
WWIII : 哈哈 推分享 老師應該虧不少 07/25 00:09
ttmaniac : 猛猛的 07/25 01:33
lookluke : 感謝大大 剛被證交所鎖到崩潰就看到你的文章 07/25 01:43
RedestXrain : 2.html 07/25 01:54
RedestXrain : 這篇受益良多 07/25 01:54
wayne8848 : 推~我自己也有做類似的dashboard 07/25 02:01
wayne8848 : https://imgur.com/2K82USD 07/25 02:02
wayne8848 : 搭配新聞做NLP分析,但我沒做出什麼結果 07/25 02:02
sunshineduck: 如果單純是個人喜好喜歡用自己建的東西,那麼我倒是 07/25 03:44
sunshineduck: 覺得可以當作修身養性做這些事 07/25 03:44
sunshineduck: 可是如果最終目的是交易,那麼以你工程師的能力寫 07/25 03:45
sunshineduck: 個dll給其他交易軟體用Matlab, Python, R會更有效率 07/25 03:45
sunshineduck: 太多回測的細節是你可能自己寫程式會忽略的,這些 07/25 03:47
sunshineduck: 都是未來你賠錢的風險。沒必要 07/25 03:47
sunshineduck: 等你真的清理完資料,建好系統,驗證好策略行情都過 07/25 03:51
sunshineduck: 了。傻多B&H都賺到錢了,結果你才剛要開始 07/25 03:51
saedn : 好厲害 想學 07/25 04:20
likeyousmile: 群益python api不錯,文件寫蠻清楚又有範例檔。 07/25 04:31
※ 編輯: canxx (114.37.220.232 臺灣), 07/25/2021 04:58:51 ※ 編輯: canxx (114.37.220.232 臺灣), 07/25/2021 04:59:26
zero7022 : 讚 07/25 09:14
※ 編輯: canxx (114.37.220.232 臺灣), 07/25/2021 11:03:16
kagamine892 : 我以前搞半天發現比起b&h根本沒差多少就放棄了 加油 07/25 13:11
kagamine892 : 吧 07/25 13:11
kagamine892 : 啊不過你統計學重修 信賴區間那邊全錯 07/25 13:11
XD 沒辦法畢業都不知道多久了
genezhang : 感謝分享 我覺得tradeview不錯用 07/25 15:24
genezhang : 不過它回測的程式好像是Java script 07/25 15:24
genezhang : 不是python 07/25 15:24
jrbobo : 網站不錯啊 幫你加油 07/25 17:34
aaa1234136 : 有分享 有推 07/29 07:11
※ 編輯: canxx (114.37.174.172 臺灣), 08/14/2021 16:01:48 ※ 編輯: canxx (123.51.207.117 臺灣), 09/05/2021 13:26:26 ※ 編輯: canxx (123.51.207.117 臺灣), 09/05/2021 13:29:00
jack1218 : LSTM真的能預測股價嗎 04/16 03:52