2023年3月17日 星期五

金融產業中如何使用「計量經濟」、「Python」、 「SQL」來做數據分析

在商學院學習計量經濟這門科目時,你是否有想過計量在真實商業世界的金融領域是如何應用於實際案例中的,而數據分析常用到的工具Python & SQL,又是如何與計量經濟來互相配合運用的呢?

今天Candice先生特別邀請到團隊的商學院家教Eric老師,Eric老師台大數學系雙主修財金系,喬治華盛頓金融碩士畢業,目前任職於跨國大型金融公司的美國總部,且擁有CFA三級證照

讓他以實際金融業界的豐富經驗,來一一解講「計量經濟」、「Python」、「SQL在金融領域的實際應用案例,並理解學好這些技能,對於求職時會有多大的優勢吧。


一、在實際的金融業界,計量經濟這門科目的重要性有多大,「計量經濟」在金融業界中實際的應用為何?

計量經濟在金融業界的應用,要看你的部門跟你們公司做的業務,舉例來說,銀行有在做貸款,所以會收集到很多關於客戶的資訊,譬如客戶們的信用、過去的收入狀況,用錢習慣等等。

為了評估客戶的還款機率,我們便可使用「計量經濟」所學的,用收集到的客戶資料去做出一些模型,比方說回歸,或者用machine learning去做出一些不同的模型。依據每個公司的不同人才與願意付出的成本來訓練這些模型。

一旦有了模型之後,便可以利用這些客戶相關資料,跟我們訓練出來的模型去評估,如果有一個新的客人要跟銀行借錢,根據此客戶的信用資料數據,他還錢的機率有多大,讓銀行決定要不要借他錢,且借錢的利率是多少。

所以「計量經濟」對在金融界的多數分析師職位,我會說這科目還蠻重要的,商學院課程學到的計量經濟是比較簡單的,因為商學院希望我們可以從簡單的東西開始下手,模型不會像業界這麼複雜,變數少,資料也都比較齊全。

金融業界用到的模型會複雜很多,且資料是從真實世界收集來的,所以會更凌亂,再加上背後的一些數學,會比課程學到的簡單模型更複雜。

所以我覺得如果學生未來想要走分析類的,打好這部分的基礎是比較重要的,能夠讓你在未來,銜接產業實務上比較複雜的信用模型、違約模型等,可以更好的上手。

二、為何許多商學院的學生都在學Python & SQL,是否求職時會更有優勢?為何公司在找人時會傾向找會Python & SQL的求職者?

找金融數據分析工作會Python&SQL,我覺得已經不能稱作是優勢了,未來如果你沒有這技能,不要說兩個都要會,你只要其中一個不會,你幾乎很難找到金融分析相關工作了。

說個金融分析就業市場的現象,五、六年前很多銀行的相關職缺對Python跟SQL技能都是寫,如果有的話會是加分最近這兩年,同樣的銀行開出來同樣的職缺,對Python跟SQL的要求,已經變成是強烈需求,甚至有些直接就寫明是requirement如果你沒有的話,HR根本就不會找你去面試。

這是因為金融業界越來越了解Python跟SQL的好處,懂這些的人才進去公司之後,公司會知道原來這兩個工具這麼有用。

在實務上做自動化,擷取大量的資料,非常非常的有用,所以我不會說沒有這技能百分之百找不到,但當其他人都有Python跟SQL這個技能,但你卻沒有,或是你相對來說並不熟練,那麼你要在金融分析產業拿到第一份工作,甚至是面試都會相對的困難很多。

就跟20年前,英文是稀缺的技能一樣,那時你只要英文尚可,你就比絕大多數的求職者還要有優勢,但現在的環境你英文程度不好,基本上連面試都沒啥機會。

所以學會Python and SQL技能,在未來會越來越重要,因為越來越多公司認知到,
有這些技能的員工能做出更高效率的貢獻,且學習門檻沒有像C++或Java來的那麼高,能做的事情也比較彈性,比R語言或SAS或STATA這些做統計的軟體來說,Python能夠做的事情更包羅萬象。

我在美國金融產業看到的情形,未來Python和SQL,對於商學院MBA畢業,甚至是一般商科大學、碩士畢業生,可能快要跟Excel一樣,變成是一個極度基本的要求了。

三、在金融業界實際的工作中,是如何使用Python & SQL的?

金融業界基本只要公司規模大到一定程度,資料一定都會用SQL的Database,可能是裡面不同的分析,比方說啊TOAD,或者是MySQL、SQL LIKE等等,但是總體一定會用database來儲存銀行收集到的資料,因為資料量太大了。

因為資料太多,且許多不同的部門都在使用,如果像以前公司都是很陽春的用Excel儲存的話,資料會變得非常的淩亂,使用和維護上都會十分不方便。

當公司大到一定的規模,一定都會有一個專門的Team,可能是IT team或CS Team,或Data team,來維護這個SQL的Database。

這些部門負責SQL的寫入與資料庫的維護,我們分析師只負責讀取。用SQL的這些Query從Database把資料叫出來,使用在我們的分析上。

而Python可以自動化許多重複的工作,取代過往在Excel上面寫Excel VBA,來完成重複的事情。

但Excel VBA只能用在Excel裡面,或者是更廣泛一點Microsoft office的這些工具上面;
但使用Python的話,只要有人寫過這個資源的package,那麼你就可以把不同的工具串接起來。

比方說把雲端的計算、儲存,跟本地的SQL連接起來,也可以把資料讀進去Python之後,用Python做出視覺化的圖表,甚至串接Power bi、Tableau等工具,Python跟SQL能做的事情真的萬用多元。

SQL負責的是Data處理,譬如許多資料要從不同的Table拿取,可先在SQL把這些Table的條件先篩選好,在SQL裡面做,會比起我們先把資料存到Excel,寫formula去串接起來(中間有出錯的可能),然後再用不同的column把它連接來的簡單。所以SQL會更快速且好維護,因為只需要一個指令就完成了!

分析師從SQL拿到資料後,可以把資料餵給Python,在Python裡面做一些更進階的分析,比方說回歸、分類、machine learning等等,或單純的把資料做視覺化 (Visualization)也是常見的用法。

四、想問實務上金融業界如何使用「計量經濟」的理論來分析,並用「Python」 & 「SQL」工具來達成想要的分析結果

如同先前提到的「銀行評估要不要通過客戶貸款」的情境,過去的客戶資料可能是上千筆,可能是上萬筆,
甚至資料量再大一點,幾十萬筆、幾百萬筆都是有可能的,那這麼大的資料量,是不可能用Excel去儲存維護的。

以公司的立場來說,除了不方便維護資料,這麼大的資料量在Excel裡面也很難去做分析,所以最佳做法是用SQL儲存需要時再從SQL中把資料叫出來,分析師取得資料後,使用Python裡面有好幾個Package是可以直接跟SQL的Database產生互動的,
便可以在Python裡面寫好SQL query,然後利用此Package去跟Database要資料,直接抓到Python裡面。Python再分析這些資料量,會比Excel更快速且簡單。

如果數量級再大一點,比方說好幾千萬甚至好幾億,好幾GB的那種資料就不太適合用Python,真的要用Python的話我們必須想辦法增進它分析的效率,但一般銀行的分析都是幾百萬筆以內,所以Python這個工具是非常夠用!

取得資料後便可用課堂上學過的:回歸、Machine Learning、Decision Tree等去做模型的訓練,訓練完成後,便把參數與規律儲存起來。

當下次有新的客人,來接觸我們銀行辦理借款,我們便可以把這個客人的資料,丟到我們訓練出來的預測模型裡面,讓模型告訴我們說,根據這個客人給我們的資料,銀行評估要借他錢的話,應不應該批准,如果批准的話,要給他多少的借款利率。

現實的金融環境裡面,Python跟SQL是可以幫助我們大大減少量化分析複雜度的超實用工具,所以現在如果你沒有Python跟SQL的技能的話,你會在找金融分析相關工作上,相較其他擁有此技能的求職者有非常大的劣勢。

從上方Eric老師在美國金融業界的實務經驗,相信可以了解計量、Python、SQL在實務工作上的應用有多重要了。

沒有留言:

張貼留言