你好,程序員;再見,交易者!Jupyter便是新的Excel

全文共3246字,預計學習時長8分鐘html

若是你從事的是商業交易或者在金融機構工做,Excel是必備技能。python

你能夠用它分析價格及其餘tick數據、評估投資組合、計算風險價值、進行過後檢等等。你熟練掌握數據透視表、Excel公式、圖表甚至是VBA和PowerQuery。這使你能夠快速執行一個方案。程序員

可是在你意識到以前,電子錶就會擴張成爲幾十個結構複雜的表格和混亂無序的VBA代碼時,讀懂和維護這些表格將變得極其困難。而且若是按下F9刷新的話,等待的時間甚至足夠喝完一杯茶(若是這期間電腦還沒崩潰的話)!編程

上面的陳述聽起來是否是很熟悉?你恐怕正在瘋狂點頭。瀏覽器

儘管電子表格十分有用,但要用來分析數據的話,它並不能提供尋求的全部答案。讓咱們看看Excel如此流行的緣由及其不足之處,以及最重要的使用Jupyter Notebook這一強大的分析工具來代替Excel的緣由。微信

咱們的目的是,讓Excel作Excel擅長的事,把分析和自動化交給Python和Jupyter Notebook。網絡

Excel的優點多線程

Excel有幾大優點。最值得一提的就是帶有內建函數的反應計算模型,它使得Excel簡單而又強大。電子錶就像一塊空白的幕布。一個「業餘程序員」可使用Excel的專用語言(也就是公式和VBA)在電子錶中編寫代碼。機器學習

銀行利用各式各樣的信息技術系統來執行關鍵業務流程。然而有愈來愈多的影子IT以電子表格的形式出現,它們補充了核心信息系統的功能,並充當新的商業計劃的默認工具。企業系統不夠靈活,沒法適應動態金融環境下產品從雛形到進入市場的時間,而Excel解決了這一問題!函數

儘管Excel很是便利,但它就是最合適的方法嗎?

Excel在企業中扮演的角色應該被從新定義。

圖片來源:unsplash.com/@mbaumi

Excel的劣勢

在涉及大量數據的、高級的、響應式的分析過程當中,電子表格並不是合適的工具。

下面是某些Excel重度用戶面臨的問題:

· 級聯錯誤:Excel臭名昭著的問題之一是錯誤可能會沿着列傳播,最終波及整個電子錶,就像一個雪球引發一場雪災。可怕的是,有些錯誤發現時已經沒法補救。有很多這樣形成重大損失的案例。

· 可擴展性:Excel表格中的行列數量有限。處理規模呈指數級增加的數據集時,電子錶將很快用盡存儲空間或佔用大部分的中央處理器。這種狀況的出現將極大提高數據污染的風險。

· 功能:在複雜的工做表中,改變一個數字可能影響數以百計的重複計算。Excel須要花費時間來從新計算每個結果。當影響達到必定量級,不只電子錶自己的運行會變得緩慢,其餘全部須要佔用存儲空間的應用都會受到影響。

· 測試:電子錶的正確性幾乎不可測試,也難以證實後續更改沒有形成其餘影響。

· 可追蹤性/排除故障:即便微小的變化也可能嚴重篡改複雜的公式。這樣微小的改變極難找到和修復。

· 包含一切:數據和算式都存儲在Excel文件內並在本地計算機上運行。這意味着合做受到限制,版本控制像噩夢通常困難。而且數據將在最後一次更新後保持不變,而不是隨着狀況變化實時更新。

傳統軟件早已在幾十年前解決了上述全部問題。

最後一點,也是很重要的一點:

· 操做風險:全部的電子錶最初都是小型的,易於維護的算式。可是有些電子錶會變成永久的,企業級別的方案。它們被用於大量的業務流程,但因爲沒法看到數據的全貌,很難保證許多金融、運算和監管過程的完備性。

圖片來源Courtesy: Pixabay

你好,程序員;再見,交易者

傳統來講,銀行把定量交易團隊分爲定量分析交易者和定量分析開發者。前者提出想法,後者把這些想法寫成可執行的代碼。若是你既是一個交易者又是個專業的程序員,那麼這種劃分就再也不必要。這讓你得到了競爭優點:一方面銀行但願儘量減小支出,從而下降了失業風險;另外一方面你能夠把本身的交易模型投入實踐,利用時間優點獲取利益。一些單調的任務能夠自動處理,這使你得到解放,並且編程實際上很是具備創造性!

這也是爲了跟上時代。愈來愈多的年輕交易者具有在大學中學到的編程知識。因此若是想要保持就業競爭力,你也須要參與其中。

如何用Python和Jupyter Notebooks進行數據處理

對於意識到Excel侷限性的交易者和金融專家來講,如何解決這一問題?答案就是:學習使用Python和Jupyter Notebook。

Python

Python學起來很容易,而且功能豐富,所以在金融領域中獲得愈來愈普遍的應用。現在它和Excel同樣,是許多定量分析過程的必備工具。它沒有C++(或者Java)那樣複雜,這意味着python的學習曲線沒有那麼陡峭,並且完成任務所需的代碼量減小到1/5甚至1/10。

Python的日漸流行明顯地體如今大量的庫中。這些庫能夠支持交易者所須要的幾乎一切功能。

· 數據的讀取、寫入、清洗、刪改和交叉分析。

· 數學序列、統計序列和時間序列。

· 金融分析:交易和定量金融、市場數據分析、股票/衍生市場分析、彭博數據訪問、執行引擎、過後檢驗、風險分析等等。

· 機器學習渠道(好比預測市場價格)。

· 繪圖以及一目瞭然的/交互性的可視化。

· SQL支持。

· 發送郵件。

· 網頁數據抓取(好比從網上得到市場價格)。

· 任務的自動化/日程安排。

· 整合Excel(若是你真的很喜歡使用Excel)。

精準的函數庫的總結(不重複的):https://financetrain.com/best-python-librariespackages-finance-financial-data-scientists

Jupyter

沿用上述思路,Jupyter Notebook是一個基於網絡的編程環境。它可以管理各類文件。這些文件包含代碼、圖表、小插件、豐富的敘述文本(包括連接、等式等)以及圖片。更具體來講,能夠:

· 藉助自動句法高亮、縮進以及tab自動補全/檢查等功能,在瀏覽器中編輯代碼。

· 使用附加在代碼上的計算結果,經過瀏覽器運行代碼。

它爲計算提供了總括式的、自含式的記錄。這樣Jupyter就能夠代替Excel成爲一個實時數據分析平臺。

 

Courtesy: Python for Finance Tutorial

Excel VS Jupyter

因此你可能會想:

我還應該使用Excel嗎?固然!電子錶依然是處理下列狀況時的最佳選擇:

· 不那麼注重正確性和準確性

· 數據規模不太大(對可擴展性沒有要求)

· 不須要實時更新

· 把Excel做爲草稿本,快速整合原型

· 不須要長期維護

你須要這樣一個工具——它可以支持快速開發,保證正確性和可擴展性,與此同時擁有和Excel同樣的反應模型。而這就是Jupyter Notebook提供的功能。

 

不須要拋棄Excel,可是Jupyter Notebook是更好的數據分析工具!

Python/Jupyter最重要的十個優勢:

✔強大的數據操做能力——Python/Jupyter是數據科學家的工具箱!

✔先進的可視化能力——再也沒有無聊的表格!

✔更好的用戶體驗

✔大規模數據集處理——不再會崩潰 

✔運行管理——利用多線程處理

✔測試驅動開發——注重質量!

✔可開源——「有專門的庫來處理這個問題!」

✔可追蹤錯誤

✔更簡單的自動化 

✔自我文檔化——不要低估這一功能的價值!

如何開始

進入這一領域的新人可能會被嚇倒。可是編程並非學習語言的句法,而是學會使用正確的語言和工具——也就是Python和Jupyter——來解決問題。

這裏有兩個很是好的新手資源:

· Think Python: Free eBook Download

傳送門:http://greenteapress.com/thinkpython2/html/index.html

· Jupyter Notebook for beginners: Online Tutorial

傳送門:https://www.dataquest.io/blog/jupyter-notebook-tutorial

留言 點贊 關注

咱們一塊兒分享AI學習與發展的乾貨
歡迎關注全平臺AI垂類自媒體 「讀芯術」

(添加小編微信:dxsxbb,加入讀者圈,一塊兒討論最新鮮的人工智能科技哦~)

相關文章
相關標籤/搜索