首頁?學習  »   正文

Jupyter是更好的Excel

Jupyter是更好的Excel

如果你是一名交易員或在金融服務業工作,Excel就是你的面包和黃油;你可以分析價格和數據,評估你的交易組合,計算VaR,執行反向測試等等。您是數據透視表、公式、圖表甚至VBA和PowerQuery方面的專家。您可以快速地處理一個解決方案,但是在您知道它之前,您的電子表格會以幾十個選項卡、數千行類似意大利面條式的vba的形式展開——因此它的可讀性和維護性就被拋到了腦后。當你敢按下F9查看結果時,你可以喝杯茶,然后再等一會兒(如果你的電腦還沒有崩潰的話)!

有同感嗎?我仿佛看到你在點頭。

盡管電子表格對從數據中提供真正的洞察力非常有用,但它并不能提供您所尋求的所有答案。讓我們來看看是什么讓Excel如此受歡迎,以及它的缺點,為什么您應該開始使用Jupyter Notebooks作為一個替代的強大的分析工具?

Excel天堂

我們都了解,有幾個因素使Excel如此有價值,其中最值得注意的是它的簡單而功能強大的內置函數的反應式計算模型。電子表格就像一張空白畫布,一個“業余程序員”可以使用Excel的專有語言(即公式和VBA)編寫代碼。

銀行部署了廣泛的IT系統來運行關鍵業務流程,但是以電子表格形式出現的影子IT爆炸式增長,補充了這些核心系統,并作為新業務計劃的默認工具。由于企業系統無法靈活地適應動態金融環境中所需的快速上市時間,Excel應運而生,填補了這一空白!

雖然可能很方便,但這是正確的方法嗎?

需要重新定義Excel在企業中的角色!

Excel地獄

試圖使用電子表格對大量數據進行高級、響應性分析,這是在使用錯誤的工具。

下面是Excel高級用戶面臨的一些問題:

  • 級聯錯誤:Excel臭名昭著的錯誤是向下傳播一個列,然后在整個電子表格中創建一個雪球,變成雪崩的麻煩。令人恐懼的是,其中一些被發現的時候為時已晚。有幾個案例已經被公開,在這些案例中,事情出了差錯,造成了巨大的成本影響。
  • 可伸縮性:Excel對其可容納的行和列的數量有限制,但隨著數據集以指數速度增長,電子表格很快就會耗盡內存或占用大部分CPU。當這種情況發生時,數據損壞的風險就會大大增加。
  • 性能:在復雜的工作簿中,更改一個數字可能會影響數百個重復計算,Excel需要時間來完成每個計算。當達到一定的大小時,它不僅會減慢電子表格本身的速度,而且還會影響任何其他需要內存空間的應用程序的性能。
  • 測試:幾乎不可能測試電子表格的正確性,然后證明隨后的更改沒有破壞任何其他東西。
  • 可跟蹤性/調試:通常一個甚至很小的更改都會嚴重破壞您復雜的公式,使其極難識別和修復。
  • 全部包含:數據和計算都包含在Excel文件中,并在本地計算機上運行。這意味著協作受到限制,使得版本控制成為一場噩夢。此外,根據最新的更新,數據是靜態的,而不是隨著條件的變化而實時更新。

傳統軟件幾十年前就已經解決了所有這些問題。

最后但并非最不重要的是:

  • 操作風險:所有電子表格都是從小型/快速修復計算開始的,但有些電子表格會變成永久性的企業級解決方案。它們提供了許多業務流程,但是由于缺乏對整個景觀沿襲的可見性,許多財務、運營和監管流程的完整性受到了威脅。

Jupyter是更好的Excel

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

傳統上,銀行將定量交易團隊分成定量交易員和定量開發商。前者提出了交易想法,后者將這些想法轉換為可執行代碼。當你作為一個交易者同時也是一個熟練的編碼員時,這種分離就不再需要了,這給了你一個競爭優勢:不僅銀行希望優化他們的成本,因此你可以在冗余中生存下來,而且你也可以把你自己的交易模型付諸行動,利用這一時間優勢為你帶來好處。能夠自動完成日常任務是一種解放,而編寫代碼實際上是一種創造性的工作!

這在很大程度上也是一代人的事情,因為更多的初級交易員已經具備了大學的編程技能,所以如果你想保持自己的就業能力,就需要參與進來。

如何使用Python和Jupyter Notebooks

——看我做了什么?

那么,對于那些認為Excel有局限性(如果不是過時的話)的交易員和金融專業人士來說,解決方案是什么呢?

學習Python并使用 Jupyter Notebooks作為容器!

Python

Python學起來相當容易,而且非常通用,因此在金融界有了更多的應用。現在,它和Excel一樣,是許多定量角色的先決條件。它比c++(或Java)更精細,這意味著:?學習曲線并不陡峭,而且完成一項任務所需的代碼數量遠遠小于5 x倍或10倍。

python越來越受歡迎,這在大量的庫中很明顯,這些庫支持作為交易者幾乎需要的任何東西:

  • 閱讀、書寫、清洗、篡改、切片/切割數據
  • 數學、統計和時間序列
  • 財務分析:交易和定量財務,市場數據

分析、股票/衍生品市場分析、彭博數據訪問、執行引擎、回溯測試、風險分析等。

  • 機器學習渠道(例如預測市場價格)
  • 繪圖和美觀/互動的可視化
  • SQL支持
  • 發送電子郵件
  • 網絡抓取(例如在線獲取市場價格)
  • 任務自動化/調度
  • Excel集成(如果您非常喜歡Excel)

Jupyter

同樣,Jupyter筆記本是一個基于網絡的計算環境,它使您能夠編寫包括以下內容的文檔:實時代碼、圖形、小部件、豐富的敘述性文本(包括鏈接、公式等)、圖片等。更具體地說,您可以:

  • 在瀏覽器中編輯代碼,使用自動語法高亮顯示、縮進和制表符完成/反省。
  • 從瀏覽器運行代碼,計算結果附加到生成代碼的代碼上。

它們提供了一個計算的全面、獨立的記錄,因此可以代替Excel作為實時數據分析平臺。

Jupyter是更好的Excel

?最佳選擇

所以你可能會想:

我還要用Excel嗎?當然……

在以下用例中,電子表格仍然是您的最佳選擇:

  • 正確性和準確性不是優先事項
  • 數據不太大(不需要可擴展性)
  • 不需要實時更新
  • 使用Excel作為草稿板,快速將原型放在一起
  • 無需長期維護

您需要的是允許快速開發、驗證正確性和可擴展性,同時保持與Excel相同的反應模型。這正是Jupyter筆記本所提供的!

Jupyter是更好的Excel

不,Excel并沒有過時,但是Jupyter筆記本是更好的數據分析工具!

雖然我已經明確地提到了使用Python/Jupyter組合優于Excel的一些優勢,或者在“Excel地獄”一節中暗示了它們的反例,但是我在這里收集了它們的前10個:

?強大的數據處理——畢竟是數據科學家的工具箱!

?先進的可視化功能,不再是無聊的圖表!

?更好的用戶體驗

?反大數據集處理不再崩潰!

?利用多重處理的性能管理

?測試驅動開發思考質量!

?開放源代碼可訪問性-“它有一個lib!”

?錯誤可追溯性

?簡單自動化

?反自我記錄不可低估其價值!

從哪里開始

我意識,剛進入這一領域可能會讓人望而生畏,但編程不是為了學習語言的語法,而是為了使用正確的語言和工具來解決問題而絞盡腦汁:在我們的例子中,是Python和Jupyter。

最后的想法

很難想象沒有電子表格的企業世界!

銀行開始發現Python可以作為Excel的替代品,用于它們的關鍵工作負載。巴克萊(Barclays)最近剛剛因為努力教會交易員編程而登上新聞頭條。我認為你也應該遵循這個模式,你不會失望的!

讓Excel做Excel擅長的事情,并將分析和自動化轉移到Python和Jupyter筆記本中。

有一個充滿動態和交互式分析的快樂世界在等著你!

歡迎關注ATYUN官方公眾號,商務合作及內容投稿請聯系郵箱:[email protected]

發表評論