原创 Shell編程踩坑之換行符問題 line num: syntax error near unexpected token

      筆者踩坑的過程爲:在windows系統上寫了一個shell腳本,然後直接在Linux上執行,結果發生了報錯,具體報錯類似於line num: syntax error near unexpected token `$'do\r

原创 linux shell編程之小白入門

       shell其實是相對於系統內核而言的,其是內核外層的一層“殼”,作用在於提供一個用戶圖形界面讓使用者可以通過一些命令和操作系統進行交互,從而完成一些動作。linux shell自然就是Linux系統的那一層“殼”,同樣的還有

原创 被裝飾函數無法多進程原因分析以及解決辦法

被裝飾器裝飾的函數無法多進程原因        python多進程的原理是通過pickle多進程函數名,然後新建一個子進程並在子進程中導入模塊後unpickle,通過訪問模塊的該函數來實現函數在子進程中的運行的,關於pickle更詳細的說

原创 python正則表達式使用規範

       匹配字符串中的/**,對比以下三種用法。 import re s = 'justfortesting/**csdopov**/python' # 第一種方式 re.findall('/\\*\\*',s) [out]:

原创 python字符串的轉義注意點

       python字符串對象對於某些字符定義了轉義特性,以反斜槓\作爲轉義標誌。當python解釋器對字符串對象做處理時,要記住首先始終是要對字符串做轉義處理的。        在理解python字符串的轉義時,需要注意兩個概念,

原创 python正則表達式匹配之轉義符\陷阱

       python中的轉義就是通過轉義符號\對字符進行字面意思和字符特殊定義(如果有的話)之間的轉換,python中使用標準模塊re進行字符串的正則表達式匹配時,需要特別注意轉義符的使用,如果不瞭解正則表達式和字符串的轉義符,那麼

原创 python使用正則表達式剔除指定開頭和結尾之間的所有字符串內容

       這裏的一個基本的需求就是對於一個字符串,想要剔除指定開頭和結尾及其之間所有的內容,一個經典的場景就是剔除一個腳本里面所有的以/**開頭和**/結尾的註釋。對此,需要注意的點有三個:1、如何跨行匹配/**和**/之間的所有內容

原创 python數據分析性能提升之謹慎使用Decimal類型

       在用python處理數據時,尤其是金融數據,由於浮點數的不精確性(具體原因看這裏),有時候爲了追求精確性,我們會選擇decimal標準庫的Decimal數據類型來表示數值。但是要注意的是,Decimal數據類型相比於floa

原创 爲什麼使用對數價格?——從連續時間模型下的利息理論說起

       無論是在形式化的有效市場假說中,還是在期權定價的股價運動微分方程中,我們都可以見到其對於股票的價格都使用的是對數價格,而不是價格本身,那麼爲何要對做價格取對數處理呢?本文將從連續時間下的利息理論中的概念說起,一步步推導出對數

原创 阿爾法的來源

目錄 爲什麼在乎阿爾法? 基準定價模型 阿爾法的來源:風險還是錯誤定價? 爲什麼在乎阿爾法?        阿爾法是投資組合的屬性,其定義是,將該投資組合相對於無風險利率的超額收益(excess return)基於某個基準定價模型進行迴歸

原创 市場是有效的嗎?

       有效市場假說(EMH)已經被當做金融教科書中的經典部分講解,EMH指的是在一個充分競爭和自由的金融市場中,資產的當前價格已經包含了所有信息,投資者無法通過分析獲得超過市場平均水平的收益。反過來想,假設市場上出現了可以獲取超額

原创 線性迴歸模型的侷限性和注意點

       迴歸分析是傳統的研究變量關係很重要的一種方式,特別是在機器學習和深度學習興起之前,迴歸分析基本就是探究變量關係之間的主要方式。線性迴歸又是迴歸分析中很重要的一種方式,由於其模型的簡單性和有效性,線性迴歸分析在迴歸分析中始終扮

原创 spyder開發環境之多控制檯下的多進程陷阱

       spyder是anaconda自帶的一款IDE,對於數據分析來說,是一個很好用的開發環境,筆者常用spyder來做一些開發和分析工作。筆者在一次利用spyder直接運行一個多進程腳本時,同時由於想進行其他工作,所以就多開了一

原创 numpy:利用np.frompyfunc函數實現元素級操作,類似pandas的applymap函數功能

       在pandas裏,對於DataFrame,可以利用applymap(func)函數實現對DataFrame中每個元素進行函數func操作,而且相比於for loop,其性能會有較大的提升。而對於numpy中的ndarrray

原创 pandas性能提升之避免對小數據量使用pandas內置函數

       pandas本身就是面向數據分析的,而且是面向大數據分析的,所以其內置函數本身在設計上相比於一些python原生的操作就會繁雜一些,這也是爲了功能性的考慮。所以,這就導致了其內置函數就像高速火車,而python的原生操作就像