在我的Side Project中,規模最大的一項是用Python與機器學習模型做股價分析與預測。這個專案在2020年底開始蘊釀,從前期規劃到技術試錯,一路拖拖磨磨,終於在今年六月,也就是COVID-19最嚴重的時候正式上線實戰,並啟動後續的PDCA循環。這個專案讓我在專業能力上有大幅度的成長,把專業能力與投資能力綑綁在一起,是我近期做過最聰明的人生決策之一,因此特別記錄下來與大家分享。

當你使用Visual Studio Code (VS Code)撰寫Python程式時,並使用自己開發的套件時,該套件中的程式碼只會執行一次,後續對同一套件的導入將僅使用已經導入的套件,而不會重新執行其程式碼。這表示,如果你在導入套件後修改了該套件,則在重新加載該套件之前,這些更改將不會生效。

當我從網路上下載台股的券商分點買賣資料,並使用Python insert至MySQL出資料庫時,MySQL回傳以下錯誤訊息:1062 – Duplicate entry ‘2022-02-10-1712-116M-29.65’ for key ‘PRIMARY 即使使用Pandas重覆確認後,仍然看不出哪裡有重複資料,仔細一查才幾個可能會原因,以下一一列舉。

不論你是使用網頁版的Google Trends,或是寫程式呼叫API,只要你使用Google Trends的服務,一次最多只能搜尋五組關鍵字。這是Google設下的限制,沒辦法更動。那為什麼威力加強版可以一次搜尋多組關鍵字?實際上,威力加強版執行的任務是將所有關鍵字分組,分別取得每一次的搜尋熱度後再合併資料,並且匯出成CSV檔。

雖然數據分析師是新職位,但數據分析或是資料分析的概念一點都不新。公司裡面行之有年的職位,不管是行銷、業務、採購、倉管,每個職位都需要數據,也都需要分析。隨著大數據、資料科學、機器學習、AI等酷炫的新名詞、新技術與新應用出現,所需的知識與技能多到員工爆肝也學不完。

對於設計與行銷工作者來說,將過去的工作成果整理成作品集是常識中的常識,但這對每天在敲程式碼的資料科學家與軟體工程師同樣重要,即使你目前不打算用它來找新工作。程式設計師們經常被鼓勵做side project,它是一種個人專案,可以讓你把所學的新知識、新技術應用在真實的專案上,並讓自己作更完整的吸收與內化。Side project的好處是不需要受限於正職工作上的情境與限制,可以自由發揮,可以自己決定是否上傳GitHub開源,並寫一篇完整的文章分享專案中的細節、知識與困難。

由於資料科學家與數據分析部門出現的時間還不長,大家的認知仍有差異,或因為每間公司核心價價、管理哲學不同,導致數據團隊可能會以各種型式存在,常見的型式有三種:獨立部門、隸屬IT(Information Technology,資訊部門)或RD(Research & Development,軟體開發)、隸屬需求方部門。

對於資料科學家和數據分析師來說,雖然他們也寫程式,但他們寫程式的習慣和一般認知的工程師不太相同,甚至有些人對於寫code的背景知識明顯不足。或許你會說,「因為現在很多做數據分析的都不是本科系,理論知識當然不會那麼紮實」,我認同這是個可能的原因,但我也認為這不能當成藉口,一個專業工作者本來就應該補足自身的不足。我知道軟體工程師中也有類似的問題存在,但我畢竟對於資料科學界比較熟悉,因此只在我熟悉的領域內作評論。

在做數據分析的時候,天氣資料是經常被拿來使用的資料。氣象局在政府資料開放平台上提供了鄉鎮天氣預報-台灣未來1週天氣預報,並提供了json的API。雖然容易使用,但資料中總共包含15項天氣資訊,在結構上又是一層包一層,必須要有耐心的抽絲剝繭,才能轉成容易使用的表格型式。