2017-09-02

夏肇毅觀點:頂尖科大用金融科技動手初探股市脈動




年前台北科技大學的金融科技實驗室方成立輔仁大學金融科技創新實驗室主持人林文修博士就帶隊與同學一同到北科大參訪,個人有幸隨隊參觀。期間北科大管理學院翁頌舜院長,資訊與財金管理系吳建文主任與陳煒朋博士出面接待。並由陳煒朋博士向大家介紹實驗室的相關細節包含證交所、期交所逐筆成交資料台灣經濟新報與大陸金融財經資料庫等。陳博士主要藉此資料來發展高頻交易策略及做歷史回測等。

實驗室花了兩三年分階段建置完成,有電視牆旋轉跑馬燈,以及由數十台電腦所組成近十組的交易操作區。除了硬體設備外實驗室中最有價值的當推歷史逐筆交易資料。逐筆資料價格昂貴期交所在網路上販售的期貨選擇權資料每個月就要近萬元。有了逐筆交易資料,未來就有機會製模擬交易所,用來重播任何歷史時段之交易分析變動特性以及回測交易策略等。實驗室整個資料量約3TB來源結構各不相同使用起來可能要費一番功夫。

(台北科技大學的金融科技實驗室內觀 照片來源:夏肇毅提供)

數十年來,世界金融業一直都是即時串流與大數據科技的實踐者。每天各股市的即時成交行情都要能不間斷地發送到數萬到數億用戶的電腦與行動裝置中。隨著交易行情的跳動,每個金融機構的後台系統都要不停地計算相關資料並立刻將結果發送到訂閱該資料的用戶面前。

去年在美國紐約Morgan Stanley任職的吳金錠博士在中研院演講Engineering Challenges and Career Options in FinTech」時就提到美國金融市場每天的即時交易資訊就有好幾TB雖然很貴但是金融業者還是要投資建構完整的逐筆歷史資料庫。再來速度很重要只有第一名能搶到最好的價錢所以連GPU,FPGA,ASIC等技術都有人拿出來用,就是希望能在僅有幾個微秒(us)的反應時間內下單。

圖形處理器GPU(graphics processing unit)概念最早由NVIDIA所提出是專門用在處理繪圖顯示的計算上。由於功能強大現在已應用到比特幣挖礦及人工智慧機器學習方面等需要大量高速運算的應用上。特殊應用積體電路ASIC就是直接做IC用硬體來處理速度最快然而費用高昂。而FPGA是一種可程式化連線的IC半成品成本較ASIC低很多可以隨時修改主要是用在開發ASIC前做為功能驗證模型開發之用。開發FPGA要用硬體描述語言VHDL來做就是寫程式。只是在腦中要想著硬體然後再用程式語言把它描述出來而已。從CPU經GPU到FPGA與ASIC這條路,就是提性能的標準過程。

台灣二十多年前股市正熱時電腦即時行情終端機就已流行。雖然速度只是2400 BPS但是就已是現在串流資訊的架構。近年來股市萎縮券商只能掙扎求生存很少會在科技上投資研發所以技術就一直停留在之前的水準上。

近年來即時串流資訊結合了大數據資料庫發展出CEP(Complex Event Processing)的架構。它不但能對源源流入的即時行情資訊,持續計算VWAP等各式價格與買賣信號發動買賣交易,也能做即時金融監理更能即時監控駭客入侵意圖。話雖如此但這些即時交易架構概念到現在也還是很少在學校裡教導更少人能動手實做。近年來的金融科技黑客松競賽大都只是談應用場景創意很少做這種需要實作並以性能數字見生死的擂台賽金融的技術難以落實。只有結合串流資訊與大數據實際動手做出來來比速度比容量才是技術真正的落實。
(參訪台北科技大學的金融科技實驗室 照片來源:夏肇毅提供)

Cheers雜誌20162000大企業最愛大學生北科大為第五名2015年進步一名而遠見雜誌2015年企業最愛大學生調查中,北科大也拿下第二名,僅次於成大。遠見曾於「4年募款10億姚立德尋回實作精神」中報導:「找回台北工專時代(北科大前身)動手實作的核心價值是北科大校長姚立德上任後的目標。他坦言,念北科大的孩子,資質不是最頂尖聰明,但四年後,學生表現卻可以最棒,重點就在於動手啟發腦,激發潛能。我們的每個實習機會都是學校幫學生找的。去麥當勞打工、去大潤發搬東西,都不算!」可見北科大校長一直有落實動手實的理念。

學校教的理論到實際應用中間還有許多環節待打通。偏偏技術這東西只要有一點不對那就根本不會動。只有儘早實做學習真正的技術與除錯方法才有機會讓你的成果動起來。屬於技職體系的科技大學以培養技術專業人才為目標。所以在學校裡練就實際可用的扎實技術應該就是技職教育的主要目標。也因如此台北科技大學才會得到2015年遠見雜誌企業最愛大學生第二名的成績

現在北科大採購數十台電腦與歷史成交資料建立了金融科技實驗室那麼可以想像以後老師有機會便可以編寫金融實驗課程教學生使用免費的Python及R語言套入個股實際歷史成交價格來驗證投資學裡每一章的金融理論。讓學生藉由實際動手來驗證理論或使用虛擬交易所來測試交易策略。更進一步就是教學生規劃資訊傳輸系統讓歷史行情能在整個實驗室跑起來,然後再教學生如何接收即時資訊來做高頻交易。在一般學校或業界裡資訊不懂金融金融不懂資訊。在這裡它把兩者結合起來實做讓學生又懂資訊又懂金融應該比較會受到金融業者歡迎。

參訪時看到這麼多電腦我馬上想到另一個動手的應用實例:雲端運算。也許可以讓學生動手把這幾十台電腦用免費的OpenStack雲端作業系統連在一起讓大量的歷史資料儲存在私有雲中。需要大量模擬運算時可以調用數十台虛擬機來一起執行讓學生也能跟上雲端運算時代的運作模式。

現在企業發現以往的電腦使用率太低所以就將所有伺服器結合在一起需要時再打開虛擬主機來執行。藉此減少機器採購數量以解決個別專案使用特定機器而使用率又低的問題。業界使用的商用虛擬機系統雖有服務但價格昂貴。在學校裡經費有限就可以教學生練習使用免費的OpenStack雲端系統來建構與AWS(Amazon Web Services)類似的私有雲使用。

OpenStack是Rackspace與NASA在2010年推動的開源雲端軟體。這六年來在IBM, HP, Intel, RackSpace等白金會員的投入下,功能也日益完善多樣。三年前在加入雲端運算產業協會期間雲協正在推廣剛開始沒多久的OpenStack。那時雲端運算議題正熱每次研討會會議室裡都擠滿七八十人聽講。當時其中有一組清華大學某實驗室的成員也多次分享了他們利用OpenStack與捐贈的伺服器裝出校內私有雲服務的經驗。OpenStack固定每半年出一次新版而使用者也能在實際使用中和它一起成長茁壯。

讓學生在上課時或課餘之暇動手實做是進入職場之前最有價值的訓練。一切課堂上的理論都要藉由動手的過程來了解可行的步驟之後再將它付諸施行。只有練習過的方法才會成為日後腦中工具箱內可用的法寶或者是一個寶貴的失敗經驗。希望技職系統的科技大學,都能讓學生在畢業前就藉由動手實作練就一身十八般武藝以成就未來一生事業坦途。


作者簡介:夏肇毅,提供雲端理財計算與教學服務之CubicPower.idv.tw創辦人。曾服務於緯創軟體、英商路透社等金融與科技單位從事金融軟體開發專案工作。

No comments:

Post a Comment