機器學習預測股價趨勢,修煉數據分析與投資能力的最強專案

更新於 2024/10/22閱讀時間約 9 分鐘

原始文章


上周雙十連假,我因為碩班期末考與颱風來襲的關係,所以沒有安排戶外活動,但也剛好有一些空閒時間,可以把我的個人專案佈署到Google Cloud Platform。
我之前寫過一篇文章〈身為資料科學家,為什麼你需要經營自己的作品集網站〉,分享我認為Side Project對資料科學家來說為什麼重要。在我的Side Project中,規模最大的一項是用Python與機器學習模型做股價分析與預測。這個專案在2020年底開始蘊釀,從前期規劃到多次技術試錯,終於在今年六月,也就是COVID-19最嚴重的時候正式上線實戰,並啟動後續的PDCA循環。這個專案讓我在專業能力上有大幅度的成長,把專業能力與投資能力綑綁在一起,是我近期做過最聰明的人生決策之一,因此特別記錄下來與大家分享。

一、能變現的Side Project可以走更遠

Side Project帶來的成就感很重要,經驗與專業能力提升很重要,但如果能加上一些額外的附加價值,這個專案可以走更遠,像是錢。Side Project要能變現,常見的方式是提供免費的網路工具吸引流量,再刊登廣告或是業配合作獲取利潤,但要實際走到這一步,不免需要分散心力在資料科學以外的領域,像是經營網站與社群媒體。我之所以大膽的把股價預測稱之為「最強」,因為這本身就是一個可以變現的專案,並且可以同時累積數據分析及投資操作經驗,在投資與程式設計同時躍升為顯學的時代,把這兩條學習路徑融合在一起,似乎自然而然,也合情合理。當然,這條路的學習成本非常高,但翻山越嶺之後的美景也同樣讓人心神嚮往。
股價預測這個專案有一些不得提的特性。首先,以數據預測的角度來看,越近期的預測結果應該越準確,像是同時預測明天與七天後的產品銷售量,前者的準確率理論上較高。應用在股票投資上,這會導致偏短線的操作風格。
其次,數據與金融市場的互動會衍生出一個悖論:數據分析對於越近期的預測結果會越準確,但是在投資市場中,如果把時間維度縮得太小,容易被短期震盪所干擾,進而影響長期的趨勢判斷。兩者看起來相互抵觸,我對於這樣詭譎的特性也暫無定見,不確定應該作出什麼樣的調整,或是當成哲學性的觀點思考即可,無所作為才是正解,這實際上也不影響專案的規劃與進行。
在工作上,開始執行每一個數據分析專案前,我們都習慣不停的問自己,「這個專案最後的Action是什麼」。在多數情況下,不能產生Action的專案等於是一個沒有價值的專案。但是在股市分析的專案中,可行動、可優化、可獲利,我想不到其他更適合資料科學家練功的專案了。

二、練習像老闆一樣分配資源

我認為老闆和員工最大的差異,是老闆有權調度最大量的資源,包括人力資源、財務資源、硬體資源等。當Side Project有獲利潛能時,我們就能試著切換到老闆的視角,評估是否加碼投資,應該如何分配投資項目,甚至進一步進行風險評估與ROI計算。我相信這在策略性思考,以及全局觀的訓練上都有非常大的幫助。
在股價預測這個專案上,我進行的投資項目有兩個,訂閱經濟新報(TEJ)的資料庫,以及使用Google Cloud Platform。

TEJ資料庫

學會Leverage專業的合作夥伴,是我近期在工作上最有感觸的成長之一。網路上雖然有許多免費的資料,但大部份資料都需要手動收集,或是透過網路爬蟲收集,這兩者都必須投入相當高的時間成本。網路爬蟲看似方便,但我認為這依舊是一個高勞力密集的工作,因為網站的結構可能會修改,爬蟲可能會被伺服器阻擋,光是處理這些不定期的大小事故就非常費心費神,而這才只是專案的第一步。時間的投入是所有資源中的重中之重,直接購買別人收集好的資料才是一勞永逸的方法。
另外,有一些開放資料是以網頁或PDF格式釋出,像是財報資料,如果要自己研究將怎麼網頁上的表格整理成可分析的資料,這會是一條漫長且絕望的道路。真的,我試過。

Google Cloud Platform

我的電腦是Mac Pro,平常操作的溫度大約在65℃左右,下圖是我在跑運算時的電腦溫度,當時的CPU使用率100%,溫度接近驚人的100℃。電腦過熱可能會讓主機板燒掉,也容易導致電池膨脹,不管哪一項聽起來都很危險,都不是我們所樂見的情況,但這確實是個人修煉路上必經的阻礙。
使用付費的雲端平台有另外一個副加效果,我們會對自己的程式設計品質與效能更加要求,因為這類型平台通常是以流量或運算時間計費,計算時間越久,費用也就越高。在工作上,當時間不充裕時,通常不會頻繁針對效能進行優化,如果一段程式需要跑八個小時,那就前一天先把檔案丟下去跑唄。但是當時間就是金錢,而且是自己口袋的金錢時,再怎麼想破頭也會想出新的優化方法。
大數據分析需要硬體資源,需要運算能量,一般人用家用電腦根本玩不起,就算使用散熱良好的桌上型電腦,沒有過熱燒掉的風險,運算時間也可能會一路到海枯石爛,尤其對於深度學習這類型的新技術,那更是連想都不用想。幸好,現在GCP、AWS、Azure等雲端平台非常方便,功能非常完整,並且完全是一般人可以負擔得起的價格,幾乎可說是運算能量平民化。以電腦的CPU來說,目前市面上常見的規格是4-8核心,但是在雲端平台上,我們可以直接使用32核心的機器作運算,而且通常是以使用量計算。依照我目前的使用狀況,每個月的費用在3000元以內可以搞定,但如果Side Project沒辦法獲利,這3000元只會是全然的支出,刷卡前總不免猶豫再三。

其他服務

如果你想將網路輿情資料作為預測模型的材料,有許多公司都提供了這樣的爬蟲服務,如OctoparseParsehub。一樣只需要付費,就可以藉助專業的合作夥伴搜尋資料,並將資料打包下載回自己的資料庫,我們就可以更專注在更有價值的項目上,像是輿情分析、情緒分析及自然語言處理(NLP)。但自然語言本身也是一門深不見底的學問,尤其中文的斷句比起英文更為複雜,如果你不想一頭栽進這個無底深淵,那不妨再次藉助專業的合作夥伴,像是GoogleAWS都提供了自然語言分析的服務,只需要幾行程式碼就可以快速納入專案。然而,以上提及的這些都是付費服務,這再次回到了這篇文章的核心概念,可以變現的Side Project才能走更遠,也更有機會讓自己接觸到更多元的分析領域。
至於將網路輿論作為投資依據是否合理,這就超過本文討論的重點了,只能說這件事在技術上完全可行。

三、拓展軟體開發相關技能

在工作上,由於組織分工的關係,數據分析師、資料科學家、資料工程師等職位通常是各司其職,但偶爾也會有一些見樹不見林的遺憾。但是當Side Project的規模大到一定程度後,許多新的挑戰會接踵而來,像是需要管理雲端平台,需要決定要用什麼規格的機器,需要搞定資料庫與連線等問題,甚至可以依照自己的喜好開發Dashboard,或是LINE與Telegram的警示機器人。這些任務在狹義的定義上可能早就超出了資料科學家的防守範圍,但對於一個希望見樹又見林的資料科學家來說,我再次想不到其他更適合資料科學家練功的專案了。

結論

有些人認為股市是由人所組成,人類行為不可預測,所以股市也不可預測,因此對於用程式作股價預測的流派感到不以為然。我認為雙方主要的認知差異在於,所謂的預測不是聖杯,不是預測漲5%就是不多不少5%,預測有誤差是常態,完全誤判的情況也常常發生,就像大家每天在看天氣預報,也不會苛求最高溫與最低溫必須完全精準,這不合理,也不切實際。因此,如何以預測結果為基礎,在可能的誤差範圍內找到最適合的進出場時機,這是在技術面以外,第一個我們需要面對的命題。
當某些重大、突發、難以量化的金融事件或黑天鵝事件發生時,人腦的判斷很可能會比電腦還要準確,像是COVID-19疫情最嚴重的時候,美股在10天內經歷了4次熔斷,我們完全可以預期模型會失效,這種情況確實更適合讓人為意志凌駕於模型之上,但這個案例已經屬於極端事件,在其他較小規模的事件發生時,是否仍該繼續相信模型的預測結果,這是第二個我們需要面對的命題。
雖然預測模型不是永遠管用,然而,在一般狀況下,只要模型的預測結果比人為預測還要精準,或是可以大幅減少人工研讀資料的時間,它就不失為一個可用的方法。撇開機器人交易的情況不談,數據分析終究只要輔助,最後做決策的還是人,人機協同才是AI時代的的正解。我認為最健康的心態,應該是把預測模型當成一位能力強大、不時出包,且溝通能力不好的同事,如何與這位同事共事需要一些經驗的累積。即使這位同事的工作表現良好,也可能因為個人操作經驗不足而虧損,這部份之後有機會可以再分享。
最後的最後,我私心想推薦一下經濟新報TEJ的資料庫服務。這不是業配,TEJ似乎也還沒有開發推薦碼的功能,所以這一段是出自內心的使用者推薦。國外有不少公司以美股或虛擬貨幣的資料庫作為產品販售,但台股的市場規模畢竟遠低於美股,一百個人當中,需要這類型服務的可能連一個都沒有,在這個小型且小眾的市場中生存確實不容易。我希望能將這個好服務推薦給大家,也希望TEJ能夠長久經營,讓我不用每天檢查爬蟲們是否健健康康。
經濟新報TEJ E Shop
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
網路上可以找到許多關於寫作的書或課程,說明為什麼寫作可以培養表達能力與邏輯思考能力,以及培養寫作能力的具體方法。然而,許多人更關心的是,如果我們想以寫作當成事業,是不是可行,需要具備哪些知識,有沒有技術門檻,可能需要多少成本,以及有哪些潛在的收入來源。
Fugle富果是一間FinTech新創公司,透過大數據搜尋和機器學習推薦技術,協助投資人可以更快速精確的做出決策,並且與玉山證券合作,推出玉山證券富果帳戶。
在職場上,每個人或多或少都有機會擔任會議召集人的角色,可能你上司是專案負責人,他將邀請的會議事務指派給你,或是你本身就是會議召集人。對於工作經驗不多的菜鳥而言,當必須聯繫、召集一群職位比自己高,或是比自己資深的前輩參與會議,或多或少會有點壓力,光是寄封Email可能就要猶豫再三。這篇文章就是要針對這
無論是投資或是資料科學專案,經常需要股市資料作分析。證交所在政府資料開放平台中提供了個股日成交資訊,也可以透過API查詢歷史記錄,但很容易因為頻繁抓取資料而被暫時的鎖IP,之後會再寫另外一篇文章說明。
對資料科學家或數據分析師來說,資料量太大、電腦效能不足一直都是個痛,經常要小心翼翼地觀察記憶體使用率是不是快爆炸。然而,就我的觀察,一樣都是撰寫程式,資料科學工作者對於程式碼乾淨、易懂、高效率的追求似乎比其他工程師來得低。(或是我的樣本數不足,以偏概全)
雖然數據分析師是新職位,但數據分析或是資料分析的概念一點都不新。公司裡面行之有年的職位,不管是行銷、業務、採購、倉管,每個職位都需要數據,也都需要分析。隨著大數據、資料科學、機器學習、AI等酷炫的新名詞、新技術與新應用出現,所需的知識與技能多到員工爆肝也學不完。
網路上可以找到許多關於寫作的書或課程,說明為什麼寫作可以培養表達能力與邏輯思考能力,以及培養寫作能力的具體方法。然而,許多人更關心的是,如果我們想以寫作當成事業,是不是可行,需要具備哪些知識,有沒有技術門檻,可能需要多少成本,以及有哪些潛在的收入來源。
Fugle富果是一間FinTech新創公司,透過大數據搜尋和機器學習推薦技術,協助投資人可以更快速精確的做出決策,並且與玉山證券合作,推出玉山證券富果帳戶。
在職場上,每個人或多或少都有機會擔任會議召集人的角色,可能你上司是專案負責人,他將邀請的會議事務指派給你,或是你本身就是會議召集人。對於工作經驗不多的菜鳥而言,當必須聯繫、召集一群職位比自己高,或是比自己資深的前輩參與會議,或多或少會有點壓力,光是寄封Email可能就要猶豫再三。這篇文章就是要針對這
無論是投資或是資料科學專案,經常需要股市資料作分析。證交所在政府資料開放平台中提供了個股日成交資訊,也可以透過API查詢歷史記錄,但很容易因為頻繁抓取資料而被暫時的鎖IP,之後會再寫另外一篇文章說明。
對資料科學家或數據分析師來說,資料量太大、電腦效能不足一直都是個痛,經常要小心翼翼地觀察記憶體使用率是不是快爆炸。然而,就我的觀察,一樣都是撰寫程式,資料科學工作者對於程式碼乾淨、易懂、高效率的追求似乎比其他工程師來得低。(或是我的樣本數不足,以偏概全)
雖然數據分析師是新職位,但數據分析或是資料分析的概念一點都不新。公司裡面行之有年的職位,不管是行銷、業務、採購、倉管,每個職位都需要數據,也都需要分析。隨著大數據、資料科學、機器學習、AI等酷炫的新名詞、新技術與新應用出現,所需的知識與技能多到員工爆肝也學不完。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
人工智能(AI)和機器學習(ML)正在改變我們生活的方方面面,從購物推薦到醫療診斷,再到犯罪預測。我們常常認為這些技術工具是客觀公正的,能夠幫助我們擺脫人類的偏見和主觀判斷。然而,事實並非如此簡單。 讓我們從一個著名的案例說起。2018年,亞馬遜公司被爆出其招聘AI系統存在性別歧視。這個系統被
Thumbnail
*本文章為參考李弘毅2021年機器學習課程後的筆記。 在訓練模型的時候,常常會遇到訓練上的問題,像是Loss值太大,或是Test出來的結果不如預期,但我們又不知道模型中到底發生了甚麼事,就跟黑盒子一樣。 因此,感謝李弘毅教授傳授了一套SOP來幫助我們判斷模型是哪裡出了問題,應該要怎麼解決!!
Thumbnail
🍀🍀🍀fumi老師:❤️❤️❤️ 🥰🥰🥰看著學生療瘉報告紀錄,深深地感受到原生家庭對每個人影響之深遠,靈氣療癒的深度再次的讓Fumi老師折服,很感動學生詳細的紀錄,在學習靈氣療癒後真正的落實在生活之中,更體會到將所學融入生活的重要性。 💞💞💞身邊的人,無論是親人、朋友、以及所有
機器學習領域的專業人士可以從這篇文章中獲得寶貴的見解。 追求更大的數據集和更強大的模型一直是提升性能的核心策略。 以下是我在機器學習領域工作7年後的三個重大體悟。 ▋體悟1 - 大數據的重要性 自2009年ImageNet問世以來, 數據集的規模和質量對機器學習的影響越
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
Thumbnail
本文會利用sklearn引入breast_cancer datasets來訓練,在處理數據的部份,特徵工程用兩種方式去做處理,分別是特徵選取與特徵萃取的方式去做比較。 特徵選取的方法中,使用了KNN 分類器來選出最重要的兩個特徵 特徵萃取的方法中,使用了PCA降維
Thumbnail
前言 上一篇討論到如何訓練出模型,此篇將說明Streamlit建立的簡單Web應用程式的解說 Streamlit網頁App_貓狗辨識 連結 程式碼Github連結 [機器學習]CNN學習MNIST 手寫英文字母資料,用網頁展現成果_模型訓練篇 如何連動github與stramlit可以參考
Thumbnail
🍀🍀🍀fumi老師:❤️❤️❤️ 🥰🥰🥰在閱讀學生🧑‍🎓在靈氣療癒讀取的靈氣的祝福——每一步的踏出都是智慧經驗的累積,而這過程中所經歷的掙扎與挑戰也成為了美好的回憶。所走過的道路充滿了各種風味,有喜悅、痛苦、成長和領悟,這些經歷都在塑造我們的人生。 💗💗💗當轉向內在,發現自
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
人工智能(AI)和機器學習(ML)正在改變我們生活的方方面面,從購物推薦到醫療診斷,再到犯罪預測。我們常常認為這些技術工具是客觀公正的,能夠幫助我們擺脫人類的偏見和主觀判斷。然而,事實並非如此簡單。 讓我們從一個著名的案例說起。2018年,亞馬遜公司被爆出其招聘AI系統存在性別歧視。這個系統被
Thumbnail
*本文章為參考李弘毅2021年機器學習課程後的筆記。 在訓練模型的時候,常常會遇到訓練上的問題,像是Loss值太大,或是Test出來的結果不如預期,但我們又不知道模型中到底發生了甚麼事,就跟黑盒子一樣。 因此,感謝李弘毅教授傳授了一套SOP來幫助我們判斷模型是哪裡出了問題,應該要怎麼解決!!
Thumbnail
🍀🍀🍀fumi老師:❤️❤️❤️ 🥰🥰🥰看著學生療瘉報告紀錄,深深地感受到原生家庭對每個人影響之深遠,靈氣療癒的深度再次的讓Fumi老師折服,很感動學生詳細的紀錄,在學習靈氣療癒後真正的落實在生活之中,更體會到將所學融入生活的重要性。 💞💞💞身邊的人,無論是親人、朋友、以及所有
機器學習領域的專業人士可以從這篇文章中獲得寶貴的見解。 追求更大的數據集和更強大的模型一直是提升性能的核心策略。 以下是我在機器學習領域工作7年後的三個重大體悟。 ▋體悟1 - 大數據的重要性 自2009年ImageNet問世以來, 數據集的規模和質量對機器學習的影響越
Thumbnail
感知器是一種基本的神經網路模型,用於二分類問題。它模擬了人腦神經元的工作原理,通過調整權重和偏差值來達到預測和分類的目的。 感知器流程 輸入 資料的輸入: 輸入層接受資料的輸入,每個輸入對應一個特徵,還有一個固定的偏差神經元。 資料經過每個神經元時,會乘上相應的
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
Thumbnail
本文會利用sklearn引入breast_cancer datasets來訓練,在處理數據的部份,特徵工程用兩種方式去做處理,分別是特徵選取與特徵萃取的方式去做比較。 特徵選取的方法中,使用了KNN 分類器來選出最重要的兩個特徵 特徵萃取的方法中,使用了PCA降維
Thumbnail
前言 上一篇討論到如何訓練出模型,此篇將說明Streamlit建立的簡單Web應用程式的解說 Streamlit網頁App_貓狗辨識 連結 程式碼Github連結 [機器學習]CNN學習MNIST 手寫英文字母資料,用網頁展現成果_模型訓練篇 如何連動github與stramlit可以參考
Thumbnail
🍀🍀🍀fumi老師:❤️❤️❤️ 🥰🥰🥰在閱讀學生🧑‍🎓在靈氣療癒讀取的靈氣的祝福——每一步的踏出都是智慧經驗的累積,而這過程中所經歷的掙扎與挑戰也成為了美好的回憶。所走過的道路充滿了各種風味,有喜悅、痛苦、成長和領悟,這些經歷都在塑造我們的人生。 💗💗💗當轉向內在,發現自