Python與金融:為你的電子表格加速(2)
2. 優化原型
「值得考慮的是是,有些事情可以簡化,這是世界上回報最大的挑戰。」-Edsger Dijkstra
重構是指在不改變其功能的情況下重寫現有代碼來改進其結構的過程,它可以是編碼中最有趣和最有價值的元素之一。這樣做可能有幾個原因。可能是:
1.以更合理的方式組織不同的部分。
2.重命名變數和函數,使它們的用途和工作更清晰。
3.允許並準備將來的特性。
4.提高執行速度、內存佔用或其他資源利用率。
為了展示這個過程中的一個步驟是什麼樣子,我通過在一個地方收集所有初始變數(而不是像在原型腳本中那樣分散)來清理我們剛剛完成的原型,並通過一個稱為向量化的過程來優化其執行速度。
「使用NumPy數組可以將許多類型的數據處理任務表示為簡潔的數組表達式,否則可能需要編寫循環。用數組表達式替換顯式循環的實踐通常稱為向量化。」Wes McKinney
現在它看起來更乾淨,更容易理解:
你將注意到這個版本與上一個版本之間的主要區別是,沒有使用for i in range(iteration)循環。使用NumPy的數組操作,這個版本運行時間為18毫秒,而原型版本運行時間為1.35秒—大約快75倍。
我相信進一步的優化是可能的,因為我只是為了本教程的目的在很短的時間內將原型和改進版本放在一起。
進一步優化
本教程展示了Python的一些強大特性,如果你想進一步開發它,有很多地方可以改進。例如,你可以:
從網頁或其他數據源爬取或下載有關公司或行業的統計數據,以協助你選擇假設及概率分布。
在定量金融應用程序中使用Python,例如在基於基本和/或宏觀經濟因素的自動交易演算法中。
構建導出功能,以電子表格和/或表示格式生成輸出,作為內部交易審查和批准流程的一部分,或用於外部表示。
我甚至還沒有談到你還可以對使用各種web、數據科學和機器學習應用程序,這些應用程序為Python的成功做出了貢獻。
總之:這是一個對你的財務工具箱非常有用的語言
本文介紹了Python編程語言,列出了它在金融界如此流行的一些原因,並展示了如何構建一個小型Python腳本。在一個循序漸進的教程中,我介紹了如何使用Python進行迭代原型設計、互動式財務分析,以及用於評估模型的應用程序和演算法交易程序的代碼等。
對我來說,在一天結束的時候,Python技術的殺手級特性是使用它非常有趣!如果你喜歡解決問題、構建東西和提高工作流程的效率,那麼我鼓勵你嘗試一下。我很想知道你用它做了什麼或者想用它做什麼。
金融專業人員學習Python的推薦資料
O " reilly的書。我特別推薦:
Yves Hilpisch的《Python for Finance》(Python金融大數據分析)
Mark Lutz的《學習Python》
Luciano Ramalho的《Fluent Python》(流暢的Python)
Python量化投資
YouTube網站上的PyCon演講
Udemy
了解基礎知識
Python是什麼時候創建的?
Python是在20世紀80年代提出的,並於1989年12月首次實現。
Python在金融中是如何使用的?
Python編程的用途是什麼?
英文原文:https://www.toptal.com/finance/financial-modeling/python-and-finance
譯者:天天向上
※針對JS開發者的Python速查表
※現代HTML-CSS速查表
TAG:Python部落 |